@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Playfair+Display:ital,wght@1,400;1,500&display=swap");:root{--black:#000000;--white:#ffffff;--ink:#f4f4f2;--ink-dim:#5e5e5e;--ink-far:#2a2a2a;--paper:#f3f2ef;--on-pap:#0a0a0a;--pap-dim:#9a988f;--pap-line:rgba(10,10,10,0.14);--on-rgb:255,255,255;--shadow-rgb:0,0,0;--scrim:rgba(0,0,0,0.72);--err:rgba(220,90,90,1);--err-line:rgba(220,60,60,0.7);--bg-tech:#0e0e0e;--bg-work:#1c000d;--bg-how:#090909;--bg-vault:#0c0c0c;--bg-contact:#1c000d;--surface:#0a0a0a;--surface-high:#0c0c0c;--surface-pop:#111111;--glass:rgba(140,140,140,0.14);--glass-line:rgba(255,255,255,0.14);--glass-alt:rgba(10,10,10,0.06);--glass-alt-line:rgba(10,10,10,0.12);--font:"Archivo",system-ui,-apple-system,sans-serif;--maxw:100%;--gut:clamp(24px,4.5vw,120px);--ease:cubic-bezier(0.22,1,0.36,1);--ease-out:cubic-bezier(0.16,1,0.3,1)}:root[data-theme=light]{--black:#f3f2ef;--ink:#12120f;--ink-dim:#5c5a53;--ink-far:#dcdad3;--paper:#0e0e0e;--on-pap:#f4f4f2;--pap-dim:#6e6c66;--pap-line:rgba(244,244,242,0.16);--on-rgb:18,18,15;--shadow-rgb:90,86,78;--scrim:rgba(28,26,22,0.55);--err:rgba(168,38,38,1);--err-line:rgba(190,60,60,0.75);--bg-tech:#eceae4;--bg-work:#f7e8ed;--bg-how:#f0eee8;--bg-vault:#eeece6;--bg-contact:#f7e8ed;--surface:#ffffff;--surface-high:#ffffff;--surface-pop:#ffffff;--glass:rgba(255,255,255,0.55);--glass-line:rgba(10,10,10,0.10);--glass-alt:rgba(255,255,255,0.10);--glass-alt-line:rgba(255,255,255,0.16)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,html{background:var(--black);overflow-x:clip;overscroll-behavior-x:none}body{color:var(--ink);font-family:var(--font);font-weight:400;line-height:1.5;touch-action:pan-y pinch-zoom}::-moz-selection{background:var(--ink);color:var(--black)}::selection{background:var(--ink);color:var(--black)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}#smooth{width:100%;overflow-x:clip}.section{position:relative;min-height:100svh}.section--dark{background:var(--black);color:var(--ink)}.section--light{background:var(--paper);color:var(--on-pap)}#smooth #top{position:sticky;top:0;z-index:1}#smooth #tech{z-index:2}#smooth #about,#smooth #tech{position:sticky;top:0;border-radius:32px 32px 0 0;overflow:hidden}#smooth #about{z-index:3}#smooth #how{position:relative;z-index:4;border-radius:0}#smooth #how .how__pin,#smooth #more{position:sticky;top:0}#smooth #more{z-index:5;border-radius:32px 32px 0 0;overflow:hidden}#tech{background:var(--bg-tech)}#work{background:var(--bg-work)}#how{background:var(--bg-how)}#vault{background:var(--bg-vault)}#contact{background:var(--bg-contact)}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.sec-inner{will-change:transform,clip-path,filter}@media (max-width:760px){.sec-inner{will-change:transform}}.section[data-scroll="1"]{padding-bottom:clamp(180px,42vh,420px)}@media (max-width:760px){.section[data-scroll="1"]{padding-bottom:clamp(100px,20vh,200px)}}.pill{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:nowrap;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:8px 15px;border-radius:100px;border:1px solid;opacity:.92}.section--dark .pill{border-color:var(--ink-far);color:var(--ink-dim)}.section--light .pill{border-color:var(--pap-line);color:var(--pap-dim)}.h-display{font-weight:800;letter-spacing:-.025em;line-height:.98}.h-section{font-weight:800;letter-spacing:-.02em;line-height:1}.tnum{font-weight:800;letter-spacing:-.03em}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:.02em}.twotone .lead{color:inherit}.section--dark .twotone .rest{color:var(--ink-dim)}.section--light .twotone .rest{color:var(--pap-dim)}.atitle{display:inline}.atitle .aword{display:inline-block;vertical-align:top}.atitle .aword__in{display:inline-block;will-change:transform,opacity,filter}.atitle .aword--dim .aword__in{color:var(--ink-dim)}.section--light .atitle .aword--dim .aword__in{color:var(--pap-dim)}.atitle:not(.in) .aword__in{opacity:0}.atitle[data-anim=rise] .aword{overflow:hidden;padding-bottom:.16em}.atitle[data-anim=rise].in .aword__in{animation:tRise .95s var(--ease-out) both;animation-delay:var(--wd,0s)}@keyframes tRise{0%{transform:translateY(118%)}to{transform:translateY(0)}}.atitle[data-anim=fade].in .aword__in{animation:tFade .85s var(--ease-out) both;animation-delay:var(--wd,0s)}@keyframes tFade{0%{opacity:0;transform:translateY(.42em)}to{opacity:1;transform:none}}.atitle[data-anim=blur].in .aword__in{animation:tBlur .9s var(--ease-out) both;animation-delay:var(--wd,0s)}@keyframes tBlur{0%{opacity:0;filter:blur(18px);transform:translateY(.1em)}to{opacity:1;filter:blur(0);transform:none}}.atitle[data-anim=wipe].in .aword__in{animation:tWipe .8s var(--ease-out) both;animation-delay:var(--wd,0s)}@keyframes tWipe{0%{clip-path:inset(0 100% -.18em 0)}to{clip-path:inset(0 0 -.18em 0)}}.aword__in--em,.styword--em{font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:400;font-size:1.06em;letter-spacing:.005em}.styline{display:inline-block;transform-origin:left center;will-change:transform}.styline .styword{display:inline-block;will-change:opacity,transform,filter}.styline[data-scrolltype=reveal] .styword{opacity:.22}.styline[data-scrolltype=blur] .styword{opacity:.2;filter:blur(7px)}.styline[data-scrolltype=rise] .styword{opacity:0;transform:translateY(22px)}.reveal{opacity:0;transform:translateY(30px)}.reveal.in{opacity:1;transform:none;transition:opacity 1s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:var(--d,0s)}html.reveal-fallback .reveal{opacity:1!important;transform:none!important;transition:none!important}html.reveal-fallback .sc__fade{animation:none!important;opacity:1!important}.mask{display:block;overflow:hidden;padding-bottom:.04em}.mask>span{display:block;transform:translateY(108%)}.mask.in>span{transform:translateY(0);transition:transform 1.05s var(--ease-out);transition-delay:var(--d,0s)}.ul{position:relative;display:inline-block}.ul:after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}.ul:hover:after{transform:scaleX(1)}.nav{position:fixed;top:calc(18px + env(safe-area-inset-top, 0px));left:0;right:0;z-index:200;display:flex;justify-content:center;pointer-events:none}.nav__bar{pointer-events:auto;display:flex;align-items:center;gap:clamp(14px,2.4vw,40px);padding:11px 14px 11px 22px;border-radius:100px;background:var(--glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--glass-line);transition:background .5s var(--ease),border-color .5s var(--ease)}.nav__links{display:flex;gap:clamp(14px,2.2vw,34px)}.nav__links a{font-size:14px;font-weight:500;letter-spacing:.01em;color:var(--ink);opacity:.55;transition:opacity .3s var(--ease),color .4s var(--ease);position:relative;padding-bottom:1px}.nav__links a:hover{opacity:.85}.nav__links a.is-active{opacity:1}.nav__links a.is-active:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:currentColor}.nav__mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:13px;letter-spacing:-.02em;background:var(--ink);color:var(--black);margin-right:4px;transition:background .4s var(--ease),color .4s var(--ease);flex-shrink:0}.nav.is-light .nav__bar{background:var(--glass-alt);border-color:var(--glass-alt-line)}.nav.is-light .nav__links a{color:var(--on-pap)}.nav.is-light .nav__mark{background:var(--on-pap);color:var(--paper)}.nav__theme{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--ink);opacity:.6;flex-shrink:0;transition:opacity .3s var(--ease),background .3s var(--ease),color .4s var(--ease)}.nav__theme:hover{opacity:1;background:rgba(var(--on-rgb),.1)}.nav__theme:focus-visible{outline:2px solid currentColor;outline-offset:2px;opacity:1}.nav.is-light .nav__theme{color:var(--on-pap)}.nav__theme-icon{display:grid;place-items:center;opacity:0;transition:opacity .25s var(--ease)}.nav__theme-icon[data-ready]{opacity:1}@media (max-width:400px){.nav__theme{width:28px;height:28px}}@media (max-width:560px){.nav__links{gap:16px}.nav__links a{font-size:13px}}@media (max-width:400px){.nav__bar{gap:10px;padding:9px 11px 9px 12px}.nav__links{gap:11px}.nav__links a{font-size:12.5px}.nav__mark{width:30px;height:30px;font-size:12px;margin-right:0}}@media (max-width:360px){.nav__bar{gap:7px;padding:8px 9px}.nav__links{gap:8px}.nav__links a{font-size:11.5px;letter-spacing:-.01em}.nav__mark{width:25px;height:25px;font-size:10.5px;border-radius:8px}.nav__theme{width:23px;height:23px}.nav__theme svg{width:15px;height:15px}}.cta-fab{position:fixed;right:calc(clamp(16px,3vw,40px) + env(safe-area-inset-right, 0px));bottom:calc(clamp(16px,3vw,40px) + env(safe-area-inset-bottom, 0px));z-index:200;display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border-radius:100px;background:var(--ink);color:var(--black);font-size:14px;font-weight:600;letter-spacing:.01em;box-shadow:0 10px 40px rgba(var(--shadow-rgb),.4);transition:transform .4s var(--ease),background .4s var(--ease),color .4s var(--ease),opacity .35s var(--ease);white-space:nowrap}.cta-fab:hover{transform:translateY(-3px)}.cta-fab.is-hidden{opacity:0;pointer-events:none;transform:translateY(10px)}.cta-fab__dot{width:7px;height:7px;border-radius:50%;background:var(--black);transition:background .4s var(--ease)}.cta-fab.is-light{background:var(--on-pap);color:var(--paper)}.cta-fab.is-light .cta-fab__dot{background:var(--paper)}@media (max-width:560px){.cta-fab{padding:12px 18px;font-size:13px}}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:130px clamp(40px,8vh,90px)}.hero__label{margin-bottom:clamp(26px,4vh,42px)}.hero__title{font-size:clamp(40px,6.6vw,150px);max-width:28ch}.hero__foot{width:100%;display:flex;flex-wrap:wrap;gap:26px 70px;align-items:flex-end;justify-content:space-between;margin-top:clamp(40px,7vh,84px)}.hero__meta{display:flex;gap:clamp(28px,4vw,56px)}.hero__meta div{display:flex;flex-direction:column;gap:6px;white-space:nowrap}.hero__meta .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.hero__meta .v{font-size:15px;color:var(--ink)}.scrollcue{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(24px,4vh,46px);display:flex;flex-direction:column;align-items:center;gap:10px}.scrollcue span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}.scrollcue i{width:1px;height:40px;background:var(--ink-far);position:relative;overflow:hidden;display:block}.scrollcue i:after{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(-100%);animation:cue 2.3s var(--ease) infinite}@keyframes cue{0%{transform:translateY(-100%)}55%,to{transform:translateY(100%)}}@media (max-width:640px){.scrollcue{display:none}}.sec{padding-block:clamp(90px,15vh,220px)}.sec__label{margin-bottom:clamp(26px,4vh,46px)}.sec__title{font-size:clamp(34px,5.4vw,124px);max-width:26ch}.work__head{margin-bottom:clamp(50px,9vh,120px)}.sc{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(30px,5vw,80px);align-items:center;margin-top:clamp(40px,7vh,90px)}.sc__info{min-width:0}.sc__fade{animation:scfade .8s var(--ease-out) both}@keyframes scfade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.sc__count{font-size:12px;letter-spacing:.14em;color:var(--ink-dim)}.sc__name{font-size:clamp(40px,5vw,110px);line-height:.94;margin:16px 0 22px}.sc__name-link{color:inherit;transition:opacity .35s var(--ease)}.sc__name-link:hover{opacity:.58}.sc__line{font-size:clamp(15px,1.35vw,22px);color:var(--ink-dim);line-height:1.55;max-width:38ch}.sc__screen{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:clamp(22px,3vh,32px);padding-top:18px;border-top:1px solid var(--ink-far)}.sc__screen-nm{font-size:16px;font-weight:600;color:var(--ink)}.sc__url{font-size:13px;color:var(--ink-dim);letter-spacing:.01em;transition:color .35s var(--ease);min-width:0;overflow-wrap:anywhere}.sc__url:hover{color:var(--ink)}.project__tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(22px,3vh,30px)}.project__tags li{font-size:12px;color:var(--ink-dim);letter-spacing:.02em;border:1px solid var(--ink-far);border-radius:100px;padding:7px 14px}.sc__arrows{display:flex;gap:10px;margin-top:clamp(24px,3.5vh,36px)}.sc__arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--ink-far);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform .2s var(--ease);flex-shrink:0}.sc__arrow:hover{background:var(--ink);color:var(--black);border-color:var(--ink);transform:scale(1.08)}.sc__arrow:active{transform:scale(.95)}.sc__stage{min-width:0}.device-frame__outer{background:#1c1c1e;border-radius:14px;padding:14px 14px 6px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 80px rgba(var(--shadow-rgb),.7)}.device-frame__screen{border-radius:5px;overflow:hidden;background:#000;aspect-ratio:16/10;position:relative}.device-frame__slide{position:absolute;inset:0;transition:opacity .6s var(--ease)}.device-frame__slide img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;display:block}.device-frame__base{height:10px;background:#141414;border-radius:0 0 10px 10px}.device-frame__foot{height:4px;background:#0a0a0a;border-radius:0 0 4px 4px;width:50%;margin:0 auto}.bars{display:flex;gap:10px;justify-content:center;margin-top:clamp(4px,.8vh,10px)}.bar{position:relative;flex:1 1 0;max-width:96px;height:28px;padding:0;background:none;cursor:pointer}.bar:before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;background:rgba(var(--on-rgb),.14);transition:background .3s var(--ease)}.bar:hover:before{background:rgba(var(--on-rgb),.24)}.bar__fill{position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;transform-origin:left;transform:scaleX(0);background:var(--ink)}.bar.is-done .bar__fill{transform:scaleX(1);opacity:.55}.bar.is-active .bar__fill{animation:barfill var(--dur) linear forwards}@keyframes barfill{0%{transform:scaleX(0);opacity:.5}to{transform:scaleX(1);opacity:1}}.phone-frame{display:none;width:min(272px,72vw);margin-inline:auto;background:#1c1c1e;border-radius:40px;padding:10px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 24px 60px rgba(var(--shadow-rgb),.6)}.phone-frame__screen{position:relative;overflow:hidden;border-radius:30px;background:#000;aspect-ratio:720/1538}@media (max-width:820px){.sc{grid-template-columns:1fr;gap:clamp(24px,4vh,40px)}.sc__info{order:2}.bars{justify-content:flex-start}.sc__stage--phone .device-frame__outer{display:none}.sc__stage--phone .phone-frame{display:block}.sc__stage--phone .bars{justify-content:center}}.about__statement{font-size:clamp(32px,5.2vw,120px);max-width:24ch}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,96px);margin-top:clamp(48px,9vh,110px);align-items:start}.about__body p{font-size:clamp(15px,1.3vw,22px);color:#4a4944;line-height:1.62;max-width:42ch}.about__body p+p{margin-top:32px}.about__stats{display:flex;gap:clamp(34px,6vw,90px);margin-top:clamp(40px,7vh,72px);flex-wrap:wrap}.about__stats .k{font-size:clamp(46px,6vw,96px);line-height:.9;white-space:nowrap}.about__stats .v{font-size:13px;color:var(--pap-dim);margin-top:10px;max-width:18ch}.svc{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--pap-line)}.svc:first-child{border-top:1px solid var(--pap-line)}.svc--head .svc__nm,.svc--head .svc__no{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--pap-dim)}.svc__nm{font-size:clamp(18px,1.7vw,24px);font-weight:600;letter-spacing:-.01em;white-space:nowrap}.svc__no{font-size:12px;color:var(--pap-dim);letter-spacing:.1em}@media (max-width:720px){.about__grid{grid-template-columns:1fr}}#tech.sec{padding-block:clamp(76px,10.5vh,180px)}.tech__head{display:flex;flex-direction:column;gap:clamp(14px,2vh,24px);padding-bottom:clamp(26px,4.4vh,66px)}.tech__headline{font-size:clamp(28px,3.6vw,84px);max-width:26ch}.tech__rows{width:100%;border-top:1px solid var(--ink-far)}.tech__row{display:flex;align-items:flex-start;gap:clamp(24px,4vw,64px);padding:clamp(12px,1.7vh,22px) var(--gut);border-bottom:1px solid var(--ink-far);transition:background .22s}.tech__row:hover{background:rgba(var(--on-rgb),.03)}.tech__row-cat{flex:0 0 clamp(90px,12vw,160px);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);padding-top:.55em}.tech__row-body{flex:1}.tech__row-items{display:flex;flex-wrap:wrap;gap:6px clamp(20px,2.5vw,36px)}.tech__flip,.tech__flip-wrap{display:inline-block;position:relative}.tech__flip{transform-style:preserve-3d;transform:perspective(500px);transition:transform .42s cubic-bezier(.4,0,.2,1);cursor:default}.tech__flip-front{display:block}.tech__flip-back,.tech__flip-front{backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:opacity .18s}.tech__flip-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotateX(180deg) translateZ(.1px);opacity:0}.tech__flip-wrap.is-open .tech__flip{transform:perspective(500px) rotateX(180deg)}.tech__flip-wrap.is-open .tech__flip-front{opacity:0}.tech__flip-wrap.is-open .tech__flip-back{opacity:1}.tech__flip-back img{width:clamp(22px,2vw,30px);height:auto}:root[data-theme=light] .tech__flip-back img{filter:invert(1)}.tech__item{font-size:clamp(22px,2.2vw,34px);font-weight:500;letter-spacing:-.01em;color:var(--ink);line-height:1.25}.tech__item-projs{position:absolute;bottom:calc(100% + 10px);left:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;background:var(--surface-pop);border:1px solid rgba(var(--on-rgb),.18);border-radius:10px;padding:10px 14px;white-space:nowrap;z-index:200;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.tech__item-projs.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.tech__projs-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}.tech__proj-link{font-size:13px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--ink-far);padding-bottom:1px;transition:border-color .15s}.tech__proj-link:hover{border-color:var(--ink)}.tech__flip-fallback{font-size:clamp(14px,1.2vw,18px);color:var(--ink)}@media (max-width:600px){.tech__row{flex-direction:column;gap:8px}.tech__row-cat{padding-top:0;flex:0 0 auto}.tech__item{font-size:clamp(20px,6vw,28px)}.tech__flip-wrap{position:static}.tech__row-body{position:relative}.tech__item-projs{left:0;right:0;top:calc(100% + 8px);bottom:auto;white-space:normal}}.how,.how__pin{position:relative}.how__pin{height:100vh;min-height:560px;width:100%;display:flex;flex-direction:column;justify-content:center;overflow:hidden;will-change:transform}.how__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-inline:var(--gut);margin-bottom:clamp(28px,5vh,60px)}.how__head-l{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(16px,2.5vh,24px);min-width:0}.how__title{font-size:clamp(32px,5vw,110px);max-width:20ch}.how__hint{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap;padding-bottom:6px}.how__hint-arrow{font-style:normal;display:inline-block;animation:hnudge 1.8s var(--ease) infinite}@keyframes hnudge{0%,to{transform:translateX(0)}50%{transform:translateX(7px)}}.how__viewport{width:100%;overflow:hidden}.how__track{display:flex;gap:clamp(18px,2.2vw,36px);width:-moz-max-content;width:max-content;padding-inline:var(--gut);will-change:transform}.how__card{flex:0 0 auto;width:max(340px,46vw)}.how__card-in{height:clamp(370px,58vh,545px);border:1px solid var(--ink-far);border-radius:22px;background:var(--surface);padding:clamp(32px,3.4vw,54px);display:flex;flex-direction:column;will-change:transform,opacity;transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}.how__card-in.is-active{background:linear-gradient(158deg,rgba(var(--on-rgb),.19),rgba(var(--on-rgb),.075));border-color:rgba(var(--on-rgb),.3);box-shadow:inset 0 1px 0 rgba(var(--on-rgb),.16),0 22px 56px rgba(var(--shadow-rgb),.5)}.how__num{font-size:clamp(44px,4.4vw,70px);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink-far);transition:color .3s var(--ease)}.how__card-in.is-active .how__num{color:rgba(var(--on-rgb),.34)}.how__t{font-size:clamp(24px,2.3vw,34px);font-weight:700;letter-spacing:-.01em;color:var(--ink);margin-top:clamp(22px,3.8vh,40px)}.how__d{font-size:clamp(16px,1.4vw,23px);line-height:1.55;color:var(--ink-dim);margin-top:18px;max-width:34ch}.how__bar{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(26px,5vh,52px);height:2px;background:rgba(var(--on-rgb),.12);border-radius:2px;overflow:hidden}.how__bar-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--ink)}@media (max-width:760px){#how{position:relative}.how{height:auto!important}#smooth #how .how__pin,.how__pin{position:static;height:auto;min-height:0;display:block;overflow:visible;padding-block:clamp(64px,11vh,110px) clamp(100px,20vh,200px);transform:none!important}.how__head{flex-direction:column;align-items:flex-start;margin-bottom:clamp(22px,3.5vh,34px)}.how__hint{display:none}.how__viewport{overflow:visible}.how__track{flex-direction:column;width:100%;gap:12px;transform:none!important}.how__card{width:100%}.how__card-in{height:auto;opacity:1!important;transform:none!important;padding:22px 20px 24px;border-radius:18px}.how__num{font-size:28px;line-height:1}.how__t{font-size:19px;margin-top:10px}.how__d{font-size:15px;margin-top:8px;max-width:none}.how__bar{display:none}}.contact__big{font-size:clamp(52px,12vw,280px);line-height:.9;display:block}.contact__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:26px 50px;margin-top:clamp(46px,8vh,90px);align-items:flex-end}.contact__links{display:flex;flex-direction:column;gap:12px}.contact__links a{font-size:clamp(17px,1.6vw,34px)}.contact__meta{display:flex;gap:40px}.contact__meta div{display:flex;flex-direction:column;gap:6px;white-space:nowrap}.contact__meta .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.contact__meta .v{font-size:14px;color:var(--ink)}.foot-rule{margin-top:clamp(50px,9vh,100px);padding-top:24px;border-top:1px solid var(--ink-far);display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--ink-dim);flex-wrap:wrap}.contact .sec-inner{min-height:100svh;display:flex;flex-direction:column;padding-block:clamp(90px,16vh,220px)}.contact .contact__foot{margin-top:auto}.vault__inner{min-height:100svh;display:flex;align-items:center;justify-content:center;padding-block:clamp(80px,12vh,140px)}.vault__locked{text-align:center;max-width:500px;width:100%}.vault__lock{display:inline-flex;margin-bottom:clamp(24px,4vh,40px);opacity:.4}.vault__head{font-size:clamp(24px,3vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:clamp(32px,5vh,52px)}.vault__form{display:flex;gap:10px}.vault__input{flex:1;min-width:0;background:rgba(var(--on-rgb),.05);border:1px solid rgba(var(--on-rgb),.14);border-radius:10px;padding:14px 18px;font:inherit;font-size:16px;color:var(--ink);outline:none;transition:border-color .2s}.vault__input:focus{border-color:rgba(var(--on-rgb),.35)}.vault--err .vault__input{border-color:var(--err-line)}.vault__btn{padding:14px 22px;background:var(--ink);color:var(--black);border-radius:10px;font:inherit;font-size:13px;font-weight:700;letter-spacing:.06em;cursor:pointer;white-space:nowrap;transition:opacity .2s}.vault__btn:hover{opacity:.8}.vault__errmsg{font-size:13px;color:var(--err);margin-top:12px;text-align:center}.vault--shake{animation:vshake .4s cubic-bezier(.36,.07,.19,.97)}@keyframes vshake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.vault__open{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,120px);align-items:start}.vault__label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:clamp(28px,4vh,44px);display:block}.vault__list{list-style:none;display:flex;flex-direction:column;gap:clamp(28px,4vh,40px)}.vault__item{border-top:1px solid var(--ink-far);padding-top:clamp(20px,3vh,28px)}.vault__it{display:block;font-size:clamp(16px,1.5vw,20px);font-weight:700;letter-spacing:-.01em;margin-bottom:8px}.vault__id{font-size:clamp(14px,1.1vw,16px);color:var(--ink-dim);line-height:1.6}.vault__col-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:clamp(28px,4vh,44px)}.vault__col-head .vault__label{margin-bottom:0}.vault__all{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--ink-far);border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink);white-space:nowrap;transition:border-color .22s var(--ease),background .22s var(--ease)}.vault__all:hover{border-color:rgba(var(--on-rgb),.3);background:rgba(var(--on-rgb),.06)}.vault__all:focus-visible{outline:2px solid currentColor;outline-offset:2px}.vault__all-icon{font-size:13px;opacity:.55}.vault__docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:10px;align-content:start}.vault__empty{font-size:14px;color:var(--ink-dim);line-height:1.6}.vault__card{display:grid;gap:6px;width:100%;text-align:left;padding:18px 20px;border:1px solid var(--ink-far);border-radius:14px;background:rgba(var(--on-rgb),.02);transition:border-color .22s var(--ease),background .22s var(--ease),transform .22s var(--ease)}.vault__card:hover{border-color:rgba(var(--on-rgb),.26);background:rgba(var(--on-rgb),.055);transform:translateY(-2px)}.vault__card:focus-visible{outline:2px solid rgba(var(--on-rgb),.55);outline-offset:3px}.vault__card-top{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.vault__card-kind{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.vault__card-grade{font-size:22px;font-weight:800;line-height:1}.vault__card-title{font-size:17px;font-weight:700;letter-spacing:-.01em}.vault__card-meta{font-size:13px;color:var(--ink-dim);line-height:1.5}.vault__card-cue{font-size:11px;letter-spacing:.1em;color:var(--ink-dim);opacity:0;transition:opacity .22s var(--ease)}.vault__card:focus-visible .vault__card-cue,.vault__card:hover .vault__card-cue{opacity:1}.vault__overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vh,48px) clamp(16px,4vw,48px);background:var(--scrim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:vfade .22s var(--ease-out) both}@keyframes vfade{0%{opacity:0}to{opacity:1}}.vault__sheet{position:relative;width:min(660px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--surface-high);border:1px solid rgba(var(--on-rgb),.16);border-radius:20px;padding:clamp(28px,4vw,44px);animation:vrise .3s var(--ease-out) both}@keyframes vrise{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.vault__close{position:absolute;top:14px;right:16px;width:36px;height:36px;border-radius:50%;font-size:24px;line-height:1;color:var(--ink-dim);transition:background .2s,color .2s}.vault__close:hover{background:rgba(var(--on-rgb),.08);color:var(--ink)}.vault__sheet-kind{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.vault__sheet-title{font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-top:10px}.vault__sheet-meta{font-size:14px;color:var(--ink-dim);margin-top:8px}.vault__sheet-grade{display:flex;align-items:baseline;gap:12px;margin-top:clamp(20px,3vh,28px);padding-block:16px;border-block:1px solid var(--ink-far)}.vault__sheet-num{font-size:clamp(38px,4.5vw,54px);font-weight:800;line-height:1}.vault__sheet-lab{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.vault__sheet-sum{font-size:15px;line-height:1.65;color:var(--ink-dim);margin-top:clamp(18px,2.5vh,24px)}.vault__sheet-note{font-size:15px;line-height:1.6;font-style:italic;color:var(--ink);margin-top:18px;padding-left:16px;border-left:2px solid rgba(var(--on-rgb),.22)}.vault__grp{margin-top:clamp(24px,3.5vh,34px)}.vault__grp-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:12px}.vault__grades{list-style:none;display:flex;flex-direction:column}.vault__grade-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid rgba(var(--on-rgb),.07);font-size:14px}.vault__grade-row:last-child{border-bottom:0}.vault__grade-k{color:var(--ink-dim);line-height:1.45}.vault__grade-v{font-weight:700;flex-shrink:0}.vault__get{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(26px,4vh,36px);padding:14px 22px;background:var(--ink);color:var(--black);border-radius:10px;font-size:13px;font-weight:700;letter-spacing:.06em;transition:opacity .2s}.vault__get:hover{opacity:.82}.vault__get-arrow{font-size:15px}@media (max-width:760px){.vault__open{grid-template-columns:1fr;gap:clamp(40px,8vh,60px)}.vault__form{flex-direction:column}.vault__card-cue{opacity:1}.vault__sheet{border-radius:16px}}.cs-hero{padding-block:clamp(120px,18vh,200px) clamp(52px,8vh,90px);border-bottom:1px solid var(--ink-far)}.cs-title{font-size:clamp(52px,8vw,180px);font-weight:800;letter-spacing:-.03em;line-height:.92;margin:clamp(18px,2.5vh,28px) 0 clamp(16px,2.5vh,24px)}.cs-tagline{font-size:clamp(15px,1.5vw,25px);color:var(--ink-dim);line-height:1.55;max-width:54ch}.cs-meta{display:flex;flex-wrap:wrap;gap:8px 40px;margin-top:clamp(28px,4vh,44px)}.cs-meta-item{display:flex;flex-direction:column;gap:5px}.cs-meta-item .k{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}.cs-meta-item .v{font-size:14px;font-weight:500;color:var(--ink)}.cs-screenshot-hero{background:#060606;padding:clamp(28px,5vw,64px) var(--gut)}.cs-screenshot-hero,.cs-stats-row{border-bottom:1px solid var(--ink-far)}.cs-stats-row{display:grid;grid-template-columns:repeat(3,1fr)}.cs-stat{padding:clamp(28px,5vh,52px) var(--gut);border-right:1px solid var(--ink-far)}.cs-stat:last-child{border-right:none}.cs-stat__k{font-size:clamp(44px,6vw,86px);font-weight:800;letter-spacing:-.03em;line-height:1}.cs-stat__v{font-size:13px;color:var(--ink-dim);margin-top:10px;letter-spacing:.01em}.cs-body{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.cs-overview{font-size:clamp(16px,1.5vw,24px);color:var(--ink-dim);line-height:1.7;max-width:62ch}.cs-tags-row{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(22px,3vh,32px)}.cs-tags-row li{font-size:12px;color:var(--ink-dim);letter-spacing:.02em;border:1px solid var(--ink-far);border-radius:100px;padding:7px 14px}.cs-section{display:grid;grid-template-columns:clamp(120px,16%,220px) 1fr;gap:clamp(28px,5vw,80px);align-items:start}.cs-section__label{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);padding-top:.35em;position:sticky;top:clamp(72px,9vh,100px)}.cs-section__body{min-width:0}.cs-section__h{font-size:clamp(22px,2.6vw,38px);font-weight:800;letter-spacing:-.022em;line-height:1.08;margin-bottom:clamp(18px,2.8vh,28px)}.cs-body-p{font-size:clamp(15px,1.3vw,20px);color:var(--ink-dim);line-height:1.72;max-width:76ch}.cs-body-p+.cs-body-p{margin-top:18px}.cs-items{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.5vw,36px);margin-top:clamp(28px,4vh,44px)}.cs-item{border-top:1px solid var(--ink-far);padding-top:clamp(18px,2.5vh,24px)}.cs-item__t{font-size:clamp(15px,1.4vw,19px);font-weight:700;letter-spacing:-.01em;margin-bottom:10px;color:var(--ink)}.cs-item__d{font-size:clamp(13px,1.1vw,15px);color:var(--ink-dim);line-height:1.68}.cs-shots{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.5vw,36px);margin-top:clamp(28px,4vh,44px)}.cs-shot-fig{margin:0}.cs-shot-caption{font-size:12px;color:var(--ink-dim);letter-spacing:.04em;margin-top:12px}.cs-learned{list-style:none;display:flex;flex-direction:column;gap:18px;margin-top:clamp(24px,3.5vh,36px)}.cs-learned li{display:grid;grid-template-columns:18px 1fr;gap:12px;font-size:clamp(14px,1.2vw,17px);color:var(--ink-dim);line-height:1.68}.cs-learned li:before{content:"—";color:var(--ink-far)}.sc__cs-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);text-decoration:none;transition:color .25s var(--ease);margin-top:clamp(16px,2.5vh,24px)}.sc__cs-link:hover{color:var(--ink)}@media (max-width:760px){.cs-section{grid-template-columns:1fr;gap:10px}.cs-section__label{position:static}.cs-stats-row{grid-template-columns:1fr}.cs-stat{border-right:none;border-bottom:1px solid var(--ink-far)}.cs-stat:last-child{border-bottom:none}.cs-items,.cs-shots{grid-template-columns:1fr}}.proj{display:grid;grid-template-columns:clamp(40px,6vw,90px) 1fr;gap:clamp(24px,4vw,64px);padding:clamp(32px,5vh,60px) 0;border-bottom:1px solid var(--ink-far)}.proj__num{font-size:clamp(11px,1vw,14px);color:var(--ink-dim);padding-top:.4em;letter-spacing:.1em}.proj__meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.proj__cat{font-size:12px;color:var(--ink-dim);letter-spacing:.08em}.proj__year{font-size:13px;color:var(--ink-dim)}@media (max-width:640px){.proj{grid-template-columns:1fr;gap:14px}.proj__num{padding-top:0}.proj__meta{flex-direction:row;align-items:baseline;gap:12px}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1}.mask>span,.reveal{transform:none}.atitle .aword__in{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}.bar.is-active .bar__fill{animation:none!important;transform:scaleX(1)!important;opacity:1!important}}.page{display:block;min-height:100svh;padding-top:clamp(96px,14vh,168px)}.page__hero{padding-bottom:clamp(44px,8vh,96px);border-bottom:1px solid var(--ink-far)}.page__title{font-size:clamp(40px,7vw,108px);font-weight:800;letter-spacing:-.03em;line-height:.95;max-width:16ch}.page__lede{margin-top:clamp(20px,3vh,32px);max-width:52ch;font-size:clamp(16px,1.4vw,22px);line-height:1.6;color:var(--ink-dim)}.page__sec{padding-block:clamp(56px,10vh,120px);border-bottom:1px solid var(--ink-far)}.page__sec:last-of-type{border-bottom:0}.shead{display:grid;grid-template-columns:1fr 1.7fr;gap:clamp(24px,4vw,64px);align-items:start}.shead__label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);padding-top:.45em}.shead__body{min-width:0}.shead__title{font-size:clamp(26px,3.2vw,52px);font-weight:800;letter-spacing:-.02em;line-height:1.1;max-width:22ch}.shead__lede{margin-top:clamp(14px,2vh,22px);max-width:56ch;font-size:clamp(15px,1.25vw,19px);line-height:1.65;color:var(--ink-dim)}.rows{margin-top:clamp(32px,6vh,72px);border-top:1px solid var(--ink-far)}.row{display:grid;grid-template-columns:1fr 1.7fr;gap:clamp(16px,4vw,64px);padding-block:clamp(26px,4.5vh,56px);border-bottom:1px solid var(--ink-far)}a.row{transition:background .22s var(--ease)}a.row:hover{background:rgba(var(--on-rgb),.035)}.row__num{font-size:12px;letter-spacing:.16em;color:var(--ink-dim)}.row__name{font-size:clamp(22px,2.4vw,38px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-top:10px}.row__body{min-width:0;display:flex;flex-direction:column;gap:clamp(12px,2vh,18px)}.row__desc{font-size:clamp(15px,1.2vw,18px);line-height:1.65;color:var(--ink-dim);max-width:54ch}.row__tags{display:flex;flex-wrap:wrap;gap:8px}.row__tag{font-size:11px;letter-spacing:.06em;padding:5px 11px;border:1px solid var(--ink-far);border-radius:100px;color:var(--ink-dim)}.row__cue{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}a.row:hover .row__cue-arrow{transform:translateX(4px)}.row__cue-arrow{display:inline-block;transition:transform .22s var(--ease)}.row__links{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px}.sfoot{border-top:1px solid var(--ink-far);padding-block:clamp(44px,8vh,80px) clamp(20px,3vh,32px)}.sfoot__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:clamp(28px,5vw,80px)}.sfoot__brand{display:flex;flex-direction:column;gap:14px}.sfoot__mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:13px;letter-spacing:-.02em;background:var(--ink);color:var(--black)}.sfoot__line{font-size:13px;color:var(--ink-dim)}.sfoot__cols{display:flex;gap:clamp(36px,6vw,90px)}.sfoot__col{display:flex;flex-direction:column;gap:10px;font-size:14px}.sfoot__col a{color:var(--ink-dim);transition:color .2s}.sfoot__col a:hover{color:var(--ink)}.sfoot__label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);opacity:.7;margin-bottom:2px}.sfoot__rule{margin-top:clamp(36px,6vh,64px)}@media (max-width:760px){.row,.shead{grid-template-columns:1fr;gap:12px}.row__name{margin-top:4px}.page__sec{padding-block:clamp(44px,7vh,72px)}.sfoot__in{flex-direction:column}}.grades__gate{display:flex;justify-content:center;padding-block:clamp(24px,6vh,72px)}.grades__gate .vault__locked{text-align:center;max-width:500px;width:100%}