@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);--font:"Archivo",system-ui,-apple-system,sans-serif;--maxw:1560px;--gut:clamp(20px,4vw,72px);--ease:cubic-bezier(0.22,1,0.36,1);--ease-out:cubic-bezier(0.16,1,0.3,1)}*,: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)}#top{position:sticky;top:0;z-index:1}#tech{z-index:2;background:#0e0e0e;border-radius:32px 32px 0 0}#tech,#work{position:sticky;top:0;overflow:hidden}#work{z-index:3;background:#1c000d;border-radius:0}#about{z-index:4;border-radius:32px 32px 0 0;overflow:hidden}#about,#how{position:sticky;top:0}#how{z-index:5;background:#090909;border-radius:0}#vault{z-index:6;background:#0c0c0c;border-radius:32px 32px 0 0}#contact,#vault{position:sticky;top:0;overflow:hidden}#contact{z-index:7;background:#1c000d;border-radius:0}.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:rgba(140,140,140,.14);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.14);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:rgba(10,10,10,.06);border-color:rgba(10,10,10,.12)}.nav.is-light .nav__links a{color:var(--on-pap)}.nav.is-light .nav__mark{background:var(--on-pap);color:var(--paper)}@media (max-width:560px){.nav__links{gap:16px}.nav__links a{font-size:13px}}@media (max-width:400px){.nav__bar{gap:12px;padding:9px 12px 9px 14px}.nav__links{gap:12px}.nav__links a{font-size:12.5px}.nav__mark{width:30px;height:30px;font-size:12px;margin-right:0}}.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(0,0,0,.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,104px);max-width:19ch}.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__lede{max-width:40ch;font-size:clamp(15px,1.3vw,18px);color:var(--ink-dim);line-height:1.55}.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,86px);max-width:18ch}.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,78px);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,18px);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(0,0,0,.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(255,255,255,.14);transition:background .3s var(--ease)}.bar:hover:before{background:rgba(255,255,255,.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(0,0,0,.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,82px);max-width:16ch}.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,18px);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__head{display:flex;flex-direction:column;gap:clamp(16px,2.5vh,26px);padding-bottom:clamp(40px,7vh,80px)}.tech__headline{font-size:clamp(28px,3.6vw,56px);max-width:18ch}.tech__note{font-size:clamp(14px,1.2vw,17px);line-height:1.65;color:var(--ink-dim);max-width:44ch}.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(16px,2.2vh,24px) var(--gut);border-bottom:1px solid var(--ink-far);transition:background .22s}.tech__row:hover{background:rgba(255,255,255,.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}.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:#111;border:1px solid rgba(255,255,255,.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,76px);max-width:14ch}.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(288px,40vw)}.how__card-in{height:clamp(330px,50vh,470px);border:1px solid var(--ink-far);border-radius:22px;background:#0a0a0a;padding:clamp(28px,3vw,46px);display:flex;flex-direction:column;will-change:transform,opacity}.how__num{font-size:clamp(40px,4vw,62px);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink-far)}.how__t{font-size:clamp(22px,2vw,30px);font-weight:700;letter-spacing:-.01em;color:var(--ink);margin-top:clamp(20px,3.5vh,36px)}.how__d{font-size:clamp(15px,1.3vw,18px);line-height:1.55;margin-top:16px;max-width:34ch}.how__d,.how__idx{color:var(--ink-dim)}.how__idx{margin-top:auto;padding-top:24px;font-size:12px;letter-spacing:.14em}.how__bar{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(26px,5vh,52px);height:2px;background:rgba(255,255,255,.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{height:auto!important}.how__pin{height:auto;min-height:0;display:block;overflow:visible;padding-block:clamp(80px,14vh,140px);transform:none!important}.how__head{flex-direction:column;align-items:flex-start}.how__hint{display:none}.how__viewport{overflow:visible}.how__track{flex-direction:column;width:100%;gap:16px;transform:none!important}.how__card{width:100%}.how__card-in{height:auto;opacity:1!important;transform:none!important}.how__bar{display:none}}.contact__big{font-size:clamp(52px,12vw,188px);line-height:.9;display:block}.contact__note{max-width:46ch;font-size:clamp(15px,1.35vw,18px);color:var(--ink-dim);line-height:1.55;margin-top:clamp(24px,4vh,40px)}.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,22px)}.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:16px}.vault__desc{font-size:clamp(14px,1.2vw,16px);color:var(--ink-dim);line-height:1.65;margin-bottom:clamp(32px,5vh,52px);max-width:40ch;margin-inline:auto}.vault__form{display:flex;gap:10px}.vault__input{flex:1;min-width:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.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(255,255,255,.35)}.vault--err .vault__input{border-color:rgba(220,60,60,.7)}.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:rgba(220,90,90,1);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__docs{display:flex;flex-direction:column;gap:10px}.vault__dl{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--ink-far);border-radius:12px;font-size:14px;font-weight:500;transition:border-color .2s,background .2s}.vault__dl:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.04)}.vault__dl-arrow{font-size:16px;opacity:.5;flex-shrink:0}.vault__empty{font-size:14px;color:var(--ink-dim);line-height:1.6}@media (max-width:760px){.vault__open{grid-template-columns:1fr;gap:clamp(40px,8vh,60px)}.vault__form{flex-direction:column}}.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,120px);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,21px);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,20px);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,18px);color:var(--ink-dim);line-height:1.72}.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}}