:root{--bg:#f5f5f2;--surface:#fff;--surface-soft:#ebebe7;--ink:#171717;--muted:#73736d;--faint:#a5a59e;--line:#1717171f;--line-strong:#17171738;--accent:#f04f2f;--accent-soft:#ffd7c7;--serif:"Instrument Serif", Georgia, serif;--sans:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--mono:"DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--pointer-x:50vw;--pointer-y:20vh;color-scheme:light}:root[data-theme=dark]{--bg:#111;--surface:#1b1b1a;--surface-soft:#232321;--ink:#f1f0eb;--muted:#a2a29b;--faint:#6f6f69;--line:#f1f0eb21;--line-strong:#f1f0eb40;--accent:#ff7254;--accent-soft:#54261c;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);scroll-behavior:smooth}body{background:radial-gradient(circle at var(--pointer-x) var(--pointer-y), color-mix(in srgb, var(--accent) 8%, transparent), transparent 24rem), var(--bg);min-width:320px;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1rem;line-height:1.5;transition:background-color .65s,color .65s;overflow-x:hidden}body:before{z-index:-1;pointer-events:none;content:"";opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");position:fixed;inset:0}:root[data-theme=dark] body:before{opacity:.14;mix-blend-mode:screen}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{color:inherit;font:inherit;border:0}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2;animation:.75s cubic-bezier(.22,1,.36,1) both theme-reveal}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--theme-x,50vw) var(--theme-y,50vh))}to{clip-path:circle(150% at var(--theme-x,50vw) var(--theme-y,50vh))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-shell{width:min(100% - 3rem,1180px);margin-inline:auto}.topbar{border-bottom:1px solid var(--line);min-height:84px;font-family:var(--mono);letter-spacing:.03em;justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.brand,.main-nav,.topbar-actions,.social-link,.theme-toggle{align-items:center;display:flex}.brand{gap:.7rem}.brand-mark{background:var(--ink);width:2rem;height:2rem;color:var(--bg);letter-spacing:-.08em;border-radius:50%;place-items:center;font-size:.64rem;font-weight:500;display:grid}.brand-name{color:var(--muted)}.brand:hover .brand-mark{background:var(--accent)}.main-nav{gap:clamp(1rem,3vw,2.5rem);margin-left:8%}.main-nav a{color:var(--muted);transition:color .25s;position:relative}.main-nav a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .35s;position:absolute;bottom:-.55rem;left:0;right:0;transform:scaleX(0)}.main-nav a:hover,.main-nav a.active{color:var(--ink)}.main-nav a:hover:after,.main-nav a.active:after{transform-origin:0;transform:scaleX(1)}.topbar-actions{gap:1rem}.social-link{color:var(--muted)}.social-link svg{fill:currentColor;width:1.05rem;height:1.05rem;transition:color .25s,transform .25s}.social-link:hover svg{color:var(--accent);transform:rotate(-8deg)scale(1.12)}.theme-toggle{cursor:pointer;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 72%, transparent);width:2.25rem;height:2.25rem;color:var(--muted);border-radius:50%;place-items:center;padding:0;transition:color .3s,border-color .3s,transform .45s cubic-bezier(.22,1,.36,1),background .3s;display:grid}.theme-toggle:hover{border-color:var(--accent);background:var(--surface);color:var(--accent);transform:rotate(12deg)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:1rem;height:1rem}.moon-icon,:root[data-theme=dark] .sun-icon{display:none}:root[data-theme=dark] .moon-icon{display:block}main{overflow:hidden}.hero{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:center;gap:clamp(3rem,9vw,9rem);min-height:min(800px,100vh - 84px);padding:clamp(5rem,10vw,9rem) 0 clamp(5rem,10vw,8rem);display:grid}.section-index{color:var(--muted);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.7rem;font-size:.65rem;display:flex}.section-index span{color:var(--accent)}.availability{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:.55rem;margin-top:3.25rem;font-size:.68rem;display:flex}.live-dot,.profile-card:after{background:#4db285;border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 0 4px #4db28524}.live-dot{animation:2.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);letter-spacing:-.055em;margin-top:1.5rem;font-size:clamp(4.3rem,9.5vw,8.8rem);font-weight:400;line-height:.86}h1 em{color:var(--accent);font-style:italic}.hero-dot{color:var(--accent)}.hero-description{max-width:31rem;color:var(--muted);text-wrap:pretty;margin-top:2.25rem;font-size:1.05rem;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.button{border:1px solid var(--line-strong);border-radius:999px;justify-content:space-between;align-items:center;gap:1.75rem;min-height:3.1rem;padding:.8rem 1.1rem;font-size:.82rem;font-weight:600;transition:transform .25s,background .25s,color .25s,border-color .25s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-dark{border-color:var(--ink);background:var(--ink);color:var(--bg)}.button-dark:hover{border-color:var(--accent);background:var(--accent);color:#fff}.button-light{background:color-mix(in srgb, var(--surface) 55%, transparent);color:var(--ink)}.button-light:hover{border-color:var(--ink);background:var(--surface)}.button-arrow{font-size:1.1rem;line-height:.8}.hero-details{color:var(--faint);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;gap:1.25rem;margin-top:4.75rem;font-size:.64rem;display:flex}.hero-details span{align-items:center;gap:.45rem;display:flex}.hero-details i{background:var(--accent);border-radius:50%;width:.3rem;height:.3rem}.profile-card{max-width:24rem;transform:perspective(1000px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg));transform-style:preserve-3d;will-change:transform;background:0 0;margin-inline:auto;padding:.35rem 0;transition:transform .7s cubic-bezier(.16,1,.3,1);position:relative}.profile-card-top,.profile-footer,.project-card-top,.contribution-topline,.contribution-bottomline,.contact-meta{justify-content:space-between;align-items:center;display:flex}.card-label,.card-corner{color:var(--faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.card-corner{color:var(--accent);font-size:.9rem}.avatar-wrap{place-items:center;width:176px;height:176px;margin:3.1rem auto 1.5rem;display:grid;position:relative}.avatar-wrap img{z-index:1;border:4px solid var(--surface);object-fit:cover;filter:saturate(.82);width:154px;height:154px;transform:translate3d(var(--avatar-x,0px), var(--avatar-y,0px), 0) scale(1.01);border-radius:50%;transition:transform .7s cubic-bezier(.16,1,.3,1),filter .4s;position:relative}.avatar-orbit{border:1px dashed var(--line-strong);border-radius:50%;animation:18s linear infinite spin;position:absolute;inset:0}.avatar-orbit:before{content:"";background:var(--accent);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:-.2rem;left:50%}@keyframes spin{to{transform:rotate(360deg)}}.avatar-status{z-index:2;border:3px solid var(--surface);background:#4db285;border-radius:50%;width:.95rem;height:.95rem;position:absolute;bottom:.65rem;right:.55rem}.profile-identity{text-align:center}.profile-identity h2{font-family:var(--serif);letter-spacing:-.03em;font-size:1.8rem;font-weight:400}.profile-identity p{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem;font-size:.65rem}.profile-rule{background:var(--line);height:1px;margin:1.5rem 0 1.1rem}.profile-highlight{align-items:center;gap:.8rem;margin-top:.25rem;display:flex}.profile-highlight strong{font-family:var(--serif);letter-spacing:-.06em;font-size:3.2rem;font-weight:400;line-height:.8}.profile-highlight strong span{color:var(--accent)}.profile-highlight>span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:.58rem;line-height:1.35}.profile-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.3rem;padding-top:1rem;display:grid}.profile-facts div+div{border-left:1px solid var(--line);padding-left:.75rem}.profile-facts span{color:var(--faint);font-family:var(--mono);text-transform:uppercase;margin-bottom:.35rem;font-size:.54rem;display:block}.profile-facts strong{font-size:.7rem;font-weight:500;line-height:1.35;display:block}.profile-facts strong i{background:#4db285;border-radius:50%;width:.38rem;height:.38rem;margin-right:.25rem;display:inline-block}.profile-tools{flex-wrap:wrap;gap:.35rem;margin-top:1.1rem;display:flex}.profile-tools span{border:1px solid var(--line);color:var(--muted);font-family:var(--mono);border-radius:999px;padding:.28rem .45rem;font-size:.56rem}.profile-footer{border-top:1px solid var(--line);color:var(--faint);font-family:var(--mono);gap:.75rem;margin-top:1.5rem;padding-top:.9rem;font-size:.58rem}.profile-footer a{color:var(--accent)}.github-section,.work-section,.about-section,.stack-section,.contact-section{padding-top:clamp(5rem,10vw,9rem)}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;gap:2rem;padding-bottom:1rem;display:flex}.heading-aside{color:var(--faint);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.github-intro,.section-title-row{justify-content:space-between;align-items:end;gap:3rem;margin-top:2.5rem;display:flex}.github-intro h2,.section-title-row h2{font-family:var(--serif);letter-spacing:-.055em;font-size:clamp(3rem,6.8vw,6.2rem);font-weight:400;line-height:.9}.github-intro p,.section-title-row>p{max-width:19rem;color:var(--muted);font-size:.95rem;line-height:1.55}.github-total{text-align:right;min-width:10rem}.github-total strong{color:var(--accent);font-family:var(--serif);font-size:2.9rem;font-weight:400;line-height:.9;display:block}.github-total span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;margin-top:.55rem;font-size:.58rem;display:block}.contribution-card{border:1px solid var(--line);background:var(--surface);margin-top:2.5rem;padding:clamp(1rem,3vw,1.7rem)}.contribution-topline{color:var(--faint);font-family:var(--mono);text-transform:uppercase;font-size:.6rem}.month-labels{color:var(--muted);font-family:var(--mono);text-transform:uppercase;grid-template-columns:repeat(12,1fr);margin:1.4rem 0 .55rem 2.15rem;font-size:.58rem;display:grid}.month-labels span{text-align:center}.contribution-grid{grid-template-rows:repeat(7,1fr);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:clamp(3px,.45vw,6px);min-height:92px;display:grid}.contribution{aspect-ratio:1;background:var(--surface-soft);border-radius:2px;min-width:5px;transition:transform .2s,background-color .5s;display:block}.contribution:hover{z-index:1;outline:2px solid var(--accent);transform:scale(1.45)}.contribution-tooltip{z-index:30;pointer-events:none;border:1px solid var(--line-strong);background:var(--ink);max-width:16rem;color:var(--bg);font-family:var(--mono);white-space:nowrap;opacity:0;border-radius:.45rem;padding:.55rem .7rem;font-size:.62rem;line-height:1.2;transition:opacity .16s,transform .16s;position:fixed;transform:translate(-50%,-125%)translateY(6px)scale(.96)}.contribution-tooltip[data-visible=true]{opacity:1;transform:translate(-50%,-125%)translateY(0)scale(1)}.level-1{background:color-mix(in srgb, var(--accent) 23%, var(--surface-soft))}.level-2{background:color-mix(in srgb, var(--accent) 45%, var(--surface-soft))}.level-3{background:color-mix(in srgb, var(--accent) 70%, var(--surface-soft))}.level-4{background:var(--accent)}.contribution-bottomline{color:var(--faint);font-family:var(--mono);text-transform:uppercase;justify-content:flex-end;gap:.45rem;margin-top:1.25rem;font-size:.58rem}.legend{gap:3px;margin:0 .1rem;display:flex}.legend .contribution{width:.65rem;min-width:0}.contribution-bottomline a{color:var(--ink);border-bottom:1px solid var(--ink);margin-left:auto}.section-title-row{align-items:end}.section-title-row>p{margin-bottom:.3rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3.5rem;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:29rem;padding:1.25rem;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;display:flex;position:relative;overflow:hidden}.project-card:hover{z-index:1;box-shadow:0 25px 60px color-mix(in srgb, var(--ink) 10%, transparent);transform:translateY(-8px)rotate(-.4deg)}.project-primary{color:#1f1b18;background:#f1e9dd;grid-row:span 2;min-height:60rem}.project-warm{color:#1e241f;background:#e3e9df}.project-dark{color:#f4f1eb;background:#242426}:root[data-theme=dark] .project-primary{color:#f6eee4;background:#3b3028}:root[data-theme=dark] .project-warm{color:#eff5ed;background:#283329}:root[data-theme=dark] .project-dark{background:#2b2b2e}.project-card-top{z-index:1;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:.6rem;position:relative}.project-card-top span:last-child{opacity:.58}.project-art{border:1px solid color-mix(in srgb, currentColor 16%, transparent);flex:1;min-height:13rem;margin:2rem -.4rem 2.2rem;position:relative;overflow:hidden}.project-primary .project-art{background:#e5d4c2;min-height:34rem}.project-warm .project-art{background:#cdd9ca}.project-dark .project-art{background:#171719}:root[data-theme=dark] .project-primary .project-art{background:#524135}:root[data-theme=dark] .project-warm .project-art{background:#384a3b}:root[data-theme=dark] .project-dark .project-art{background:#151517}.art-window{background:#ffffff40;border:1px solid #1f1b184d;width:78%;height:70%;position:absolute;top:15%;left:11%;box-shadow:22px 22px #1f1b1814}.art-window i{background:#b96848;border-radius:50%;width:6px;height:6px;margin:11px 4px 0;display:block}.art-window i+i{background:#d3a05c;margin-left:0;position:absolute;top:0;left:14px}.art-window i+i+i{background:#6e8f72;left:28px}.art-line{background:#1f1b1852;height:1px;position:absolute;left:13%;transform:rotate(-22deg)}.line-one{width:35%;top:54%}.line-two{width:29%;top:61%;left:44%;transform:rotate(38deg)}.art-orb{background:#c77e5d;border:1px solid #b96848;border-radius:50%;width:4rem;height:4rem;position:absolute;bottom:12%;right:9%;box-shadow:0 0 0 13px #c77e5d26}.art-sun{background:#dca25e;border-radius:50%;width:4.5rem;height:4.5rem;position:absolute;top:12%;right:15%;box-shadow:0 0 0 18px #dca25e29}.art-arch{border:1px solid #1e241f7a;border-bottom:0;border-radius:14rem 14rem 0 0;width:72%;height:72%;position:absolute;bottom:-15%;left:14%}.art-copy{font-family:var(--serif);font-size:clamp(1.7rem,3.5vw,3.2rem);line-height:.82;position:absolute;bottom:15%;left:17%}.art-copy em{color:#b36845;font-size:.8em}.art-terminal{color:#d4d1c8;font-family:var(--mono);padding:1.2rem;font-size:clamp(.72rem,1.4vw,1rem);line-height:1.8;position:absolute;top:20%;left:13%}.art-terminal b{color:#ff7254;font-weight:400}.art-terminal i{color:#dca25e;font-style:normal}.art-terminal small{color:#81b18c}.art-pixel{border:1px solid #ff7254;width:5rem;height:5rem;position:absolute;bottom:16%;right:15%;transform:rotate(45deg);box-shadow:8px 8px #ff7254,16px 16px #ff725459}.project-content{z-index:1;position:relative}.project-content h3{font-family:var(--serif);letter-spacing:-.04em;font-size:2.4rem;font-weight:400;line-height:.9}.project-content p{opacity:.72;max-width:30rem;margin-top:.75rem;font-size:.88rem;line-height:1.55}.tech-list{flex-wrap:wrap;gap:.4rem;margin-top:1.1rem;display:flex}.tech-list span{font-family:var(--mono);opacity:.7;border:1px solid;border-radius:999px;padding:.3rem .5rem;font-size:.56rem}.about-grid{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:clamp(3rem,10vw,10rem);margin-top:3.2rem;display:grid}.about-copy h2,.contact-card h2{font-family:var(--serif);letter-spacing:-.06em;font-size:clamp(3.4rem,6.7vw,6.4rem);font-weight:400;line-height:.85}.about-copy h2 em,.stack-heading h2 em,.contact-card h2 em{color:var(--accent);font-style:italic}.about-copy>p{max-width:25rem;color:var(--muted);margin-top:2rem;font-size:.95rem;line-height:1.65}.about-copy>p+p{margin-top:1rem}.text-link{border-bottom:1px solid var(--ink);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.75rem;margin-top:2rem;padding-bottom:.3rem;font-size:.68rem;transition:gap .25s,color .25s;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent);gap:1.15rem}.timeline{border-top:1px solid var(--line)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:7.5rem minmax(0,1fr);gap:1.2rem;padding:1.5rem 0;display:grid}.timeline-year{color:var(--accent);font-family:var(--mono);text-transform:uppercase;font-size:.63rem}.timeline-item h3{font-size:1rem;font-weight:600}.timeline-company{color:var(--muted);font-family:var(--mono);text-transform:uppercase;margin-top:.2rem;font-size:.64rem}.timeline-description{color:var(--muted);margin-top:.85rem;font-size:.86rem;line-height:1.6}.stack-heading{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.stack-heading h2{font-family:var(--serif);letter-spacing:-.03em;font-size:1.55rem;font-style:italic;font-weight:400;line-height:1}.stack-controls{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-soft) 72%, transparent);border-radius:.75rem;gap:.25rem;padding:.25rem;display:flex}.stack-control{cursor:pointer;width:1.7rem;height:1.7rem;color:var(--muted);background:0 0;border:0;border-radius:.5rem;place-items:center;padding:0;transition:background .25s,color .25s,transform .25s;display:grid}.stack-control:hover{color:var(--ink);transform:translateY(-1px)}.stack-control.active{background:var(--surface);box-shadow:0 1px 5px color-mix(in srgb, var(--ink) 10%, transparent);color:var(--ink)}.stack-control svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:.85rem;height:.85rem}.stack-list{border-top:1px solid var(--line);margin-top:3.5rem}.stack-row{border-bottom:1px solid var(--line);grid-template-columns:10rem minmax(0,1fr);align-items:start;gap:1.25rem;padding:1.2rem 0 1.3rem;transition:background .3s,padding .3s;display:grid}.stack-row:hover{background:color-mix(in srgb, var(--surface) 62%, transparent);padding-inline:.8rem}.stack-label{align-items:baseline;gap:.7rem;padding-top:.35rem;display:flex}.stack-number{color:var(--faint);font-family:var(--mono);font-size:.63rem}.stack-label strong{font-size:.9rem;font-weight:500}.stack-chips{flex-wrap:wrap;gap:.5rem;display:flex}.stack-chip{background:color-mix(in srgb, var(--surface-soft) 82%, transparent);color:var(--ink);font-family:var(--mono);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .62rem;font-size:.67rem;line-height:1;transition:background .25s,color .25s,transform .25s;display:inline-flex}.stack-chip:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}.chip-icon{fill:currentColor;flex:none;width:.76rem;height:.76rem}.chip-custom-icon{letter-spacing:-.14em;place-items:center;width:.76rem;height:.76rem;font-size:.6rem;font-weight:500;display:inline-grid}.stack-view-all{background:var(--surface-soft);border-radius:.7rem;align-items:center;gap:.55rem;width:max-content;margin:1.8rem auto 0;padding:.7rem 1rem;font-size:.8rem;transition:background .25s,transform .25s;display:flex}.stack-view-all:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}.stack-view-all span{color:var(--accent)}.stack-list.stack-grid-view{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.stack-grid-view .stack-row{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 66%, transparent);flex-direction:column;min-height:12rem;padding:1.25rem;display:flex}.stack-grid-view .stack-row:hover{padding:1.25rem}.stack-grid-view .stack-label{width:100%;padding-top:0}.stack-grid-view .stack-chips{margin-top:auto}.contact-card{background:var(--ink);min-height:35rem;color:var(--bg);margin-top:3.3rem;padding:clamp(1.5rem,5vw,4.5rem);position:relative;overflow:hidden}.contact-card:before,.contact-card:after{border:1px solid color-mix(in srgb, var(--bg) 18%, transparent);content:"";pointer-events:none;border-radius:50%;position:absolute}.contact-card:before{width:33rem;height:33rem;bottom:-13rem;right:-8rem}.contact-card:after{width:14rem;height:14rem;bottom:-7rem;right:7rem}.contact-card .section-index{z-index:1;color:color-mix(in srgb, var(--bg) 52%, transparent);position:relative}.contact-card .section-index span{color:var(--accent)}.contact-card h2{z-index:1;max-width:40rem;margin-top:4rem;font-size:clamp(4rem,8vw,8rem);position:relative}.contact-card>p{z-index:1;max-width:28rem;color:color-mix(in srgb, var(--bg) 62%, transparent);margin-top:2rem;font-size:.95rem;line-height:1.6;position:relative}.contact-card .button{z-index:1;overflow-wrap:anywhere;max-width:100%;margin-top:2rem;position:relative}.contact-card .button-dark{background:var(--bg);color:var(--ink)}.contact-card .button-dark:hover{background:var(--accent);color:#fff}.contact-decoration{z-index:0;width:10rem;height:10rem;color:var(--accent);position:absolute;top:2rem;right:4rem}.contact-decoration span{font-size:2rem;animation:15s linear infinite spin;position:absolute;top:1rem;right:1.3rem}.contact-decoration i,.contact-decoration b{border:1px solid color-mix(in srgb, var(--bg) 22%, transparent);border-radius:50%;position:absolute}.contact-decoration i{inset:0}.contact-decoration b{inset:1.8rem}.contact-meta{z-index:1;color:color-mix(in srgb, var(--bg) 42%, transparent);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;font-size:.6rem;position:absolute;bottom:1.5rem;left:clamp(1.5rem,5vw,4.5rem);right:clamp(1.5rem,5vw,4.5rem)}.site-footer{color:var(--faint);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;gap:1rem;padding:1.3rem 0 2.5rem;font-size:.6rem;display:flex}.site-footer a{color:var(--ink)}.site-footer a:hover{color:var(--accent)}@media (prefers-reduced-motion:no-preference){.hero-copy>*,.profile-card{animation:.8s cubic-bezier(.22,1,.36,1) both enter}.hero-copy>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3){animation-delay:.14s}.hero-copy>:nth-child(4){animation-delay:.2s}.hero-copy>:nth-child(5){animation-delay:.26s}.hero-copy>:nth-child(6){animation-delay:.32s}.profile-card{animation-delay:.16s}@keyframes enter{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}}@media (width<=780px){.site-shell{width:min(100% - 2rem,680px)}.topbar{min-height:72px}.brand-name,.theme-label,.main-nav a:nth-child(3){display:none}.main-nav{gap:1.25rem;margin-left:auto;margin-right:1.25rem}.main-nav a:after{bottom:-.35rem}.hero{grid-template-columns:1fr;gap:4rem;min-height:auto;padding-top:4.5rem}.availability{margin-top:2.5rem}h1{font-size:clamp(4rem,17vw,7rem)}.hero-details{margin-top:3.5rem}.profile-card{max-width:24rem}.github-intro,.section-title-row{display:block}.stack-heading{display:flex}.github-total{text-align:left;margin-top:2rem}.github-intro h2,.section-title-row h2{font-size:clamp(3.5rem,14vw,6rem)}.github-intro p,.section-title-row>p{margin-top:1.25rem}.contribution-card{margin-top:2rem}.project-primary{grid-row:auto;min-height:38rem}.project-grid{grid-template-columns:1fr}.project-art,.project-primary .project-art{min-height:17rem}.about-grid{grid-template-columns:1fr;gap:4rem}.about-copy h2{font-size:clamp(4rem,15vw,6rem)}.stack-row{grid-template-columns:8rem minmax(0,1fr);gap:.75rem}.stack-list.stack-grid-view{grid-template-columns:1fr}.contact-card h2{margin-top:3rem;font-size:clamp(4rem,15vw,7rem)}.contact-decoration{opacity:.75;right:-2rem}}@media (width<=520px){.topbar-actions{gap:.75rem}.main-nav{gap:.8rem;margin-right:.7rem}.main-nav a{font-size:.6rem}.section-heading{flex-direction:column;align-items:start;gap:.5rem}.section-title-row h2,.github-intro h2{font-size:3.55rem}.month-labels{margin-left:0;font-size:.48rem}.contribution-grid{gap:2px}.contribution-bottomline{flex-wrap:wrap}.contribution-bottomline a{width:100%;margin:.8rem 0 0}.timeline-item{grid-template-columns:1fr;gap:.55rem}.stack-row{grid-template-columns:1fr;gap:.7rem}.stack-label{padding-top:0}.site-footer{flex-direction:column;align-items:start}.contact-meta{flex-direction:column;align-items:start;gap:.35rem}}
