:root{--font-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--font-body:"Geist","Segoe UI",system-ui,-apple-system,sans-serif;--font-mono:"Geist Mono",ui-monospace,"Cascadia Code",Consolas,monospace;--font-serif:"Instrument Serif",Georgia,"Times New Roman",serif;--gutter:clamp(1rem,4vw,4.5rem);--maxw:1800px;--nav-h:72px;--radius:22px;--radius-sm:12px;--ease:cubic-bezier(0.2,0.7,0.1,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--step-0:1.0625rem;--step-1:clamp(1.15rem,0.9rem + 0.8vw,1.5rem);--step-2:clamp(1.4rem,1rem + 1.4vw,2.25rem);--step-3:clamp(1.9rem,1.2rem + 2.6vw,3.6rem);--step-4:clamp(2.6rem,1rem + 5.6vw,7rem)}:root,[data-theme=dark]{--bg:#0a0a0c;--bg-2:#111114;--bg-3:#19191e;--line:#ffffff17;--line-strong:#fff3;--text:#f2efe8;--muted:#a3a097;--faint:#6f6c66;--accent:#ff6b35;--accent-ink:#ff8a5c;--accent-2:#3ee6c6;--on-accent:#0a0a0c;--glow:#ff6b3529;--field-ink:242,239,232;--field-hot:255,107,53;--grain-opacity:0.06;--shadow:0 40px 80px -40px #000c;color-scheme:dark}[data-theme=light]{--bg:#f3f0e8;--bg-2:#fbfaf6;--bg-3:#e9e5da;--line:#14120e1a;--line-strong:#14120e3d;--text:#141310;--muted:#58544b;--faint:#8a857a;--accent:#cf4a12;--accent-ink:#a83a0c;--accent-2:#0b8a76;--on-accent:#fff;--glow:#cf4a121f;--field-ink:20,19,16;--field-hot:207,74,18;--grain-opacity:0.05;--shadow:0 40px 70px -40px #3c280a4d;color-scheme:light}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px;scroll-padding-top:calc(var(--nav-h) + 8px)}body,html{background:#0a0a0c;background:var(--bg)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#f2efe8;color:var(--text);font-family:Geist,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:1.0625rem;font-size:var(--step-0);line-height:1.6;min-height:100vh;overflow-x:clip;text-rendering:optimizeLegibility;transition:background-color .5s cubic-bezier(.2,.7,.1,1),color .5s cubic-bezier(.2,.7,.1,1);transition:background-color .5s var(--ease),color .5s var(--ease)}body:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");content:"";inset:0;opacity:.06;opacity:var(--grain-opacity);pointer-events:none;position:fixed;z-index:100}canvas,img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{color:inherit;font:inherit}button{background:none;border:0;cursor:pointer}::selection{background:#ff6b35;background:var(--accent);color:#0a0a0c;color:var(--on-accent)}:focus-visible{border-radius:6px;outline:2px solid #ff6b35;outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background:#ff6b35;background:var(--accent);border-radius:999px;color:#0a0a0c;color:var(--on-accent);font-weight:600;left:12px;padding:.6rem 1rem;position:fixed;top:12px;transform:translateY(-160%);transition:transform .3s cubic-bezier(.2,.7,.1,1);transition:transform .3s var(--ease);z-index:200}.skip-link:focus{transform:none}.wrap{margin-inline:auto;max-width:1800px;max-width:var(--maxw);padding-inline:clamp(1rem,4vw,4.5rem);padding-inline:var(--gutter);width:100%}.section{padding-block:clamp(5rem,11vw,10rem);position:relative}.grid-12{grid-column-gap:clamp(1rem,2.4vw,2.5rem);column-gap:clamp(1rem,2.4vw,2.5rem);display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.label{color:#a3a097;color:var(--muted);font-family:Geist Mono,ui-monospace,Cascadia Code,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.serif{font-family:"Instrument Serif",Georgia,Times New Roman,serif;font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}.accent{color:#ff6b35;color:var(--accent)}.sec-head{grid-gap:1.5rem;display:grid;gap:1.5rem;margin-bottom:clamp(3rem,6vw,6rem)}.sec-index{align-items:center;display:flex;gap:.9rem}.sec-index:after{background:#fff3;background:var(--line-strong);content:"";height:1px;width:clamp(3rem,8vw,7rem)}.sec-title{font-family:Bricolage Grotesque,Segoe UI,system-ui,sans-serif;font-family:var(--font-display);font-size:clamp(2.6rem,1rem + 5.6vw,7rem);font-size:var(--step-4);font-variation-settings:"opsz" 96;font-weight:700;letter-spacing:-.03em;line-height:.98;max-width:16ch}.sec-title .serif{color:#ff6b35;color:var(--accent);font-size:1.08em;letter-spacing:-.02em}.lede{color:#a3a097;color:var(--muted);font-size:clamp(1.15rem,.9rem + .8vw,1.5rem);font-size:var(--step-1);line-height:1.5;max-width:46ch}.btn{--btn-bg:#0000;--btn-fg:var(--text);align-items:center;background:var(--btn-bg);border:1px solid #fff3;border:1px solid var(--line-strong);border-radius:999px;color:var(--btn-fg);display:inline-flex;font-size:.98rem;font-weight:500;gap:.6rem;height:3.25rem;isolation:isolate;justify-content:center;overflow:hidden;padding:0 1.5rem;position:relative;transition:color .4s cubic-bezier(.2,.7,.1,1),border-color .4s cubic-bezier(.2,.7,.1,1),transform .4s cubic-bezier(.2,.7,.1,1);transition:color .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease);white-space:nowrap}.btn:before{background:#f2efe8;background:var(--text);border-radius:inherit;content:"";inset:0;position:absolute;transform:translateY(101%);transition:transform .5s cubic-bezier(.16,1,.3,1);transition:transform .5s var(--ease-out);z-index:-1}.btn:hover{border-color:#f2efe8;border-color:var(--text);color:#0a0a0c;color:var(--bg)}.btn:hover:before{transform:none}.btn svg{transition:transform .4s cubic-bezier(.2,.7,.1,1);transition:transform .4s var(--ease)}.btn:hover svg{transform:translate(2px,-2px)}.btn-primary{--btn-bg:var(--accent);--btn-fg:var(--on-accent);border-color:#ff6b35;border-color:var(--accent);font-weight:600}.btn-sm{font-size:.9rem;height:2.5rem;padding:0 1.1rem}.icon-btn{border:1px solid #fff3;border:1px solid var(--line-strong);border-radius:999px;display:inline-grid;height:2.5rem;place-items:center;transition:background .3s cubic-bezier(.2,.7,.1,1),color .3s cubic-bezier(.2,.7,.1,1),transform .4s cubic-bezier(.2,.7,.1,1);transition:background .3s var(--ease),color .3s var(--ease),transform .4s var(--ease);width:2.5rem}.icon-btn:hover{background:#f2efe8;background:var(--text);color:#0a0a0c;color:var(--bg)}.chips{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none}.chip{border:1px solid #fff3;border:1px solid var(--line-strong);border-radius:999px;color:#a3a097;color:var(--muted);font-size:.74rem;letter-spacing:.02em;padding:.35rem .7rem;white-space:nowrap}.chip,.live-signal{font-family:Geist Mono,ui-monospace,Cascadia Code,Consolas,monospace;font-family:var(--font-mono)}.live-signal{align-items:center;color:#3ee6c6;color:var(--accent-2);display:inline-flex;font-size:.7rem;font-weight:500;gap:.5rem;letter-spacing:.12em;text-transform:uppercase}.live-bars{align-items:flex-end;display:inline-flex;gap:2px;height:12px}.live-bars i{animation:signal 1.1s cubic-bezier(.2,.7,.1,1) infinite alternate;animation:signal 1.1s var(--ease) infinite alternate;background:currentColor;border-radius:1px;height:100%;transform-origin:bottom;width:2px}.live-bars i:first-child{animation-delay:-.9s}.live-bars i:nth-child(2){animation-delay:-.3s}.live-bars i:nth-child(3){animation-delay:-.6s}.live-bars i:nth-child(4){animation-delay:-.1s}@keyframes signal{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.reveal{opacity:0;transform:translateY(32px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out);transition-delay:0ms;transition-delay:calc(var(--d, 0)*90ms)}.reveal.in{opacity:1;transform:none}.scramble{position:relative}.scramble.is-scrambling,.scramble.is-scrambling *{color:#0000!important}.scramble.is-scrambling:after{color:#f2efe8;color:var(--scramble-color,var(--text));content:attr(data-scramble);inset:0 auto auto 0;pointer-events:none;position:absolute;white-space:pre}.scramble.is-alt:after{font-feature-settings:"tnum";align-items:center;display:flex;font-family:Geist Mono,ui-monospace,Cascadia Code,Consolas,monospace;font-family:var(--font-mono);font-size:.43em;font-variant-numeric:tabular-nums;font-weight:500;inset:0 auto 0 0;letter-spacing:.02em;text-shadow:0 0 28px color-mix(in srgb,#ff6b35 45%,#0000);text-shadow:0 0 28px color-mix(in srgb,var(--accent) 45%,#0000)}.skeleton{animation:shimmer 1.6s linear infinite;background:linear-gradient(90deg,#19191e 25%,#fff3 50%,#19191e 75%);background:linear-gradient(90deg,var(--bg-3) 25%,var(--line-strong) 50%,var(--bg-3) 75%);background-size:300% 100%;border-radius:8px;color:#0000!important;display:inline-block;min-width:3ch}@keyframes shimmer{to{background-position:-150% 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-delay:0s!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}.nav{border-bottom:1px solid #0000;height:var(--nav-h);inset:0 0 auto;position:fixed;transition:background .5s var(--ease),border-color .5s var(--ease),-webkit-backdrop-filter .5s var(--ease);transition:background .5s var(--ease),border-color .5s var(--ease),backdrop-filter .5s var(--ease);transition:background .5s var(--ease),border-color .5s var(--ease),backdrop-filter .5s var(--ease),-webkit-backdrop-filter .5s var(--ease);z-index:50}.nav.is-scrolled{backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);background:color-mix(in srgb,var(--bg) 72%,#0000);border-bottom-color:var(--line)}.nav.is-open{background:var(--bg)}.nav-inner{display:flex;gap:1.5rem;height:100%;justify-content:space-between}.brand,.nav-inner{align-items:center}.brand{display:inline-flex;font-weight:600;gap:.75rem}.brand-mark{background:var(--text);border-radius:50%;color:var(--bg);display:grid;font-family:var(--font-display);font-size:.9rem;font-weight:800;height:2.4rem;letter-spacing:-.04em;place-items:center;transition:transform .6s var(--ease-out),background .3s;width:2.4rem}.brand:hover .brand-mark{background:var(--accent);transform:rotate(-1turn)}.brand-name{font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.02em}.nav-links{align-items:center;background:color-mix(in srgb,var(--bg-2) 60%,#0000);border:1px solid var(--line);border-radius:999px;display:flex;gap:.25rem;padding:.3rem}.nav-links a{align-items:baseline;border-radius:999px;color:var(--muted);display:inline-flex;font-size:.9rem;gap:.35rem;padding:.45rem .85rem;position:relative;transition:color .3s var(--ease),background .3s var(--ease)}.nav-links a:hover{color:var(--text)}.nav-links a.is-active{background:var(--text);color:var(--bg)}.nav-num{font-family:var(--font-mono);font-size:.65rem;opacity:.6}.nav-actions{align-items:center;display:flex;gap:.6rem}.nav-progress{animation-timeline:scroll(root);animation-fill-mode:both;animation-name:nav-progress;animation-timing-function:linear;background:var(--accent);bottom:-1px;height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:0 50%}@keyframes nav-progress{to{transform:scaleX(1)}}@supports not (animation-timeline:scroll()){.nav-progress{display:none}}.menu-btn{border:1px solid var(--line-strong);border-radius:999px;display:none;height:2.75rem;place-items:center;width:2.75rem}.menu-lines,.menu-lines:before{background:currentColor;display:block;height:1.5px;transition:transform .4s var(--ease);width:18px}.menu-lines{position:relative;transform:translateY(-3px)}.menu-lines:before{content:"";position:absolute;top:6px}.nav.is-open .menu-lines{transform:rotate(45deg)}.nav.is-open .menu-lines:before{transform:translateY(-6px) rotate(-90deg)}.mobile-menu{background:var(--bg);display:flex;flex-direction:column;inset:var(--nav-h) 0 0;overflow-y:auto;padding:1.25rem var(--gutter) calc(1.5rem + env(safe-area-inset-bottom));position:fixed;z-index:49}.mobile-menu[hidden]{display:none}.mm-heading{color:var(--faint);font-size:.68rem;margin-bottom:.5rem}.mobile-menu nav{border-top:1px solid var(--line);display:grid}.mobile-menu nav a{grid-gap:.9rem;align-items:center;animation:menu-in .55s var(--ease-out) calc(var(--i)*45ms) both;border-bottom:1px solid var(--line);color:var(--muted);display:grid;font-family:var(--font-display);font-size:clamp(1.3rem,1rem + 1.6vw,1.7rem);font-weight:600;gap:.9rem;grid-template-columns:auto 1fr auto auto;letter-spacing:-.025em;line-height:1.2;padding:.85rem .25rem;transition:color .3s var(--ease),padding .4s var(--ease-out),background .3s var(--ease)}.mm-icon{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;color:var(--muted);display:grid;font-size:1.05rem;height:2.3rem;place-items:center;transition:all .3s var(--ease);width:2.3rem}.mm-num{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em}.mm-arrow,.mm-num{color:var(--faint)}.mm-arrow{font-size:1rem;transition:transform .4s var(--ease),color .3s}.mobile-menu nav a.is-active,.mobile-menu nav a:focus-visible,.mobile-menu nav a:hover{color:var(--text)}.mobile-menu nav a:hover{padding-left:.6rem}.mobile-menu nav a:hover .mm-arrow{color:var(--accent);transform:translate(3px,-3px)}.mobile-menu nav a.is-active .mm-icon{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.mobile-menu nav a.is-active .mm-num{color:var(--accent-ink)}@keyframes menu-in{0%{opacity:0;transform:translateY(14px)}}.mobile-menu-foot{grid-gap:1rem;animation:menu-in .55s var(--ease-out) .3s both;display:grid;gap:1rem;margin-top:auto;padding-top:1.5rem}.mm-cta{width:100%}.mm-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.mm-email{color:var(--muted);font-size:.9rem;word-break:break-all}.mm-socials{display:flex;gap:.5rem}@media (max-width:1180px){.nav-links a{padding:.45rem .65rem}.nav-num{display:none}}@media (min-width:961px) and (max-width:1100px){.brand-name{display:none}}@media (max-width:960px){.nav-cta,.nav-links{display:none}.menu-btn{display:grid}}@media (min-width:961px){.mobile-menu{display:none!important}}.ribbons{height:clamp(10rem,14.5vw,13rem);isolation:isolate;position:relative}.lane,.ribbons{overflow:hidden}.lane{left:-5%;position:absolute;right:-5%}.lane-track{display:flex;width:max-content;will-change:transform}.lane-group{align-items:center;display:flex;flex:none}.lane--tech{-webkit-backdrop-filter:blur(14px) saturate(1.6);backdrop-filter:blur(14px) saturate(1.6);background:linear-gradient(180deg,#ffffff29,#fff0 55%);border-block:1px solid color-mix(in srgb,var(--accent) 55%,#0000);box-shadow:inset 0 1px 0 #ffffff2e,0 24px 60px -32px color-mix(in srgb,var(--accent) 70%,#0000);color:var(--text);isolation:isolate;padding-block:clamp(.7rem,1.3vw,1.1rem);top:17%;transform:rotate(-2.5deg);z-index:2}.lane--tech:before{animation:aurora 18s linear infinite;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 36%,#0000) 0,color-mix(in srgb,#ffb07a 26%,#0000) 16%,color-mix(in srgb,var(--accent-2) 20%,#0000) 26%,color-mix(in srgb,var(--accent) 34%,#0000) 33.333%,color-mix(in srgb,#ffb07a 26%,#0000) 49.333%,color-mix(in srgb,var(--accent-2) 20%,#0000) 59.333%,color-mix(in srgb,var(--accent) 36%,#0000) 66.666%,color-mix(in srgb,#ffb07a 26%,#0000) 82.666%,color-mix(in srgb,var(--accent-2) 20%,#0000) 92.666%,color-mix(in srgb,var(--accent) 36%,#0000) 100%);inset:0 auto 0 0;width:300%;z-index:-1}.lane--tech:after,.lane--tech:before{content:"";pointer-events:none;position:absolute}.lane--tech:after{animation:glint 7s var(--ease) infinite;background:linear-gradient(90deg,#0000,#ffffff47 50%,#0000);bottom:-20%;left:0;top:-20%;transform:translateX(-120%) skewX(-22deg);width:18%;z-index:1}@keyframes aurora{to{transform:translateX(-33.333%)}}@keyframes glint{0%{transform:translateX(-120%) skewX(-22deg)}38%,to{transform:translateX(680%) skewX(-22deg)}}.tech-item{align-items:center;display:inline-flex;font-family:var(--font-display);font-size:clamp(1.2rem,.65rem + 1.9vw,2.35rem);font-weight:700;gap:clamp(.55rem,.9vw,.85rem);letter-spacing:-.035em;line-height:1;padding-right:clamp(1rem,1.8vw,1.8rem);white-space:nowrap}.tech-badge{background:color-mix(in srgb,var(--bg) 72%,#0000);border-radius:50%;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 14%,#0000);display:grid;flex:none;height:1.55em;place-items:center;transition:transform .6s var(--ease-out);width:1.55em}.tech-badge svg{color:var(--brand);height:.85em;width:.85em}[data-theme=light] .tech-badge svg{color:var(--brand-l)}.tech-item:hover .tech-badge{transform:rotate(1turn) scale(1.12)}.tech-sep{color:var(--accent);font-size:.45em;padding-left:clamp(.4rem,.9vw,1rem)}.lane--log{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg-3) 70%,#0000);border-block:1px solid var(--line);padding-block:clamp(.65rem,1vw,.85rem);top:60%;transform:rotate(1.3deg);z-index:1}.log-item{align-items:center;color:var(--muted);display:inline-flex;font-family:var(--font-mono);font-size:clamp(.78rem,.62rem + .45vw,1.02rem);gap:.7rem;padding-right:clamp(1.6rem,3vw,3rem);white-space:nowrap}.log-prompt{color:var(--accent-ink)}.log-prompt b{color:var(--text);font-weight:500}.log-dot{background:var(--accent-2);background:var(--lang,var(--accent-2));border-radius:50%;box-shadow:0 0 10px var(--accent-2);box-shadow:0 0 10px var(--lang,var(--accent-2));height:8px;width:8px}.log-name{color:var(--text);font-weight:500}.log-sep:before{color:var(--faint);content:"·";margin-right:.7rem}.footer{background:var(--bg-2);border-top:1px solid var(--line);overflow:hidden;padding-bottom:2rem;padding-top:clamp(3.5rem,6vw,5.5rem);position:relative}.footer-top{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:repeat(3,minmax(0,1fr)) auto}.footer-col{grid-gap:1rem;align-content:start;display:grid;gap:1rem}.footer-col ul{grid-gap:.45rem;display:grid;gap:.45rem;list-style:none}.footer-link{align-items:center;color:var(--muted);display:inline-flex;gap:.65rem;transition:color .3s,transform .4s var(--ease)}.footer-link svg{color:var(--faint);flex:none;font-size:1rem;transition:color .3s}.footer-link .footer-ext{font-size:.85rem;opacity:0;transform:translate(-4px,4px);transition:opacity .3s,transform .4s var(--ease)}.footer-link:hover{color:var(--text);transform:translateX(3px)}.footer-link:hover svg{color:var(--accent)}.footer-link:hover .footer-ext{opacity:1;transform:none}.footer-muted,.footer-time{align-items:center;display:inline-flex;gap:.6rem}.footer-time{font-family:var(--font-display);font-size:1.6rem;font-weight:600;letter-spacing:-.03em}.footer-time svg{color:var(--accent);font-size:1.2rem}.footer-muted{color:var(--muted)}.footer-map{aspect-ratio:9/5;background:var(--bg-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);display:block;isolation:isolate;margin-top:.4rem;max-width:360px;overflow:hidden;position:relative;transition:border-color .3s var(--ease),transform .5s var(--ease-out);width:100%}.footer-map img{height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease-out);width:100%}.footer-map:after{background:radial-gradient(circle at 50% 50%,#0000 45%,color-mix(in srgb,var(--bg-2) 70%,#0000) 100%);content:"";inset:0;pointer-events:none;position:absolute}.footer-map:hover{border-color:var(--accent);transform:translateY(-2px)}.footer-map:hover img{transform:scale(1.12)}.map-pin{background:var(--accent);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--bg) 85%,#0000),0 0 18px var(--accent);height:12px;left:50%;margin:-6px 0 0 -6px;position:absolute;top:50%;width:12px;z-index:1}.map-pin:after,.map-pin:before{animation:sonar 2.4s var(--ease) infinite;border:1.5px solid var(--accent);border-radius:50%;content:"";inset:-4px;position:absolute}.map-pin:after{animation-delay:1.2s}@keyframes sonar{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(3.6)}}.footer-map{cursor:zoom-in;padding:0;text-align:left}.map-expand{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:color-mix(in srgb,var(--bg) 70%,#0000);border:1px solid var(--line-strong);border-radius:8px;color:var(--text);display:grid;height:2rem;place-items:center;position:absolute;right:.5rem;top:.5rem;transition:background .3s var(--ease),color .3s var(--ease),transform .4s var(--ease-out);width:2rem;z-index:2}.footer-map:focus-visible .map-expand,.footer-map:hover .map-expand{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:scale(1.1)}.map-dialog{background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);height:min(860px,88vh);margin:auto;max-height:none;max-width:none;overflow:hidden;padding:0;width:min(1280px,94vw)}.map-dialog::backdrop{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#050507b8}.map-dialog[open]{animation:map-in .5s var(--ease-out)}@keyframes map-in{0%{opacity:0;transform:scale(.94) translateY(16px)}}.map-dialog-inner{display:grid;grid-template-rows:auto 1fr;height:100%}.map-dialog-bar{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding:.8rem 1rem .8rem 1.2rem}.map-dialog-title{align-items:center;display:flex;gap:.75rem;min-width:0}.map-dialog-title>svg{color:var(--accent);flex:none;font-size:1.2rem}.map-dialog-title>span{grid-gap:.1rem;display:grid;gap:.1rem;min-width:0}.map-dialog-title strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-dialog-title .label{font-size:.66rem}.map-dialog-actions{align-items:center;display:flex;flex:none;gap:.5rem}.map-dialog-frame{background:var(--bg-3);position:relative}.map-dialog-frame iframe{border:0;height:100%;inset:0;opacity:0;position:absolute;transition:opacity .5s var(--ease);width:100%}.map-dialog-frame.is-loaded iframe{opacity:1}[data-theme=dark] .map-dialog-frame iframe{filter:invert(.9) hue-rotate(180deg) saturate(.55) brightness(.95) contrast(.95)}.map-dialog-loading{display:grid;inset:0;place-items:center;position:absolute}@media (max-width:640px){.map-dialog{border:0;border-radius:0;height:100dvh;width:100vw}.map-dialog-actions .btn{display:none}}.map-coords,.map-credit{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:color-mix(in srgb,var(--bg) 78%,#0000);border-radius:6px;font-family:var(--font-mono);letter-spacing:.06em;position:absolute;z-index:2}.map-coords{color:var(--text);font-size:.66rem;left:.55rem;padding:.2rem .45rem;top:.55rem}.map-credit{bottom:.4rem;color:var(--muted);font-size:.58rem;padding:.1rem .35rem;right:.4rem}.footer-muted svg{color:var(--faint)}.footer-top-link{align-items:center;border:1px solid var(--line-strong);border-radius:999px;display:inline-flex;gap:.5rem;padding:.7rem 1.1rem;transition:all .3s var(--ease)}.footer-top-link:hover{background:var(--text);color:var(--bg)}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;font-size:.88rem;gap:.5rem 2rem;justify-content:space-between;margin-top:clamp(3rem,6vw,5rem);padding-top:1.5rem}@media (max-width:860px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top-link{justify-self:start}}:root,[data-theme=dark]{--syn-key:#c792ea;--syn-str:#ffb07a;--syn-prop:#7fdbca;--syn-num:#f78c6c;--syn-fn:#82aaff;--syn-com:#6f6c66;--syn-pun:#8b877f}[data-theme=light]{--syn-key:#7c3aed;--syn-str:#b8400f;--syn-prop:#0b7a69;--syn-num:#c2410c;--syn-fn:#1d4ed8;--syn-com:#8a857a;--syn-pun:#6b675e}.code-card-stage{perspective:1200px}.code-sway{animation:code-sway 9s ease-in-out infinite alternate;transform-style:preserve-3d}@keyframes code-sway{0%{transform:rotateX(6deg) rotateY(-11deg) translateY(0)}50%{transform:rotateX(2deg) rotateY(-4deg) translateY(-8px)}to{transform:rotateX(5deg) rotateY(-8deg) translateY(-2px)}}.code-tilt{--rx:0deg;--ry:0deg;position:relative;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .7s var(--ease-out)}.code-card-stage:hover .code-tilt{transition-duration:.15s}.code-card{animation:card-in 1.1s var(--ease-out) .35s backwards;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);background:color-mix(in srgb,var(--bg-2) 82%,#0000);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb,var(--accent) 6%,#0000);margin:0;overflow:hidden;position:relative}@keyframes card-in{0%{opacity:0;transform:translateY(30px) rotateX(10deg)}}.code-ghost{animation:ghost-in 1.2s var(--ease-out) .7s backwards;background:color-mix(in srgb,var(--bg-3) 92%,#0000);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);opacity:.62;pointer-events:none;position:absolute;right:-9%;top:-13%;transform:translateZ(-110px);width:62%}@keyframes ghost-in{0%{opacity:0;transform:translateZ(-260px) translateY(40px)}}.code-ghost-head{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:.75rem;padding:.55rem .8rem}.code-ghost-head .code-dots i{height:8px;width:8px}.code-ghost-file{align-items:center;color:var(--muted);display:inline-flex;font-family:var(--font-mono);font-size:.7rem;gap:.35rem}.code-ghost-file svg{color:#ffd43b}.code-ghost-body{color:var(--muted);font-family:var(--font-mono);font-size:.72rem;line-height:1.7;padding:.7rem .9rem .85rem;white-space:nowrap}.code-ghost-indent{padding-left:2ch}.code-chip{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg-2) 80%,#0000);border:1px solid var(--line-strong);border-radius:999px;box-shadow:0 18px 40px -18px #000000b3;color:var(--muted);display:inline-flex;font-family:var(--font-mono);font-size:.74rem;gap:.55rem;padding:.55rem .85rem;pointer-events:none;position:absolute;white-space:nowrap;z-index:3}.code-chip svg{font-size:1.05rem}.code-chip b{color:var(--text);font-weight:500}.code-chip--stack{animation:chip-bob-a 6s ease-in-out infinite,chip-in .9s var(--ease-out) 1.1s backwards;bottom:17%;gap:.7rem;left:-7%}.code-chip--commits{animation:chip-bob-b 7s ease-in-out infinite,chip-in .9s var(--ease-out) .2s backwards;right:-5%;top:22%}.code-chip--commits>svg{color:var(--accent)}.code-chip-live{background:var(--accent-2);border-radius:50%;box-shadow:0 0 8px var(--accent-2);height:6px;width:6px}@keyframes chip-bob-a{0%,to{transform:translateZ(90px) translateY(0)}50%{transform:translateZ(90px) translateY(-9px)}}@keyframes chip-bob-b{0%,to{transform:translateZ(130px) translateY(0)}50%{transform:translateZ(130px) translateY(8px)}}@keyframes chip-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.code-sway{animation:none;transform:rotateX(4deg) rotateY(-8deg)}.code-chip--stack{animation:none;transform:translateZ(90px)}.code-chip--commits{animation:none;transform:translateZ(130px)}}.code-glare{background:radial-gradient(420px circle at 50% 0,color-mix(in srgb,var(--text) 7%,#0000),#0000 60%);background:radial-gradient(420px circle at var(--gx,50%) var(--gy,0),color-mix(in srgb,var(--text) 7%,#0000),#0000 60%);inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .4s}.code-card-stage:hover .code-glare{opacity:1}.code-head{align-items:center;background:color-mix(in srgb,var(--bg-3) 60%,#0000);border-bottom:1px solid var(--line);display:flex;gap:1rem;padding:.75rem 1rem}.code-dots{display:flex;gap:6px}.code-dots i{background:#ff5f57;border-radius:50%;height:11px;width:11px}.code-dots i:nth-child(2){background:#febc2e}.code-dots i:nth-child(3){background:#28c840}.code-tab{align-items:center;background:var(--bg);border-radius:8px;display:inline-flex;font-family:var(--font-mono);font-size:.78rem;gap:.45rem;padding:.3rem .75rem}.code-tab svg{color:#3178c6}.code-branch{align-items:center;display:inline-flex;font-size:.68rem;gap:.35rem;margin-left:auto}.code-body{font-family:var(--font-mono);font-size:clamp(.72rem,.55rem + .35vw,.86rem);line-height:1.75;margin:0;overflow-x:auto;padding:1rem 0 .75rem;scrollbar-width:none}.code-body code{font:inherit}.code-line{display:flex;min-height:1.75em;white-space:pre}.code-ln{color:var(--faint);flex:none;opacity:.6;padding-right:1rem;text-align:right;-webkit-user-select:none;user-select:none;width:3rem}.t-key{color:#c792ea;color:var(--syn-key)}.t-str{color:#ffb07a;color:var(--syn-str)}.t-prop{color:#7fdbca;color:var(--syn-prop)}.t-num{color:#f78c6c;color:var(--syn-num)}.t-fn{color:#82aaff;color:var(--syn-fn)}.t-com{color:#6f6c66;color:var(--syn-com);font-style:italic}.t-pun{color:#8b877f;color:var(--syn-pun)}.code-cursor{animation:blink 1s steps(1) infinite;background:var(--accent);display:inline-block;height:1.15em;margin-left:1px;vertical-align:text-bottom;width:.55em}.code-term{background:var(--bg);border:1px solid var(--line);border-radius:10px;font-family:var(--font-mono);font-size:.78rem;line-height:1.7;margin:0 1rem .9rem;opacity:0;padding:.7rem .9rem;transform:translateY(8px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.code-term.is-done{opacity:1;transform:none}.code-ok{align-items:center;color:var(--accent-2);display:flex;gap:.45rem}.code-status{border-top:1px solid var(--line);display:flex;font-size:.62rem;gap:1.25rem;letter-spacing:.08em;padding:.5rem 1rem}.code-status span:first-child{color:var(--accent-ink)}@media (max-width:640px){.code-ln{padding-right:.7rem;width:2.1rem}.code-body{font-size:.72rem}.code-status span:nth-child(2){display:none}.code-ghost{right:2%;width:70%}.code-chip--stack{bottom:12%;left:3%}.code-chip--commits{bottom:-4%;right:3%;top:auto}}.hero{display:flex;isolation:isolate;min-height:100vh;min-height:100svh;overflow:clip;position:relative}.neural-field{height:100%;-webkit-mask-image:radial-gradient(120% 90% at 60% 40%,#000 35%,#0000 85%);mask-image:radial-gradient(120% 90% at 60% 40%,#000 35%,#0000 85%);width:100%;z-index:-2}.hero-glow,.neural-field{inset:0;position:absolute}.hero-glow{background:linear-gradient(to bottom,#0000 75%,var(--bg));pointer-events:none;z-index:-1}.hero-glow:before{background:radial-gradient(520px circle at 72% 40%,var(--glow),#0000 70%);background:radial-gradient(520px circle at var(--mx,72%) var(--my,40%),var(--glow),#0000 70%);content:"";inset:0;opacity:.28;position:absolute;transition:opacity 1.1s var(--ease)}.hero.is-pointer .hero-glow:before{opacity:.8;transition-duration:.35s}.hero-inner{display:flex;flex-direction:column;padding-bottom:clamp(1.25rem,3vh,2rem);padding-top:calc(var(--nav-h) + clamp(1.5rem, 5vh, 3.5rem))}.hero-grid{grid-column-gap:clamp(1.5rem,3vw,3.5rem);grid-row-gap:3rem;align-items:center;column-gap:clamp(1.5rem,3vw,3.5rem);display:grid;flex:1 1;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:3rem}.hero-main{display:grid;grid-column:1/span 7;justify-items:start}.hero-aside{grid-column:8/span 5}.hero-status{align-items:center;animation:hero-fade .9s var(--ease-out) .05s backwards;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in srgb,var(--bg) 55%,#0000);border:1px solid var(--line-strong);border-radius:999px;display:inline-flex;font-size:.88rem;gap:.65rem;isolation:isolate;padding:.45rem 1rem .45rem .6rem;position:relative}@property --beam{syntax:"<angle>";inherits:false;initial-value:0deg}.hero-status:before{animation:beam 4.5s linear infinite;background:conic-gradient(from var(--beam),#0000 0 68%,var(--accent) 80%,var(--accent-2) 88%,#0000 95%);border-radius:inherit;content:"";inset:-1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;position:absolute;z-index:-1}@keyframes beam{to{--beam:360deg}}.radar{background:radial-gradient(circle,var(--accent-2) 0 1.6px,#0000 2.2px),radial-gradient(circle,#0000 0 4.4px,color-mix(in srgb,var(--accent-2) 30%,#0000) 4.6px 5.2px,#0000 5.4px);border:1px solid color-mix(in srgb,var(--accent-2) 55%,#0000);border-radius:50%;flex:none;height:18px;overflow:hidden;position:relative;width:18px}.radar:before{animation:radar-sweep 2.4s linear infinite;background:conic-gradient(#0000 0 250deg,color-mix(in srgb,var(--accent-2) 75%,#0000) 1turn);inset:0}.radar:after,.radar:before{border-radius:50%;content:"";position:absolute}.radar:after{animation:radar-blip 2.4s linear infinite;background:var(--accent-2);box-shadow:0 0 6px var(--accent-2);height:3px;opacity:0;right:4px;top:3px;width:3px}@keyframes radar-sweep{to{transform:rotate(1turn)}}@keyframes radar-blip{0%,11%{opacity:0}13%{opacity:1}60%,to{opacity:0}}.hero-hello{--scramble-color:var(--accent-ink);color:var(--accent-ink);margin-top:clamp(1.75rem,4vh,2.75rem)}.hero-name{cursor:default;font-family:var(--font-display);font-size:clamp(3rem,8.4vw,9.5rem);font-weight:800;letter-spacing:-.035em;line-height:.92;margin-left:-.04em;margin-top:.6rem;white-space:nowrap}.hero-name .accent{color:var(--accent)}.hero-role{animation:hero-fade 1s var(--ease-out) .35s backwards;font-family:var(--font-display);font-size:var(--step-2);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-top:.9rem}.hero-role .serif{color:var(--accent);font-size:1.12em}.hero-lede{animation:hero-rise 1s var(--ease-out) .1s backwards;color:var(--muted);font-size:clamp(1.02rem,.9rem + .4vw,1.2rem);line-height:1.6;margin-top:1.1rem;max-width:50ch}.hero-cta{align-items:center;animation:hero-fade 1s var(--ease-out) .55s backwards;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero-socials{display:inline-flex;gap:.5rem;margin-left:.25rem}.hero-socials .icon-btn{height:3.25rem;width:3.25rem}.hero-foot{grid-gap:1rem 2rem;align-items:center;animation:hero-fade 1s var(--ease-out) .7s backwards;border-top:1px solid var(--line);display:grid;gap:1rem 2rem;grid-template-columns:1fr auto 1fr;margin-top:clamp(2rem,5vh,3.5rem);padding-top:1.1rem}.hero-where{align-items:center;display:inline-flex;gap:.5rem}.hero-sep{background:var(--line-strong);height:.9rem;margin:0 .5rem;width:1px}.hero-building{align-items:baseline;display:inline-flex;font-family:var(--font-display);font-size:1.1rem;font-weight:600;gap:.85rem;letter-spacing:-.02em}.rotator{display:inline-block;overflow:hidden;vertical-align:bottom}.rotator-item{animation:rot-in .6s var(--ease-out) both;display:inline-block}.rotator-item:after{animation:blink 1s steps(1) infinite;color:var(--accent);content:"_"}@keyframes rot-in{0%{opacity:0;transform:translateY(100%)}}@keyframes blink{50%{opacity:0}}.scroll-cue{align-items:center;display:inline-flex;gap:.5rem;justify-self:end;transition:color .3s}.scroll-cue svg{animation:nudge 1.8s var(--ease) infinite}.scroll-cue:hover{color:var(--accent)}@keyframes nudge{50%{transform:translateY(4px)}}@keyframes hero-rise{0%{transform:translateY(14px)}}@keyframes hero-fade{0%{opacity:0;transform:translateY(16px)}}@media (max-width:1100px){.hero-socials .icon-btn{height:2.9rem;width:2.9rem}}@media (max-width:960px){.hero-aside,.hero-main{grid-column:1/-1}.hero-aside{max-width:560px;width:100%}.hero-name{font-size:clamp(3rem,12vw,6.5rem)}.hero-foot{grid-template-columns:1fr auto}.hero-building{display:none}}@media (max-width:640px){.hero-name{font-size:clamp(2.8rem,16vw,4.5rem)}.hero-cta .btn{flex:1 1 auto}.hero-socials{margin-left:0;width:100%}.scroll-cue{display:none}.hero-foot{grid-template-columns:1fr}}.about-grid{align-items:start;row-gap:3rem}.about-portrait{grid-column:1/span 4;position:sticky;top:calc(var(--nav-h) + 2rem)}.about-portrait figure{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative}.about-portrait img{aspect-ratio:4/5;height:auto;object-fit:cover;object-position:50% 20%;transform:scale(1.02);transition:transform 1.2s var(--ease-out);width:100%}.about-portrait figure:hover img{transform:scale(1.06)}.about-portrait figure:after{background:linear-gradient(0deg,#000000a6,#0000 40%);content:"";inset:0;pointer-events:none;position:absolute}.about-portrait figcaption{bottom:1rem;color:#f2efe8;display:flex;gap:1rem;justify-content:space-between;left:1.1rem;position:absolute;right:1.1rem;z-index:1}.about-body{grid-gap:clamp(2rem,4vw,3.5rem);display:grid;gap:clamp(2rem,4vw,3.5rem);grid-column:6/span 7}.about-statement{text-wrap:pretty;font-family:var(--font-body);font-size:clamp(1.5rem,.95rem + 1.85vw,2.65rem);font-weight:500;letter-spacing:-.022em;line-height:1.32}.about-statement .w{display:inline-block}.about-statement .hl{background:linear-gradient(#0000 60%,color-mix(in srgb,var(--accent) 40%,#0000) 60%) no-repeat 0 0 /100% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone}.about-statement .serif{color:var(--accent);font-size:1.14em;letter-spacing:-.01em}.about-copy{grid-gap:clamp(1.25rem,3vw,3rem);color:var(--muted);display:grid;gap:clamp(1.25rem,3vw,3rem);grid-template-columns:repeat(2,minmax(0,1fr))}.about-copy strong{color:var(--text);font-weight:500}.stats-head{align-items:center;background:var(--bg-2);border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;padding:.85rem 1rem}.stats-head .label{font-size:.66rem}.stats{border-left:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.stat{grid-gap:.35rem;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:grid;gap:.35rem;padding:clamp(1rem,2vw,1.75rem);position:relative;transition:background .4s var(--ease)}.stat:hover{background:var(--bg-2)}.stat-icon{color:var(--faint);flex:none;font-size:.95rem;transition:color .3s,transform .4s var(--ease)}.stat:hover .stat-icon{color:var(--accent);transform:scale(1.15) rotate(-6deg)}.stat-num{font-feature-settings:"tnum";font-family:var(--font-display);font-size:clamp(1.9rem,1.2rem + 2.2vw,3.4rem);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.04em;line-height:1}.stat-label{align-items:center;color:var(--muted);display:inline-flex;font-family:var(--font-mono);font-size:.72rem;gap:.5rem;letter-spacing:.08em;text-transform:uppercase}.about-links{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.about-link{grid-gap:.2rem 1rem;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);display:grid;gap:.2rem 1rem;grid-template-columns:auto 1fr auto;padding:1rem 1.2rem;transition:border-color .3s var(--ease),background .3s var(--ease)}.about-link .label{grid-column:2}.about-link-handle{font-weight:500;grid-column:2}.about-link>svg:last-child{grid-column:3;grid-row:1/span 2;transition:transform .4s var(--ease)}.about-link-icon{color:var(--muted);font-size:1.6rem;grid-column:1;grid-row:1/span 2;transition:color .3s}.about-link:hover .about-link-icon{color:var(--text)}.about-link:hover{background:var(--bg-2);border-color:var(--accent)}.about-link:hover>svg:last-child{color:var(--accent);transform:translate(3px,-3px)}@media (max-width:1100px){.about-portrait{grid-column:1/span 5}.about-body{grid-column:6/span 7}.about-copy{grid-template-columns:1fr}}@media (max-width:860px){.about-body,.about-portrait{grid-column:1/-1}.about-portrait{max-width:420px;position:relative;top:0}.about-portrait img{aspect-ratio:1;object-position:50% 22%}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.about-links{grid-template-columns:1fr}}.projects{grid-gap:clamp(4rem,9vw,9rem);display:grid;gap:clamp(4rem,9vw,9rem)}.project{grid-column-gap:clamp(1.5rem,3.5vw,4rem);grid-row-gap:2rem;align-items:center;column-gap:clamp(1.5rem,3.5vw,4rem);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:2rem}.project-media-wrap{grid-column:1/span 7}.project-info{grid-gap:1.25rem;align-content:center;display:grid;gap:1.25rem;grid-column:8/span 5}.project.is-flipped .project-media-wrap{grid-column:6/span 7;grid-row:1}.project.is-flipped .project-info{grid-column:1/span 5;grid-row:1}.project-media{grid-gap:.75rem;display:grid;gap:.75rem}.project-screen{aspect-ratio:16/9;background:radial-gradient(80% 80% at 30% 20%,var(--glow),#0000 70%),var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;position:relative;transition:transform .8s var(--ease-out),border-color .4s}.project:hover .project-screen{border-color:var(--line-strong);transform:translateY(-4px)}.project-screen img,.project-screen video{background:#000;height:100%;object-fit:contain;width:100%}.project-screen img{object-fit:cover}.media-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.media-tabs button{align-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:.85rem;gap:.5rem;padding:.45rem .9rem;transition:all .3s var(--ease)}.media-tabs button:hover{border-color:var(--line-strong);color:var(--text)}.media-tabs button.is-active{background:var(--text);border-color:var(--text);color:var(--bg)}.media-tabs button.is-active .label{color:inherit}.project-meta{align-items:center;display:flex;gap:1rem}.project-num{color:var(--accent-ink)}.project-title{font-family:var(--font-display);font-size:var(--step-3);font-weight:700;letter-spacing:-.04em;line-height:1}.project-summary{color:var(--muted);max-width:52ch}.chip-more{border-color:color-mix(in srgb,var(--accent) 40%,#0000);color:var(--accent-ink)}.project-foot{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem .75rem;margin-top:.4rem}.project-stats{display:flex;flex-wrap:wrap;font-size:.68rem;gap:.4rem 1rem}.project-stats span,.repo-foot span{align-items:center;display:inline-flex;gap:.35rem}.more{margin-top:clamp(5rem,10vw,9rem)}.more-head{align-items:end;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.more-title{align-items:center;display:inline-flex;font-family:var(--font-display);font-size:var(--step-2);font-weight:700;gap:.8rem;letter-spacing:-.035em}.more-error{color:var(--muted)}.more-error a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.repos{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.repo{grid-gap:.75rem;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:.75rem;grid-template-rows:auto auto 1fr auto;height:100%;min-height:220px;padding:1.5rem;transition:border-color .4s var(--ease),transform .6s var(--ease-out)}.repo:hover{border-color:var(--accent);transform:translateY(-6px)}.repo-top{align-items:center;display:flex;justify-content:space-between}.repo-top svg{transition:transform .4s var(--ease),color .3s}.repo:hover .repo-top svg{color:var(--accent);transform:translate(3px,-3px)}.repo-name{font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.025em;line-height:1.15}.repo-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--muted);display:-webkit-box;font-size:.95rem;overflow:hidden}.repo-foot{display:flex;font-size:.68rem;gap:1rem}.repo-skeleton{border:0}@media (max-width:1024px){.project-info,.project-media-wrap,.project.is-flipped .project-info,.project.is-flipped .project-media-wrap{grid-column:1/-1;grid-row:auto}.repos{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.repos{grid-template-columns:1fr}.repo{min-height:0}}.journey{background:var(--bg-2);border-block:1px solid var(--line)}.journey-head{align-self:start;grid-column:1/span 5;position:sticky;top:calc(var(--nav-h) + 3rem)}.journey-head .sec-title{font-size:clamp(2.6rem,1rem + 4.6vw,6rem)}.journey-list{border-top:1px solid var(--line-strong);grid-column:7/span 6;list-style:none}.jitem{grid-gap:1.5rem clamp(1.5rem,3vw,3rem);border-bottom:1px solid var(--line-strong);display:grid;gap:1.5rem clamp(1.5rem,3vw,3rem);grid-template-columns:minmax(8rem,1fr) 3fr;padding-block:clamp(1.75rem,3.5vw,3rem)}.jitem-side{grid-gap:.75rem;align-content:start;display:grid;gap:.75rem;justify-items:start}.jitem-tag{background:color-mix(in srgb,var(--accent) 14%,#0000);border-radius:999px;color:var(--accent-ink);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;padding:.25rem .6rem;text-transform:uppercase}.jitem-title{font-family:var(--font-display);font-size:var(--step-2);font-weight:650;letter-spacing:-.03em;line-height:1.1}.jitem-org{color:var(--muted);margin-top:.4rem}.jitem-points{grid-gap:.75rem;color:var(--muted);display:grid;gap:.75rem;list-style:none;margin-top:1.25rem}.jitem-points li{padding-left:1.5rem;position:relative}.jitem-points li:before{background:var(--accent);content:"";height:1px;left:0;position:absolute;top:.72em;width:.7rem}@media (max-width:1024px){.journey-head,.journey-list{grid-column:1/-1}.journey-head{position:static}}@media (max-width:640px){.jitem{grid-template-columns:1fr}.jitem-side{align-items:center;display:flex;gap:1rem}}.stack-slot{min-height:30rem}.stack-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.stack-card{grid-gap:1.5rem;align-content:start;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:1.5rem;isolation:isolate;overflow:hidden;padding:clamp(1.4rem,2.4vw,2.2rem);position:relative}.stack-card:before{aspect-ratio:1;background:var(--glow);border-radius:50%;content:"";filter:blur(40px);inset:auto -30% -60% auto;opacity:0;position:absolute;transition:opacity .6s var(--ease);width:70%;z-index:-1}.stack-card:hover:before{opacity:1}@media (min-width:1101px){.stack-card:first-child{grid-row:span 2}.stack-card:last-child{grid-column:span 2}}.stack-card-head{align-items:baseline;border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding-bottom:1rem}.stack-group{font-family:var(--font-display);font-size:var(--step-2);font-weight:700;letter-spacing:-.035em;line-height:1}.stack-items{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}.stack-items li{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:.93rem;gap:.55rem;padding:.55rem .9rem;transition:border-color .3s var(--ease),transform .4s var(--ease)}.stack-items li svg{color:var(--muted);font-size:1.05rem;transition:color .3s var(--ease)}.stack-items li:hover{border-color:var(--accent);transform:translateY(-2px)}.stack-items li:hover svg{color:var(--accent)}@media (min-width:1101px){.stack-card:first-child .stack-items{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:1100px){.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stack-card:last-child{grid-column:1/-1}}@media (max-width:640px){.stack-grid{grid-template-columns:1fr}}.certs-head{align-items:end;display:flex;gap:2rem;justify-content:space-between}.certs-nav{display:flex;gap:.5rem;margin-bottom:clamp(3rem,6vw,6rem)}.certs-rail{grid-gap:clamp(1rem,1.6vw,1.5rem);cursor:grab;display:grid;gap:clamp(1rem,1.6vw,1.5rem);grid-auto-columns:clamp(270px,27vw,480px);grid-auto-flow:column;overflow-x:auto;overscroll-behavior-x:contain;padding:.5rem max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter))) 1.25rem;scroll-padding-inline:var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:none}.certs-rail::-webkit-scrollbar{display:none}.certs-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;-webkit-user-select:none;user-select:none}.certs-rail.is-dragging .cert-btn{pointer-events:none}.certs-foot{align-items:center;display:flex;gap:1.25rem;margin-top:.5rem}.certs-track{background:var(--line);border-radius:2px;flex:1 1;height:2px;overflow:hidden;position:relative;transition:height .3s var(--ease)}.certs:hover .certs-track{height:4px}.certs-thumb{background:var(--accent);border-radius:inherit;box-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,#0000);inset:0 auto 0 0;position:absolute;transition:transform .25s var(--ease-out),width .3s var(--ease);width:30%;will-change:transform}.certs-count{font-feature-settings:"tnum";flex:none;font-variant-numeric:tabular-nums}.certs-count b{color:var(--text);font-weight:500}.certs-hint{color:var(--muted);flex:none}.certs-rail:focus-visible{outline-offset:-2px}.cert{scroll-snap-align:start}.cert-btn{grid-gap:1rem;display:grid;gap:1rem;text-align:left;width:100%}.cert-img{aspect-ratio:4/3;background:#fbf8ee;border:1px solid var(--line);border-radius:var(--radius);display:block;overflow:hidden;position:relative}.cert-img img{height:100%;object-fit:cover;object-position:top;transition:transform .9s var(--ease-out);width:100%}.cert-btn:hover .cert-img img{transform:scale(1.05)}.cert-zoom{background:var(--accent);border-radius:50%;color:var(--on-accent);display:grid;height:2.4rem;opacity:0;place-items:center;position:absolute;right:.9rem;top:.9rem;transform:scale(.6);transition:all .4s var(--ease-out);width:2.4rem}.cert-btn:focus-visible .cert-zoom,.cert-btn:hover .cert-zoom{opacity:1;transform:none}.cert-meta{grid-gap:.3rem;display:grid;gap:.3rem}.cert-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.2}.lightbox{background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);margin:auto;max-height:92vh;overflow:hidden;padding:0;width:min(1100px,94vw)}.lightbox::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050507c7}.lightbox[open]{animation:lb-in .45s var(--ease-out)}@keyframes lb-in{0%{opacity:0;transform:translateY(20px) scale(.98)}}.lightbox-inner{display:grid}.lightbox-inner img{background:#fbf8ee;max-height:calc(92vh - 5rem);object-fit:contain;width:100%}.lightbox-bar{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1.1rem}.lightbox-actions{display:flex;gap:.4rem}@media (max-width:640px){.certs-hint,.certs-nav{display:none}.certs-rail{grid-auto-columns:78vw}.lightbox-bar{align-items:start;flex-direction:column}}.contact{isolation:isolate;overflow:clip}.contact:before{aspect-ratio:1;background:radial-gradient(circle,var(--glow),#0000 60%);border-radius:50%;content:"";left:50%;pointer-events:none;position:absolute;top:30%;transform:translateX(-50%);width:min(1200px,120vw);z-index:-1}.contact .sec-index{margin-bottom:1.5rem}.contact-title{font-family:var(--font-display);font-size:clamp(3rem,1rem + 7.4vw,9.5rem);font-variation-settings:"opsz" 96;font-weight:800;letter-spacing:-.05em;line-height:.9;margin-bottom:clamp(3rem,6vw,6rem);max-width:20ch}.contact-title .serif{color:var(--accent);font-size:1.06em;letter-spacing:-.02em}.contact-grid{align-items:start;row-gap:3rem}.contact-direct{grid-gap:2rem;display:grid;gap:2rem;grid-column:1/span 5}.contact-email{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.contact-email-icon{color:var(--accent);font-size:1.5rem}.contact-email a{background:linear-gradient(currentColor,currentColor) 0 100% /0 1px no-repeat;font-family:var(--font-display);font-size:clamp(1.25rem,.8rem + 1.5vw,2.1rem);font-weight:600;letter-spacing:-.03em;transition:background-size .5s var(--ease-out),color .3s;word-break:break-all}.contact-email a:hover{background-size:100% 1px;color:var(--accent)}.channels{border-top:1px solid var(--line);list-style:none}.channels a{align-items:center;border-bottom:1px solid var(--line);display:flex;font-size:1.1rem;font-weight:500;gap:.8rem;padding:1.05rem .25rem;transition:padding .4s var(--ease-out),color .3s}.channels a>svg:first-child{color:var(--muted);font-size:1.15rem;transition:color .3s}.channels a:hover>svg:first-child{color:var(--accent)}.channels a .label{margin-left:auto}.channel-arrow{transition:transform .4s var(--ease)}.channels a:hover{color:var(--accent);padding-left:.9rem}.channels a:hover .channel-arrow{transform:translate(3px,-3px)}.channels li:first-child .channel-arrow{margin-left:auto}.contact-form{grid-gap:1.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg-2) 80%,#0000);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:1.25rem;grid-column:7/span 6;padding:clamp(1.5rem,3vw,2.75rem)}.field{grid-gap:.5rem;display:grid;gap:.5rem}.field label{color:var(--muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.field input,.field textarea{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:1rem;padding:.95rem 1.1rem;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);width:100%}.field textarea{min-height:9rem;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,#0000);outline:none}.form-foot{align-items:center;display:flex;flex-wrap:wrap;gap:1rem 1.25rem;margin-top:.25rem}.form-foot .btn[disabled]{cursor:progress;opacity:.6}.form-status{font-size:.95rem}.form-status.is-sent{color:var(--accent-2)}.form-status.is-error{color:var(--accent-ink)}@media (max-width:1024px){.contact-direct,.contact-form{grid-column:1/-1}}@keyframes unfold{0%{opacity:0;transform:perspective(1600px) rotateX(-64deg) translateY(24px)}55%{opacity:1}to{opacity:1;transform:perspective(1600px) rotateX(0deg)}}@keyframes unfold-up{0%{opacity:0;transform:perspective(900px) rotateX(78deg)}60%{opacity:1}to{opacity:1;transform:perspective(900px) rotateX(0deg)}}@keyframes fold-away{to{opacity:.15;transform:perspective(1600px) rotateX(20deg) scale(.93) translateY(-3%)}}@keyframes word-in{0%{color:var(--muted);filter:blur(1.5px);transform:translateY(.3em)}to{filter:blur(0);transform:none}}@keyframes hl-draw{0%{background-size:0 100%}to{background-size:100% 100%}}@keyframes cert-in{0%{opacity:.3;transform:perspective(1400px) translateX(6%) rotateY(-38deg) scale(.86);transform-origin:0 50%}to{opacity:1;transform:perspective(1400px) translateX(0) rotateY(0deg) scale(1);transform-origin:0 50%}}@keyframes cert-out{0%{opacity:1;transform:perspective(1400px) translateX(0) rotateY(0deg) scale(1);transform-origin:100% 50%}to{opacity:.3;transform:perspective(1400px) translateX(-6%) rotateY(38deg) scale(.86);transform-origin:100% 50%}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.cert-btn{animation-timeline:view(inline),view(inline);animation-range:entry 0 entry 100%,exit 0 exit 100%;animation-fill-mode:both,forwards;animation-name:cert-in,cert-out;animation-timing-function:linear,linear}.about-statement{view-timeline-name:--statement}.about-statement .w{animation-timeline:--statement;animation-range:cover calc(6% + var(--i)*1.1%) cover calc(13% + var(--i)*1.1%);animation-fill-mode:both;animation-name:word-in;animation-timing-function:linear}.about-statement .hl{animation-timeline:--statement;animation-range:cover 16% cover 26%;animation-fill-mode:both;animation-name:hl-draw;animation-timing-function:linear}.about-link,.about-portrait figure,.certs-rail,.contact-form,.jitem,.project-media-wrap,.repos>*,.stack-card,.stat,.stats-head{animation-timeline:view();animation-range:entry 0 cover 30%;animation-fill-mode:both;animation-name:unfold;animation-timing-function:linear;transform-origin:50% 0}.about-link:nth-child(3n+2),.repos>:nth-child(3n+2),.stack-card:nth-child(3n+2),.stat:nth-child(3n+2){animation-range:entry 6% cover 36%}.about-link:nth-child(3n+3),.repos>:nth-child(3n+3),.stack-card:nth-child(3n+3),.stat:nth-child(3n+3){animation-range:entry 12% cover 42%}.contact-title,.sec-title{animation-timeline:view();animation-range:entry 10% cover 30%;animation-fill-mode:both;animation-name:unfold-up;animation-timing-function:linear;transform-origin:50% 100%}.hero-inner{animation-timeline:view();animation-range:exit 0 exit 90%;animation-fill-mode:both;animation-name:fold-away;animation-timing-function:linear;transform-origin:50% 100%}}}