.lang-toggle{display:inline-flex;min-height:2rem;padding:0 .15rem;align-items:center;gap:.28rem;border:0;border-radius:0;background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;cursor:pointer}@media(hover:hover){.lang-toggle:hover .lang-toggle-pill{color:var(--text-primary)}}.lang-toggle-pill{transition:color .18s ease}.lang-toggle-pill.is-active{color:var(--portrait-peach)}.lang-toggle-divider{color:var(--text-muted);opacity:.6}.lang-toggle:focus-visible{outline:2px solid var(--portrait-peach);outline-offset:4px}@media(max-width:820px),(pointer:coarse){.lang-toggle{min-width:2.75rem;min-height:2.75rem;padding:0 .4rem;font-size:.8rem;justify-content:center}}@media(prefers-reduced-motion:reduce){.lang-toggle-pill{transition-duration:.01ms}}.skip-link{position:fixed;z-index:10000;top:1rem;left:1rem;padding:.6rem 1rem;border-radius:8px;background:var(--accent-magenta);color:var(--bg-deep);transform:translateY(-160%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.top-nav-scroll-sentinel{position:absolute;inset:1.5rem auto auto 0;width:1px;height:1px;pointer-events:none}.top-nav{position:fixed;z-index:100;inset:0 0 auto;padding:.55rem var(--page-inset);transition:background-color .25s var(--ease-out-expo),backdrop-filter .25s ease}.top-nav.is-scrolled{background:color-mix(in srgb,var(--bg-deep) 44%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.top-nav-inner{display:flex;width:100%;min-height:2.35rem;margin:0 auto;align-items:center;justify-content:space-between}.top-nav-brand{display:inline-flex;min-width:2.5rem;min-height:2rem;align-items:center;gap:.12rem;color:var(--text-primary);font-family:var(--font-display);font-size:1.2rem;font-weight:750;letter-spacing:-.05em}.brand-bracket{color:var(--portrait-peach);opacity:.95}.brand-initials{color:var(--portrait-cream)}.top-nav-actions{display:inline-flex;align-items:center}.top-nav a:focus-visible{outline:2px solid var(--portrait-peach);outline-offset:4px}@media(max-width:820px),(pointer:coarse){.top-nav{padding-top:calc(.5rem + env(safe-area-inset-top,0px));padding-left:max(var(--page-inset),env(safe-area-inset-left,0px));padding-right:max(var(--page-inset),env(safe-area-inset-right,0px))}.top-nav-inner{min-height:2.75rem}.top-nav-brand{min-width:2.75rem;min-height:2.75rem}}@media(prefers-reduced-motion:reduce){.top-nav{transition-duration:.01ms}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:150;background:transparent;pointer-events:none}.scroll-progress-fill{height:100%;background:linear-gradient(90deg,#ffffff,#f7efe8 60%,var(--portrait-peach));transform-origin:left center;transform:scaleX(0);box-shadow:none}@supports (animation-timeline: scroll()){.scroll-progress-fill{animation:scroll-progress-grow linear both;animation-timeline:scroll(root block)}}@supports not (animation-timeline: scroll()){.scroll-progress{display:none}}@keyframes scroll-progress-grow{to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}}.back-to-top-threshold{position:absolute;top:600px;left:0;width:1px;height:1px;pointer-events:none}.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#f7efe8,var(--portrait-peach));color:#1a1210;display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .3s var(--ease-out-expo),transform .3s var(--ease-out-expo),box-shadow .3s;box-shadow:0 6px 24px #f0b49e4d;z-index:90}.back-to-top>span{font-size:1.15rem;line-height:1;transform:translateY(-1px)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{box-shadow:0 8px 32px #f0b49e73;transform:translateY(-2px) scale(1.05)}.back-to-top:focus-visible{outline:2px solid #f7efe8;outline-offset:3px}@media(max-width:640px){.back-to-top.is-closing-visible{opacity:0;pointer-events:none;transform:translateY(18px)}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}.back-to-top:hover{transform:translateY(0)}}@media(hover:none){.back-to-top:hover{box-shadow:0 6px 24px #f0b49e4d;transform:translateY(0)}}@media(min-width:821px)and (pointer:fine){.back-to-top{right:var(--page-inset);bottom:var(--page-bottom)}}.mobile-dock{display:none}@media(max-width:820px),(hover:none)and (pointer:coarse){:root{--dock-h: calc(56px + env(safe-area-inset-bottom, 0px)) }.mobile-dock{position:fixed;z-index:95;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,1fr);height:var(--dock-h);padding:0 max(.25rem,env(safe-area-inset-left,0px)) env(safe-area-inset-bottom,0px) max(.25rem,env(safe-area-inset-right,0px));border-top:1px solid rgba(243,236,228,.1);background:#0a0908db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .28s ease}.mobile-dock-link{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#f3ece494;font:500 12px/1 Inter,system-ui,sans-serif;letter-spacing:.01em;-webkit-tap-highlight-color:transparent;transition:color .2s ease}.mobile-dock-link span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-dock-link[aria-current=true]{color:#f0b49e}.mobile-dock-link[aria-current=true]:before{content:"";position:absolute;top:0;width:22px;height:2px;border-radius:0 0 2px 2px;background:#f0b49e}.mobile-dock-link:active{color:#f3ece4}.mobile-dock-link:focus-visible{outline:2px solid #f0b49e;outline-offset:-4px;border-radius:10px}body[data-build-active] .mobile-dock{visibility:hidden;pointer-events:none}#root{padding-bottom:var(--dock-h)}.back-to-top{display:none}}@media(prefers-reduced-motion:reduce){.mobile-dock{transition:none}}.section-dots{position:fixed;right:max(4px,calc((var(--page-inset) - 38px) / 2));top:50%;transform:translateY(-50%);z-index:95;display:flex;flex-direction:column;gap:.85rem;padding:.75rem .5rem;pointer-events:auto}.section-dots-rail{position:absolute;top:1rem;bottom:1rem;left:50%;width:1px;background:linear-gradient(to bottom,transparent,var(--border-soft),transparent);transform:translate(-50%)}.section-dot{position:relative;width:22px;height:22px;display:grid;place-items:center;background:transparent;border:none;color:var(--text-muted);transition:color .25s var(--ease-out-expo)}.section-dot-mark{width:8px;height:8px;border-radius:50%;background:#ffffff40;border:1px solid rgba(255,255,255,.15);transition:transform .3s var(--ease-elastic),background .3s var(--ease-out-expo),border-color .3s;box-shadow:0 0 #a855f700}.section-dot.is-active .section-dot-mark{background:linear-gradient(135deg,var(--portrait-peach),var(--portrait-rose));border-color:transparent;transform:scale(1.5);box-shadow:0 0 12px color-mix(in srgb,var(--portrait-rose) 60%,transparent)}.section-dot:hover .section-dot-mark{transform:scale(1.4);background:var(--portrait-rose)}.section-dot-label{position:absolute;right:calc(100% + .75rem);top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-primary);background:color-mix(in srgb,var(--bg-deep) 80%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-soft);padding:.3rem .6rem;border-radius:6px;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .3s,transform .3s var(--ease-out-expo)}.section-dot:hover .section-dot-label,.section-dot:focus-visible .section-dot-label{opacity:1;transform:translateY(-50%) translate(-4px)}@media(max-width:820px),(hover:none)and (pointer:coarse){.section-dots{display:none}}.section-dots-chapter{position:absolute;right:calc(100% + .9rem);top:50%;display:grid;margin:0;gap:.15rem;justify-items:end;text-align:right;white-space:nowrap;transform:translateY(-50%);pointer-events:none}.section-dots-chapter__index{font-family:var(--font-mono);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--text-primary)}.section-dots-chapter__total{margin-left:.15rem;font-size:.7rem;font-weight:400;color:color-mix(in srgb,var(--text-muted) 70%,transparent)}.section-dots-chapter__name{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--portrait-peach)}.section-dots-rail{overflow:hidden}.section-dots-rail__fill{position:absolute;inset:0;background:linear-gradient(to bottom,var(--portrait-peach),var(--portrait-rose));transform:scaleY(0);transform-origin:top center}@supports (animation-timeline: scroll()){.section-dots-rail__fill{animation:section-rail-fill linear both;animation-timeline:scroll(root block)}@keyframes section-rail-fill{0%{transform:scaleY(0)}to{transform:scaleY(1)}}}.section-dots-chapter{display:none}@media(prefers-reduced-motion:reduce){.section-dot,.section-dot-mark,.section-dot-label{transition:none}}.error-boundary{padding:4rem 2rem;text-align:center;color:var(--text-muted);background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:1rem;margin:2rem auto;max-width:min(600px,90vw)}.error-boundary-action{margin-top:1rem;padding:.6rem 1.4rem;color:var(--accent-magenta);border:1px solid var(--accent-magenta);border-radius:999px;background:transparent}.section-skeleton{min-height:60vh;display:grid;place-items:center;padding:6rem 2rem;color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem}.section-skeleton-label{opacity:.4}.hero{--portrait-rose: #c8917a;--portrait-peach: #e5b19c;--portrait-sand: #efcdb6;--portrait-cream: #f6e2cf;--portrait-mauve: #7d6254;--portrait-plum: #3d322e;--tech-cobalt: var(--portrait-rose);--tech-cyan: var(--portrait-peach);--tech-teal: var(--portrait-mauve);--tech-emerald: var(--portrait-cream);--accent-cyan: var(--portrait-peach);--accent-emerald: var(--portrait-cream);--hw: calc(var(--hero-white, 30) * 1%);--ink-cream: color-mix(in srgb, #fff var(--hw), var(--portrait-cream));--ink-sand: color-mix(in srgb, #fff var(--hw), var(--portrait-sand));--ink-peach: color-mix(in srgb, #fff var(--hw), var(--portrait-peach));--ink-rose: color-mix(in srgb, #fff var(--hw), var(--portrait-rose));--eyebrow-color: var(--ink-rose);position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,2.4fr) minmax(18rem,1fr);min-height:100svh;padding:clamp(5.25rem,8vh,7rem) clamp(1.5rem,6vw,7.5rem) 3.5rem;overflow:hidden;align-items:center;color:var(--text-primary);background:transparent;scroll-snap-align:start;scroll-snap-stop:normal}.hero .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-vignette{position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.54) 0%,transparent 25%,transparent 72%,#000 100%)}.hero-portrait{position:absolute;z-index:0;inset:0 clamp(0rem,2vw,2rem) 0 auto;display:flex;width:min(51vw,1080px);align-items:flex-end;justify-content:center;pointer-events:none;opacity:.52}.hero-portrait picture{display:contents}.hero-portrait.is-studio-preview{opacity:.74;mix-blend-mode:screen}.hero-portrait img{position:relative;z-index:1;display:block;width:100%;height:min(94svh,1180px);max-height:calc(100svh - 2rem);object-fit:contain;object-position:center bottom;filter:brightness(.88) sepia(.2) saturate(1.25);-webkit-mask-image:linear-gradient(180deg,#000 65%,rgb(0 0 0 / .9) 80%,transparent 100%);mask-image:linear-gradient(180deg,#000 65%,rgb(0 0 0 / .9) 80%,transparent 100%)}.hero-portrait.is-studio-preview img{filter:brightness(.96) saturate(.88) contrast(1.06);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 93%,transparent 100%),radial-gradient(ellipse 46% 83% at 52% 47%,#000 28%,rgb(0 0 0 / .92) 41%,rgb(0 0 0 / .65) 52%,rgb(0 0 0 / .26) 65%,transparent 80%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 93%,transparent 100%),radial-gradient(ellipse 46% 83% at 52% 47%,#000 28%,rgb(0 0 0 / .92) 41%,rgb(0 0 0 / .65) 52%,rgb(0 0 0 / .26) 65%,transparent 80%);mask-composite:intersect}.hero-content{position:relative;z-index:3;display:flex;grid-column:1;width:min(100%,900px);margin-inline:auto;flex-direction:column;align-items:center;gap:calc(1.1rem * var(--hero-gap-scale, 1));translate:0 calc(var(--hero-text-y, 0) * 1vh);text-align:center}.hero-overline{margin:0;color:var(--eyebrow-color);font-family:var(--font-mono);font-size:calc(var(--eyebrow-size) * var(--hero-overline-scale, 1));font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase}.hero-title{display:flex;margin:0;flex-direction:column;align-items:center;gap:.65rem}.hero-title-line-1{max-width:15ch;color:var(--text-primary);background:linear-gradient(108deg,#fffaf4 0%,var(--ink-cream) 24%,var(--ink-peach) 58%,var(--ink-rose) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:calc(clamp(3.5rem,7.4vw,7.2rem) * var(--hero-title-scale, 1));font-weight:720;letter-spacing:-.034em;line-height:.86;text-shadow:none;text-wrap:balance}.hero-title-line-2{max-width:38ch;color:#debaad;background:linear-gradient(100deg,#fffaf4 0%,var(--ink-sand) 34%,var(--ink-peach) 68%,var(--ink-cream) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:var(--font-body);font-size:calc(clamp(1rem,1.72vw,1.32rem) * var(--hero-subtitle-scale, 1));font-weight:470;letter-spacing:.005em;line-height:1.35;text-wrap:balance}.hero-description{max-width:calc(59ch * var(--hero-width-scale, 1));margin:0;color:color-mix(in srgb,#fff var(--hw),#d3c2ba);font-size:calc(clamp(.92rem,1.1vw,1.02rem) * var(--hero-desc-scale, 1));line-height:calc(1.72 * var(--hero-leading-scale, 1));text-wrap:pretty}.hero-tech{position:relative;width:min(100%,780px);overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.hero-ctas{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;margin-top:.9rem;gap:.85rem 1.15rem}.hero-cta{position:relative;display:inline-flex;min-height:52px;flex:0 0 auto;padding:.88rem 1.35rem;border-radius:5px;overflow:hidden;isolation:isolate;align-items:center;justify-content:center;gap:.65rem;color:#f6fbff;font-size:.88rem;font-weight:700;white-space:nowrap;transition:box-shadow .25s var(--ease-out-expo),border-color .2s ease,filter .2s ease}.hero-cta:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(100deg,transparent 32%,color-mix(in srgb,var(--accent-cyan) 40%,transparent) 50%,transparent 68%);background-repeat:no-repeat;background-size:260% 100%;background-position:130% 50%;animation:hero-cta-sheen 11s linear infinite}.hero-cta-cobalt{color:#30262b;background-image:linear-gradient(112deg,var(--tech-cobalt) 0%,color-mix(in srgb,var(--tech-cobalt) 58%,var(--tech-cyan)) 100%);box-shadow:0 6px 20px #b381841f}.hero-cta-cobalt:hover{box-shadow:0 1rem 2.7rem color-mix(in srgb,var(--tech-cobalt) 46%,transparent);filter:saturate(1.08)}.hero-cta-cyan{border:1px solid color-mix(in srgb,var(--tech-cyan) 44%,transparent);background-image:linear-gradient(118deg,color-mix(in srgb,var(--tech-cyan) 30%,transparent),color-mix(in srgb,var(--tech-cobalt) 24%,transparent));box-shadow:0 .7rem 1.9rem color-mix(in srgb,var(--tech-cyan) 20%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.hero-cta-cyan:hover{border-color:var(--tech-cyan);box-shadow:0 .95rem 2.5rem color-mix(in srgb,var(--tech-cyan) 32%,transparent)}.hero-cta-cyan:after{animation-delay:-3.6s}.hero-cta-teal{color:var(--portrait-cream);border:1px solid color-mix(in srgb,var(--portrait-cream) 44%,transparent);background-image:linear-gradient(118deg,color-mix(in srgb,var(--portrait-plum) 70%,transparent),color-mix(in srgb,var(--portrait-mauve) 38%,transparent));box-shadow:0 .7rem 1.9rem color-mix(in srgb,var(--tech-teal) 20%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.hero-cta-teal:hover{border-color:var(--tech-teal);box-shadow:0 .95rem 2.5rem color-mix(in srgb,var(--tech-teal) 32%,transparent)}.hero-cta-teal:after{animation-delay:-7.2s;background-image:linear-gradient(100deg,transparent 32%,color-mix(in srgb,var(--accent-emerald) 32%,transparent) 50%,transparent 68%)}.hero-tech{margin:.55rem 0 0}.hero-tech__track{display:flex;align-items:center;gap:.6rem 1.4rem;margin:0;padding:0;list-style:none;width:max-content;animation:hero-tech-drift 46s linear infinite}.hero-tech:hover .hero-tech__track,.hero-tech:focus-within .hero-tech__track{animation-play-state:paused}@keyframes hero-tech-drift{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.hero-tech-item{display:inline-flex;align-items:center;justify-content:center;animation:hero-tech-breathe 5.4s cubic-bezier(.22,1,.36,1) infinite;animation-delay:calc(var(--icon-index, 0) * -.17s)}@keyframes hero-tech-breathe{0%,to{transform:translate3d(0,1px,0) scale(.96)}48%{transform:translate3d(0,-4px,0) scale(1.035)}}.hero-tech-icon{width:40px;height:40px;object-fit:contain;opacity:.94;filter:none;transition:opacity .22s ease,transform .32s var(--ease-out-expo)}.hero-tech-icon[src$="/github.svg"]{filter:invert(1)}.hero-tech-item:hover .hero-tech-icon{opacity:1;transform:translateY(-3px) scale(1.06)}.hero a:focus-visible{outline-color:var(--tech-cyan);outline-offset:4px}@keyframes hero-cta-sheen{0%{background-position:130% 50%;opacity:.35}28%{opacity:1}62%,to{background-position:-50% 50%;opacity:.35}}@media(max-width:760px){.hero{--hero-photo: calc(100svh - var(--nav-h, 60px) - 2rem);display:flex;min-height:100svh;padding:calc(var(--nav-h, 60px) + 1rem) 1.25rem calc(var(--dock-h, 64px) + .9rem);align-items:flex-end;justify-content:center}.hero-vignette{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 14%,transparent 38%,rgba(0,0,0,.72) 58%,#000 80%)}.hero-portrait{inset:var(--nav-h, 60px) 0 auto 0;width:100%;height:var(--hero-photo);align-items:flex-start;justify-content:center}.hero-portrait img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 0}.hero-content{width:min(100%,660px);gap:calc(.6rem * var(--hero-gap-scale, 1))}.hero-overline{font-size:calc(.75rem * var(--hero-overline-scale, 1));letter-spacing:.18em}.hero-title{gap:.35rem}.hero-title-line-1{font-size:calc(clamp(2.2rem,10.8vw,3.2rem) * var(--hero-title-scale, 1));line-height:.92}.hero-title-line-2{font-size:calc(clamp(.84rem,3.7vw,.98rem) * var(--hero-subtitle-scale, 1));line-height:1.3}.hero-description{max-width:calc(34rem * var(--hero-width-scale, 1));font-size:calc(.76rem * var(--hero-desc-scale, 1));line-height:calc(1.55 * var(--hero-leading-scale, 1))}.hero-ctas{margin-top:.4rem}.hero-cta{min-height:46px;padding:.6rem 1.1rem;font-size:.82rem}.hero-tech{gap:.5rem .7rem}.hero-tech-icon{width:30px;height:30px}.hero-tech__track{gap:.5rem .8rem}}@media(max-width:760px)and (max-height:700px){.hero{padding-bottom:calc(var(--dock-h, 64px) + .6rem)}.hero-description{font-size:calc(.75rem * var(--hero-desc-scale, 1));line-height:calc(1.45 * var(--hero-leading-scale, 1))}.hero-title-line-1{font-size:calc(clamp(2rem,9.6vw,2.6rem) * var(--hero-title-scale, 1))}}@media(max-width:340px){.hero{padding-bottom:calc(var(--dock-h, 64px) + .5rem)}.hero-content{gap:.45rem}.hero-description{font-size:calc(.75rem * var(--hero-desc-scale, 1));line-height:calc(1.4 * var(--hero-leading-scale, 1))}.hero-title-line-1{font-size:calc(clamp(1.9rem,10vw,2.3rem) * var(--hero-title-scale, 1))}.hero-ctas{gap:.5rem}.hero-cta{min-height:44px;padding-block:.55rem}}@media(orientation:landscape)and (max-height:520px)and (hover:none)and (pointer:coarse){.hero-overline{font-size:calc(.75rem * var(--hero-overline-scale, 1))}}@media(min-width:761px)and (max-width:1050px){.hero{grid-template-columns:minmax(0,1fr) minmax(14rem,.76fr);padding-inline:2rem}.hero-content{width:100%}.hero-portrait{width:min(52vw,620px);right:0}.hero-portrait{opacity:.6}}@media(prefers-reduced-motion:reduce){.hero-tech-item{animation:none;transform:none}.hero-cta:after{animation:none}.hero-cta,.hero-tech-icon{transition-duration:.01ms}.hero-tech-item:hover .hero-tech-icon{transform:none}}@media(prefers-reduced-transparency:reduce){.hero-cta-cyan,.hero-cta-teal{background-image:none;background-color:#090909;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.hero-tech{-webkit-mask-image:none;mask-image:none}.hero-tech__track{flex-wrap:wrap;justify-content:flex-start;width:auto;animation:none}}@supports (animation-timeline: scroll()){.motion-ready .hero-title,.motion-ready .hero-overline,.motion-ready .hero-description,.motion-ready .hero-ctas,.motion-ready .hero-tech{animation:hero-depart linear both;animation-timeline:scroll(root block);animation-range:0 100vh;will-change:transform,opacity}.motion-ready .hero-title{--depart-rise: -6vh;--depart-scale: 1.14;--depart-blur: 7px}.motion-ready .hero-overline{--depart-rise: -13vh;--depart-scale: 1;--depart-blur: 3px}.motion-ready .hero-description{--depart-rise: -9vh;--depart-scale: .97;--depart-blur: 4px}.motion-ready .hero-ctas{--depart-rise: -5vh;--depart-scale: .96;--depart-blur: 2px}.motion-ready .hero-tech{--depart-rise: 2vh;--depart-scale: 1;--depart-blur: 0px}@keyframes hero-depart{0%{opacity:1;transform:translateZ(0) scale(1)}62%{opacity:1}to{opacity:0;transform:translate3d(0,var(--depart-rise, -8vh),0) scale(var(--depart-scale, 1))}}}@media(prefers-reduced-motion:reduce){.motion-ready .hero-title,.motion-ready .hero-overline,.motion-ready .hero-description,.motion-ready .hero-ctas,.motion-ready .hero-tech{animation:none;opacity:1;filter:none;transform:none}}.hero{overflow:hidden;overflow:clip}.hero[data-justify="1"] .hero-description{text-align:justify;text-align-last:center;hyphens:auto;-webkit-hyphens:auto}@media(min-width:761px){.hero{--hero-text-span: 7;--hero-portrait-span: 5;grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr));column-gap:var(--grid-gap);padding:calc(var(--nav-h) + var(--space-5)) var(--page-inset) var(--page-bottom);align-items:stretch}.hero-content{grid-column:1 / span var(--hero-text-span);width:auto;margin-inline:0;align-items:flex-start;justify-content:center;text-align:left}.hero-title{align-items:flex-start}.hero-ctas{margin-top:var(--space-2)}.hero-tech{width:100%;margin:var(--space-3) 0 0;-webkit-mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 120px),transparent);mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 120px),transparent)}.hero-portrait{inset:0 var(--page-inset) 0 auto;width:calc(var(--grid-step) * var(--hero-portrait-span) - var(--grid-gap));justify-content:center}.hero-portrait img{flex:none;width:auto;max-width:none}.hero[data-justify="1"] .hero-description{text-align-last:left}}@media(min-width:761px)and (max-width:1099px){.hero{--hero-text-span: 5;--hero-portrait-span: 4}}@media(min-width:761px){.hero-overline{font-size:var(--label-size);letter-spacing:var(--label-tracking)}.hero-cta{min-height:var(--control-h);padding:0 24px;border-radius:999px;font-size:14px;font-weight:600}}.portrait-editor{position:fixed;z-index:10000;left:18px;bottom:18px;width:min(326px,calc(100vw - 36px));color:#e8ecf2;background:#11151bf5;border:1px solid #ffffff28;border-radius:12px;box-shadow:0 16px 48px #0008;font:13px/1.4 system-ui,sans-serif}.portrait-editor button{font:inherit;color:inherit;cursor:pointer;border:1px solid #ffffff25;background:#252b35;border-radius:6px;padding:9px 10px;min-height:38px}.portrait-editor .portrait-editor__toggle{width:100%;display:flex;justify-content:space-between;border:0;background:transparent;padding:14px;font-weight:650}.portrait-editor__intro,.portrait-editor__status{margin:0;padding:0 14px 12px;color:#acb8c8;font-size:12px}.portrait-editor__scroll{max-height:min(48vh,440px);overflow-y:auto;overscroll-behavior:contain;padding:0 14px}.portrait-editor details{border-top:1px solid #ffffff18}.portrait-editor summary{cursor:pointer;padding:12px 0;font-weight:600}.portrait-editor__control{display:block;margin-bottom:13px}.portrait-editor__control>span{display:flex;justify-content:space-between;gap:8px}.portrait-editor output{font-variant-numeric:tabular-nums;color:#d7b997}.portrait-editor input{width:100%;margin:8px 0 0;accent-color:#c9a57c;cursor:pointer;min-height:22px}.portrait-editor__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px 14px}.portrait-editor__actions button:first-child{color:#17110a;background:#d8b78f;font-weight:650}.portrait-editor :focus-visible{outline:2px solid #e8c79d;outline-offset:3px}.typography-editor{padding-bottom:14px}.typography-editor label{display:block;margin-bottom:8px}.typography-editor select{width:100%;min-height:40px;border:1px solid #debaad50;border-radius:7px;background:#211c22;color:#f7e4be;padding:8px;font:inherit}.typography-editor p{font-size:12px;color:#d1aea1}.typography-editor .typography-sample{padding:14px 0;font-size:26px;line-height:1.3;color:#f7e4be}.typography-sample small{font-size:14px}.typography-editor button:disabled{opacity:.5;cursor:wait}.typography-reference{display:grid;gap:6px;padding:12px 0;font-size:12px}.typography-reference>span,.typography-reference small{color:#bfb0ad;font-size:11px}.typography-reference a{color:#f0b49e;text-decoration:none;line-height:1.5}.typography-reference a:hover{text-decoration:underline}body[data-gallery-view] .portrait-editor:has(.portrait-editor__toggle[aria-expanded=false]){width:42px;left:12px;bottom:8px}body[data-gallery-view] .portrait-editor__toggle[aria-expanded=false]{height:40px;padding:8px;justify-content:center}body[data-gallery-view] .portrait-editor__toggle[aria-expanded=false] span{display:none}body[data-gallery-view] .portrait-editor__toggle[aria-expanded=false]:after{content:"Aa";color:#debaad}html[data-font-preview] #root,html[data-font-preview] #root *,html[data-font-preview] .project-preview-dialog,html[data-font-preview] .project-preview-dialog *{font-family:var(--preview-font)!important}@media(max-height:540px){.portrait-editor__scroll{max-height:25vh}}.portrait-editor:not([data-mode=phone]) .portrait-editor__flip{display:none}@media(max-width:760px){.portrait-editor[data-mode=phone]{left:8px;right:8px;width:auto;bottom:calc(var(--dock-h, 64px) + 8px)}.portrait-editor[data-mode=phone][data-top]{bottom:auto;top:calc(var(--nav-h, 60px) + 4px)}body .portrait-editor[data-mode=phone]:has(.portrait-editor__toggle[aria-expanded=false]){right:auto;width:46px;left:8px;bottom:calc(var(--dock-h, 64px) + 8px)}body .portrait-editor[data-mode=phone][data-top]:has(.portrait-editor__toggle[aria-expanded=false]){bottom:auto}.portrait-editor[data-mode=phone] .portrait-editor__toggle[aria-expanded=false]{height:42px;padding:8px;justify-content:center}.portrait-editor[data-mode=phone] .portrait-editor__toggle[aria-expanded=false] span{display:none}.portrait-editor[data-mode=phone] .portrait-editor__toggle[aria-expanded=false]:after{content:"Aa";color:#debaad}.portrait-editor[data-mode=phone] .portrait-editor__scroll{max-height:40vh}.portrait-editor[data-mode=phone] .portrait-editor__actions{grid-template-columns:1fr 1fr 1fr;gap:6px;padding:10px 14px}.portrait-editor[data-mode=phone] .portrait-editor__actions button{min-height:34px;padding:6px 4px;font-size:12px}.portrait-editor[data-mode=phone] .portrait-editor__intro{padding-bottom:6px}.portrait-editor[data-mode=phone] .portrait-editor__flip{min-height:32px;padding:4px 10px;margin-bottom:8px}}.cursor-trails{position:fixed;z-index:90;inset:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen;opacity:0;transition:opacity .22s ease}.cursor-trails[data-visible=true]{opacity:1}.cursor-trail-dot{position:absolute;top:0;left:0;width:12px;height:12px;clip-path:polygon(50% 0%,59% 40%,100% 50%,59% 60%,50% 100%,41% 60%,0% 50%,41% 40%);background:linear-gradient(135deg,#fffffffa 4%,#69e5cce6 34%,#459dffb8 68%,#2c68dc14);filter:drop-shadow(0 0 .34rem rgba(76,166,255,.42));opacity:0;transform:translate3d(-80px,-80px,0);will-change:transform,opacity}.cursor-trail-dot:nth-child(n+10){filter:saturate(.76) drop-shadow(0 0 .2rem rgba(105,229,204,.24))}.cursor-trail-dot:first-child{background:linear-gradient(135deg,#fff,#83f2d5 42%,#4ca6ff);filter:drop-shadow(0 0 .5rem rgba(76,166,255,.64))}@media(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-trails{display:none}}.global-noise{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:220px 220px}@media(prefers-reduced-motion:reduce){.global-noise{opacity:.02}}@media(max-width:900px),(pointer:coarse){.global-noise{display:none}}.section-gutter{position:relative;z-index:0;display:grid;width:100%;height:var(--gutter-height);place-items:center;pointer-events:none;overflow:hidden}.section-gutter__mark{display:block;width:min(88%,62rem);height:1px;filter:drop-shadow(0 0 .55rem color-mix(in srgb,var(--portrait-peach) 28%,transparent))}.section-gutter[data-mark=horizon] .section-gutter__mark{background:linear-gradient(to right,transparent,color-mix(in srgb,var(--portrait-rose) 30%,transparent) 18%,color-mix(in srgb,var(--portrait-peach) 46%,transparent) 50%,color-mix(in srgb,var(--tech-teal) 30%,transparent) 82%,transparent);opacity:.55}.section-gutter[data-mark=beam] .section-gutter__mark{background:linear-gradient(to right,transparent,color-mix(in srgb,var(--portrait-peach) 80%,transparent) 45%,color-mix(in srgb,var(--portrait-cream) 70%,transparent) 55%,transparent);background-size:34% 100%;background-repeat:no-repeat;background-position:-34% 50%;box-shadow:0 0 1.2rem color-mix(in srgb,var(--portrait-peach) 22%,transparent)}.section-gutter[data-mark=diagonal] .section-gutter__mark{height:100%;background:linear-gradient(100deg,transparent 46%,color-mix(in srgb,var(--portrait-rose) 45%,transparent) 49%,color-mix(in srgb,var(--portrait-peach) 55%,transparent) 50%,color-mix(in srgb,var(--portrait-rose) 45%,transparent) 51%,transparent 54%);opacity:.6}.section-gutter[data-mark=ticks] .section-gutter__mark{height:6px;background-image:repeating-linear-gradient(to right,color-mix(in srgb,var(--portrait-peach) 55%,transparent) 0 1px,transparent 1px 26px);-webkit-mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent);opacity:.5}@supports (animation-timeline: view()){.motion-ready .section-gutter{view-timeline-name:--gutter;view-timeline-axis:block}.motion-ready .section-gutter__mark{animation-timeline:--gutter;animation-range:cover 0% cover 100%;animation-timing-function:linear;animation-fill-mode:both}.motion-ready .section-gutter[data-mark=horizon] .section-gutter__mark{animation-name:gutter-horizon}.motion-ready .section-gutter[data-mark=beam] .section-gutter__mark{animation-name:gutter-beam}.motion-ready .section-gutter[data-mark=diagonal] .section-gutter__mark{animation-name:gutter-diagonal}.motion-ready .section-gutter[data-mark=ticks] .section-gutter__mark{animation-name:gutter-ticks}@keyframes gutter-horizon{0%{opacity:.1;transform:translate3d(0,40%,0) scaleX(.55)}50%{opacity:1;transform:translateZ(0) scaleX(1.08)}to{opacity:.1;transform:translate3d(0,-40%,0) scaleX(.55)}}@keyframes gutter-beam{0%{background-position:-34% 50%;opacity:.15}50%{opacity:1;filter:drop-shadow(0 0 .9rem color-mix(in srgb,var(--portrait-peach) 58%,transparent))}to{background-position:134% 50%;opacity:.15}}@keyframes gutter-diagonal{0%{opacity:.08;transform:skew(-14deg) scaleX(.6)}50%{opacity:.96;transform:skew(0) scaleX(1.08)}to{opacity:.08;transform:skew(14deg) scaleX(.6)}}@keyframes gutter-ticks{0%{opacity:.05;background-position-x:-60px}50%{opacity:.9}to{opacity:.05;background-position-x:60px}}}@media(prefers-reduced-motion:reduce){.motion-ready .section-gutter__mark{animation:none;opacity:.4;transform:none}.motion-ready .section-gutter[data-mark=beam] .section-gutter__mark{background-position:50% 50%}}.section-gutter__mark{display:none}.ambient-music{position:fixed;bottom:1.5rem;right:4.75rem;z-index:60;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(243,236,228,.2);border-radius:50%;color:#f3ece4;background:#0e0c10b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:border-color .25s,color .25s,background .25s}.ambient-music:hover{border-color:#f0b49e;color:#f0b49e}.ambient-music[data-state=muted]{color:#f3ece48c}.ambient-music:focus-visible{outline:2px solid #f0b49e;outline-offset:3px}.ambient-music:before{content:"";position:absolute;inset:-2px}@media(max-width:640px){.ambient-music{right:4.25rem;bottom:1.25rem;width:40px;height:40px}}@media(max-width:820px),(pointer:coarse){html:not([data-organic]) .ambient-music{top:calc(.5rem + env(safe-area-inset-top,0px));bottom:auto;right:calc(max(var(--page-inset),env(safe-area-inset-right,0px)) + 5.6rem);z-index:101;width:44px;height:44px;border-color:transparent;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}}@media(hover:none){html:not([data-organic]) .ambient-music:hover{border-color:transparent;color:#f3ece4}html:not([data-organic]) .ambient-music[data-state=muted]:hover{color:#f3ece48c}}@media(min-width:821px)and (pointer:fine){.ambient-music{right:calc(var(--page-inset) + 56px);bottom:var(--page-bottom);transition:border-color .25s,color .25s,background .25s,right .3s var(--ease-out-expo)}body:has(.back-to-top:not(.is-visible)) .ambient-music{right:var(--page-inset)}}.ks-hint{position:fixed;bottom:1.5rem;left:1.5rem;z-index:90;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--bg-deep) 75%,transparent);border:1px solid var(--border-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;opacity:.55;transition:opacity .3s var(--ease-out-expo),transform .3s,border-color .3s}.ks-hint:hover{opacity:1;transform:translateY(-2px);border-color:var(--accent-magenta)}.ks-hint kbd{font-family:var(--font-mono);font-size:.9rem;color:var(--text-primary);background:transparent;padding:0;border:0;box-shadow:none}.ks-overlay{position:fixed;inset:0;z-index:300;display:grid;width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;place-items:center;padding:2rem;color:inherit;background:transparent;pointer-events:auto}.ks-backdrop{position:absolute;inset:0;border:0;padding:0;background:#020205b8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:ks-fade .3s ease-out;appearance:none;cursor:pointer}.ks-panel{position:relative;width:min(520px,100%);border-radius:1.4rem;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-panel) 80%,transparent),color-mix(in srgb,var(--bg-deep) 90%,transparent));border:1px solid color-mix(in srgb,var(--accent-magenta) 30%,var(--border-strong));padding:2rem;box-shadow:0 30px 80px #00000080;animation:ks-rise .4s var(--ease-out-expo)}.ks-header{position:relative;padding-bottom:1.4rem;border-bottom:1px solid var(--border-soft);margin-bottom:1.4rem}.ks-kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.3em;color:var(--accent-cyan);text-transform:uppercase;margin:0 0 .5rem}.ks-title{font-size:1.35rem;margin:0;letter-spacing:-.02em;color:var(--text-primary)}.ks-close{position:absolute;top:-.4rem;right:-.4rem;width:32px;height:32px;border-radius:8px;background:var(--glass);border:1px solid var(--border-soft);color:var(--text-primary);font-size:1.4rem;line-height:1;display:grid;place-items:center;transition:background .3s,border-color .3s}.ks-close:hover{background:var(--accent-magenta);color:#fff;border-color:transparent}.ks-list{list-style:none;margin:0 0 1.4rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.ks-row{display:grid;grid-template-columns:130px 1fr;gap:1rem;align-items:center;padding:.55rem .6rem;border-radius:.55rem;transition:background .3s}.ks-row:hover{background:var(--glass)}.ks-keys{display:inline-flex;gap:.3rem}.ks-keys kbd,.ks-footer kbd{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 .4rem;border-radius:5px;font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--text-primary);background:color-mix(in srgb,var(--bg-deep) 85%,transparent);border:1px solid var(--border-strong);box-shadow:0 2px #0006,inset 0 1px #ffffff0d}.ks-label{font-size:.88rem;color:var(--text-muted)}.ks-footer{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-muted);padding-top:1rem;border-top:1px solid var(--border-soft)}@keyframes ks-fade{0%{opacity:0}to{opacity:1}}@keyframes ks-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.ks-hint{display:none}.ks-panel{padding:1.5rem}.ks-row{grid-template-columns:100px 1fr}}@media(prefers-reduced-motion:reduce){.ks-backdrop,.ks-panel{animation:none}}@media(hover:none)and (pointer:coarse){.ks-hint{display:none}}.main-shell{position:relative;z-index:1;pointer-events:none}.cv-lazy{content-visibility:auto;contain-intrinsic-size:auto 1000px auto 1200px}.deferred-section-placeholder{min-height:clamp(680px,78svh,980px)}.deferred-section.build-frame{content-visibility:visible;contain:none;min-height:430svh;margin-top:0;border-radius:0;display:block;background:#090b0d}.deferred-section.build-frame:before,.deferred-section.build-frame:after,.deferred-section.build-frame>.plate-scrim{display:none}.motion-ready .deferred-section.build-frame,.motion-ready .deferred-section.build-frame>:not(.plate-scrim){animation:none;transform:none;opacity:1;filter:none;clip-path:none}@media(max-width:700px){.deferred-section.build-frame{min-height:250svh}}@media(prefers-reduced-motion:reduce){.deferred-section.build-frame{min-height:100svh}}@media(min-width:701px)and (prefers-reduced-motion:no-preference){.main-shell .deferred-section.build-frame{z-index:6;pointer-events:none}.main-shell .deferred-section.build-frame .way-build:not(.way-build--reduced)>*{pointer-events:auto}.deferred-section.build-frame+.section-gutter{display:none}.deferred-section.build-frame~.deferred-section[data-deferred-anchor=capabilities-atlas]{margin-top:-100vh}}.deferred-section{position:relative;isolation:isolate;z-index:calc(var(--layer, 0) + 1);border-start-start-radius:var(--plate-radius);border-start-end-radius:var(--plate-radius);background:linear-gradient(to bottom,rgba(10,8,9,.94) 0,rgba(10,8,9,.72) clamp(4rem,9vh,8rem),rgba(8,6,7,.42) 38%,rgba(8,6,7,.32) 100%);margin-top:calc(var(--plate-radius) * -1);min-height:100svh;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start;scroll-snap-stop:normal}:root{--plate-radius: clamp(1rem, 2.4vw, 1.85rem)}.deferred-section:before{content:"";position:absolute;z-index:2;top:0;right:0;left:0;height:1px;pointer-events:none;border-start-start-radius:inherit;border-start-end-radius:inherit;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--tech-cyan) 42%,transparent) 22%,color-mix(in srgb,var(--tech-cyan) 58%,transparent) 50%,color-mix(in srgb,var(--tech-cyan) 42%,transparent) 78%,transparent);opacity:.75}.deferred-section:after{content:"";position:absolute;z-index:1;right:0;bottom:100%;left:0;height:clamp(2rem,5vh,4.5rem);pointer-events:none;transform-origin:50% 100%;background:linear-gradient(to top,rgba(0,0,0,.6),transparent)}.deferred-section>.plate-scrim{position:sticky;z-index:3;top:0;height:clamp(3rem,7vh,6rem);margin-bottom:clamp(-6rem,-7vh,-3rem);pointer-events:none;border-start-start-radius:inherit;border-start-end-radius:inherit;background:linear-gradient(to bottom,rgba(10,8,9,.92),transparent)}@supports (animation-timeline: view()){.motion-ready .deferred-section{view-timeline-name:--plate;view-timeline-axis:block}.motion-ready .deferred-section:after{animation:plate-arrive linear both;animation-timeline:--plate;animation-range:entry 10% entry 90%}.motion-ready .deferred-section>.plate-scrim{animation:plate-scrim-settle linear both;animation-timeline:--plate;animation-range:entry 40% entry 100%}.motion-ready .deferred-section>:not(.plate-scrim){animation:plate-rise linear both;animation-timeline:--plate;animation-range:cover 6% cover 42%;transform-origin:50% 0}.motion-ready .deferred-section[data-variant=wipe]>:not(.plate-scrim){animation-name:plate-wipe}.motion-ready .deferred-section[data-variant=zoom]>:not(.plate-scrim){animation-name:plate-zoom}.motion-ready .deferred-section[data-variant=diagonal]>:not(.plate-scrim){animation-name:plate-diagonal}.motion-ready .deferred-section[data-variant=bands]>:not(.plate-scrim){animation-name:plate-bands}.motion-ready .deferred-section[data-variant=slide]>:not(.plate-scrim){animation-name:plate-slide}.motion-ready .deferred-section[data-variant=depth]>:not(.plate-scrim){animation-name:plate-depth}.motion-ready .deferred-section[data-variant=unfold]>:not(.plate-scrim){animation-name:plate-unfold;transform-origin:50% 0}.motion-ready .deferred-section[data-variant=plain]>:not(.plate-scrim){animation:none}.motion-ready .deferred-section[data-deferred-anchor=projects]>:not(.plate-scrim){animation:none;opacity:1;transform:none}@keyframes plate-wipe{0%{opacity:.2;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes plate-zoom{0%{opacity:0;transform:scale(.86);filter:blur(6px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes plate-diagonal{0%{opacity:.15;clip-path:polygon(0 0,0 0,0 0,0 0)}60%{opacity:1}to{opacity:1;clip-path:polygon(0 0,140% 0,100% 140%,0 100%)}}@keyframes plate-bands{0%{opacity:.1;-webkit-mask-image:repeating-linear-gradient(to bottom,#000 0 2%,transparent 2% 12%);mask-image:repeating-linear-gradient(to bottom,#000 0 2%,transparent 2% 12%)}to{opacity:1;-webkit-mask-image:repeating-linear-gradient(to bottom,#000 0 12%,transparent 12% 12%);mask-image:repeating-linear-gradient(to bottom,#000 0 12%,transparent 12% 12%)}}@keyframes plate-slide{0%{opacity:0;transform:translate3d(9%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes plate-depth{0%{opacity:0;transform:perspective(1200px) translate3d(0,3rem,-18rem) rotateX(7deg)}to{opacity:1;transform:perspective(1200px) translateZ(0) rotateX(0)}}@keyframes plate-unfold{0%{opacity:.1;transform:perspective(1400px) rotateX(-26deg) scaleY(.86)}to{opacity:1;transform:perspective(1400px) rotateX(0) scaleY(1)}}@keyframes plate-rise{0%{opacity:.2;transform:translate3d(0,3rem,0);filter:brightness(.55)}to{opacity:1;transform:translateZ(0);filter:brightness(1)}}}@media(prefers-reduced-motion:reduce){.motion-ready .deferred-section:after,.motion-ready .deferred-section>.plate-scrim,.motion-ready .deferred-section>:not(.plate-scrim){animation:none;opacity:1;transform:none;filter:none;clip-path:none;-webkit-mask-image:none;mask-image:none}}.main-shell>.interactive,.main-shell .interactive{pointer-events:auto}.main-shell a,.main-shell button,.main-shell input,.main-shell textarea,.main-shell select,.main-shell [role=button]{pointer-events:auto}.experience-section{--scroll-lean: 0deg}.motion-ready .deferred-section[data-variant=bands]>:not(.plate-scrim){animation:none}.deferred-section:is([data-deferred-anchor=capabilities-atlas],[data-deferred-anchor=contact]){margin-top:0;border-radius:0;background:transparent}.deferred-section:is([data-deferred-anchor=capabilities-atlas],[data-deferred-anchor=contact]):before,.deferred-section:is([data-deferred-anchor=capabilities-atlas],[data-deferred-anchor=contact]):after,.deferred-section:is([data-deferred-anchor=capabilities-atlas],[data-deferred-anchor=contact])>.plate-scrim{display:none}.loader-overlay{position:fixed;inset:0;background:var(--bg-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;z-index:9999;font-family:var(--font-display)}.loader-brand{display:inline-flex;align-items:center;gap:.3rem;font-size:2.5rem;font-weight:700;letter-spacing:-.04em;color:var(--text-primary)}.loader-bracket{color:var(--text-muted);opacity:.6;font-weight:300}.loader-bar{width:min(240px,60vw);height:2px;background:#ffffff14;overflow:hidden;border-radius:999px}.loader-bar-fill{width:100%;height:100%;background:var(--accent-magenta);transform:translate(-65%) scaleX(.35);transform-origin:left center;animation:loader-indeterminate 1.4s ease-in-out infinite;transition:transform .3s var(--ease-out-expo)}.loader-bar-fill.is-determinate{animation:none}.loader-pct{color:var(--text-muted);font-size:.8rem;letter-spacing:.12em;font-family:var(--font-mono)}@keyframes loader-indeterminate{0%{transform:translate(-120%) scaleX(.35)}to{transform:translate(280%) scaleX(.35)}}@media(prefers-reduced-motion:reduce){.loader-bar-fill{animation:none;transform:translate(0) scaleX(1);transition:none}}.preloader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;color:var(--text-primary);background:var(--bg-deep);opacity:1;transition:opacity .18s var(--ease-out-expo)}.preloader.is-ready{opacity:0;pointer-events:none}.preloader-center{display:grid;gap:.8rem;width:min(15rem,62vw)}.preloader-brand{display:inline-flex;gap:.12rem;align-items:center;justify-content:center;color:var(--text-primary);font-family:var(--font-display);font-size:2.6rem;font-weight:700;letter-spacing:-.05em}.preloader-bracket{color:var(--text-muted);font-weight:400}.preloader-initials{color:var(--portrait-peach)}.preloader-track{height:2px;overflow:hidden;background:var(--border-soft);transform:translateZ(0)}.preloader-fill{width:100%;height:100%;background:var(--portrait-peach);transform:scaleX(0);transform-origin:left center;transition:transform .26s var(--ease-out-expo)}.preloader-label{justify-self:center;color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.preloader,.preloader-fill{transition-duration:.12s}}:root{--portrait-plum: #413e4a;--portrait-mauve: #73626e;--portrait-rose: #b38184;--portrait-peach: #f0b49e;--portrait-cream: #f7e4be;--portrait-sand: #debaad;--bg-deep: #000000;--bg-panel: #0b0909;--tech-navy: #140f10;--tech-cobalt: #2878f0;--tech-cyan: #65dcff;--tech-teal: #2bc8bf;--tech-emerald: #55e4a7;--tech-violet: #8b6dff;--tech-rose: #f04d78;--tech-amber: #f5a524;--accent-primary: var(--portrait-rose);--accent-cyan: var(--portrait-peach);--accent-teal: var(--portrait-sand);--accent-emerald: var(--portrait-cream);--accent-violet: var(--tech-violet);--accent-rose: var(--tech-rose);--accent-amber: var(--tech-amber);--accent-magenta: var(--accent-primary);--accent-purple: var(--accent-teal);--accent-neon: var(--accent-emerald);--section-accent: var(--accent-cyan);--eyebrow-size: clamp(.64rem, .8vw, .72rem);--eyebrow-tracking: .2em;--eyebrow-weight: 650;--eyebrow-color: var(--section-accent, var(--accent-cyan));--text-primary: #f7efe8;--text-muted: #bfaea6;--text-on-accent: #1a1210;--glass: rgba(240, 180, 158, .045);--glass-strong: rgba(240, 180, 158, .1);--border-soft: rgba(222, 186, 173, .14);--border-strong: rgba(222, 186, 173, .26);--backdrop: rgba(0, 0, 0, .78);--font-display: "ClashDisplay", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-elastic: cubic-bezier(.16, 1, .3, 1);--page-max: 2130px;--page-margin: clamp(26px, 7.15vw, 150px);--page-inset: max(var(--page-margin), calc((100% - var(--page-max)) / 2));--grid-cols: 12;--grid-gap: clamp(16px, 1.5vw, 32px);--grid-step: calc((100% - 2 * var(--page-inset) + var(--grid-gap)) / var(--grid-cols));--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 48px;--space-6: 64px;--space-7: 96px;--section-pad: clamp(80px, 10vh, 140px);--nav-h: 64px;--page-bottom: var(--space-5);--control-h: 44px;--control-pad: 0 20px;--control-font: 500 13px/1 var(--font-body);--label-size: 12px;--label-tracking: .14em;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px;color-scheme:dark}@media(max-width:1099px){:root{--grid-cols: 8}}@media(max-width:699px){:root{--grid-cols: 4}}.page-grid{display:grid;grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr));column-gap:var(--grid-gap);padding-inline:var(--page-inset)}#about,#metrics{--section-accent: var(--portrait-peach)}#depth{--section-accent: var(--accent-violet)}#blueprint,#capabilities-atlas,#projects{--section-accent: var(--portrait-peach)}#hardware-projects{--section-accent: var(--accent-amber)}#code,#services,#experience,#faq{--section-accent: var(--portrait-peach)}#contact{--section-accent: #f0b49e}@font-face{font-family:ClashDisplay;src:url(/assets/fonts/ClashDisplay.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y mandatory;scrollbar-gutter:stable;scrollbar-color:#f7efe8 transparent;scroll-padding-top:0px}[id]{scroll-margin-top:0px}@media(min-width:821px){html.has-section-scroller{scroll-snap-type:none}}@media(max-width:820px),(hover:none)and (pointer:coarse){:root{--nav-h: calc(60px + env(safe-area-inset-top, 0px)) }html{scroll-snap-type:none;scroll-behavior:auto;scroll-padding-top:0}[id]{scroll-margin-top:0}a[href],button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]){scroll-margin-top:calc(var(--nav-h) + 8px);scroll-margin-bottom:calc(var(--dock-h, 0px) + 8px)}}html,body{margin:0;padding:0;background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-body);font-size:16px;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-height:100svh;overflow-x:clip}#root{min-height:100vh;min-height:100svh;isolation:isolate}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;font-weight:600;line-height:1.1;letter-spacing:-.02em;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:0;background:transparent;color:inherit}img,svg,video{display:block;max-width:100%;height:auto}::selection{background:var(--portrait-peach);color:#1a1210}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#f7efe8;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#fff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px;border-radius:4px}.motion-ready .motion-reveal{opacity:0;transform:translate3d(0,2.4rem,0) scale(.985);transition:opacity .72s var(--ease-out-expo) var(--reveal-delay, 0ms),transform .88s var(--ease-out-expo) var(--reveal-delay, 0ms),clip-path .9s var(--ease-out-expo) var(--reveal-delay, 0ms);will-change:transform,opacity,clip-path}.motion-ready .motion-reveal.is-revealed{will-change:auto;opacity:1;transform:translateZ(0) scale(1)}.motion-ready .motion-reveal.is-revealed.is-instant{transition:none;opacity:1;clip-path:inset(0);transform:none}.motion-ready .section-frame-header.motion-reveal,.motion-ready .experience-intro.motion-reveal{clip-path:inset(0 0 95% 0);transform:none}.motion-ready .section-frame-header.motion-reveal.is-revealed,.motion-ready .experience-intro.motion-reveal.is-revealed{clip-path:inset(0)}.motion-ready .project-card.motion-reveal{clip-path:inset(0 0 12% 0);transform:translate3d(0,4rem,0) scale(.96)}.motion-ready .project-card.motion-reveal.is-revealed{clip-path:inset(0);transform:translateZ(0) scale(1)}.motion-ready .about-side-card.motion-reveal:nth-child(2n),.motion-ready .contact-card.motion-reveal:nth-child(2n),.motion-ready .experience-item.motion-reveal:nth-child(2n){transform:translate3d(2.5rem,1.2rem,0)}.motion-ready .about-side-card.motion-reveal:nth-child(2n).is-revealed,.motion-ready .contact-card.motion-reveal:nth-child(2n).is-revealed,.motion-ready .experience-item.motion-reveal:nth-child(2n).is-revealed{transform:translateZ(0)}.motion-ready .capability-card.motion-reveal{transform:perspective(900px) translate3d(0,3rem,0) rotateX(4deg) scale(.97);transform-origin:50% 100%}.motion-ready .capability-card.motion-reveal.is-revealed{transform:perspective(900px) translateZ(0) rotateX(0) scale(1)}.motion-ready :target .motion-reveal,.motion-ready .motion-reveal:target{opacity:1;clip-path:inset(0);transform:none}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.22s}.reveal-delay-3{transition-delay:.32s}html,body{transition:background-color .45s var(--ease-out-expo),color .45s var(--ease-out-expo)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html,body{transition:none}.reveal,.motion-ready .motion-reveal{opacity:1;clip-path:none;transform:none!important;transition:none}.reveal-delay-1,.reveal-delay-2,.reveal-delay-3{transition-delay:0s}}
