:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f9f7ea;--color-primary:#6b8299;--color-primary-rgb:107, 130, 153;--color-secondary:#c2bca7;--color-secondary-rgb:194, 188, 167;--color-accent:#98b493;--color-accent-rgb:152, 180, 147;--color-bg:var(--bg);--color-text:#0b1f30;--color-text-muted:#0b1f30ad;--color-text-dim:#0b1f3073;--gold:var(--color-primary);--gold-10:#6b82991a;--gold-12:#6b82991f;--gold-14:#6b829924;--gold-20:#6b829933;--gold-25:#6b829940;--gold-45:#6b829973;--font-display:"Clash Display", "Inter", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--container-max:1200px;--section-pad-x:1.75rem;--section-pad-y:5rem;--radius-md:1rem;--radius-lg:1.25rem;--border-subtle:#6b82992e;--border-strong:#6b829952}*,:after,:before{box-sizing:border-box}body,html{overscroll-behavior:none;margin:0;padding:0}body{overflow-x:clip}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer;background:0 0;border:none}img{max-width:100%;height:auto;display:block}body{background-color:var(--bg);color:var(--color-text);min-height:100dvh;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.9375rem;line-height:1.6}body.is-splash-active{overflow:hidden}.layout-shell{min-height:100dvh}.layout-main,.layout-shell{flex-direction:column;display:flex}.layout-main{flex:auto;min-width:0}#viewport{z-index:1;flex:auto;position:relative}body.is-hero-fullbleed{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:#081826}#viewport.is-hero-fullbleed,body.is-hero-fullbleed{height:100dvh;max-height:100dvh;overflow:hidden}@media (height<=700px),(width<=374px){body.is-hero-fullbleed{height:auto;max-height:none;overflow-y:auto}#viewport.is-hero-fullbleed{height:auto;min-height:100dvh;max-height:none;overflow:visible}}@media (width<=767px){:root{--section-pad-x:1.25rem;--section-pad-y:3.5rem}body.is-hero-fullbleed{height:auto;max-height:none;overflow-y:auto}#viewport.is-hero-fullbleed{height:auto;min-height:100dvh;max-height:none;overflow:visible}.header-inner{padding:0 1.25rem}.back-to-top{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:2.5rem;height:2.5rem}.about-main,.contact-main,.projects-main,.skills-main{padding-bottom:4.5rem}}:focus{outline:none}:focus-visible{outline-offset:3px;outline:2px solid #6b8299b3}.skip-link{z-index:9999;border:1px solid var(--border-strong);color:var(--color-text);background:#f9f7eaf2;border-radius:.85rem;padding:.6rem .9rem;font-size:.82rem;transition:transform .18s;position:absolute;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.back-to-top{z-index:60;border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(18px)saturate(160%);width:2.75rem;height:2.75rem;color:var(--color-text-muted);opacity:0;pointer-events:none;background:#f9f7ead9;border-radius:999px;justify-content:center;align-items:center;transition:opacity .18s,transform .18s,border-color .18s,color .18s;display:inline-flex;position:fixed;bottom:1.25rem;right:1.25rem;transform:translateY(10px)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{border-color:var(--color-primary);color:var(--gold)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#6b829947;border-radius:999px}@media (prefers-reduced-transparency:reduce){.page-header,.site-footer{background:var(--bg);-webkit-backdrop-filter:none;box-shadow:none}body.is-hero-fullbleed .page-header{background:0 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}.afu0,.reveal,.reveal-group.is-inview>.reveal-item,.reveal-item,.reveal.is-inview{opacity:1!important;will-change:auto!important;transition:none!important;animation:none!important;transform:none!important}}.hl,.hl-blue{color:var(--color-primary);font-weight:600}.hl-green{color:#2ecc71;font-weight:600}.hl-orange{color:#eb7700;font-weight:600}.font-display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:500}.afu0{animation:none}.page-header{z-index:110;background:color-mix(in srgb,var(--bg) 92%,var(--color-secondary));-webkit-backdrop-filter:blur(16px)saturate();font-family:var(--font-body);border:none;border-bottom:1px solid #6b829924;position:fixed;top:0;left:0;right:0;box-shadow:0 1px #6b829914}body:not(.is-hero-fullbleed):not(.is-projects-page):not(.is-skills-page):not(.is-about-page) .layout-main{padding-top:4.25rem}@media (width<=1024px){body.is-about-page .layout-main,body.is-projects-page .layout-main,body.is-skills-page .layout-main{padding-top:4.25rem}}@media (width>=1025px){body.is-about-page .site-footer,body.is-skills-page .site-footer{z-index:8;position:fixed;bottom:0;left:0;right:0}}.header-inner{max-width:var(--container-max);padding:0 var(--section-pad-x);grid-template-columns:1fr auto 1fr;align-items:center;gap:1.25rem;height:4.25rem;margin:0 auto;display:grid}.header-logo{justify-self:start;align-items:center;min-width:0;display:inline-flex}.header-actions{flex-shrink:0;justify-self:end;align-items:center;gap:.15rem;display:flex}#header-logo{color:var(--color-text);text-decoration:none}.logo-text{font-family:var(--font-display);color:inherit;align-items:baseline;gap:.38rem;display:inline-flex}.logo-first,.logo-last{letter-spacing:-.03em;font-size:1.02rem;font-weight:500;line-height:1}.logo-last{color:var(--color-text-muted)}#header-logo:focus-visible .logo-last,#header-logo:hover .logo-last{color:var(--color-text)}#desktop-nav{justify-content:center;align-items:center;gap:1.65rem;display:flex}.nav-item{letter-spacing:.01em;color:var(--color-text-muted);white-space:nowrap;padding:.35rem 0;font-size:.8rem;font-weight:450;transition:color .2s;position:relative}.nav-item.nav-active,.nav-item:hover{color:var(--color-text)}.nav-item.nav-active{font-weight:500}.menu-btn{z-index:120;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:opacity .22s;display:flex;position:relative}.menu-btn:focus-visible,.menu-btn:hover{opacity:.8}.menu-lines{flex-direction:column;justify-content:space-between;width:1.7rem;height:.82rem;display:flex}.menu-line{background:var(--color-text);width:100%;height:2px;transition:transform .42s cubic-bezier(.22,1,.36,1);display:block;transform:scaleX(1)}.menu-line--upper{transform-origin:100%}.menu-line--mid{transform-origin:50%}.menu-line--lower{transform-origin:0}.menu-btn.is-open .menu-line--lower,.menu-btn.is-open .menu-line--upper{transform:scaleX(0)}.menu-btn.is-open .menu-line--mid{background:var(--color-text);transform:scaleX(1)}.lang-toggle{letter-spacing:.14em;min-width:2.1rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.35rem .2rem;font-size:.68rem;font-weight:600;transition:color .2s}.lang-toggle:hover{color:var(--color-text)}body.is-hero-fullbleed .page-header{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border-bottom:none}body.is-hero-fullbleed #header-logo{color:#f3f1e8}body.is-hero-fullbleed .logo-last{color:#f3f1e8e0}body.is-hero-fullbleed #header-logo:focus-visible .logo-last,body.is-hero-fullbleed #header-logo:hover .logo-last{color:#f3f1e8}body.is-hero-fullbleed .nav-item{color:#f3f1e8e0}body.is-hero-fullbleed .nav-item.nav-active,body.is-hero-fullbleed .nav-item:hover{color:#f3f1e8}body.is-hero-fullbleed .nav-item:after{background:#f3f1e8b3}body.is-hero-fullbleed .lang-toggle{color:#f3f1e8e0}body.is-hero-fullbleed .lang-toggle:hover{color:#f3f1e8}body.is-hero-fullbleed .menu-line{background:#f3f1e8}body.is-hero-fullbleed .menu-btn.is-open .menu-line{background:var(--color-text)}body:has(#mobile-nav.is-open) .page-header{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border-bottom:none}@media (width<=767px){#desktop-nav{display:none!important}}@media (width>=768px){#menu-toggle{display:none!important}#mobile-nav{visibility:hidden!important;pointer-events:none!important}}#mobile-nav{z-index:100;pointer-events:none;visibility:hidden;transition:visibility 0s linear .72s;position:fixed;inset:0}#mobile-nav.is-open{pointer-events:auto;visibility:visible;transition:visibility linear}.mobile-nav-backdrop{cursor:pointer;opacity:0;background:#0b1f3047;border:none;margin:0;padding:0;transition:opacity .4s .2s;position:absolute;inset:0}#mobile-nav.is-open .mobile-nav-backdrop{opacity:1;transition-delay:0s}.mobile-nav-panel{z-index:1;width:100%;height:100%;padding:calc(5.5rem + env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) max(2.25rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));background:var(--bg);color:var(--color-text);overscroll-behavior:none;flex-direction:column;justify-content:center;transition:transform .55s cubic-bezier(.22,1,.36,1) .18s;display:flex;position:absolute;inset:0;overflow:hidden;transform:translate(-105%)}#mobile-nav.is-open .mobile-nav-panel{transition-delay:0s;transform:translateZ(0)}.mobile-nav-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mobile-nav-bg-wash{z-index:3;background:linear-gradient(90deg,#f9f7ea,#f9f7eaf5 22%,#f9f7eac7 38%,#f9f7ea47 56%,#f9f7ea0f 72%,#0000 88%),linear-gradient(#f9f7ea33,#0000 28% 72%,#f9f7ea8c);position:absolute;inset:0}.mobile-nav-shell{z-index:1;flex:auto;width:100%;max-width:42rem;margin:0 auto;position:relative}.mobile-nav-inner,.mobile-nav-shell{flex-direction:column;justify-content:center;min-height:0;display:flex;overflow:hidden}.mobile-nav-inner{overscroll-behavior:none;align-items:flex-start;gap:.05rem}.nav-mobile{--nav-i:0;letter-spacing:-.045em;color:#0b1f3038;opacity:0;background:0 0;border:none;width:auto;max-width:100%;padding:.08rem 0;font-size:clamp(2.9rem,13vw,6.5rem);font-weight:400;line-height:.95;text-decoration:none;transition:color .28s,opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);display:block;transform:translate(-1.1rem)}#mobile-nav.is-open .nav-mobile{opacity:1;transition-delay:calc(.34s + var(--nav-i)*55ms);transform:none}.nav-mobile-label{display:block}.nav-mobile:focus-visible,.nav-mobile:hover{color:var(--color-text);outline:none}.nav-mobile.nav-mobile-active{color:var(--color-text)}.mobile-nav-footer{opacity:0;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:2rem;transition:opacity .32s,transform .32s;display:flex;transform:translate(-12px)}#mobile-nav.is-open .mobile-nav-footer{opacity:1;transition-delay:.55s;transform:none}.mobile-nav-signature{text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-dim);font-size:.68rem}.mobile-nav-footer-actions{align-items:center;gap:.75rem;display:flex}.mobile-nav-lang{letter-spacing:.16em;min-width:2.2rem;color:var(--color-text-muted);background:0 0;border:none;border-bottom:1px solid #0b1f3047;border-radius:0;padding:.35rem .15rem;font-size:.72rem;font-weight:600;transition:color .2s,border-color .2s}.mobile-nav-lang:focus-visible,.mobile-nav-lang:hover{color:var(--color-text);border-color:var(--color-text)}@media (width<=767px){.header-inner{grid-template-columns:1fr auto}.header-actions{gap:.1rem}}@media (width<=380px){.nav-mobile{font-size:clamp(2.4rem,12.5vw,3.8rem)}}@media (prefers-reduced-motion:reduce){#mobile-nav,.menu-line,.mobile-nav-backdrop,.mobile-nav-footer,.mobile-nav-panel,.nav-mobile{transition:none!important}.mobile-nav-panel,.nav-mobile{transform:none}.nav-mobile{opacity:1}#mobile-nav:not(.is-open) .mobile-nav-panel{transform:translate(-105%)}#mobile-nav:not(.is-open) .mobile-nav-footer,#mobile-nav:not(.is-open) .nav-mobile{opacity:0}.menu-btn.is-open .menu-line--lower,.menu-btn.is-open .menu-line--upper{transform:scaleX(0)}}.eyebrow{text-transform:uppercase;letter-spacing:.26em;color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.67rem;line-height:1;display:inline-flex}.gold-dot{color:var(--gold);opacity:.8}.page-header-line{background:#6b82996b;flex:none;width:clamp(5rem,28vw,11rem);max-width:100%;height:1px;display:block}.page-title-line{flex-wrap:wrap;align-items:baseline;gap:.28em .45em;width:100%;display:flex}@media (width>=641px){.page-title-line{white-space:nowrap;flex-wrap:nowrap}}.status-badge{border:1px solid var(--gold-20);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.08em;color:var(--color-text-muted);background:#6b829914;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .9rem;font-size:.67rem;display:inline-flex}.status-dot{width:6px;height:6px}.status-dot,.status-dot-sm{background:#4ade80;border-radius:50%;flex-shrink:0;animation:2.6s ease-in-out infinite pulse}.status-dot-sm{width:5px;height:5px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.cta-ghost,.cta-primary{letter-spacing:.02em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.72rem 1.5rem;font-size:.82rem;font-weight:600;transition:box-shadow .18s,background .18s,border-color .18s,color .18s;display:inline-flex}.cta-primary{color:#fff;background:#3d5a73;border:1px solid #0000}.cta-primary:hover{background:#2f4860;box-shadow:0 4px 20px #3d5a7352}.cta-secondary{background:var(--color-secondary);color:var(--color-text);border:1px solid #0000}.cta-secondary:hover{background:#aca696;box-shadow:0 4px 20px #c2bca759}.cta-ghost{color:var(--color-text);border:1px solid var(--border-strong);background:0 0}.cta-ghost:hover{color:var(--gold);border-color:var(--color-primary);background:#6b829914}.page-intro-accent,.text-stroke-gold{color:var(--gold);font-style:italic;font-weight:500}.gold-dot{display:none}.page-section-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text);margin:0;font-size:clamp(2.5rem,5.5vw,4.75rem);line-height:1.04}.page-intro{flex-direction:column;align-items:flex-start;gap:.75rem;max-width:52rem;display:flex}.page-intro-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--color-text);margin:0;padding-bottom:.08em;font-size:clamp(3.4rem,7vw,5.4rem);font-weight:500;line-height:1.08;overflow:visible}.page-intro-title .text-effect{max-width:100%;display:block}.page-intro-meta{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.page-intro--legal .page-intro-title{font-size:clamp(2.25rem,4.5vw,3.25rem);line-height:1.1}.page-section-label{letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:1.75rem;font-size:.72rem;font-weight:600}@media (width<=640px){.page-intro-title{font-size:clamp(2.6rem,12vw,3.75rem);line-height:1}.page-intro--legal .page-intro-title{font-size:clamp(1.85rem,7.5vw,2.35rem)}}body.is-about-page{background-color:var(--bg)!important;background:var(--bg)!important}.abt{--ptl-progress:0;--ptl-stack:0;--abt-slides:4;isolation:isolate;padding:var(--section-pad-y) var(--section-pad-x) 0;background:0 0}.abt,.abt-wrap{z-index:1;position:relative}.abt-wrap{max-width:var(--container-max);flex-direction:column;gap:clamp(2.25rem,5vh,3.5rem);margin:0 auto;padding-bottom:clamp(4rem,9vh,6.5rem);display:flex;overflow-x:clip}.abt .page-intro{max-width:none;padding-top:0}.abt-stage,.abt-stage-root{display:none}.abt-intro-fallback{display:block}.abt-facts{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);flex-wrap:wrap;margin:0;padding:0;font-size:.78rem;list-style:none}.abt-facts,.abt-facts li{align-items:center;display:flex}.abt-facts li+li:before{content:"";background:#6b829959;width:1px;height:.7em;margin:0 .85rem}.abt-cv,.abt-link{color:var(--color-text);border-bottom:1px solid var(--border-strong);padding-bottom:.08em;transition:color .2s,border-color .2s}.abt-cv:hover,.abt-link:hover{color:var(--gold);border-color:var(--gold)}.abt-cv:focus-visible,.abt-link:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #6b82998c}.abt-links{flex-wrap:wrap;gap:.65rem 1.15rem;display:flex}.abt-link{letter-spacing:.04em;text-transform:none;font-size:.78rem}.abt-bio-copy{max-width:38rem;color:var(--color-text-muted);font-size:1.02rem;line-height:1.75}.abt-bio-mobile{flex-direction:column;gap:1.25rem;display:flex}.abt-rail{--abt-rail-pad:.25rem;flex:none;width:100%;min-width:0;padding-top:.5rem}.abt-rail-body{width:100%;padding:0 var(--abt-rail-pad);position:relative}.abt-rail-line{pointer-events:none;background:#0b1f3024;width:100%;height:1px;margin-bottom:.65rem;position:relative;overflow:visible}.abt-rail-pill{background:var(--color-text);will-change:left,transform;border-radius:999px;width:2.2rem;height:2.5px;position:absolute;top:-1px}.abt-rail-stations{z-index:1;justify-content:space-between;align-items:center;margin:0;padding:0;list-style:none;display:flex;position:relative}.abt-rail-station{--abt-station:0;flex-direction:column;align-items:center;min-width:0;display:flex}.abt-rail-station:first-child{align-items:flex-start}.abt-rail-station:last-child{align-items:flex-end}.abt-rail-year{appearance:none;letter-spacing:-.035em;color:#0b1f3061;white-space:nowrap;cursor:pointer;opacity:calc(.55 + var(--abt-station)*.45);background:0 0;border:0;margin:0;padding:.4rem .15rem .1rem;font-size:.84rem;font-weight:500;line-height:1;transition:color .2s,opacity .2s;display:inline-block}.abt-rail-year:hover{color:var(--color-text);opacity:1}.abt-rail-year:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #6b82998c}.abt-rail-station.is-current .abt-rail-year{color:var(--color-text);opacity:1;font-weight:600}.abt-rail-station:first-child .abt-rail-year{transform-origin:0}.abt-rail-station:last-child .abt-rail-year{transform-origin:100%}.abt-track{flex-direction:column;gap:clamp(3.25rem,8vh,5.5rem);padding:.25rem 0 1rem;display:flex;position:relative}.abt-chapter-marker,.abt-spine{display:none}.abt-chapter{--ptl-shift:0;transform:translate3d(0,calc(var(--ptl-shift)*-12px),0);gap:1.1rem;padding-bottom:3.5rem}.abt-chapter,.abt-chapter-copy{z-index:1;flex-direction:column;display:flex;position:relative}.abt-chapter-copy{gap:inherit;min-width:0}.abt-chapter-word{z-index:0;letter-spacing:-.06em;color:var(--color-text);opacity:.09;pointer-events:none;-webkit-user-select:none;user-select:none;mix-blend-mode:multiply;text-align:right;margin:0;font-size:clamp(3.4rem,18vw,5.6rem);font-weight:500;line-height:.85;position:absolute;top:.85rem;bottom:auto;right:0}.abt-chapter-head{z-index:1;flex-direction:column;gap:.35rem;padding-top:1.15rem;display:flex;position:relative}.abt-chapter-role{letter-spacing:-.03em;color:var(--color-text);margin:0;font-size:clamp(1.85rem,6vw,2.45rem);font-weight:500;line-height:1.1}.abt-chapter-meta{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;margin:0;font-size:.7rem;display:flex}.abt-chapter-company{color:#6b8299d9;margin:0}.abt-chapter-meta-sep{color:#6b829966}.abt-chapter-dates{color:var(--color-text-muted);margin:0}.abt-chapter-body{max-width:40rem;color:var(--color-text-muted);font-size:.92rem;line-height:1.78}.abt-chapter .abt-links,.abt-chapter-body{z-index:1;position:relative}@media (width>=1025px){.abt{padding:0}.abt,.abt-wrap{overflow:visible}.abt-wrap{gap:0;max-width:none;padding-bottom:0}.abt-bio-mobile,.abt-intro-fallback,.abt-track{display:none}.abt-stage-root{height:calc(100dvh + (var(--abt-count) - 1)*78dvh);display:block}.abt-stage{height:100%;display:block}.abt-stage-pin{background:0 0;flex-direction:column;justify-content:center;height:100dvh;padding:4.5rem 0 5.15rem;display:flex;position:sticky;top:0;overflow:visible}.abt-stage-heading{top:calc(4.25rem + var(--section-pad-y));left:max(var(--section-pad-x),calc((100% - var(--container-max))/2));width:min(var(--container-max),calc(100% - var(--section-pad-x)*2));z-index:4;pointer-events:none;margin:0;position:fixed}.abt-stage-heading .page-intro{width:100%;max-width:none;margin:0;padding:0}.abt-stage-heading .page-intro-title{pointer-events:auto}.abt-stage-grid{width:min(var(--container-max),calc(100% - var(--section-pad-x)*2));flex:1 1 0;grid-template-columns:minmax(17rem,.4fr) minmax(0,.6fr);align-items:stretch;gap:clamp(2.5rem,5vw,4.5rem);min-height:0;margin:0 auto;padding-top:8.25rem;padding-bottom:1.75rem;display:grid}.abt-bio{flex-direction:column;justify-content:center;align-items:flex-start;gap:1.35rem;min-width:0;padding-top:0;display:flex;transform:translateY(-2.15rem)}.abt-bio-copy{font-size:.95rem;line-height:1.7}.abt-horizon{flex-direction:column;align-self:stretch;gap:clamp(1.35rem,2.8vh,2rem);display:flex}.abt-h-viewport,.abt-horizon{min-width:0;min-height:0;position:relative}.abt-h-viewport{flex:1 1 0;overflow:clip}.abt-h-year{z-index:0;letter-spacing:-.07em;box-sizing:border-box;max-width:calc(100% - 1.5rem);color:var(--color-text);opacity:var(--abt-year-fade,.14);mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;text-align:right;transform:translate3d(var(--abt-year-shift,0),0,0);will-change:transform,opacity;margin:0;padding:.06em 0 .12em;font-size:clamp(3.8rem,7vw,7rem);font-weight:500;line-height:1;position:absolute;top:0;left:auto;right:1.15rem;overflow:visible}.abt-h-track{z-index:1;height:100%;width:calc(var(--abt-slides)*100%);will-change:transform}.abt-h-panel,.abt-h-track{display:flex;position:relative;overflow:visible}.abt-h-panel{flex:0 0 calc(100%/var(--abt-slides));width:calc(100%/var(--abt-slides));flex-direction:column;justify-content:flex-start;min-width:0;padding:0 1.25rem .15rem .7rem}.abt-h-copyblock{z-index:1;max-width:28rem;margin-top:var(--abt-text-shift,clamp(5.25rem,9.5vh,7.75rem));opacity:var(--abt-fade,1);transform:translate3d(calc(var(--abt-drift,0px) + var(--abt-para,0px)),0,0);will-change:transform,opacity;flex-direction:column;gap:.5rem;display:flex;position:relative}.abt-h-role{letter-spacing:-.03em;max-width:22rem;color:var(--color-text);margin:0;font-size:clamp(1.7rem,2.4vw,2.35rem);font-weight:500;line-height:1.08}.abt-h-company{letter-spacing:.12em;color:#6b8299b8;font-size:.72rem}.abt-h-company,.abt-h-dates{text-transform:uppercase;margin:0}.abt-h-dates{letter-spacing:.14em;font-size:.68rem}.abt-h-copy,.abt-h-dates{color:var(--color-text-muted)}.abt-h-copy{max-width:28rem;margin-top:.15rem;font-size:.92rem;line-height:1.7}.abt-h-panel .abt-links{transform:translate3d(var(--abt-link-para,0),0,0);will-change:transform;margin-top:.2rem}.abt-rail{padding-top:.35rem;padding-bottom:.1rem;padding-right:.45rem}.abt-rail-station:last-child{align-items:flex-end;padding-right:.1rem}.abt-stage--reduced .abt-horizon{overflow:visible}.abt-stage--reduced .abt-h-viewport{overflow:auto}.abt-stage--reduced .abt-h-track{will-change:auto;flex-direction:column;width:100%;height:auto;display:flex;transform:none!important}.abt-stage--reduced .abt-h-panel{flex:none;width:100%;padding-bottom:2.5rem}.abt-stage--reduced .abt-h-panel .abt-h-company,.abt-stage--reduced .abt-h-panel .abt-h-copy,.abt-stage--reduced .abt-h-panel .abt-h-dates,.abt-stage--reduced .abt-h-panel .abt-h-role,.abt-stage--reduced .abt-h-panel .abt-links{opacity:1;will-change:auto;transform:none}.abt-stage--reduced .abt-h-copyblock{opacity:1;transform:none}.abt-stage--reduced .abt-h-year{letter-spacing:-.06em;color:var(--color-text);opacity:.16;mix-blend-mode:multiply;will-change:auto;margin:0 0 .35rem;font-size:clamp(2.8rem,5vw,4rem);font-weight:500;line-height:.8;position:relative;top:auto;right:auto;transform:none}}@media (width<=1024px){.abt-wrap{max-width:var(--container-max);gap:2.5rem;overflow-x:visible}.abt-track{--abt-spine-x:1.55rem;gap:0;padding-left:0;overflow:visible}.abt-spine{top:.85rem;bottom:1.25rem;left:var(--abt-spine-x);z-index:0;pointer-events:none;width:1px;display:block;position:absolute;transform:translate(-50%)}.abt-spine-track{background:#6b829933;inset:0}.abt-spine-fill,.abt-spine-track{border-radius:999px;position:absolute}.abt-spine-fill{width:100%;height:calc(var(--ptl-progress)*100%);background:var(--color-text);opacity:.55;top:0;left:0}.abt-chapter{gap:.95rem;margin:0 0 2.85rem;padding:0 0 0 3.55rem;transform:none}.abt-chapter:last-child{margin-bottom:.35rem;padding-bottom:0}.abt-chapter-marker{top:1.2rem;left:var(--abt-spine-x);z-index:3;display:block;position:absolute;transform:translate(-50%,-50%)}.abt-chapter-node{appearance:none;background:var(--bg);min-width:2.55rem;height:1.45rem;box-shadow:0 0 0 4px var(--bg);letter-spacing:-.02em;color:#0b1f306b;cursor:pointer;border:1px solid #6b829947;border-radius:999px;place-items:center;padding:0 .35rem;font-size:.62rem;font-weight:600;line-height:1;transition:color .25s,border-color .25s,background-color .25s,transform .25s;display:grid}.abt-chapter.is-reached .abt-chapter-node{color:var(--color-text);border-color:#0b1f3047}.abt-chapter.is-active .abt-chapter-node{color:var(--bg);background:var(--color-text);border-color:var(--color-text);transform:scale(1.06)}.abt-chapter-node:focus-visible{outline-offset:3px;outline:2px solid #6b82998c}.abt-chapter-copy{gap:.95rem}.abt-chapter-word{opacity:.07}}@media (width<=640px){.abt{padding-left:max(1.2rem,env(safe-area-inset-left));padding-right:max(1.2rem,env(safe-area-inset-right));padding-top:2.5rem}.abt-wrap{gap:2.75rem;padding-bottom:5rem}.abt .page-intro{margin-bottom:.15rem}.abt-bio-mobile{border-bottom:none;gap:1.35rem;padding-bottom:0}.abt-facts{letter-spacing:.12em;color:#0b1f307a;row-gap:.4rem;font-size:.66rem}.abt-facts li+li:before{background:#6b829947;height:.55em;margin:0 .7rem}.abt-cv{border-bottom-color:#0b1f3047}.abt-bio-copy{color:#0b1f30b8;max-width:none;font-size:.92rem;line-height:1.72}.abt-bio-copy br+br{content:"";margin-top:.85rem;display:block}.abt-track{--abt-spine-x:1.4rem}.abt-chapter{gap:.85rem;margin-bottom:2.6rem;padding-left:3.25rem}.abt-chapter-node{min-width:2.35rem;height:1.35rem;font-size:.58rem}.abt-chapter-word{opacity:.08;letter-spacing:-.07em;font-size:clamp(3.1rem,16vw,4.6rem);top:.15rem;right:0}.abt-chapter-head{gap:.45rem;max-width:calc(100% - .15rem);padding-top:1.05rem}.abt-chapter-role{letter-spacing:-.035em;max-width:min(72%,17rem);font-size:clamp(1.55rem,5.6vw,1.95rem);line-height:1.12}.abt-chapter-meta{letter-spacing:.14em;color:#6b8299c7;gap:.3rem .5rem;font-size:.62rem}.abt-chapter-body{color:#0b1f30ad;max-width:none;font-size:.9rem;line-height:1.7}.abt-chapter .abt-links{gap:.65rem 1.1rem;padding-top:.2rem}.abt-link{letter-spacing:.02em;border-bottom-color:#0b1f3038;font-size:.76rem}}@media (prefers-reduced-motion:reduce){.abt-chapter{opacity:1!important;animation:none!important;transform:none!important}.abt-chapter,.abt-chapter-node,.abt-spine-fill{transition:none!important}.abt-h-copyblock,.abt-h-panel .abt-links,.abt-h-track,.abt-h-year,.abt-rail-pill,.abt-rail-year{will-change:auto;transition:none!important;transform:none!important}}body.is-skills-page{background-color:var(--bg)!important;background:var(--bg)!important}.skl{--ptl-progress:0;isolation:isolate;padding:var(--section-pad-y) var(--section-pad-x) 0;background:0 0}.skl,.skl-wrap{z-index:1;position:relative}.skl-wrap{max-width:var(--container-max);flex-direction:column;gap:clamp(2.75rem,6vh,4.25rem);margin:0 auto;padding-bottom:clamp(4rem,9vh,6.5rem);display:flex;overflow-x:visible}.skl .page-intro{max-width:none;padding-top:0}.skl-stage,.skl-stage-root{display:none}.skl-intro-fallback{display:block}.skl-track{gap:clamp(3.25rem,8vh,5.5rem);padding:.25rem 0 1rem}.skl-chapter,.skl-track{flex-direction:column;display:flex;position:relative}.skl-chapter{--ptl-shift:0;z-index:1;transform:translate3d(0,calc(var(--ptl-shift)*-12px),0);gap:1.35rem;padding-bottom:3.5rem;overflow:visible}.skl-chapter-mark-well{z-index:0;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.15rem;width:min(48vw,12.5rem);max-width:calc(100% - 1.1rem);display:flex;position:absolute;top:.35rem;right:.55rem;overflow:visible}.skl-chapter-mark{aspect-ratio:1;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;filter:grayscale()brightness(.55)contrast(1.12);opacity:.2;width:100%;height:auto;display:block}.skl-chapter-mark,.skl-chapter-word{-webkit-user-select:none;user-select:none;mix-blend-mode:multiply;max-width:none}.skl-chapter-word{z-index:0;letter-spacing:-.055em;color:var(--color-text);opacity:.14;pointer-events:none;white-space:nowrap;text-align:right;align-self:flex-end;margin:0;padding:0;font-size:clamp(2.75rem,13.5vw,4.1rem);font-weight:500;line-height:.9;position:relative;inset:auto;overflow:visible;transform:translate(.05em)}.skl-chapter-head{z-index:2;align-items:center;gap:1.05rem;padding-top:1.85rem;display:flex;position:relative}.skl-chapter-logo-wrap{flex-shrink:0;place-items:center;width:4.25rem;height:4.25rem;display:grid}.skl-chapter-logo{-o-object-fit:contain;object-fit:contain;filter:grayscale()brightness(.2);opacity:.78;width:3.35rem;height:3.35rem}.skl-chapter-meta{flex-direction:column;gap:.2rem;min-width:0;display:flex}.skl-chapter-name{letter-spacing:-.03em;color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:clamp(1.85rem,6vw,2.45rem);font-weight:500;line-height:1.05}.skl-chapter-label{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:.64rem;font-weight:600}.skl-chapter-body{z-index:2;max-width:40rem;color:var(--color-text-muted);overflow-wrap:break-word;font-size:.92rem;line-height:1.78;position:relative}.skl-chapter-body strong.hl-blue,.skl-chapter-body strong.hl-green,.skl-chapter-body strong.hl-orange{color:var(--color-text);font-weight:600}.skl-chapter--unity .skl-chapter-body strong.hl-blue{color:var(--color-primary)}.skl-chapter--software .skl-chapter-body strong.hl-green{color:var(--color-accent)}.skl-chapter--blender .skl-chapter-body strong.hl-orange{color:var(--color-primary)}@media (width>=1025px){.skl{padding:0;overflow:visible}.skl-wrap{gap:0;max-width:none;padding-bottom:0}.skl-intro-fallback,.skl-track{display:none}.skl-stage-root{height:calc(100dvh + (var(--skl-count) - 1)*78dvh);display:block}.skl-stage{height:100%;display:block}.skl-stage-pin{background:0 0;flex-direction:column;justify-content:center;height:100dvh;padding:4.5rem 0 5rem;display:flex;position:sticky;top:0;overflow:visible}.skl-stage-heading{top:calc(4.25rem + var(--section-pad-y));left:max(var(--section-pad-x),calc((100% - var(--container-max))/2));width:min(var(--container-max),calc(100% - var(--section-pad-x)*2));z-index:4;pointer-events:none;margin:0;position:fixed}.skl-stage-pin .page-intro{width:100%;max-width:none;margin:0;padding:0}.skl-stage-pin .page-intro-title{pointer-events:auto}.skl-far{z-index:0;inset:0}.skl-far,.skl-orb{pointer-events:none;position:absolute}.skl-orb{will-change:transform;border-radius:50%}.skl-orb--sand{width:58vmax;height:58vmax;transform:translate3d(calc(var(--ptl-progress)*7.5vmax),calc(var(--ptl-progress)*-5vmax),0) scale(calc(1 + var(--ptl-progress)*.06));background:radial-gradient(circle at 42% 40%,#c2bca76b,#0000 68%);top:18%;left:-12%}.skl-orb--slate{width:52vmax;height:52vmax;transform:translate3d(calc(var(--ptl-progress)*-8.5vmax),calc(var(--ptl-progress)*5.5vmax),0) scale(calc(1.08 - var(--ptl-progress)*.05));background:radial-gradient(circle at 40% 45%,#6b829938,#0000 66%);top:-8%;right:-18%}.skl-stage--software .skl-orb--slate{background:radial-gradient(circle at 40% 45%,#98b49338,#0000 66%)}.skl-copy-label{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:.64rem;font-weight:600}.skl-stage-frame{z-index:2;width:min(var(--container-max),calc(100% - var(--section-pad-x)*2));flex:1 1 0;grid-template-columns:minmax(0,1fr);align-items:center;min-height:0;margin:0 auto;padding-top:8.25rem;padding-right:min(40%,26rem);display:grid;position:relative}.skl-near{justify-content:center;min-height:0;position:relative;transform:translateY(-2.15rem)}.skl-copy-stack,.skl-near{flex-direction:column;align-items:flex-start;display:flex}.skl-copy-stack{gap:.85rem;max-width:36rem;height:17.375rem;min-height:16.5rem;overflow:visible}.skl-copy-slot{width:100%;display:grid;overflow:visible}.skl-copy{flex-direction:column;grid-area:1/1;align-items:flex-start;gap:.85rem;max-width:36rem;display:flex;position:relative}.skl-copy.is-cover{width:100%}.skl-sr{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skl-counter{letter-spacing:.12em;color:#0b1f306b;align-items:center;gap:.55rem;margin:0 0 .25rem;font-size:.82rem;font-weight:400;display:flex}.skl-counter-sep{color:#6b82998c;margin:0;font-weight:400}.skl-copy-body{color:var(--color-text-muted);font-size:.92rem;line-height:1.7}.skl-copy-body strong.hl-blue,.skl-copy-body strong.hl-green,.skl-copy-body strong.hl-orange{color:var(--color-text);font-weight:600}.skl-stage--unity .skl-copy-body strong.hl-blue{color:var(--color-primary)}.skl-stage--software .skl-copy-body strong.hl-green{color:var(--color-accent)}.skl-stage--blender .skl-copy-body strong.hl-orange{color:var(--color-primary)}.skl-side{top:4.25rem;right:max(0px,calc((100% - var(--container-max))/2 - 2.5rem));z-index:1;pointer-events:none;perspective:1200px;perspective-origin:70%;place-items:center end;width:min(48vw,560px);display:grid;position:absolute;bottom:5.15rem;overflow:visible}.skl-mark-layer{transform-style:preserve-3d;transform-origin:85%;flex-direction:column;grid-area:1/1;align-items:flex-end;gap:.15rem;display:flex;position:relative}.skl-mark-layer,.skl-stage--swap .skl-copy,.skl-word{will-change:transform,opacity}.skl-word{z-index:0;letter-spacing:-.055em;max-width:none;color:var(--color-text);white-space:nowrap;mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;transform-origin:100%;margin:0;padding:0;font-size:clamp(3.6rem,7.2vw,7rem);font-weight:500;line-height:.9;position:relative;overflow:visible}.skl-mark-well{flex:none;width:min(34vw,420px);height:min(42vh,380px);position:relative}.skl-logo{-o-object-fit:contain;object-fit:contain;-o-object-position:center right;object-position:center right;filter:grayscale()brightness(.58)contrast(1.12);opacity:.52;mix-blend-mode:multiply;width:100%;height:100%;display:block}.skl-mark-layer.is-unity .skl-logo{filter:grayscale()brightness(.7)contrast(1.08);opacity:.58}.skl-mark-layer.is-software .skl-logo{filter:grayscale()brightness(.5)contrast(1.18);opacity:.48}.skl-mark-layer.is-blender .skl-logo{filter:grayscale()brightness(.48)contrast(1.2);opacity:.46}.skl-logo-preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.skl-hint{letter-spacing:.2em;text-transform:uppercase;width:min(1240px,100% - 4rem);color:var(--color-text-dim);z-index:3;margin:0;padding:0;font-size:.62rem;font-weight:600;position:absolute;bottom:6.35rem;left:50%;transform:translate(-50%)}.skl-hint.is-end{opacity:0}.skl-stage--reduced .skl-copy,.skl-stage--reduced .skl-far,.skl-stage--reduced .skl-mark-layer,.skl-stage--reduced .skl-near,.skl-stage--reduced .skl-orb,.skl-stage--reduced .skl-side{will-change:auto;transition:none;transform:none}}@media (width<=1024px){.skl-wrap{max-width:var(--container-max);gap:2.5rem;overflow:visible}.skl-chapter{--skl-fg-shift:calc(var(--ptl-shift)*-32px);--skl-bg-shift:calc(var(--ptl-shift)*18px);overflow:visible;transform:none}.skl-chapter-mark-well{transform:translate3d(0,var(--skl-bg-shift),0);will-change:transform}.skl-chapter-body,.skl-chapter-head{transform:translate3d(0,var(--skl-fg-shift),0);will-change:transform}}@media (width<=640px){.skl{padding-left:max(1.15rem,env(safe-area-inset-left));padding-right:max(1.15rem,env(safe-area-inset-right));padding-top:2.5rem;overflow:visible}.skl-chapter{gap:1.2rem;padding-bottom:3.75rem}.skl-chapter-head{align-items:flex-start;padding-top:1.45rem}.skl-chapter-mark-well{gap:.12rem;width:min(50vw,12rem);max-width:calc(100% - .9rem);top:.3rem;left:auto;right:.45rem}.skl-chapter-mark{opacity:.18}.skl-chapter-logo-wrap{overflow:visible}.skl-chapter-logo{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;max-width:100%}.skl-chapter-word{opacity:.145;font-size:clamp(2.5rem,12.5vw,3.7rem)}.skl-chapter-body{font-size:.88rem}}@media (prefers-reduced-motion:reduce){.skl-chapter{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.skl-chapter-body,.skl-chapter-head,.skl-chapter-mark-well{will-change:auto;transform:none!important}.skl-copy,.skl-far,.skl-mark-layer,.skl-near,.skl-orb,.skl-side,.skl-word{will-change:auto;transition:none!important;transform:none!important}}body.is-projects-page{background-color:var(--bg)!important;background:var(--bg)!important}body:has(.ptl){background-color:var(--bg)!important;background:var(--bg)!important}@media (width>=1025px){body.is-projects-page .site-footer{z-index:8;position:fixed;bottom:0;left:0;right:0}}.ptl{--ptl-progress:0;z-index:1;isolation:isolate;padding:var(--section-pad-y) var(--section-pad-x) 0;background:0 0;position:relative;overflow-x:clip}.ptl-atmosphere{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ptl-atmosphere-field,.ptl-atmosphere-orb,.ptl-atmosphere-ring{position:absolute;inset:-18%}.ptl-atmosphere-field{background:radial-gradient(120% 80% at calc(10% + var(--ptl-progress)*10%) 0,#c2bca77a,transparent 54%),radial-gradient(92% 72% at calc(96% - var(--ptl-progress)*8%) 100%,#6b829933,transparent 50%);opacity:calc(.62 + var(--ptl-progress)*.08);inset:0}.ptl-atmosphere-orb--slate{will-change:transform;width:78vmax;height:78vmax;transform:translate3d(calc(var(--ptl-progress)*-4.5vmax),calc(var(--ptl-progress)*3vmax),0);opacity:calc(.48 + var(--ptl-progress)*.1);background:radial-gradient(circle at 40% 40%,#6b82994d,#0000 64%);border-radius:50%;top:-12%;left:42%}.ptl-atmosphere-orb--sand{will-change:transform;width:70vmax;height:70vmax;transform:translate3d(calc(var(--ptl-progress)*4vmax),calc(var(--ptl-progress)*-2.8vmax),0);opacity:calc(.46 + var(--ptl-progress)*.08);background:radial-gradient(circle at 55% 45%,#c2bca76b,#0000 66%);border-radius:50%;top:38%;left:-18%}.ptl-atmosphere-ring{width:min(92vmax,1200px);height:min(92vmax,1200px);transform:translate(-50%,-50%) scale(calc(.96 + var(--ptl-progress)*.06));opacity:calc(.42 + var(--ptl-progress)*.1);border:1px solid #6b829929;border-radius:50%;top:42%;left:50%;box-shadow:inset 0 0 0 80px #f9f7ea0d,0 0 0 140px #6b82990d}.ptl-wrap{z-index:1;max-width:var(--container-max);flex-direction:column;gap:clamp(3rem,7vh,4.75rem);margin:0 auto;padding-bottom:clamp(4rem,9vh,6.5rem);display:flex;position:relative;overflow-x:clip}.ptl .page-intro{max-width:none;padding-top:0}.ptl-stage,.ptl-stage-root{display:none}.ptl-intro-fallback{display:block}.ptl-track{padding:.5rem 0 1rem;position:relative}.ptl-rail{display:none}.ptl-chapter{--ptl-shift:0;z-index:1;margin:0 0 3.1rem;padding:0;position:relative}.ptl-chapter:last-child{margin-bottom:.35rem}.ptl-chapter-marker{display:none}.ptl-chapter-plane{width:100%;max-width:100%;display:block;position:relative;container:ptl-chapter/inline-size}.ptl-counter{z-index:1;letter-spacing:.12em;color:#0b1f306b;align-items:center;gap:.55rem;margin:0;font-size:.68rem;font-weight:400;display:flex;position:relative}.ptl-counter-sep{color:#6b82998c}.ptl-chapter-copy{z-index:2;width:min(88%,26rem);min-width:0;max-width:none;box-shadow:none;color:inherit;transform:translate3d(0,calc(var(--ptl-shift)*-20px),0);will-change:transform;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.55rem;margin:1.15rem 0 0;padding:.35rem 0 0;display:flex;position:relative}.ptl-chapter--right .ptl-chapter-copy{text-align:right;align-items:flex-end;margin-left:auto}.ptl-chapter--right .ptl-chapter-tags{justify-content:flex-end}.ptl-chapter-word{z-index:0;letter-spacing:-.07em;color:var(--color-text);opacity:.12;pointer-events:none;-webkit-user-select:none;user-select:none;mix-blend-mode:multiply;text-align:right;transform:translate3d(0,calc(var(--ptl-shift)*-8px),0);will-change:transform;margin:0;font-size:clamp(3.6rem,20vw,5.8rem);font-weight:500;line-height:.85;position:absolute;top:calc(80cqw + 1.15rem);left:auto;right:0}.ptl-chapter--right .ptl-chapter-word{text-align:left;left:0;right:auto}.ptl-chapter-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:0;font-size:.62rem;font-weight:600;display:flex}.ptl-chapter-sep{color:var(--color-text-dim);font-weight:400}.ptl-chapter-title{z-index:1;letter-spacing:-.035em;color:var(--color-text);margin:0;font-size:clamp(1.65rem,1.2rem + 1.4vw,2.35rem);font-weight:500;line-height:1.1;position:relative}.ptl-chapter-title-link{color:inherit;text-decoration:none}.ptl-chapter-title-link:focus-visible,.ptl-chapter-title-link:hover{color:var(--color-primary)}.ptl-chapter-title-link:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #6b829973}.ptl-chapter-meta{z-index:1;letter-spacing:.12em;text-transform:uppercase;color:#6b8299c7;flex-wrap:wrap;align-items:center;gap:.35rem .45rem;margin:0;font-size:.64rem;display:flex;position:relative}.ptl-chapter-meta-sep{opacity:.55}.ptl-chapter-summary{z-index:1;color:#0b1f30ad;margin:.1rem 0 0;font-size:.92rem;line-height:1.7;position:relative}.ptl-chapter-tags{z-index:1;flex-wrap:wrap;gap:.35rem .75rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex;position:relative}.ptl-chapter-tag{color:var(--color-text-muted);font-size:.74rem}.ptl-chapter-tag:not(:last-child):after{content:"·";color:var(--border-strong);margin-left:.75rem}.ptl-chapter-cta{z-index:1;color:var(--color-text);border-bottom:1px solid #0b1f3038;align-items:center;gap:.45rem;margin-top:.35rem;padding-bottom:.1rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:color .2s,border-color .2s,gap .2s;display:inline-flex;position:relative}.ptl-chapter-cta:focus-visible,.ptl-chapter-cta:hover{color:var(--gold);border-bottom-color:#6b8299a6;gap:.6rem}.ptl-chapter-cta:focus-visible{outline-offset:4px;border-radius:2px;outline:2px solid #6b829973}.ptl-chapter-cta svg{opacity:.8}.ptl-chapter-media{z-index:1;min-width:0;position:relative;overflow:hidden}.ptl-visual{display:none}.ptl-media-link{color:inherit;text-decoration:none;display:block}.ptl-media-link:focus-visible{outline-offset:4px;outline:2px solid #6b829980}.ptl-iso{position:relative}.ptl-plate--1,.ptl-plate--2,.ptl-plate--3{display:none}.ptl-plate--photo{aspect-ratio:5/4;opacity:.8;background:0 0;border:none;border-radius:0;transition:opacity .65s;position:relative;overflow:hidden}.ptl-plate--photo img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;display:block}.ptl-plate-label,.ptl-plate-mark{display:none}@media (width>=1025px){.ptl{padding:0;overflow:visible}.ptl-wrap{gap:0;max-width:none;padding-bottom:0}.ptl-intro-fallback{display:none}.ptl-stage-heading{top:calc(4.25rem + var(--section-pad-y));left:max(var(--section-pad-x),calc((100% - var(--container-max))/2));width:min(var(--container-max),calc(100% - var(--section-pad-x)*2));z-index:4;pointer-events:none;margin:0;position:fixed}.ptl-stage-pin .page-intro{width:100%;max-width:none;margin:0;padding:0}.ptl-stage-pin .page-intro-title{pointer-events:auto}.ptl-track{display:none}.ptl-stage-root{height:calc(100dvh + (var(--ptl-count) - 1)*78dvh);display:block}.ptl-stage{height:100%;display:block}.ptl-stage-pin{background:0 0;flex-direction:column;justify-content:center;height:100dvh;padding:4.5rem 0 5rem;display:flex;position:sticky;top:0;overflow:visible}.ptl-stage-frame{width:min(var(--container-max),calc(100% - var(--section-pad-x)*2));flex:1 1 0;grid-template-columns:minmax(0,.92fr) minmax(300px,1.08fr);align-items:center;gap:clamp(2rem,4.2vw,4.75rem);min-height:0;margin:0 auto;padding-top:8.25rem;display:grid}.ptl-stage-copy-slot{justify-content:center;gap:1.35rem;min-height:0;position:relative;transform:translateY(-2.15rem)}.ptl-stage-copy,.ptl-stage-copy-slot{flex-direction:column;align-items:flex-start;display:flex}.ptl-stage-copy{gap:.85rem;max-width:28rem;min-height:16.5rem}.ptl-copy-enter-active,.ptl-copy-leave-active{transition:opacity .38s,transform .42s cubic-bezier(.16,1,.3,1)}.ptl-copy-enter-from{opacity:0;transform:translateY(18px)}.ptl-copy-leave-to{opacity:0;transform:translateY(-12px)}.ptl-counter{letter-spacing:.12em;margin-bottom:.25rem;font-size:.82rem}.ptl-stage-title{letter-spacing:-.03em;color:var(--color-text);margin:0;font-size:clamp(1.85rem,1.2rem + 1.5vw,2.75rem);font-weight:500;line-height:1.08}.ptl-stage-title .ptl-chapter-title-link{color:inherit;text-decoration:none}.ptl-stage-title .ptl-chapter-title-link:focus-visible,.ptl-stage-title .ptl-chapter-title-link:hover{color:var(--color-primary)}.ptl-stage-copy .ptl-chapter-tags{margin-top:0}.ptl-stage-summary{max-width:36ch;color:var(--color-text-muted);-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:.1rem 0 0;font-size:.95rem;line-height:1.65;display:-webkit-box;overflow:hidden}.ptl-stage-visual{place-self:stretch center;height:calc(100% + 7.25rem);margin-top:-7.25rem;position:relative}.ptl-stage-visual,.ptl-stage-visual-link{place-items:center;min-height:0;display:grid}.ptl-stage-visual-link{width:100%;height:100%;color:inherit;cursor:pointer;text-decoration:none}.ptl-stage-visual-link:focus-visible{outline-offset:6px;border-radius:2px;outline:2px solid #6b82998c}.ptl-well{--shot-wipe:0;--shot-cover:0;aspect-ratio:4/3;width:min(46vw,640px);max-width:100%;max-height:min(58vh,500px);box-shadow:none;border:none;border-radius:0;position:relative;overflow:hidden}.ptl-shot,.ptl-well{background:0 0}.ptl-shot{transform-origin:50% 85%;will-change:transform,opacity;place-items:center;display:grid;position:absolute;inset:0}.ptl-shot.is-base{opacity:calc(1 - var(--shot-cover)*.32);transform:translate3d(0,calc(var(--shot-cover)*-14px),0) scale(calc(1 - var(--shot-cover)*.055));filter:brightness(calc(1 - var(--shot-cover)*.1));box-shadow:0 18px 40px rgba(11,31,48,calc(var(--shot-cover)*.18))}.ptl-shot.is-cover{opacity:calc(.25 + var(--shot-wipe)*.75);transform:translate3d(0,calc(var(--shot-rest)*34%),0);box-shadow:0 -10px 28px rgba(11,31,48,calc(var(--shot-wipe)*.16))}.ptl-shot img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;width:100%;height:100%;display:block}.ptl-shot-preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ptl-stage-hint{letter-spacing:.2em;text-transform:uppercase;width:min(1240px,100% - 4rem);color:var(--color-text-dim);margin:0;padding:0;font-size:.62rem;font-weight:600;transition:opacity .4s;position:absolute;bottom:6.35rem;left:50%;transform:translate(-50%)}.ptl-stage-hint.is-end{opacity:0}}@media (width<=1024px){.ptl-wrap{max-width:var(--container-max);gap:2.5rem;overflow-x:clip}.ptl-track{padding-left:0;overflow:clip visible}.ptl-chapter{opacity:1;transform:none}.ptl-counter{letter-spacing:.12em;font-size:.66rem}.ptl-chapter-meta{letter-spacing:.12em;font-size:.64rem}.ptl-chapter-meta-sep{opacity:.55}.ptl-chapter-summary{margin-top:0}.ptl-chapter-tags{margin-top:.1rem}.ptl-chapter-cta{margin-top:.2rem}.ptl-chapter-word{opacity:.12;top:calc(80cqw + 1.15rem);right:.45rem}.ptl-chapter--right .ptl-chapter-word{left:.45rem;right:auto}.ptl-chapter.is-active .ptl-plate--photo,.ptl-chapter.is-inview .ptl-plate--photo{opacity:1}}@media (width<=640px){.ptl{padding-left:max(1.2rem,env(safe-area-inset-left));padding-right:max(1.2rem,env(safe-area-inset-right));padding-top:2.5rem}.ptl-wrap{gap:2.75rem;padding-bottom:5rem}.ptl .page-intro{margin-bottom:.15rem}.ptl-chapter{margin-bottom:3.35rem}.ptl-plate--photo{aspect-ratio:4/3}.ptl-chapter-copy{gap:.48rem;width:min(90%,22rem);margin-top:1rem;padding:.55rem 0 0}.ptl-chapter--right .ptl-chapter-copy{margin-left:auto}.ptl-chapter-word{opacity:.12;font-size:clamp(3.2rem,17vw,4.8rem);top:calc(75cqw + 1rem);right:.55rem}.ptl-chapter--right .ptl-chapter-word{left:.55rem;right:auto}.ptl-chapter-title{letter-spacing:-.035em;font-size:clamp(1.5rem,5.8vw,1.95rem);line-height:1.1}.ptl-chapter-summary{font-size:.88rem;line-height:1.65}.ptl-chapter-tags{gap:.3rem .65rem}.ptl-chapter-tag{font-size:.68rem}.ptl-chapter-cta{background:0 0;border:none;border-bottom:1px solid #0b1f3038;border-radius:0;justify-content:flex-start;width:auto;min-height:0;margin-top:.2rem;padding:0 0 .1rem;font-size:.74rem}}@media (prefers-reduced-motion:reduce){.ptl-chapter,.ptl-chapter-copy,.ptl-chapter-media,.ptl-chapter.is-active,.ptl-chapter.is-inview,.ptl-copy-enter-active,.ptl-copy-leave-active,.ptl-iso,.ptl-plate--1,.ptl-plate--2,.ptl-plate--3{opacity:1!important;transition:none!important;animation:none!important}.ptl-hud-ring--outer{animation:none!important}.ptl-chapter-copy{opacity:1!important;transition:none!important}.ptl-chapter-copy,.ptl-chapter-word{will-change:auto;transform:none!important}.ptl-iso{transform:none!important}.ptl-plate--photo,.ptl-shot.is-base,.ptl-shot.is-cover{will-change:auto;clip-path:none!important;filter:none!important;opacity:1!important;transform:none!important;-webkit-mask-image:none!important;mask-image:none!important}.ptl-plate--photo img{will-change:auto;width:100%;height:100%;transform:none!important}.ptl-copy-enter-from,.ptl-copy-leave-to{opacity:1;transform:none}.ptl-atmosphere-field,.ptl-atmosphere-orb,.ptl-atmosphere-ring{opacity:.45;will-change:auto}.ptl-atmosphere-orb--sand,.ptl-atmosphere-orb--slate{transform:none}.ptl-atmosphere-ring{transform:translate(-50%,-50%)}}.page-scene--project-detail{background-color:#0000;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow-x:clip}.layout-shell:has(.page-scene--project-detail){height:100dvh;max-height:100dvh}.layout-main:has(.page-scene--project-detail){flex:1 1 0;min-height:0;overflow:hidden}#viewport:has(.page-scene--project-detail){flex-direction:column;min-height:0;display:flex}.detail-hero{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.detail-hero-bg{z-index:0;background:0 0}.detail-hero-bg,.detail-hero-overlay{pointer-events:none;position:absolute;inset:0}.detail-hero-overlay{z-index:3;background:linear-gradient(90deg,#f9f7ea,#f9f7eaf5 22%,#f9f7eac7 38%,#f9f7ea47 56%,#f9f7ea0f 72%,#0000 88%),linear-gradient(#f9f7ea33,#0000 28% 72%,#f9f7ea8c)}.detail-hero-edge{display:none}.detail-hero-inner{z-index:5;width:100%;max-width:1320px;min-height:0;padding:clamp(1.5rem,4vh,3rem) var(--section-pad-x) clamp(1.25rem,3vh,2rem);flex-direction:column;flex:1;justify-content:space-between;gap:2rem;margin:0 auto;display:flex;position:relative}.detail-hero-stage{flex:1;grid-template-columns:minmax(0,.92fr) minmax(280px,1.08fr);align-items:stretch;gap:clamp(1.5rem,5vw,4.5rem);min-height:0;display:grid}.detail-hero-copy{flex-direction:column;align-self:center;min-width:0;max-width:34rem;display:flex}.detail-tech-trail{letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-dim);flex:0 0 1.55em;font-size:.68rem;font-weight:500;line-height:1.55;overflow:hidden}.detail-tech-trail,.detail-title{white-space:nowrap;margin:0 0 1.15rem}.detail-title{letter-spacing:-.04em;color:var(--color-text);flex:0 0 1.04em;font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:1.04}.detail-title .draw-reveal,.detail-title .draw-reveal-text{white-space:nowrap;width:max-content;max-width:100%;display:block}.detail-hero-desc{max-width:36ch;color:var(--color-text-muted);flex:0 0 6.8em;margin:0;font-size:clamp(.95rem,1.15vw,1.08rem);line-height:1.7;position:relative}.detail-hero-desc-in,.detail-hero-desc-out{display:block}.detail-hero-desc-out{width:100%;position:absolute;inset:0 auto auto 0}.detail-hero-desc.is-swap .detail-hero-desc-out{animation:.48s cubic-bezier(.22,1,.36,1) both detail-copy-out}.detail-hero-desc.is-swap .detail-hero-desc-in{animation:.48s cubic-bezier(.22,1,.36,1) both detail-copy-in}@keyframes detail-copy-out{0%{opacity:1}to{opacity:0}}@keyframes detail-copy-in{0%{opacity:0}to{opacity:1}}.detail-hero-device{justify-content:flex-end;align-items:center;min-width:0;min-height:0;display:flex}.detail-hero-device .macbook-device-container{width:100%;max-width:min(640px,100%);height:auto;min-height:0;max-height:none;margin-left:auto}@keyframes detail-rise{0%{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:none}}@keyframes detail-mac-in{0%{opacity:0;transform:translate(1.25rem,.35rem)}to{opacity:1;transform:none}}.detail-hero-inner.is-entering .detail-tech-trail{animation:.64s cubic-bezier(.16,1,.3,1) 60ms both detail-rise}.detail-hero-inner.is-entering .detail-hero-desc{animation:none}.detail-hero-inner.is-entering .detail-credits{animation:.72s cubic-bezier(.16,1,.3,1) .5s both detail-rise}.detail-hero-inner.is-entering .detail-hero-device{animation:.9s cubic-bezier(.16,1,.3,1) .1s both detail-mac-in}.detail-hero-inner.is-entering .project-spaces{animation:.7s cubic-bezier(.16,1,.3,1) .38s both detail-rise}.detail-hero-foot{z-index:6;flex-shrink:0;grid-template-columns:minmax(0,.92fr) minmax(280px,1.08fr);align-items:end;gap:clamp(1.5rem,5vw,4.5rem);padding-top:.15rem;display:grid;position:relative}.project-spaces{flex-direction:column;grid-column:2;align-items:flex-end;width:100%;min-width:0;max-width:720px;margin-left:auto;display:flex;position:relative}.project-spaces-row{gap:.55rem;width:100%}.project-spaces-rail,.project-spaces-row{justify-content:flex-end;align-items:center;min-width:0;display:flex}.project-spaces-rail{touch-action:pan-y;flex:auto;gap:.42rem}.project-spaces-sep{background:#0b1f3038;flex:none;width:1px;height:1.15rem}.project-spaces-contact{background:var(--color-text);color:#f9f7ea;letter-spacing:.06em;text-transform:uppercase;border-radius:.28rem;flex:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 .7rem;font-size:.68rem;font-weight:600;line-height:1;text-decoration:none;transition:background .2s,color .2s;display:inline-flex;position:relative}.project-spaces-contact:focus-visible,.project-spaces-contact:hover{background:var(--color-primary);color:#fff}.project-spaces-contact:focus-visible{outline-offset:3px;outline:2px solid #6b82998c}.project-spaces-item{aspect-ratio:16/10;opacity:.38;background:linear-gradient(#3a404c,#1c2028);border:1px solid #ffffff24;border-radius:.28rem;flex:none;width:2.7rem;padding:2px;transition:opacity .2s,border-color .2s;position:relative;overflow:visible}.project-spaces-item:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-spaces-item img{-o-object-fit:cover;object-fit:cover;pointer-events:none;border-radius:.14rem;width:100%;height:100%;display:block;position:relative}.project-spaces-item.is-current,.project-spaces-item:focus-visible,.project-spaces-item:hover{opacity:1}.project-spaces-item.is-current{border-color:#ffffff47}.project-spaces-item:focus-visible{outline-offset:3px;outline:2px solid #6b82998c}.project-spaces-caption{max-width:100%;color:var(--color-text);text-align:right;text-underline-offset:.28em;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;margin:0;font-size:.92rem;line-height:1.2;-webkit-text-decoration:underline #0b1f3047;text-decoration:underline #0b1f3047;text-decoration-thickness:1px;position:absolute;bottom:calc(100% + .4rem);right:0;overflow:hidden}.project-spaces-caption:empty{display:none}.detail-credits{flex-direction:column;justify-content:flex-end;min-height:2.9rem;display:flex}.detail-credits-label,.detail-scroll-label{letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-dim);flex:none;margin:0 0 .45rem;font-size:.62rem;font-weight:600;display:block}.detail-credits-names{height:1.9em;color:var(--color-text);flex:0 0 1.9em;font-size:.92rem;line-height:1.35;display:block;overflow:hidden visible}.detail-credits-names .draw-reveal,.detail-credits-names .draw-reveal-text{white-space:nowrap;max-width:100%;display:inline-block}.detail-credits-names .draw-reveal-text{text-overflow:ellipsis;text-underline-offset:.28em;-webkit-text-decoration:underline #0b1f3047;text-decoration:underline #0b1f3047;text-decoration-thickness:1px;overflow:hidden}.detail-scroll-meta{text-align:right}.detail-scroll-index{letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--color-text);font-size:.82rem;font-weight:500}.detail-main{z-index:1;padding:clamp(3rem,7vw,5.5rem) var(--section-pad-x) 5rem;background:var(--bg);position:relative}.detail-wrap{max-width:820px;margin:0 auto}.detail-prose-block{margin-bottom:3.25rem}.detail-prose-block .page-section-label{margin-bottom:1rem}.detail-challenge-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.detail-challenge-list li{color:var(--color-text);align-items:flex-start;gap:.75rem;font-size:.98rem;line-height:1.55;display:flex}.detail-challenge-list li :deep(svg){color:var(--color-primary);flex-shrink:0;margin-top:.2rem}.detail-metrics{margin-bottom:3.25rem}.detail-results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.detail-result{border-top:1px solid var(--border-subtle);flex-direction:column;gap:.35rem;padding:1.1rem 0;display:flex}.detail-result-val{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text);font-size:1.65rem}.detail-result-lbl{color:var(--color-text-muted);font-size:.78rem}@media (width<=1100px){.detail-hero-foot,.detail-hero-stage{grid-template-columns:minmax(0,.88fr) minmax(240px,1fr);gap:clamp(1.25rem,3vw,2.5rem)}.detail-title{white-space:normal;font-size:clamp(2.2rem,4.8vw,3.8rem)}.detail-title .draw-reveal,.detail-title .draw-reveal-text{white-space:normal;width:auto;max-width:100%}.detail-tech-trail{white-space:normal}.detail-hero-device .macbook-device-container{max-width:min(520px,100%)}}@media (width<=960px){.layout-shell:has(.page-scene--project-detail){height:auto;min-height:100dvh;max-height:none}.layout-main:has(.page-scene--project-detail){flex:auto;min-height:0;overflow:visible}#viewport:has(.page-scene--project-detail){height:auto;max-height:none;overflow:visible}.page-scene--project-detail{flex:none;min-height:auto;overflow:visible}.detail-hero{flex:none;min-height:0;overflow:visible}.detail-hero-inner{justify-content:flex-start;gap:1.75rem}.detail-hero-stage{flex:none;grid-template-columns:1fr;align-items:start;gap:1.75rem}.detail-hero-copy{max-width:42rem}.detail-hero-device{justify-content:center;width:100%;display:flex}.detail-hero-device .macbook-device-container{max-width:min(520px,100%);margin-left:auto;margin-right:auto}.detail-hero-foot{grid-template-columns:1fr;justify-items:stretch;gap:1.35rem}.detail-credits{justify-self:start}.project-spaces{order:-1;grid-column:1;align-items:center;width:100%;max-width:min(520px,100%);margin-left:auto;margin-right:auto}.project-spaces-row{flex-wrap:wrap;justify-content:center}.project-spaces-rail{flex:0 auto;justify-content:center}.project-spaces-caption{text-align:center;left:0;right:0}.detail-hero-desc{max-width:46ch}.detail-hero-overlay{background:linear-gradient(#f9f7eae6,#f9f7ea7a 26%,#f9f7ea1a 52%,#0000 74%)}}@media (width<=767px){.detail-hero-inner{padding:.85rem var(--section-pad-x) 2.25rem;justify-content:flex-start;gap:1.35rem}.detail-hero-stage{gap:1.2rem}.detail-hero-copy{max-width:none}.detail-tech-trail{letter-spacing:.1em;font-size:.62rem}.detail-tech-trail,.detail-title{white-space:normal;flex:none;margin-bottom:.55rem}.detail-title{font-size:clamp(2.2rem,12.5vw,3.05rem)}.detail-title .draw-reveal,.detail-title .draw-reveal-text{white-space:normal;width:auto;max-width:100%}.detail-hero-desc{flex:none;max-width:none;font-size:.94rem;line-height:1.6}.detail-hero-foot{align-items:start;gap:1.1rem}.detail-credits{min-height:0}.detail-hero-device .macbook-device-container{width:min(100%,340px);max-width:min(100%,340px);margin-left:auto;margin-right:auto}.project-spaces{width:100%;max-width:min(100%,26rem);margin-left:auto;margin-right:auto}.macbook-base-lip{width:calc(100% + 16px)}.project-spaces-item{border-radius:.42rem;width:2.55rem}.project-spaces-item img{border-radius:.28rem}.project-spaces-contact{border-radius:.42rem;padding:0 .62rem;font-size:.64rem}.project-spaces-sep{display:none}.detail-results-grid{grid-template-columns:1fr}}.detail-main--mac-hub{z-index:1;padding:clamp(2rem,4vw,3.5rem) var(--section-pad-x) 5rem;position:relative}.mac-hub-app-bar{justify-content:center;width:100%;margin-bottom:2rem;display:flex}.mac-hub-app-bar-inner{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(20px);scrollbar-width:none;background:#ffffffd9;border-radius:99px;align-items:center;gap:.45rem;max-width:100%;padding:.35rem .55rem;display:inline-flex;overflow-x:auto;box-shadow:0 12px 32px #0b1f3014,inset 0 1px #ffffffe6}.mac-hub-app-bar-inner::-webkit-scrollbar{display:none}.mac-app-btn{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:99px;align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.76rem;font-weight:500;transition:all .22s;display:inline-flex}.mac-app-btn:hover{color:var(--color-text);background:#6b829914}.mac-app-btn.active{color:#fff;background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 4px 16px #6b82994d}.mac-app-icon{font-size:.9rem;line-height:1}.detail-mac-stage-layout{grid-template-columns:minmax(0,1fr) minmax(320px,640px) minmax(0,1fr);align-items:center;gap:clamp(1.25rem,2.5vw,2.25rem);margin-bottom:3.5rem;display:grid}.mac-center-stage{width:100%;position:relative}.mac-center-stage:before{content:"";filter:blur(40px);pointer-events:none;z-index:0;background:radial-gradient(circle,#6b829924,#6b829908 45%,#0000 70%);position:absolute;inset:-10%}.mac-satellite-card{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(14px);background:#ffffffd1;border-radius:1.25rem;flex-direction:column;gap:.95rem;padding:1.25rem 1.35rem;transition:all .25s;display:flex;box-shadow:inset 0 1px #ffffffe6,0 12px 30px #0b1f300f}.mac-satellite-card:hover{border-color:var(--color-primary)}.mac-sat-head{align-items:center;gap:.45rem;display:flex}.mac-sat-dot{background:var(--gold);width:6px;height:6px;box-shadow:0 0 8px var(--gold);border-radius:50%}.mac-sat-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-size:.6rem;font-weight:600}.mac-sat-body{flex-direction:column;gap:.35rem;display:flex}.mac-sat-title{color:var(--color-text);margin:0;font-size:.95rem;font-weight:600}.mac-sat-desc{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.55}.mac-sat-rows{gap:.6rem}.mac-sat-row,.mac-sat-rows{flex-direction:column;display:flex}.mac-sat-row{gap:.15rem}.mac-sat-k{text-transform:uppercase;letter-spacing:.16em;color:var(--color-text-muted);font-size:.58rem}.mac-sat-v{color:var(--color-text);font-size:.8rem;font-weight:600}.mac-sat-tags{flex-wrap:wrap;gap:.35rem;margin-top:.2rem;display:flex}@media (width<=1100px){.detail-mac-stage-layout{grid-template-columns:1fr;gap:1.75rem}.mac-satellite-card{display:none}}.detail-article{gap:clamp(2.75rem,4vw,3.5rem);min-width:0}.detail-article,.detail-section{flex-direction:column;display:flex}.detail-section{gap:1.15rem}.detail-section-head{width:100%}.detail-section-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:500;line-height:1.15}.detail-section--prose{gap:1rem}.detail-prose-card{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);background:#fffc;border-radius:1.25rem;padding:clamp(1.4rem,3vw,2.1rem);transition:border-color .25s;box-shadow:inset 0 1px #ffffffe6,0 12px 32px -20px #0b1f301a}.detail-prose-card:hover{border-color:var(--color-primary)}.detail-prose{color:var(--color-text-muted);max-width:62rem;font-size:.96rem;line-height:1.85}.detail-prose p{margin:0}.detail-prose p+p{margin-top:1.15rem}.detail-prose strong{color:var(--color-text);font-weight:600}.detail-section--challenges{gap:1.15rem}.detail-challenges{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.detail-challenge-card{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(10px);background:#ffffffbf;border-radius:1.15rem;align-items:flex-start;gap:1.15rem;padding:1.15rem 1.35rem;transition:transform .25s,border-color .25s,background-color .25s;display:flex;box-shadow:inset 0 1px #fffc}.detail-challenge-card:hover{border-color:var(--color-primary);background:#ffffffe6;transform:translateY(-2px)}.detail-challenge-icon-box{width:2.5rem;height:2.5rem;color:var(--gold);background:#6b829914;border:1px solid #6b829947;border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .25s,background-color .25s,transform .25s;display:inline-flex;box-shadow:0 4px 12px #00000040}.detail-challenge-card:hover .detail-challenge-icon-box{background:#6b829924;border-color:#6b829980;transform:scale(1.05)}.detail-challenge-icon{display:block}.detail-challenge-content{flex:1;min-width:0;padding-top:.2rem}.detail-challenge-text{color:var(--color-text-muted);margin:0;font-size:.92rem;line-height:1.7}@media (width<=560px){.detail-challenge-card{gap:.85rem;padding:1rem 1.15rem}.detail-challenge-icon-box{width:2.25rem;height:2.25rem}.detail-challenge-text{font-size:.88rem}}.detail-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}@media (width<=640px){.detail-results{grid-template-columns:1fr}}.result-card{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(10px);background:linear-gradient(168deg,#6b829914,#f9f7ead9);border-radius:1.15rem;flex-direction:column;gap:.55rem;padding:1.5rem 1.4rem;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6}.result-card:before{content:"";opacity:.5;background:linear-gradient(90deg,#0000,#6b829980,#0000);height:1px;transition:opacity .25s;position:absolute;top:0;left:1rem;right:1rem}.result-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 14px 32px -16px #0b1f301f}.result-card:hover:before{opacity:1}.result-val{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;background:linear-gradient(135deg,#0b1f30 40%,#6b8299);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:clamp(1.8rem,3vw,2.25rem);font-weight:600;line-height:1}.result-label{text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);font-size:.66rem;line-height:1.45}.detail-section--gallery{gap:1rem}.detail-gallery-card{width:100%}.detail-sidebar{flex-direction:column;gap:1rem;display:flex;position:sticky;top:5.5rem}@media (width<=960px){.detail-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid;position:static}}@media (width<=640px){.detail-sidebar{grid-template-columns:1fr}}.sidebar-card{border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);background:#fffc;border-radius:1.25rem;flex-direction:column;gap:1rem;padding:1.4rem 1.35rem;transition:border-color .25s;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 16px 36px -20px #0b1f3014}.sidebar-card:hover{border-color:var(--color-primary)}.sidebar-card-title{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin:0;font-size:.64rem}.sidebar-rows{flex-direction:column;display:flex}.sidebar-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:.75rem;padding:.72rem 0;display:flex}.sidebar-row:last-child{border-bottom:none;padding-bottom:0}.sidebar-row:first-child{padding-top:0}.sidebar-key{text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);flex-shrink:0;font-size:.68rem}.sidebar-val{color:var(--color-text);text-align:right;font-size:.82rem;font-weight:500;line-height:1.35}.sidebar-tags{flex-wrap:wrap;gap:.45rem .55rem;line-height:1.5;display:flex}.sidebar-tag{border:1px solid var(--border-subtle);letter-spacing:.01em;color:var(--color-text-muted);background:#6b82990f;border-radius:99px;align-items:center;padding:.28rem .7rem;font-size:.74rem;font-weight:400;transition:all .2s;display:inline-flex}.sidebar-tag--primary{border-color:var(--border-strong);color:var(--gold);background:#6b82991f;font-weight:600}.sidebar-tag:hover{border-color:var(--border-strong);color:var(--color-text);background:#6b82991a;transform:translateY(-1px)}.sidebar-tag--primary:hover{color:var(--gold);background:#6b82992e;border-color:#6b829973}.macbook-device-container{align-items:center;max-width:640px;margin:0 auto}.macbook-device-container,.macbook-screen-frame{flex-direction:column;width:100%;min-height:0;display:flex;position:relative}.macbook-screen-frame{background:linear-gradient(#1d212a,#12151c);border:1.5px solid #ffffff24;border-radius:1.5rem;padding:10px;overflow:hidden;box-shadow:inset 0 1px #ffffff38,0 24px 60px -16px #000000d9}.macbook-top-notch{z-index:40;pointer-events:none;background:#05060a;border-radius:999px;justify-content:flex-end;align-items:center;gap:7px;width:126px;height:24px;padding:0 10px 0 0;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff0f}.macbook-camera-lens{background:#11151c;border-radius:50%;width:7px;height:7px;box-shadow:inset 0 0 0 1.5px #ffffff1f}.macbook-green-led{background:#27c93f66;border-radius:50%;width:3px;height:3px}.mac-window-bar{-moz-column-gap:.75rem;border-top-left-radius:inherit;border-top-right-radius:inherit;-webkit-user-select:none;user-select:none;background:#0b0e14;border-bottom:1px solid #ffffff14;flex-shrink:0;grid-template-rows:26px auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.12rem .75rem;height:auto;min-height:0;padding:.2rem .85rem .42rem;display:grid}.mac-traffic-lights{flex-shrink:0;grid-area:2/1;align-items:center;gap:.45rem;display:flex}.mac-dot{border-radius:50%;width:11px;height:11px;transition:transform .2s;box-shadow:inset 0 0 0 1px #0000002e}.mac-dot--red{background:#ff5f56}.mac-dot--yellow{background:#ffbd2e}.mac-dot--green{background:#27c93f}.macbook-device-container:hover .mac-dot{transform:scale(1.08)}.mac-window-tabs{background:#0006;border:1px solid #ffffff0f;border-radius:.45rem;align-items:center;gap:.25rem;padding:.18rem .25rem;display:flex}.mac-window-tab{color:#ffffff8c;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:.35rem;align-items:center;gap:.35rem;padding:.22rem .55rem;font-size:.64rem;font-weight:500;transition:all .2s;display:inline-flex}.mac-window-tab:hover{color:#ffffffd9;background:#ffffff0f}.mac-window-tab.active{color:var(--gold);background:#141924;border-color:#6b82994d;box-shadow:0 2px 8px #0006}.mac-url-bar{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:99px;flex-shrink:1;justify-content:center;align-items:center;gap:.45rem;width:100%;max-width:clamp(160px,30vw,260px);padding:.22rem .85rem;display:inline-flex}.mac-url-lock{color:#6b8299d9;flex-shrink:0}.mac-url-text{letter-spacing:.02em;color:#fff9;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-weight:500;overflow:hidden}.mac-spaces-clip{clip-path:inset(0 round 1.05rem);border-radius:1.05rem;flex:auto;width:100%;min-height:0;position:relative;overflow:hidden}.mac-space-desktop{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.mac-space,.mac-space--in,.mac-space-desktop{border-radius:inherit}.mac-app-stack{isolation:isolate;flex:auto;min-height:0;position:relative}.mac-app-stack,.mac-app-window{border-radius:inherit;width:100%;overflow:hidden}.mac-app-window{transform-origin:var(--app-origin,50% 108%);background:#0b0e14;flex-direction:column;display:flex}.mac-app-window:not(.is-app-on){visibility:hidden;pointer-events:none;position:absolute;inset:0}.mac-app-window.is-app-on:not(.is-app-out){z-index:1;height:100%;min-height:0;max-height:100%;position:relative}.mac-app-window.is-app-out{z-index:2;pointer-events:none;position:absolute;inset:0}.mac-app-window.is-app-in{z-index:3}.mac-space-desktop.is-frozen{pointer-events:none}.mac-space--in{z-index:1;position:relative}.mac-space--out{z-index:2;pointer-events:none;position:absolute;inset:0}.mac-space--out .mac-app-stack,.mac-space--out .mac-app-window.is-app-on,.mac-space--out .mac-space-desktop{height:100%}.mac-space--out .mac-screen-viewport,.mac-space--out .mac-viewport-panel{aspect-ratio:auto;flex:auto;min-height:0}.mac-spaces-clip.is-next .mac-space--in,.mac-spaces-clip.is-next .mac-space--out,.mac-spaces-clip.is-prev .mac-space--in,.mac-spaces-clip.is-prev .mac-space--out{backface-visibility:hidden}.mac-spaces-clip.is-next .mac-space--out{animation:.56s cubic-bezier(.32,.72,0,1) both mac-space-out-left}.mac-spaces-clip.is-next .mac-space--in{animation:.56s cubic-bezier(.32,.72,0,1) both mac-space-in-right;transform:translate(100%)}.mac-spaces-clip.is-prev .mac-space--out{animation:.56s cubic-bezier(.32,.72,0,1) both mac-space-out-right}.mac-spaces-clip.is-prev .mac-space--in{animation:.56s cubic-bezier(.32,.72,0,1) both mac-space-in-left;transform:translate(-100%)}@keyframes mac-space-out-left{0%{transform:translateZ(0)}to{transform:translate(-100%)}}@keyframes mac-space-in-right{0%{transform:translate(100%)}to{transform:translateZ(0)}}@keyframes mac-space-out-right{0%{transform:translateZ(0)}to{transform:translate(100%)}}@keyframes mac-space-in-left{0%{transform:translate(-100%)}to{transform:translateZ(0)}}@media (prefers-reduced-motion:reduce){.mac-spaces-clip.is-next .mac-space--in,.mac-spaces-clip.is-next .mac-space--out,.mac-spaces-clip.is-prev .mac-space--in,.mac-spaces-clip.is-prev .mac-space--out{animation:none}}.carousel-stage.mac-screen-viewport,.mac-viewport-panel--screens{background:#1c1c1e;width:100%;position:relative;overflow:hidden}.macbook-device-container.is-screens-only .mac-viewport-panel--screens{min-height:0}.mac-viewport-panel{flex:auto;width:100%;min-height:0;position:relative;overflow:hidden}.mac-space-desktop.is-app-switching .mac-app-window.is-app-on{will-change:transform,opacity}.mac-app-window.is-app-in,.mac-app-window.is-app-out{backface-visibility:hidden}.mac-app-window.is-app-in{animation:.52s cubic-bezier(.16,1,.3,1) both mac-app-open}.mac-app-window.is-app-out{animation:.4s cubic-bezier(.4,0,1,1) both mac-app-close}@keyframes mac-app-open{0%{opacity:.72;transform:scale(.36)}to{opacity:1;transform:scale(1)}}@keyframes mac-app-close{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.32)}}.mac-viewport-panel--ide{color:#d4d4d4;aspect-ratio:16/10;background:#1e1e1e;max-height:100%;display:flex;overflow:hidden}.mac-ide-rail{background:#181818;border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;align-items:center;gap:.85rem;width:2.35rem;padding:.75rem 0 4rem;display:flex}.mac-ide-rail-item{background:#ffffff1f;border-radius:.2rem;width:.95rem;height:.95rem}.mac-ide-rail-item.is-active{background:#6b8299}.mac-ide-workspace{flex-direction:column;flex:1;min-width:0;display:flex}.mac-ide-tabs{background:#252526;border-bottom:1px solid #ffffff0f;flex-shrink:0;gap:0;display:flex}.mac-ide-tab{color:#ffffff61;cursor:pointer;background:0 0;border:none;border-right:1px solid #ffffff0f;padding:.4rem .85rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem}.mac-ide-tab.is-active{color:#ffffffd1;background:#1e1e1e}.mac-ide-tab:focus-visible{outline-offset:-1px;outline:1px solid #6b8299b3}.mac-ide-code{white-space:pre-wrap;word-break:break-word;background:#1e1e1e;border-left:1px solid #ffffff0f;min-width:0;margin:0;padding:.75rem .85rem 4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem;line-height:1.6;overflow:auto}.code-kw{color:#569cd6;font-weight:500}.code-def{color:#dcdcaa}.code-str{color:#ce9178}.code-prop{color:#9cdcfe}.mac-viewport-panel--metrics{scrollbar-width:thin;background:#f4f1e6;flex-direction:column;gap:1rem;padding:1.15rem 1.25rem 4.25rem;display:flex;overflow:auto}.mac-dash-header{border-bottom:1px solid #0b1f301a;justify-content:space-between;align-items:flex-end;padding-bottom:.75rem;display:flex}.mac-dash-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text);margin:0;font-size:1.15rem;font-weight:500}.mac-dash-sub{color:var(--color-text-dim);margin:.2rem 0 0;font-size:.72rem}.mac-dash-grid{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.75rem;display:grid}.mac-dash-card{box-shadow:none;background:0 0;border:none;border-right:1px solid #0b1f301a;border-radius:0;flex-direction:column;gap:.35rem;padding:.15rem .85rem .15rem 0;display:flex}.mac-dash-card:last-child{border-right:none;padding-right:0}.mac-dash-val{font-family:var(--font-display);letter-spacing:-.04em;color:var(--color-text);-webkit-text-fill-color:currentColor;background:0 0;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:500;line-height:1}.mac-dash-lbl{color:var(--color-text-muted);font-size:.72rem;line-height:1.35}.detail-thumbs-card{-webkit-backdrop-filter:blur(12px);background:#080b11a6;border:1px solid #ffffff14;border-radius:1.25rem;flex-direction:column;gap:.85rem;padding:1.2rem 1.35rem;display:flex}.detail-thumbs-hint{color:#ffffff8c;margin:0;font-size:.78rem}.detail-thumbs-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;display:grid}.detail-thumb-btn{aspect-ratio:16/10;cursor:pointer;background:#000;border:1px solid #ffffff1f;border-radius:.75rem;padding:0;transition:all .22s;position:relative;overflow:hidden}.detail-thumb-btn img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s,filter .3s}.detail-thumb-btn:hover{border-color:#6b82998c;transform:translateY(-2px);box-shadow:0 8px 20px #00000080}.detail-thumb-btn:hover img{transform:scale(1.05)}.detail-thumb-idx{color:var(--gold);background:#060910d9;border:1px solid #6b82994d;border-radius:99px;padding:.1rem .35rem;font-size:.58rem;font-weight:700;position:absolute;bottom:.35rem;right:.45rem}.detail-mac-trigger-bar{margin-top:1.25rem;display:flex}.detail-mac-trigger-btn{color:var(--gold);cursor:pointer;background:#6b829914;border:1px solid #6b82994d;border-radius:99px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.76rem;font-weight:500;transition:all .2s;display:inline-flex}.detail-mac-trigger-btn:hover{background:#6b829929;border-color:#6b82998c;transform:translateY(-1px)}.detail-sidebar-mini{margin-top:.5rem}@media (width<=1024px){.detail-mac-layout{grid-template-columns:1fr}.detail-mac-sticky{position:relative;top:0}.detail-mac-col{order:-1;margin-bottom:2rem}.mac-url-bar{display:none}}.macbook-base-lip{background:linear-gradient(#2a2e39,#151821);border:1px solid #ffffff1f;border-top:none;border-radius:0 0 .85rem .85rem;flex-shrink:0;justify-content:center;width:calc(100% + 24px);height:12px;margin-top:-1px;display:flex;position:relative;box-shadow:0 10px 24px #0009,inset 0 1px #ffffff26}.macbook-thumb-notch{background:#0a0d13;border-bottom-right-radius:4px;border-bottom-left-radius:4px;width:64px;height:4px;box-shadow:inset 0 1px 2px #000c}.mac-viewport-panel--screens{display:block}.carousel-track-wrap{background:radial-gradient(90% 70% at 50% 18%,#6b82990a,#0000 62%),#0a0c10;width:100%;height:100%;overflow:hidden}.carousel-track{will-change:transform;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1);display:flex}.carousel-slide{flex:0 0 100%;width:100%;height:100%;position:relative;overflow:hidden}.carousel-slide img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;padding:0;display:block}@media (width>=768px){.macbook-device-container{flex-shrink:0;width:min(640px,100%);height:auto;max-height:none}.macbook-screen-frame{aspect-ratio:16/10;width:100%;height:auto;max-height:none}.mac-spaces-clip{flex:1 1 0;width:100%;height:auto;min-height:0}.mac-app-stack,.mac-space,.mac-space--in,.mac-space-desktop{flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;display:flex}.mac-app-window.is-app-on:not(.is-app-out){flex-direction:column;flex:auto;height:100%;min-height:0;max-height:none;display:flex}.carousel-stage.mac-screen-viewport,.mac-viewport-panel,.mac-viewport-panel--screens{aspect-ratio:auto;flex:auto;width:100%;height:auto;min-height:0;max-height:none}.carousel-slide img{-o-object-fit:contain;object-fit:contain;background:#0a0c10}}.carousel-arrow{z-index:2;-webkit-backdrop-filter:blur(10px);color:#ffffffbf;opacity:0;background:#060910bf;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;transition:opacity .22s,border-color .2s,color .2s,background-color .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.detail-carousel:focus-within .carousel-arrow,.detail-carousel:hover .carousel-arrow,.macbook-screen-frame:focus-within .mac-viewport-panel--screens .carousel-arrow,.macbook-screen-frame:hover .mac-viewport-panel--screens .carousel-arrow{opacity:1}.mac-viewport-panel--screens .carousel-arrow{z-index:20;opacity:.92;color:#fffffff2;background:#080b12c7;border-color:#ffffff52}.carousel-arrow:hover{color:var(--gold);background:#6b829924;border-color:#6b829973}.carousel-arrow--prev{left:.85rem}.carousel-arrow--next{right:.85rem}.carousel-arrow:focus-visible{opacity:1;outline-offset:2px;outline:2px solid #6b82998c}.carousel-toolbar{background:#0609108c;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem .85rem;display:flex}.carousel-dots{flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;display:flex}.carousel-dot{box-sizing:content-box;cursor:pointer;background:#ffffff1a padding-box content-box;border:none;border-radius:999px;width:2rem;height:.35rem;min-height:.35rem;padding:calc(22px - .175rem) .15rem;transition:background-color .2s,width .2s;position:relative;overflow:visible}.carousel-dot:hover{background:#6b829938 padding-box content-box}.carousel-dot.active{background:#6b82992e padding-box content-box;width:2.75rem}.carousel-dot-fill{border-radius:inherit;background:var(--gold);transform-origin:0;pointer-events:none;height:.35rem;margin-top:-.175rem;transition:transform .35s;position:absolute;top:50%;left:.15rem;right:.15rem;transform:scaleX(0)}.carousel-dot.active .carousel-dot-fill{transform:scaleX(1)}.carousel-dot:focus-visible{outline-offset:3px;outline:2px solid #6b82998c}.carousel-counter{font-family:var(--font-body);letter-spacing:.1em;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.15rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.carousel-counter-current,.carousel-counter-sep,.carousel-counter-total{font:inherit;line-height:inherit;letter-spacing:inherit}.carousel-counter-current{color:#ffffffe6}.carousel-counter-sep{color:#ffffff38}.carousel-counter-total{color:#6b82998c}@media (width<=560px){.carousel-arrow{opacity:1;background:#06090cc7;width:2rem;height:2rem}.carousel-arrow--prev{left:.5rem}.carousel-arrow--next{right:.5rem}.carousel-toolbar{padding:.7rem .85rem}}@media (prefers-reduced-motion:reduce){.afu0{filter:none!important}.afu0,.detail-hero-desc.is-swap .detail-hero-desc-in,.detail-hero-desc.is-swap .detail-hero-desc-out,.detail-hero-inner.is-entering .detail-credits,.detail-hero-inner.is-entering .detail-hero-desc,.detail-hero-inner.is-entering .detail-hero-device,.detail-hero-inner.is-entering .detail-tech-trail,.detail-hero-inner.is-entering .project-spaces{opacity:1!important;animation:none!important;transform:none!important}.carousel-track{transition:none!important}.mac-app-window.is-app-in,.mac-app-window.is-app-out,.mac-dock-item.is-launching .mac-dock-icon,.mac-title-enter-active,.mac-title-leave-active,.mac-viewport-panel.is-app-in,.mac-viewport-panel.is-app-out{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.mac-dock-item.is-launching{animation:none!important}.mac-dock-item,.mac-dock-item:hover,.project-spaces-item,.project-spaces-item:hover{transition:none!important;transform:none!important}.detail-carousel:focus-within .carousel-arrow,.detail-carousel:hover .carousel-arrow{opacity:1}}.mac-app-titlebar{flex:1;grid-area:2/2;justify-content:center;align-items:center;min-width:0;min-height:1.4rem;display:flex;position:relative}.mac-window-actions{display:none}.mac-title-enter-active,.mac-title-leave-active{transition:opacity .2s,transform .28s cubic-bezier(.32,.72,0,1)}.mac-title-leave-active{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mac-title-enter-from{opacity:0;transform:translateY(5px)}.mac-title-leave-to{opacity:0;transform:translateY(-5px)}.mac-window-title{color:#ffffffb8;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:500;overflow:hidden}.mac-app-window[data-app=challenges],.mac-app-window[data-app=notes]{background:#f9f7ea}.mac-app-window[data-app=challenges] .mac-window-bar,.mac-app-window[data-app=notes] .mac-window-bar{background:#f9f7ea;border-bottom-color:#0b1f3014}.mac-app-window[data-app=challenges] .mac-window-title,.mac-app-window[data-app=notes] .mac-window-title{color:var(--color-text)}.mac-app-window[data-app=dev],.mac-app-window[data-app=dev] .mac-window-bar{background:#1e1e1e}.mac-viewport-panel--notes{color:var(--color-text);aspect-ratio:16/10;background:#f9f7ea;max-height:100%;display:flex;overflow:hidden}.mac-notes-sidebar{background:#ece8d8;border-right:1px solid #0b1f3014;flex-direction:column;flex-shrink:0;gap:.45rem;width:148px;padding:.7rem .55rem 4rem;display:flex}@media (width<=640px){.mac-notes-sidebar{display:none}}.mac-notes-folder{color:var(--color-text-dim);align-items:center;gap:.4rem;margin:0 0 .2rem;padding:.15rem .35rem;font-size:.64rem;font-weight:600;display:flex}.mac-notes-folder-mark{background:#e4c441;border-radius:.12rem;flex-shrink:0;width:.55rem;height:.55rem}.mac-notes-folder-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mac-notes-item{background:0 0;border-radius:.4rem;flex-direction:column;gap:.12rem;padding:.45rem .5rem;display:flex}.mac-notes-item.active{background:#ffffffb8;box-shadow:0 1px #0b1f300f}.mac-notes-item-title{color:var(--color-text);font-size:.72rem;font-weight:600}.mac-notes-item-sub{color:var(--color-text-dim);font-size:.58rem}.mac-notes-main{scrollbar-width:thin;flex:1;min-width:0;padding:1rem 1.25rem 4.25rem;overflow:auto}.mac-notes-date{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim);margin:0;font-size:.62rem;font-weight:500}.mac-notes-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text);margin:.35rem 0 .85rem;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500;line-height:1.15}.mac-notes-body{color:var(--color-text-muted);font-size:.82rem;line-height:1.7}.mac-notes-body p{margin:0 0 .8rem}.mac-notes-body p:last-child{margin-bottom:0}.mac-viewport-panel--reminders{scrollbar-width:thin;aspect-ratio:16/10;background:#f6f3e9;flex-direction:column;max-height:100%;padding:1rem 1.2rem 4.25rem;display:flex;overflow:auto}.mac-reminders-head{border-bottom:1px solid #0b1f301a;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.15rem;padding-bottom:.7rem;display:flex}.mac-reminders-h{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text);margin:0;font-size:1.2rem;font-weight:500}.mac-reminders-sub{font-variant-numeric:tabular-nums;color:var(--color-text-dim);margin:0;font-size:.78rem}.mac-reminders-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mac-reminder-item{background:0 0;border-bottom:1px solid #0b1f3014;border-radius:0;align-items:flex-start;gap:.7rem;padding:.7rem .1rem;display:flex}.mac-reminder-check{background:#6b8299;border-radius:50%;flex-shrink:0;width:1.05rem;height:1.05rem;margin-top:.15rem;position:relative;box-shadow:inset 0 0 0 1.5px #6b8299}.mac-reminder-check:after{content:"";border-bottom:1.5px solid #f9f7ea;border-right:1.5px solid #f9f7ea;width:.28rem;height:.48rem;position:absolute;top:.2rem;left:.32rem;transform:rotate(45deg)}.mac-reminder-text{color:var(--color-text);font-size:.84rem;line-height:1.45}.mac-ide-split{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:0;display:grid;overflow:hidden}@media (width<=640px){.mac-ide-split{grid-template-columns:1fr;overflow:auto}.mac-ide-split.is-mobile-readme .mac-ide-code,.mac-ide-split.is-mobile-stack .mac-ide-prose{display:none}.mac-ide-prose{border-right:none}.mac-ide-code{border-top:none;border-left:none}}.mac-ide-prose{color:#d4d4d4d1;scrollbar-width:thin;border-right:1px solid #ffffff0f;padding:.75rem .9rem 4rem;font-size:.78rem;line-height:1.65;overflow:auto}.mac-ide-prose p{margin:0 0 .7rem}.mac-ide-prose p:last-child{margin-bottom:0}.mac-safari-thumbs{display:none}.mac-os-dock{z-index:30;box-shadow:none;opacity:1;pointer-events:none;background:0 0;border:none;justify-content:center;padding:0;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .32s;position:absolute;bottom:.55rem;left:50%;overflow:visible;transform:translate(-50%)translateY(.55rem)}.mac-dock-panel,.mac-os-dock{align-items:flex-end;height:auto;display:flex}.mac-dock-panel{-webkit-backdrop-filter:blur(22px)saturate(1.4);pointer-events:auto;background:#1c20289e;border:1px solid #ffffff24;border-radius:1.15rem;gap:.45rem;padding:.38rem .55rem .42rem;transition:box-shadow .35s,background-color .35s;position:relative;box-shadow:0 12px 28px #00000073,inset 0 1px #ffffff2e}.mac-dock-panel:before{content:"";pointer-events:auto;height:2.4rem;position:absolute;bottom:100%;left:-.35rem;right:-.35rem}.macbook-screen-frame:focus-within .mac-os-dock,.macbook-screen-frame:hover .mac-os-dock{opacity:1;transform:translate(-50%)translateY(0)}.macbook-screen-frame:focus-within .mac-dock-panel,.macbook-screen-frame:hover .mac-dock-panel{background:#1c2028b8;box-shadow:0 14px 32px #00000080,inset 0 1px #ffffff38}.mac-dock-item{cursor:pointer;transform-origin:50% 100%;width:2.25rem;height:2.55rem;z-index:var(--dock-z,1);background:0 0;border:none;flex-direction:column;justify-content:flex-end;align-items:center;padding:0;transition:none;display:flex;position:relative}.mac-dock-item:hover{transform:none}.mac-dock-item.is-launching{animation:.52s cubic-bezier(.32,.72,0,1) mac-dock-launch}@keyframes mac-dock-launch{0%,to{transform:translateY(0)}32%{transform:translateY(-11px)}54%{transform:translateY(0)}74%{transform:translateY(-5px)}}.mac-dock-icon{width:2.25rem;height:2.25rem;transform:translate3d(var(--dock-x,0),var(--dock-y,0),0) scale(var(--dock-scale,1));transform-origin:50% 100%;filter:drop-shadow(0 3px 6px #0006);backface-visibility:hidden;border-radius:22.5%;transition:none;overflow:hidden}.mac-dock-icon,.mac-os-dock.is-magnifying .mac-dock-icon{will-change:transform}.mac-dock-icon img{-o-object-fit:cover;object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.mac-dock-icon--padded img{transform:scale(1.18)}.mac-dock-icon--vscode{background:#1e1e1e}.mac-dock-icon--vscode img{-o-object-fit:contain;object-fit:contain;padding:.18rem}@media (hover:none){.mac-os-dock,.macbook-screen-frame:focus-within .mac-os-dock,.macbook-screen-frame:hover .mac-os-dock{opacity:1;pointer-events:none;transition:none;transform:translate(-50%)translateY(0)}.mac-dock-panel,.macbook-screen-frame:focus-within .mac-dock-panel,.macbook-screen-frame:hover .mac-dock-panel{transition:none}}@media (prefers-reduced-motion:reduce){.mac-dock-panel,.mac-os-dock{transition:none!important}.mac-os-dock,.macbook-screen-frame:focus-within .mac-os-dock,.macbook-screen-frame:hover .mac-os-dock{opacity:1;transform:translate(-50%)translateY(0)}}.mac-dock-tooltip{bottom:calc(100% + .45rem + (var(--dock-scale,1) - 1)*2.25rem);opacity:0;pointer-events:none;white-space:nowrap;color:#fff;background:#060910eb;border:1px solid #ffffff24;border-radius:.45rem;padding:.22rem .55rem;font-size:.62rem;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 14px #00000080}.mac-dock-item:hover .mac-dock-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.mac-dock-dot{width:4px;height:4px;transform:translate3d(var(--dock-x,0),0,0) translateX(-50%);pointer-events:none;background:#ffffff4d;border-radius:50%;transition:background .2s,box-shadow .2s;position:absolute;bottom:-.15rem;left:50%}.mac-dock-item.active .mac-dock-dot{background:var(--gold);box-shadow:0 0 6px var(--gold);transform:translate3d(var(--dock-x,0),0,0) translateX(-50%) scale(1.25)}.mac-os-dock.is-magnifying .mac-dock-dot{transition:background .2s,box-shadow .2s}.iphone-btns,.iphone-home,.iphone-island{display:none}@media (width<=767px){.iphone-btns,.iphone-home,.iphone-island{display:block}.macbook-device-container{flex-shrink:0;width:min(270px,100vw - 2.75rem);max-width:min(270px,100vw - 2.75rem);overflow:visible}.macbook-screen-frame{aspect-ratio:9/19.5;background:linear-gradient(165deg,#3a3f4a,#1c2028 42%,#101318);border:1.5px solid #fff3;border-radius:2.55rem;width:100%;height:auto;max-height:none;padding:9px;overflow:hidden;box-shadow:inset 0 1px #ffffff52,inset 0 -1px #00000073,0 22px 48px -16px #0000008c}.macbook-base-lip,.macbook-top-notch{display:none}.iphone-btns{pointer-events:none;z-index:2;position:absolute;inset:0}.iphone-btn{background:#2a2e38;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14}.iphone-btn--silent{border-radius:2px 0 0 2px;width:3px;height:22px;top:16%;left:-3px}.iphone-btn--vol-up{top:24%}.iphone-btn--vol-down,.iphone-btn--vol-up{border-radius:2px 0 0 2px;width:3px;height:38px;left:-3px}.iphone-btn--vol-down{top:36%}.iphone-btn--power{border-radius:0 2px 2px 0;width:3px;height:68px;top:27%;right:-3px}.iphone-island{z-index:40;pointer-events:none;background:#05060a;border-radius:999px;width:96px;height:28px;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff0f}.iphone-island-lens{background:#151b32;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;right:11px;transform:translateY(-50%);box-shadow:inset 0 0 0 1.5px #243056}.iphone-home{z-index:40;pointer-events:none;background:#ffffff7a;border-radius:99px;width:108px;height:4px;position:absolute;bottom:11px;left:50%;transform:translate(-50%)}.mac-spaces-clip{clip-path:inset(0 round 2rem);border-radius:2rem;flex:1 1 0;height:0;min-height:0;display:flex;overflow:hidden}.mac-app-stack,.mac-space,.mac-space--in,.mac-space-desktop{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex}.mac-app-window.is-app-on:not(.is-app-out){flex:1;height:100%;min-height:0}.mac-space--out{height:auto;inset:0}.mac-space--out .mac-app-stack,.mac-space--out .mac-app-window,.mac-space--out .mac-screen-viewport,.mac-space--out .mac-space-desktop{aspect-ratio:auto;height:100%}.carousel-stage.mac-screen-viewport,.mac-viewport-panel,.mac-viewport-panel--ide,.mac-viewport-panel--notes,.mac-viewport-panel--reminders,.mac-viewport-panel--screens{aspect-ratio:auto;border-radius:0;flex:auto;height:auto;min-height:0}.mac-app-window.is-app-in,.mac-app-window.is-app-out{will-change:transform,opacity;backface-visibility:hidden}.mac-app-window.is-app-in{animation:.46s cubic-bezier(.22,1,.32,1) both ios-app-open}.mac-app-window.is-app-out{animation:.32s cubic-bezier(.32,0,.67,0) both ios-app-close}.mac-app-window{border-radius:2rem}@keyframes ios-app-open{0%{opacity:.35;transform:translateZ(0)scale(.46)}to{opacity:1;transform:translateZ(0)scale(1)}}@keyframes ios-app-close{0%{opacity:1;transform:translateZ(0)scale(1)}to{opacity:0;transform:translateZ(0)scale(.46)}}.mac-dock-item.is-launching{animation:none}.mac-dock-item.is-launching .mac-dock-icon{animation:.48s cubic-bezier(.22,1,.36,1) ios-dock-press}@keyframes ios-dock-press{0%{transform:scale(1)}16%{transform:scale(.78)}to{transform:scale(1)}}.mac-window-bar{-moz-column-gap:.35rem;border-bottom-color:#ffffff0f;border-radius:0;grid-template-rows:28px auto;grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);align-items:center;gap:.32rem .35rem;height:auto;min-height:0;padding:.45rem .7rem .32rem;display:grid}.mac-traffic-lights,.mac-window-actions,.mac-window-time{display:none}.mac-app-titlebar{grid-area:2/1/auto/-1;width:100%}.mac-url-bar{max-width:100%;padding:.18rem .55rem;display:inline-flex}.mac-url-text{font-size:.58rem}.mac-window-title{color:#ffffffe0;font-size:.78rem;font-weight:600}.mac-os-dock,.macbook-screen-frame:focus-within .mac-os-dock,.macbook-screen-frame:hover .mac-os-dock{opacity:1;pointer-events:none;height:auto;bottom:1.45rem;transform:translate(-50%)translateY(0)}.mac-dock-panel{background:#161a22b8;border-radius:1.35rem;gap:.42rem;height:auto;padding:.38rem .48rem .4rem}.mac-dock-tooltip{display:none}.mac-dock-item,.mac-dock-item:hover{width:2.15rem;height:2.35rem;transform:none}.mac-dock-icon{will-change:auto;width:2.05rem;height:2.05rem;transform:none}.mac-notes-main,.mac-viewport-panel--reminders{padding-bottom:4.5rem}.mac-ide-rail{display:none}.mac-ide-code,.mac-ide-prose{padding-bottom:4.5rem}.carousel-slide img{-o-object-fit:contain;object-fit:contain;background:#0a0c10;padding:0 0 3.25rem}.carousel-arrow{opacity:1;width:1.85rem;height:1.85rem;top:50%;bottom:auto;transform:translateY(-50%)}.carousel-arrow--prev{left:.55rem}.carousel-arrow--next{right:.55rem}}@media (width<=767px) and (prefers-reduced-motion:reduce){.mac-dock-item,.mac-dock-item:hover,.mac-os-dock{transition:none!important;transform:none!important}.mac-os-dock,.macbook-screen-frame:hover .mac-os-dock{transform:translate(-50%)translateY(0)!important}}.contact-main{z-index:1;padding:var(--section-pad-y) var(--section-pad-x) 6.5rem;position:relative}.contact-wrap{max-width:var(--container-max);flex-direction:column;gap:4rem;margin:0 auto;display:flex}.contact-intro{color:var(--color-text-muted);margin-top:1.25rem;font-size:.95rem;line-height:1.75}.contact-page .contact-wrap{gap:clamp(.9rem,2.2vh,1.4rem)}.contact-page.contact-main{padding-top:var(--section-pad-y);padding-bottom:clamp(.85rem,2vh,1.35rem)}.contact-grid{grid-template-columns:1fr 360px;align-items:start;gap:4rem;min-height:0;display:grid}.contact-page .contact-grid{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,3.5vw,2.75rem)}@media (width<=900px){.contact-grid,.contact-page .contact-grid{grid-template-columns:1fr;align-items:start;gap:1.75rem}.contact-page .contact-info-card,.contact-page .contact-sidebar{height:auto;min-height:0}}.contact-form-wrap{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.contact-form{flex-direction:column;gap:1.85rem;display:flex;position:relative}.contact-page .contact-form{gap:1.35rem;width:100%;max-width:none}.contact-honeypot{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-required-hint{color:var(--color-text-muted);margin:0;font-size:.78rem;line-height:1.55}.form-asterisk{color:inherit;margin-left:.12em;font-weight:400}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=560px){.form-row{grid-template-columns:1fr;gap:1.35rem}}.form-group{flex-direction:column;gap:.2rem;display:flex}.form-input{border:none;border-bottom:1px solid var(--color-text);width:100%;color:var(--color-text);appearance:none;background:0 0;border-radius:0;outline:none;padding:.2rem 0 .7rem;font-family:inherit;font-size:1rem;line-height:1.45;transition:border-color .2s}.form-input::placeholder{color:#0000}.form-input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 1000px var(--bg) inset;caret-color:var(--color-text)}.form-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 1000px var(--bg) inset;caret-color:var(--color-text)}.form-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 1000px var(--bg) inset;caret-color:var(--color-text)}.form-input:focus,.form-input:focus-visible{border-color:var(--color-text);box-shadow:none;background-color:#0000;outline:none}.form-input.has-error{box-shadow:none;border-color:#8f353080}.form-textarea{resize:vertical;min-height:8.5rem;padding-top:.15rem;padding-bottom:.85rem}.contact-page .wave-group .form-textarea{resize:none;min-height:5.5rem;line-height:1.5}.form-error{letter-spacing:.01em;color:#8f3530;min-height:0;margin:0;padding:0;font-size:.68rem;font-weight:500;line-height:1.2;display:block}.form-footer{justify-content:flex-end;padding-top:.5rem;display:flex}.contact-page .form-footer{justify-content:flex-start;padding-top:.35rem;overflow:visible}.contact-page .form-submit{--submit-ease:cubic-bezier(.22, 1, .36, 1);--plane-shift:calc(50% - .95em - .675rem);--plane-exit:calc(100% - .2em);background:var(--color-text);color:#f9f7ea;letter-spacing:.02em;white-space:nowrap;isolation:isolate;width:max-content;max-width:100%;min-height:44px;transition:background .28s var(--submit-ease),color .28s var(--submit-ease),box-shadow .28s var(--submit-ease),transform .2s var(--submit-ease);border:none;border-radius:16px;justify-content:flex-start;align-items:center;gap:0;padding:.62em 1.05em .62em .95em;font-size:.8rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #0b1f301a}.contact-page .form-submit.is-loading,.contact-page .form-submit.is-sent,.contact-page .form-submit:hover{background:var(--color-primary);color:#fff;border:none;box-shadow:0 14px 28px #6b829938}.contact-page .form-submit:active{transform:scale(.98)}.contact-page .form-submit:focus-visible{outline:2px solid var(--color-text);outline-offset:3px}.contact-page .form-submit:disabled:not(.is-loading):not(.is-sent){opacity:.4;box-shadow:none}.contact-page .form-submit-svg-wrap-1{z-index:1;pointer-events:none;backface-visibility:hidden;will-change:transform,opacity;transition:transform .55s var(--submit-ease);justify-content:flex-start;align-items:center;padding-left:.95em;display:flex;position:absolute;inset:0;transform:translateZ(0)}.contact-page .form-submit-svg-wrap{backface-visibility:hidden;flex:none;display:block}.contact-page .form-submit-plane-icon{transform-origin:50%;backface-visibility:hidden;width:1.35rem;height:1.35rem;transition:transform .5s var(--submit-ease);display:block}.contact-page .form-submit-copy{transition:transform .5s var(--submit-ease),opacity .4s ease;justify-items:start;margin-left:0;padding-left:1.75rem;display:grid}.contact-page .form-submit-label{grid-area:1/1}.contact-page .form-submit.is-loading .form-submit-svg-wrap-1{transform:translate3d(var(--plane-shift),0,0)}.contact-page .form-submit.is-loading .form-submit-svg-wrap{animation:1.1s ease-in-out .45s infinite alternate form-submit-fly-1}.contact-page .form-submit.is-loading .form-submit-plane-icon{transform:rotate(45deg)scale(1.08)}.contact-page .form-submit.is-loading .form-submit-copy,.contact-page .form-submit.is-sent .form-submit-copy{opacity:0;transform:translate(1.1em)}.contact-page .form-submit.is-sent{z-index:2;overflow:hidden}.contact-page .form-submit.is-sent .form-submit-svg-wrap-1{transition:none;animation:1.05s cubic-bezier(.22,.18,.28,1) forwards form-submit-fly-x}.contact-page .form-submit.is-sent .form-submit-svg-wrap{animation:1.05s cubic-bezier(.55,.02,.2,1) forwards form-submit-fly-y}.contact-page .form-submit.is-sent .form-submit-plane-icon{transition:none;animation:1.05s cubic-bezier(.55,.02,.2,1) forwards form-submit-fly-nose}@keyframes form-submit-fly-1{0%{transform:translateY(.03em)}to{transform:translateY(-.05em)}}@keyframes form-submit-fly-x{0%{transform:translate3d(var(--plane-shift),0,0);opacity:1}78%{opacity:1}to{transform:translate3d(var(--plane-exit),0,0);opacity:0}}@keyframes form-submit-fly-y{0%{transform:translateZ(0)}to{transform:translateY(-2.05em)}}@keyframes form-submit-fly-nose{0%{transform:rotate(45deg)scale(1.08)}to{transform:rotate(-18deg)scale(1.04)}}.form-submit{color:#fff;letter-spacing:.02em;cursor:pointer;background:#3d5a73;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;min-height:44px;padding:.82rem 1.75rem;font-family:inherit;font-size:.85rem;font-weight:700;text-decoration:none;transition:background .18s,transform .18s,box-shadow .18s,gap .18s;display:inline-flex}a.form-submit{color:#fff}.form-submit:hover{background:#2f4860;box-shadow:0 4px 20px #3d5a7352}.form-submit:disabled:not(.is-loading){opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.form-submit:disabled.is-loading{opacity:1;cursor:wait}.form-submit-arrow{flex-shrink:0;transition:transform .18s,opacity .18s}.form-submit:hover .form-submit-arrow{opacity:1}.form-submit-spinner{border:2px solid #06090c33;border-top-color:var(--bg);opacity:0;pointer-events:none;border-radius:50%;flex-shrink:0;width:1.1rem;height:1.1rem;margin:0 -.15rem;transition:opacity .18s;animation:.7s linear infinite paused contactSpin}.form-submit.is-loading{pointer-events:none}.form-submit.is-loading .form-submit-spinner{opacity:1;animation-play-state:running}.form-submit.is-loading .form-submit-arrow{opacity:0;width:0;margin:0;overflow:hidden}.form-submit.is-loading .form-submit-label{opacity:.92}@keyframes contactSpin{to{transform:rotate(1turn)}}.form-feedback{border-radius:.85rem;padding:.85rem 1.1rem;font-size:.82rem;line-height:1.6;display:none}.form-feedback.success{color:var(--color-text);background:#98b49329;border:1px solid #98b49359;display:block}.form-feedback.error{color:#ef4444e6;background:#ef444414;border:1px solid #ef444433;display:block}.contact-sidebar{flex-direction:column;gap:1rem;display:flex}.contact-page .contact-sidebar{gap:0;width:100%;min-height:0;padding-top:0;display:flex}.contact-info-card{background:var(--color-text);color:#f9f7ead1;border-radius:1.15rem;flex-direction:column;gap:1.35rem;width:100%;padding:1.35rem 1.4rem 1.15rem;display:flex;box-shadow:inset 0 1px #f9f7ea14,0 18px 40px #0b1f3029}.contact-info-place{flex-direction:column;align-items:flex-start;gap:.35rem;margin:0;padding:.1rem .15rem .2rem;display:flex}.contact-info-place-val{font-family:var(--font-display);letter-spacing:-.035em;color:#f9f7ea;font-size:1.45rem;font-weight:500;line-height:1.12}.contact-info-place-sep{width:.32em;display:inline-block}.contact-info-k{letter-spacing:.18em;text-transform:uppercase;color:#f9f7eab3;font-size:.62rem;font-weight:600;line-height:1.3}.contact-info-list{border-top:1px solid #f9f7ea1f;margin:0;padding:0;list-style:none}.contact-info-list li+li{border-top:1px solid #f9f7ea1a}.contact-info-row{color:inherit;align-items:center;gap:.85rem;padding:.92rem .15rem;text-decoration:none;display:flex}.contact-info-row-text{flex-direction:column;flex:1;align-items:flex-start;gap:.22rem;min-width:0;display:flex}.contact-info-v{color:#f9f7eae6;overflow-wrap:anywhere;font-size:.88rem;font-weight:500;line-height:1.4;transition:color .2s;display:block}.contact-info-arrow{border-top:1.5px solid #f9f7ea73;border-right:1.5px solid #f9f7ea73;flex-shrink:0;width:.42rem;height:.42rem;margin-right:.15rem;transition:transform .2s,border-color .2s;transform:rotate(45deg)}.contact-info-row:focus-visible .contact-info-v,.contact-info-row:hover .contact-info-v{color:#fff}.contact-info-row:focus-visible .contact-info-arrow,.contact-info-row:hover .contact-info-arrow{border-color:#f9f7ea;transform:rotate(45deg)translate(2px,-2px)}.contact-info-row:focus-visible{outline-offset:3px;outline:2px solid #f9f7ea}.contact-card{border:1px solid var(--border-subtle);background:#fffc;border-radius:1.25rem;flex-direction:column;gap:.9rem;padding:1.4rem 1.5rem;transition:border-color .2s;display:flex;box-shadow:0 12px 32px #0b1f300f}.contact-card:hover{border-color:var(--color-primary)}.contact-card-label{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-size:.62rem}.contact-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.contact-status{color:var(--color-text);align-items:center;gap:.45rem;font-size:.72rem;display:inline-flex}.contact-card-desc{color:var(--color-text-muted);font-size:.82rem;line-height:1.7}.contact-links{flex-direction:column;display:flex}.contact-link-row{border-bottom:1px solid #6b829912;align-items:center;gap:.9rem;padding:.75rem 0;transition:background .15s;display:flex}.contact-link-row:last-child{border-bottom:none}.contact-link-row:hover .contact-link-arrow,.contact-link-row:hover .contact-link-val{color:var(--gold)}.contact-link-icon{color:#6b829999;background:#6b82990d;border:1px solid #6b829924;border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.contact-link-body{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.contact-link-key{text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);font-size:.58rem}.contact-link-val{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:500;transition:color .15s;overflow:hidden}.contact-link-arrow{color:var(--color-text-dim);flex-shrink:0;transition:transform .18s,color .18s}.contact-location{color:var(--color-text-muted);align-items:flex-start;gap:.55rem;font-size:.85rem;font-weight:500;display:flex}.contact-location-icon{color:var(--gold);opacity:.7;flex-shrink:0;margin-top:2px}@media (prefers-reduced-motion:reduce){.form-submit-spinner{animation:none!important}.form-submit.is-loading .form-submit-spinner{opacity:1!important;animation:1.1s linear infinite contactSpin!important}.contact-page .form-submit.is-loading .form-submit-copy,.contact-page .form-submit.is-loading .form-submit-plane-icon,.contact-page .form-submit.is-loading .form-submit-svg-wrap,.contact-page .form-submit.is-loading .form-submit-svg-wrap-1,.contact-page .form-submit.is-sent .form-submit-copy,.contact-page .form-submit.is-sent .form-submit-plane-icon,.contact-page .form-submit.is-sent .form-submit-svg-wrap,.contact-page .form-submit.is-sent .form-submit-svg-wrap-1,.form-submit.is-loading .form-submit-arrow,.form-submit:hover{animation:none!important;transform:none!important}.contact-page .wave-group .label,.contact-page .wave-group .label-char{transition:none!important}.contact-info-row:focus-visible .contact-info-arrow,.contact-info-row:hover .contact-info-arrow{transform:none!important}.contact-page .wave-group .bar:after{transition:none!important}.contact-page .form-input{transition:border-color .15s!important}}body.is-sent-page{height:100dvh;min-height:100dvh;overflow:hidden;background-color:var(--bg)!important;background:var(--bg)!important}body.is-sent-page #back-to-top,body.is-sent-page .site-footer{display:none!important}body.is-sent-page .layout-main{flex-direction:column;height:calc(100dvh - 4.25rem);min-height:calc(100dvh - 4.25rem);display:flex}body.is-sent-page #viewport{flex-direction:column;flex:1;height:100%;display:flex}.sent{z-index:1;width:100%;height:100%;min-height:calc(100dvh - 4.25rem);padding:clamp(1.5rem,4vh,3.5rem) var(--section-pad-x);box-sizing:border-box;flex:1;justify-content:center;display:flex;position:relative}.sent,.sent-wrap{align-items:center}.sent-wrap{width:min(var(--container-max),100%);grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);gap:clamp(2rem,5vw,5rem);margin:0 auto;display:grid}.sent-title{letter-spacing:-.06em;color:var(--color-text);margin:0;padding-bottom:.08em;font-size:clamp(4.4rem,12vw,9.5rem);font-weight:500;line-height:1.05}.sent-title:focus,.sent-title:focus-visible{outline:none}.sent-panel{flex-direction:column;align-items:flex-start;gap:clamp(1.2rem,2.5vh,1.8rem);max-width:28rem;padding-bottom:.35rem;display:flex}.sent-copy{color:var(--color-text-muted);max-width:28ch;margin:0;font-size:1.02rem;line-height:1.65}.sent-actions{flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;padding-top:.15rem;display:flex}.sent-cta{background:var(--color-text);color:var(--bg);letter-spacing:.02em;white-space:nowrap;border-radius:16px;align-items:center;gap:.55rem;padding:.62em 1.05em .62em .95em;font-size:.8rem;font-weight:500;transition:background .2s,transform .2s;display:inline-flex}.sent-cta:hover{background:var(--color-primary);color:#fff}.sent-cta:active{transform:scale(.98)}.sent-cta:focus-visible{outline:2px solid var(--color-text);outline-offset:3px}.sent-cta svg{flex-shrink:0}.sent-quiet{color:var(--color-text);border-bottom:1px solid var(--border-strong);padding-bottom:.08em;font-size:.84rem;transition:color .2s,border-color .2s}.sent-quiet:hover{color:var(--gold);border-color:var(--gold)}.sent-quiet:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #6b82998c}@media (width<=900px){body.is-sent-page{height:auto;min-height:100dvh;overflow-y:auto}.sent,body.is-sent-page .layout-main{height:auto;min-height:calc(100dvh - 4.25rem)}.sent{justify-content:flex-start;align-items:center;padding-top:2.5rem;padding-bottom:3.5rem}.sent-wrap{grid-template-columns:1fr;align-items:start;gap:1.75rem}.sent-title{font-size:clamp(3.6rem,18vw,5.6rem)}.sent-panel{max-width:none;padding-bottom:0}.sent-copy{max-width:34ch}}@media (width<=640px){.sent{padding-left:max(1.2rem,env(safe-area-inset-left));padding-right:max(1.2rem,env(safe-area-inset-right))}.sent-copy{font-size:.95rem}}@media (height<=640px){body.is-sent-page{height:auto;overflow-y:auto}.sent{height:auto;min-height:calc(100dvh - 4.25rem);padding-top:2rem;padding-bottom:2rem}}@media (prefers-reduced-motion:reduce){.sent-cta:active{transform:none}}.site-footer{z-index:1;background:color-mix(in srgb,var(--bg) 92%,var(--color-secondary));-webkit-backdrop-filter:blur(16px)saturate();border-top:1px solid #6b829924;flex-shrink:0;position:relative;box-shadow:0 -1px #6b829914}.app-footer{width:100%}.app-footer-inner{width:100%;max-width:min(100%,92rem);padding:1.45rem clamp(1.5rem,3.5vw,3.25rem) calc(1.45rem + env(safe-area-inset-bottom,0px));min-width:0;margin:0 auto}.app-footer-row{-moz-column-gap:clamp(1rem,2.5vw,2.5rem);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:clamp(1rem,2.5vw,2.5rem);width:100%;display:grid}.app-footer-brand{color:inherit;text-align:left;flex-direction:column;grid-column:1;justify-self:start;align-items:flex-start;gap:.28rem;min-width:0;text-decoration:none;transition:opacity .22s;display:flex}.app-footer-brand:hover{opacity:.92}.app-footer-brand:hover .app-footer-logo{color:var(--color-primary)}.app-footer-logo{letter-spacing:.02em;color:var(--color-text);font-size:clamp(.95rem,.9rem + .25vw,1.08rem);font-weight:500;line-height:1.2;transition:color .22s}.app-footer-eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--color-text-muted);font-size:.56rem;font-weight:600;line-height:1.3}.app-footer-copy{text-align:center;text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-dim);white-space:nowrap;grid-column:2;justify-self:center;margin:0;font-size:.62rem}.app-footer-nav{text-align:right;white-space:nowrap;flex-wrap:nowrap;grid-column:3;justify-content:flex-end;justify-self:end;align-items:center;gap:.35rem .65rem;min-width:0;display:flex}.app-footer-link{letter-spacing:.06em;color:var(--color-text-muted);white-space:nowrap;font-size:.72rem;transition:color .2s}.app-footer-link:hover{color:var(--gold)}.app-footer-brand:focus-visible,.app-footer-link:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #6b829980}.app-footer-dot{color:var(--border-subtle);-webkit-user-select:none;user-select:none;font-size:.72rem}.legal-main{z-index:1;padding:var(--section-pad-y) var(--section-pad-x) 6rem;position:relative}.legal-wrap{max-width:var(--container-max);gap:2.5rem;margin:0 auto}.legal-prose,.legal-wrap{flex-direction:column;display:flex}.legal-prose{gap:2rem}.legal-section{flex-direction:column;gap:.75rem;display:flex}.legal-section h2{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.82rem;font-weight:600}.legal-section li,.legal-section p{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.75}.legal-section ul{flex-direction:column;gap:.45rem;margin:0;padding-left:1.15rem;display:flex}.legal-section a{color:var(--gold);text-underline-offset:.18em;-webkit-text-decoration:underline #6b829959;text-decoration:underline #6b829959;transition:text-decoration-color .2s}.legal-section a:hover{text-decoration-color:#6b8299cc}@media (width<=900px){.app-footer-inner{padding-top:1.5rem;padding-bottom:calc(1.35rem + env(safe-area-inset-bottom,0px))}.app-footer-row{flex-direction:column;align-items:center;gap:.9rem;display:flex}.app-footer-brand{text-align:center;order:1;grid-column:auto;justify-self:center;align-items:center}.app-footer-brand:after{content:"";background:#6b82996b;width:2.6rem;height:1px;margin:.55rem auto 0;display:block}.app-footer-nav{white-space:nowrap;flex-wrap:nowrap;order:2;justify-content:center}.app-footer-copy,.app-footer-nav{text-align:center;grid-column:auto;justify-self:center}.app-footer-copy{white-space:normal;order:3}}@media (width<=767px){.site-footer{border-top-color:#6b829938}.app-footer-inner{padding:1.75rem var(--section-pad-x) calc(1.6rem + env(safe-area-inset-bottom,0px))}.app-footer-row{gap:0}.app-footer-brand{gap:.42rem;padding-bottom:.25rem}.app-footer-brand:after{content:"";background:#6b82996b;width:2.6rem;height:1px;margin:.7rem auto 0;display:block}.app-footer-logo{letter-spacing:-.03em;font-size:1.12rem;font-weight:500}.app-footer-eyebrow{letter-spacing:.26em;font-size:.58rem}.app-footer-nav{white-space:nowrap;flex-flow:row;justify-content:center;align-items:center;gap:.2rem .15rem;padding:.15rem 0 .85rem}.app-footer-dot{color:#6b829973;padding:0 .35rem;display:inline}.app-footer-link{letter-spacing:.04em;white-space:nowrap;padding:.45rem .05rem;font-size:.64rem}.app-footer-copy{letter-spacing:.18em;font-size:.6rem;line-height:1.4}.legal-main{padding-bottom:4rem}}@media (width<=380px){.app-footer-nav{gap:.1rem}.app-footer-dot{padding:0 .22rem}.app-footer-link{letter-spacing:.02em;padding:.35rem 0;font-size:.58rem}}.nav-item:after{content:"";background:var(--color-primary);transform-origin:0;height:1px;transition:transform .2s;position:absolute;bottom:.12rem;left:0;right:0;transform:scaleX(0)}.nav-item.nav-active:after,.nav-item:hover:after{transform:scaleX(1)}.page-enter-active{transition:opacity .48s cubic-bezier(.22,1,.36,1)}.page-leave-active{transition:opacity .22s cubic-bezier(.4,0,.2,1)}.page-enter-from,.page-leave-to{opacity:0}.page-header{view-transition-name:site-header}::view-transition-new(root){animation-duration:.46s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation-duration:.46s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-group(site-header){animation-duration:.46s;animation-timing-function:cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active{transition:none!important}.page-enter-from,.page-leave-to{opacity:1}::view-transition-group(*){animation:none!important}::view-transition-new(*){animation:none!important}::view-transition-old(*){animation:none!important}}:root{--reveal-ease:cubic-bezier(.22, 1, .36, 1);--reveal-dur:.72s;--reveal-rise:1.15rem}.reveal,.reveal-item{opacity:1;transform:none}@media (width<=1024px){html.reveal-on .reveal-group:not(.is-inview)>.reveal-item,html.reveal-on .reveal:not(.is-inview){opacity:0;transform:translate3d(0,var(--reveal-rise),0)}html.reveal-on .reveal-group.is-inview>.reveal-item,html.reveal-on .reveal.is-inview{opacity:1;transition:opacity var(--reveal-dur) var(--reveal-ease),transform var(--reveal-dur) var(--reveal-ease);transition-delay:calc(var(--reveal-delay,0s) + var(--reveal-index,0)*70ms);transform:none}html.reveal-on .reveal--soft{--reveal-rise:.75rem;--reveal-dur:.58s}html.reveal-on .abt-chapter:not(.is-inview) .abt-chapter-body,html.reveal-on .abt-chapter:not(.is-inview) .abt-chapter-head,html.reveal-on .abt-chapter:not(.is-inview) .abt-links{opacity:0;transform:translateY(1.1rem)}html.reveal-on .ptl-chapter{--ptl-reveal-x:-2.35rem}html.reveal-on .ptl-chapter--right{--ptl-reveal-x:2.35rem}html.reveal-on .ptl-chapter:not(.is-inview) .ptl-chapter-plane{opacity:0;transform:translate3d(var(--ptl-reveal-x),1.15rem,0)}html.reveal-on .ptl-chapter:not(.is-inview) .ptl-chapter-copy,html.reveal-on .ptl-chapter:not(.is-inview) .ptl-chapter-media{opacity:0}html.reveal-on .skl-chapter:not(.is-inview) .skl-chapter-body,html.reveal-on .skl-chapter:not(.is-inview) .skl-chapter-head{opacity:0;transform:translate3d(0,calc(1.1rem + var(--skl-fg-shift,0px)),0)}html.reveal-on .abt-chapter:not(.is-inview) .abt-chapter-word,html.reveal-on .skl-chapter:not(.is-inview) .skl-chapter-mark-well{opacity:0;transform:translate3d(.3rem,calc(.25rem + var(--skl-bg-shift,0px)),0) scale(.97)}html.reveal-on .abt-chapter.is-inview .abt-chapter-body,html.reveal-on .abt-chapter.is-inview .abt-chapter-head,html.reveal-on .abt-chapter.is-inview .abt-links{opacity:1;transition:opacity .7s var(--reveal-ease),transform .78s var(--reveal-ease);transform:none}html.reveal-on .ptl-chapter.is-inview .ptl-chapter-plane{opacity:1;transition:opacity .65s var(--reveal-ease),transform .88s var(--reveal-ease);transform:none}html.reveal-on .ptl-chapter.is-inview .ptl-chapter-media{opacity:1;transition:opacity .7s var(--reveal-ease);transition-delay:50ms}html.reveal-on .ptl-chapter.is-inview .ptl-chapter-copy{opacity:1;transform:translate3d(0,calc(var(--ptl-shift)*-20px),0);transition:opacity .72s var(--reveal-ease);transition-delay:.12s}html.reveal-on .skl-chapter.is-inview .skl-chapter-body,html.reveal-on .skl-chapter.is-inview .skl-chapter-head{opacity:1;transform:translate3d(0,var(--skl-fg-shift,0),0);transition:opacity .7s var(--reveal-ease)}html.reveal-on .abt-chapter.is-inview .abt-chapter-word{transition:opacity .85s var(--reveal-ease),transform .95s var(--reveal-ease);transform:none}html.reveal-on .skl-chapter.is-inview .skl-chapter-mark-well{transform:translate3d(0,var(--skl-bg-shift,0),0);transition:opacity .85s var(--reveal-ease)}html.reveal-on .abt-chapter.is-inview .abt-chapter-head,html.reveal-on .skl-chapter.is-inview .skl-chapter-head{transition-delay:30ms}html.reveal-on .abt-chapter.is-inview .abt-chapter-body,html.reveal-on .skl-chapter.is-inview .skl-chapter-body{transition-delay:.1s}html.reveal-on .abt-chapter.is-inview .abt-links{transition-delay:.16s}}@media (prefers-reduced-motion:reduce){html.reveal-on .abt-chapter .abt-chapter-body,html.reveal-on .abt-chapter .abt-chapter-head,html.reveal-on .abt-chapter .abt-links,html.reveal-on .ptl-chapter .ptl-chapter-copy,html.reveal-on .ptl-chapter .ptl-chapter-media,html.reveal-on .ptl-chapter .ptl-chapter-plane,html.reveal-on .reveal,html.reveal-on .reveal-group.is-inview>.reveal-item,html.reveal-on .reveal-item,html.reveal-on .reveal.is-inview,html.reveal-on .skl-chapter .skl-chapter-body,html.reveal-on .skl-chapter .skl-chapter-head,html.reveal-on .skl-chapter .skl-chapter-mark-well{opacity:1!important;transition:none!important}html.reveal-on .ptl-chapter .ptl-chapter-copy,html.reveal-on .ptl-chapter .ptl-chapter-word{transform:none!important}html.reveal-on .abt-chapter .abt-chapter-word{transition:none!important;transform:none!important}}.app-splash[data-v-0d601f99]{z-index:100000;background:var(--bg,#f9f7ea);color:var(--color-text,#0b1f30);align-items:flex-end;padding:0 0 12vh;display:flex;position:fixed;inset:0}.app-splash-frame[data-v-0d601f99]{width:min(var(--container-max,1200px),calc(100% - var(--section-pad-x,1.75rem)*2));-moz-column-gap:1.5rem;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:end;gap:1.35rem 1.5rem;margin:0 auto;display:grid}.app-splash-name[data-v-0d601f99]{letter-spacing:-.055em;color:var(--color-text,#0b1f30);flex-direction:column;grid-area:1/1;margin:0;padding-bottom:.06em;font-size:clamp(3.2rem,9vw,7.2rem);font-weight:500;line-height:.96;display:flex}.app-splash-name span[data-v-0d601f99]:last-child{color:#0b1f306b}.app-splash-meta[data-v-0d601f99]{grid-area:1/2;align-self:end;padding-bottom:.18em}.app-splash-count[data-v-0d601f99]{letter-spacing:-.07em;color:var(--color-text,#0b1f30);opacity:.14;font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,6vw,4.6rem);font-weight:500;line-height:.8;display:block}.app-splash-rail[data-v-0d601f99]{grid-area:2/1/auto/-1}.app-splash-line[data-v-0d601f99]{background:#0b1f3024;width:100%;height:1px;display:block;position:relative}.app-splash-pill[data-v-0d601f99]{background:var(--color-text,#0b1f30);will-change:left,transform;border-radius:999px;width:2.2rem;height:2.5px;transition:none;position:absolute;top:-1px}.app-splash-count[data-v-0d601f99],.app-splash-name[data-v-0d601f99],.app-splash-rail[data-v-0d601f99]{animation:.85s cubic-bezier(.16,1,.3,1) both splash-in-0d601f99}.app-splash-count[data-v-0d601f99]{animation-delay:80ms}.app-splash-rail[data-v-0d601f99]{animation-delay:.16s}.app-splash--exit .app-splash-count[data-v-0d601f99],.app-splash--exit .app-splash-name[data-v-0d601f99],.app-splash--exit .app-splash-rail[data-v-0d601f99]{animation:.5s forwards splash-out-0d601f99}.splash-leave-active[data-v-0d601f99]{transition:opacity .55s}.splash-leave-to[data-v-0d601f99]{opacity:0}@keyframes splash-in-0d601f99{0%{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:translateZ(0)}}@keyframes splash-out-0d601f99{to{opacity:0;transform:translateY(-.35rem)}}@media (width<=640px){.app-splash[data-v-0d601f99]{padding-bottom:18vh}.app-splash-frame[data-v-0d601f99]{row-gap:1.1rem}.app-splash-name[data-v-0d601f99]{font-size:clamp(2.6rem,14vw,3.6rem)}.app-splash-count[data-v-0d601f99]{font-size:clamp(1.8rem,10vw,2.6rem)}}@media (prefers-reduced-motion:reduce){.app-splash--exit .app-splash-count[data-v-0d601f99],.app-splash--exit .app-splash-name[data-v-0d601f99],.app-splash--exit .app-splash-rail[data-v-0d601f99],.app-splash-count[data-v-0d601f99],.app-splash-name[data-v-0d601f99],.app-splash-rail[data-v-0d601f99]{animation:none}.app-splash-pill[data-v-0d601f99]{will-change:auto}.splash-leave-active[data-v-0d601f99]{transition-duration:.12s}}
