@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5fefd80b57937013.1mwuiyb8ak-kd.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c4c21e4d4b578e42.31jp97rt9sil8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Big Shoulders;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/55cb69ad17a100ed.p.2l41_ldkjomdb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.big_shoulders_6b8fab28-module__XverEG__className{font-family:Big Shoulders;font-style:normal}.big_shoulders_6b8fab28-module__XverEG__variable{--font-display:"Big Shoulders"}
@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.1gyfqm5yhhzs7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.357dd_6abeqge.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.17-aodiw50953.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_e5118b02-module__qKgs2q__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_e5118b02-module__qKgs2q__variable{--font-body:"Archivo", "Archivo Fallback"}
:root{--paper:#fff;--paper-raised:#f7f5f1;--ink:#15130f;--ink-soft:#6b6558;--line:#15130f1f;--accent:#b5502e;--accent-soft:#b5502e1f;--scrim-1:#1211102e;--scrim-2:#121110a8}:root[data-theme=dark]{--paper:#121110;--paper-raised:#1b1917;--ink:#f2eee6;--ink-soft:#a79e8e;--line:#f2eee629;--accent:#d2703f;--accent-soft:#d2703f29;--scrim-1:#0000004d;--scrim-2:#000000b3}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body), -apple-system, "Helvetica Neue", Arial, sans-serif;min-height:100dvh;transition:background .25s,color .25s;overflow-x:hidden}body.locked{height:100dvh;overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.display{font-family:var(--font-display), "Helvetica Neue", Arial, sans-serif;font-variation-settings:"opsz" 72;letter-spacing:-.01em;text-wrap:balance;font-weight:700}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace}.topnav{z-index:40;justify-content:space-between;align-items:center;padding:1.5rem clamp(1.25rem,4vw,3rem);display:flex;position:fixed;inset:0 0 auto}.brand-lockup{align-items:center;gap:.7rem;display:flex}.brand-mark{filter:none;transition:filter .25s}:root[data-theme=dark] .brand-mark{filter:invert()}.brand-mark-icon{width:auto;height:1.35rem}.brand-wordmark{width:auto;height:.85rem}.nav-right{align-items:center;gap:1.6rem;display:flex}.nav-link{letter-spacing:.08em;text-transform:uppercase;opacity:.85;font-size:.78rem}.nav-link:hover{opacity:1}.theme-toggle{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;display:flex}.index-rail{z-index:35;flex-direction:column;align-items:flex-end;gap:.85rem;display:flex;position:fixed;top:50%;right:clamp(.8rem,2.5vw,2.2rem);transform:translateY(-50%)}.index-dot{color:var(--ink-soft);letter-spacing:.05em;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;font-size:.68rem;display:flex}.index-dot .tick{background:var(--line);width:14px;height:1px;transition:all .25s;display:block}.index-dot.active{color:var(--accent)}.index-dot.active .tick{background:var(--accent);width:26px}.rail{scroll-snap-type:y mandatory;scrollbar-width:none;height:100dvh;overflow-y:auto}.rail::-webkit-scrollbar{display:none}.frame{scroll-snap-align:center;will-change:transform, opacity;align-items:flex-end;width:100%;height:100dvh;padding:clamp(1.5rem,5vw,4rem);display:flex;position:relative}.frame-canvas-wrap{box-shadow:0 1px 0 var(--line);border-radius:2px;position:absolute;inset:clamp(.6rem,2vw,1.4rem);overflow:hidden}.frame-canvas-wrap canvas{width:100%;height:100%;display:block}.frame-scrim{background:linear-gradient(180deg, var(--scrim-1) 0%, #0000 32%, #0000 55%, var(--scrim-2) 100%);position:absolute;inset:0}.frame-body{z-index:2;color:#f2eee6;max-width:52rem;position:relative}.frame-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#d8d2c4;margin:0 0 .9rem;font-size:.72rem}.frame-title{color:#f7f4ec;margin:0 0 .6rem;font-size:clamp(2.4rem,7vw,6rem);line-height:.98}.frame-title-lg{font-size:clamp(2.6rem,8vw,7rem)}.frame-meta{color:#d8d2c4;letter-spacing:.02em;gap:1.1rem;font-size:.82rem;display:flex}.frame-meta span:not(:last-child):after{content:"·";color:#8b8578;margin-left:1.1rem}.frame-cta{z-index:2;color:#f2eee6;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.76rem;display:flex;position:absolute;bottom:clamp(1.7rem,5vw,4.2rem);right:clamp(1.5rem,5vw,4rem)}.frame-cta .ring{border:1px solid #f2eee68c;border-radius:50%;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;transition:transform .3s,background .3s;display:flex}.frame:hover .frame-cta .ring{background:#f2eee61f;transform:scale(1.08)}.frame-tag{z-index:2;letter-spacing:.14em;text-transform:uppercase;color:#f2eee68c;border:1px solid #f2eee64d;border-radius:99px;padding:.25rem .55rem;font-size:.62rem;position:absolute;top:clamp(1.6rem,5vw,3.2rem);right:clamp(1.9rem,6vw,4.6rem)}.frame-btn{z-index:3;cursor:pointer;display:block;position:absolute;inset:clamp(.6rem,2vw,1.4rem)}.scroll-cue{z-index:2;color:#f2eee6;letter-spacing:.14em;text-transform:uppercase;opacity:.8;align-items:center;gap:.6rem;font-size:.68rem;display:flex;position:absolute;bottom:clamp(1.7rem,5vw,4.2rem);left:clamp(1.5rem,5vw,4rem)}.scroll-cue .bar{background:#f2eee680;width:1px;height:26px;display:block;position:relative;overflow:hidden}.scroll-cue .bar:after{content:"";background:#f2eee6;width:100%;height:100%;animation:1.8s ease-in-out infinite cueSlide;position:absolute;top:-100%;left:0}@keyframes cueSlide{to{top:100%}}.wip-badge{z-index:36;letter-spacing:.06em;color:var(--ink-soft);opacity:.7;max-width:22rem;font-size:.66rem;position:fixed;bottom:1.4rem;left:clamp(1.25rem,4vw,3rem)}.project-page{background:var(--paper);animation:.55s cubic-bezier(.65,0,.2,1) revealUp}@keyframes revealUp{0%{opacity:0;transform:translateY(3%)}to{opacity:1;transform:translateY(0)}}.project-scroller{scroll-snap-type:y mandatory;scrollbar-width:none;height:100dvh;overflow-y:auto}.project-scroller::-webkit-scrollbar{display:none}.slide{scroll-snap-align:start;align-items:flex-end;width:100%;height:100dvh;display:flex;position:relative}.slide .frame-canvas-wrap{border-radius:0;inset:0}.slide-hero-title{z-index:2;color:#f7f4ec;max-width:56rem;padding:clamp(1.5rem,5vw,4rem);position:relative}.slide-muted .frame-scrim{background:#0a090885}.slide-muted .frame-canvas-wrap canvas{filter:grayscale(35%)brightness(.55)}.desc-panel{z-index:2;color:#f2eee6;max-width:34rem;margin:clamp(1.5rem,5vw,4rem);position:relative}.desc-panel p{color:#ede8dd;margin:0 0 1.2rem;font-size:1.05rem;line-height:1.65}.desc-panel .specs{color:#c9c2b2;grid-template-columns:auto auto;gap:.35rem 1.4rem;font-size:.78rem;display:grid}.desc-panel .specs dt{color:#8b8578;letter-spacing:.06em;text-transform:uppercase}.desc-panel .specs dd{margin:0}.gallery-caption{z-index:2;color:#f2eee6;padding:clamp(1.5rem,5vw,4rem);position:relative}.gallery-caption .num{color:var(--accent-soft);font-size:.8rem}.gallery-caption .cap{color:#f7f4ec;margin-top:.35rem;font-size:1.1rem}.overlay-chrome{z-index:65;pointer-events:none;position:fixed;inset:0}.overlay-chrome *{pointer-events:auto}.back-btn{color:#f2eee6;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.78rem;display:flex;position:absolute;top:1.5rem;left:clamp(1.25rem,4vw,3rem)}.back-btn .ring{border:1px solid #f2eee68c;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;display:flex}.slide-counter{color:#f2eee6;letter-spacing:.04em;font-size:.78rem;position:absolute;top:1.7rem;right:clamp(1.25rem,4vw,3rem)}.progress-rail{flex-direction:column;gap:5px;display:flex;position:absolute;top:50%;right:clamp(.9rem,3vw,2.4rem);transform:translateY(-50%)}.progress-rail i{background:#f2eee647;border-radius:3px;width:5px;height:22px;font-style:normal;transition:background .3s;display:block}.progress-rail i.on{background:#f2eee6}.content-page{flex-direction:column;justify-content:center;max-width:46rem;min-height:100dvh;padding:clamp(1.5rem,5vw,4rem);display:flex}.content-page p{color:var(--ink-soft);font-size:1.1rem;line-height:1.7}@media (prefers-reduced-motion:reduce){.frame,.progress-rail i,.project-page{transition:none!important;animation:none!important}.scroll-cue .bar:after{animation:none}}@media (max-width:640px){.index-rail{display:none}.frame-meta span:not(:last-child):after{margin-left:.8rem}.topnav{padding:1rem 1.1rem}.brand-wordmark{display:none}.brand-mark-icon{height:1.5rem}.nav-right{gap:.8rem}.nav-link{display:none}.frame-tag{padding:.2rem .45rem;font-size:.56rem;top:4.6rem;right:1.1rem}.frame-cta{gap:.45rem;font-size:.66rem;bottom:1.1rem;right:1.1rem}.frame-cta .ring{width:2.1rem;height:2.1rem}.frame-body{max-width:60%}.wip-badge,.cta-label{display:none}}
