@font-face{font-family:"Meniwa";src:local("Meniwa"),local("Meniwa Regular"),local("Meniwa-Regular"),url("../fonts/Meniwa-Regular.woff2") format("woff2"),url("../fonts/Meniwa.woff2") format("woff2"),url("../fonts/Meniwa-Regular.woff") format("woff"),url("../fonts/Meniwa-Regular.otf") format("opentype"),url("../fonts/Meniwa.otf") format("opentype"),url("../fonts/Meniwa-Regular.ttf") format("truetype"),url("../fonts/Meniwa.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}

:root{
  --canvas:#2a2620;
  --canvas-deep:#1c1914;
  --canvas-light:#353028;
  --cream:#FFEDD7;
  --cream-soft:#A89B88;
  --cream-muted:#6c5f51;
  --cream-low:rgba(255,237,215,.46);
  --olive:#7A8260;
  --olive-light:#9aab76;
  --olive-dark:#445231;
  --cork:#382416;
  --cork-border:#40372e;
  --accent:#dc5000;
  --accent-muted:#b85a30;
  --rule:rgba(255,237,215,.1);
  --rule-soft:rgba(255,237,215,.055);
  --display:"Meniwa","Belleza","Optima","Candara",sans-serif;
  --sans:"Switzer","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.19,1,.22,1);
  --ease-2:cubic-bezier(.65,0,.35,1);
  --gut:clamp(20px,5vw,72px);
  --nav-h:76px
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%;background:var(--canvas);scrollbar-gutter:stable}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--canvas);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.55;font-weight:400;min-height:100svh}
body.is-loading,body.lock{overflow:hidden}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ol,ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--olive-light);color:var(--canvas-deep)}
:focus-visible{outline:1px solid var(--olive-light);outline-offset:4px}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--canvas-deep)}
::-webkit-scrollbar-thumb{background:var(--cork-border)}
::-webkit-scrollbar-thumb:hover{background:var(--olive)}

.skip{position:fixed;left:16px;top:-80px;z-index:10000;padding:12px 18px;background:var(--cream);color:var(--canvas-deep);font-size:13px;font-weight:500;border-radius:100px;transition:top .4s var(--ease)}
.skip:focus{top:16px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.shell{width:min(1280px,100%);margin-inline:auto;padding-inline:var(--gut)}

.eyebrow,.nav__links a,.pill,.arrowlink,.scrollcue,.hud,.foot__meta,.pin__body b{text-transform:uppercase;font-weight:500;letter-spacing:.08em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:var(--olive-light);letter-spacing:.2em}
.eyebrow::before{content:"";width:18px;height:1px;background:currentColor;opacity:.7}
.eyebrow--plain::before{display:none}
.mono{font-family:var(--mono)}

.head{max-width:760px;margin-bottom:clamp(56px,8vw,104px)}
.head--center{margin-inline:auto;text-align:center}
.head--center .eyebrow{justify-content:center}
.head__title{margin-top:22px;font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:.95;letter-spacing:-.005em}
.head__title em{font-style:normal;color:var(--olive-light)}
.head__lede{margin-top:26px;max-width:54ch;color:var(--cream-soft);font-size:clamp(1rem,1.35vw,1.1rem);line-height:1.7}
.head--center .head__lede{margin-inline:auto}

.topo{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.6s var(--ease)}
.topo.is-on{opacity:1}
.haze{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(58vw 52vh at 76% 16%,rgba(154,171,118,.13),transparent 62%),radial-gradient(46vw 44vh at 10% 86%,rgba(68,82,49,.28),transparent 66%),radial-gradient(90vw 72vh at 50% 50%,rgba(42,38,32,0),rgba(28,25,20,.72) 84%);animation:drift 28s var(--ease-2) infinite alternate}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-2.5%,2%,0) scale(1.08)}}
.grain{position:fixed;inset:-120%;z-index:1;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .6s steps(3) infinite}
@keyframes grain{0%{transform:translate(0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-3%)}to{transform:translate(0)}}
main,.nav,.foot{position:relative;z-index:2}

.loader{position:fixed;inset:0;z-index:9999;pointer-events:auto}
.loader__veil{position:absolute;inset:-2px;background:var(--canvas-deep)}
.loader__ui{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .5s linear}
.loader.dive .loader__ui{opacity:0;transition-duration:.32s}
.loader__center{display:flex;flex-direction:column;align-items:center;gap:30px}
.loader__mark{width:clamp(130px,17vw,200px);height:auto;overflow:visible}
.loader__stroke{fill:none;stroke:var(--olive-light);stroke-width:2.4;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.loader.go .loader__stroke{animation:draw 1.5s var(--ease-2) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.loader__fill{fill:var(--olive-light);opacity:0;transition:opacity .5s var(--ease)}
.loader.window .loader__fill{opacity:0}
.loader__scan{opacity:0}
.loader.go .loader__scan{animation:scan 1.6s var(--ease-2) .3s forwards}
@keyframes scan{0%{opacity:0;transform:translateY(-40px)}20%{opacity:1}100%{opacity:0;transform:translateY(300px)}}
.loader__ping{fill:none;stroke:var(--olive-light);stroke-width:1.4;opacity:0;transform-box:fill-box;transform-origin:center}
.loader.window .loader__ping{animation:ping 1s var(--ease) forwards}
@keyframes ping{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}
.loader__word{font-family:var(--display);font-size:clamp(1.7rem,4.2vw,2.7rem);line-height:1;letter-spacing:.34em;text-indent:.34em;color:var(--cream);white-space:nowrap;min-height:1em}
.loader__word.scrambling{color:var(--olive-light)}
.loader__meta{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(24px,6vh,56px);display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-low)}
.loader__hint{display:flex;align-items:center;gap:10px}
.loader__hint i{width:5px;height:5px;border-radius:50%;background:var(--olive-light);animation:blink 1.1s var(--ease-2) infinite}
.loader__count{color:var(--olive-light);font-variant-numeric:tabular-nums}
@keyframes blink{0%,to{opacity:.25}50%{opacity:1}}
body.is-revealing .hero__in{transform:scale(var(--rev-s,1));filter:blur(var(--rev-b,0px));transform-origin:50% 46%}

.cursor{position:fixed;left:0;top:0;z-index:9998;pointer-events:none;mix-blend-mode:difference}
.cursor__dot,.cursor__ring{position:absolute;left:0;top:0;border-radius:50%}
.cursor__dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--cream)}
.cursor__ring{width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid rgba(255,237,215,.5);transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background .45s var(--ease),border-color .45s}
.cursor.hot .cursor__ring{width:64px;height:64px;margin:-32px 0 0 -32px;border-color:rgba(255,237,215,.85)}
.cursor.label .cursor__ring{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--cream);border-color:var(--cream)}
.cursor__label{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--canvas-deep);opacity:0;transition:opacity .3s;white-space:nowrap;mix-blend-mode:normal}
.cursor.label .cursor__label{opacity:1}
.cursor.label{mix-blend-mode:normal}
.cursor.label .cursor__dot{opacity:0}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

.progress{position:fixed;left:0;right:0;top:0;height:1px;z-index:9000;pointer-events:none}
.progress i{display:block;height:100%;width:100%;background:var(--olive-light);transform-origin:0 50%;transform:scaleX(0)}

.nav{position:fixed;left:0;right:0;top:0;z-index:900;height:var(--nav-h);display:flex;align-items:center;border-bottom:1px solid transparent;transition:background .5s var(--ease),border-color .5s var(--ease),transform .7s var(--ease)}
.nav.stuck{background:rgba(28,25,20,.72);-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);border-bottom-color:var(--rule)}
.nav.hide{transform:translateY(-100%)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav__mark{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-size:20px;letter-spacing:.06em}
.nav__mark svg{width:26px;height:auto;fill:var(--olive-light);transition:transform .8s var(--ease)}
.nav__mark:hover svg{transform:rotate(-8deg) scale(1.08)}
.nav__links{display:flex;gap:34px}
.nav__links a{position:relative;font-size:11px;color:var(--cream-soft);padding:6px 0;transition:color .4s var(--ease)}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background-image:linear-gradient(90deg,currentColor 50%,transparent 50%);background-size:5px 1px;opacity:0;transform:translateY(3px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.nav__links a:hover{color:var(--cream)}
.nav__links a:hover::after,.nav__links a.on::after{opacity:.8;transform:none}
.nav__links a.on{color:var(--olive-light)}
.nav__end{display:flex;align-items:center;gap:14px}
.nav__status{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-soft)}
.dot-live{position:relative;width:7px;height:7px;border-radius:50%;background:var(--olive-light);flex:none}
.dot-live::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--olive-light);animation:live 2.2s var(--ease) infinite}
@keyframes live{0%{opacity:.8;transform:scale(.4)}to{opacity:0;transform:scale(1.4)}}

.pill{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 24px;border-radius:100px;border:1px solid var(--rule);font-size:11px;color:var(--cream);overflow:hidden;isolation:isolate;transition:border-color .5s var(--ease),color .5s var(--ease)}
.pill span,.pill svg{position:relative;z-index:2}
.pill::before{content:"";position:absolute;inset:0;z-index:1;background:var(--olive-light);transform:translateY(101%);border-radius:inherit;transition:transform .6s var(--ease)}
.pill:hover{border-color:var(--olive-light);color:var(--canvas-deep)}
.pill:hover::before{transform:none}
.pill--solid{background:var(--cream);color:var(--canvas-deep);border-color:var(--cream)}
.pill--solid::before{background:var(--olive-light)}
.pill--solid:hover{border-color:var(--olive-light)}
.pill--lg{min-height:58px;padding:0 36px;font-size:12px}
.arrowlink{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:11px;color:var(--cream-soft);transition:color .4s var(--ease)}
.arrowlink svg{transition:transform .5s var(--ease)}
.arrowlink:hover{color:var(--cream)}
.arrowlink:hover svg{transform:translateX(6px)}
.arrowlink--up:hover svg{transform:translate(3px,-3px)}

.burger{display:none;position:relative;width:44px;height:44px;border:1px solid var(--rule);border-radius:100px}
.burger i{position:absolute;left:14px;width:16px;height:1px;background:var(--cream);transition:transform .45s var(--ease)}
.burger i:nth-child(1){top:19px}
.burger i:nth-child(2){top:24px}
.burger[aria-expanded=true] i:nth-child(1){transform:translateY(2.5px) rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){transform:translateY(-2.5px) rotate(-45deg)}
.drawer{position:fixed;inset:var(--nav-h) 0 auto 0;z-index:890;background:var(--canvas-deep);border-bottom:1px solid var(--rule);display:grid;gap:2px;padding:18px var(--gut) 30px;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease)}
.drawer.open{clip-path:inset(0 0 0 0)}
.drawer a{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--display);font-size:2rem;padding:12px 0;border-bottom:1px solid var(--rule-soft)}
.drawer a small{font-family:var(--mono);font-size:11px;color:var(--olive-light);letter-spacing:.14em}

.hud{position:fixed;left:calc(var(--gut) * .5);top:50%;z-index:800;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--cream-low);writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);pointer-events:none;opacity:0;transition:opacity .8s var(--ease)}
.hud.is-on{opacity:1}
.hud__idx{color:var(--olive-light)}
.hud__bar{width:1px;height:46px;background:var(--rule);position:relative;overflow:hidden}
.hud__bar i{position:absolute;left:0;right:0;top:0;height:100%;background:var(--olive-light);transform-origin:50% 0;transform:scaleY(0)}

.mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.mask__in{display:block;transform:translateY(112%) rotate(4deg);transform-origin:0 100%}
.mask__in.in{transform:none;transition:transform 1.25s var(--ease)}

.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--nav-h) + 40px) 0 130px;overflow:clip}
.hero__in{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(24px,4vw,64px)}
.hero__text{min-width:0}
.hero__title{margin-top:28px;font-family:var(--display);font-weight:400;font-size:clamp(3.1rem,7.6vw,7.8rem);line-height:.9;letter-spacing:-.008em}
.hero__title em{font-style:normal;color:var(--olive-light)}
.lede{margin-top:34px;max-width:47ch;color:var(--cream-soft);font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.72}
.lede b{font-weight:500;color:var(--cream)}
.hero__act{margin-top:42px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hero__foot{position:absolute;left:0;right:0;bottom:30px;z-index:3}
.hero__foot .shell{display:flex;align-items:center;justify-content:space-between;gap:20px}
.scrollcue{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--cream-low)}
.scrollcue i{position:relative;display:block;width:56px;height:1px;background:var(--rule);overflow:hidden}
.scrollcue i::after{content:"";position:absolute;inset:0;background:var(--olive-light);transform:translateX(-100%);animation:cue 2.6s var(--ease-2) infinite}
@keyframes cue{0%{transform:translateX(-100%)}55%,to{transform:translateX(100%)}}
.coords{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--cream-low);text-transform:uppercase}

.relief{position:relative;width:100%;max-width:640px;margin-inline:auto;aspect-ratio:1;pointer-events:none}
.relief canvas{width:100%;height:100%}
.pin{position:absolute;left:0;top:0;display:flex;align-items:center;pointer-events:auto;opacity:0;transition:opacity .9s var(--ease);will-change:transform}
.pin.in{opacity:1}
.pin__dot{position:relative;flex:none;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--olive-light);box-shadow:0 0 14px rgba(154,171,118,.8)}
.pin__dot::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--olive-light);opacity:0;transform:scale(.4);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.pin__wire{width:40px;height:1px;background:linear-gradient(90deg,var(--olive-light),rgba(154,171,118,.1));transform:scaleX(.5);transform-origin:0 50%;transition:transform .6s var(--ease)}
.pin__body{display:flex;flex-direction:column;gap:3px;padding:8px 12px;margin-top:-3.5px;border:1px solid var(--rule);border-radius:3px;background:rgba(28,25,20,.66);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}
.pin__body b{font-size:10px;letter-spacing:.16em;color:var(--cream);transition:color .4s}
.pin__body em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--cream-soft)}
.pin:nth-of-type(1) .pin__body{transform:translateY(-30px)}
.pin:nth-of-type(3) .pin__body{transform:translateY(28px)}
.pin--left{flex-direction:row-reverse}
.pin--left .pin__wire{transform-origin:100% 50%;background:linear-gradient(270deg,var(--olive-light),rgba(154,171,118,.1))}
.pin--left .pin__dot{margin:-3.5px -3.5px 0 0}
.pin:hover .pin__dot::after{opacity:1;transform:none}
.pin:hover .pin__wire{transform:none}
.pin:hover .pin__body b{color:var(--olive-light)}

.ticker{position:relative;z-index:2;border-block:1px solid var(--rule-soft);padding:clamp(18px,2.4vw,30px) 0;overflow:hidden;white-space:nowrap;background:rgba(28,25,20,.35)}
.ticker__lane{display:inline-flex;align-items:center;gap:clamp(22px,3vw,44px);will-change:transform;font-family:var(--display);font-size:clamp(2rem,5vw,4.4rem);line-height:1}
.ticker__lane span:nth-child(4n+3){color:transparent;-webkit-text-stroke:1px rgba(255,237,215,.42)}
.ticker__lane i{font-style:normal;color:var(--olive-light);font-size:.45em}

.manifest{padding:clamp(120px,17vw,220px) 0}
.manifest__text{max-width:21ch;font-family:var(--display);font-size:clamp(2rem,4.6vw,4rem);line-height:1.12;letter-spacing:-.005em}
.manifest__text span{color:rgba(255,237,215,.13);transition:color .6s var(--ease)}
.manifest__text span.lit{color:var(--cream)}
.manifest__text span.key.lit{color:var(--olive-light)}
.manifest__sign{margin-top:46px;display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-soft)}
.manifest__sign svg{width:30px;fill:var(--olive-light)}

.work{padding-bottom:clamp(90px,12vw,160px)}
.work__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(36px,5vw,96px);align-items:start}
.stage{position:sticky;top:calc(var(--nav-h) + 22px);height:calc(100svh - var(--nav-h) - 44px);min-height:440px;max-height:780px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:radial-gradient(120% 80% at 50% 0%,rgba(154,171,118,.07),transparent 60%),var(--canvas-deep);box-shadow:0 60px 130px -60px rgba(0,0,0,.9)}
.stage__bar,.win__bar{display:flex;align-items:center;gap:8px;padding:13px 18px;border-bottom:1px solid var(--rule-soft);background:rgba(0,0,0,.18);font-family:var(--mono);font-size:11px;color:var(--cream-low)}
.win__dot{width:9px;height:9px;border-radius:50%;background:rgba(255,237,215,.16)}
.win__dot:first-child{background:rgba(154,171,118,.75)}
.stage__path{margin-left:8px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage__idx{margin-left:auto;color:var(--olive-light);font-variant-numeric:tabular-nums;letter-spacing:.1em}
.stage__view{position:relative;overflow:hidden}
.stage__view canvas{position:absolute;inset:0;width:100%;height:100%}
.stage__wipe{position:absolute;left:0;right:0;top:0;height:90px;margin-top:-90px;background:linear-gradient(180deg,transparent,rgba(154,171,118,.12) 60%,rgba(154,171,118,.6));pointer-events:none;opacity:0}
.stage__wipe.run{animation:wipe .9s var(--ease-2)}
@keyframes wipe{0%{opacity:0;transform:translateY(0)}15%{opacity:1}100%{opacity:0;transform:translateY(calc(100% + 900px))}}
.stage__title{display:block;padding:14px 22px 12px;border-top:1px solid var(--rule-soft);line-height:1.1;font-family:var(--display);font-size:clamp(1.4rem,2.4vw,2.2rem);color:rgba(255,237,215,.92);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage__log{border-top:1px solid var(--rule-soft);padding:14px 18px;min-height:104px;font-family:var(--mono);font-size:12px;color:var(--cream-soft);display:flex;flex-direction:column;justify-content:flex-end;gap:4px;overflow:hidden}
.logline{display:flex;align-items:center;gap:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:logIn .45s var(--ease) both}
.logline b{font-weight:400;color:var(--olive-light)}
.logline s{text-decoration:none;margin-left:auto;color:var(--olive-light);font-size:11px}
@keyframes logIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}

.chapters{display:flex;flex-direction:column}
.chapter{min-height:88svh;display:flex;flex-direction:column;justify-content:center;padding:6vh 0;transition:opacity .7s var(--ease)}
.js .work__grid .chapter:not(.on){opacity:.32}
.chapter__top{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-low)}
.chapter__top b{font-weight:500;color:var(--olive-light)}
.chapter__top i{flex:1;height:1px;background:var(--rule)}
.chapter__title{margin-top:24px;font-family:var(--display);font-weight:400;font-size:clamp(2.5rem,5vw,4.6rem);line-height:.94}
.chapter__kind{margin-top:14px;font-size:clamp(1rem,1.4vw,1.15rem);color:var(--cream)}
.chapter__desc{margin-top:16px;max-width:52ch;color:var(--cream-soft);font-size:.98rem;line-height:1.7}
.chapter__desc b{font-weight:500;color:var(--cream)}
.tags{margin-top:24px;display:flex;flex-wrap:wrap;gap:7px}
.tags li{font-family:var(--mono);font-size:10.5px;color:var(--cream-soft);padding:5px 11px;border:1px solid var(--rule);border-radius:100px;white-space:nowrap;transition:border-color .5s var(--ease),color .5s var(--ease)}
.chapter.on .tags li{border-color:rgba(154,171,118,.3)}
.metrics{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:22px;border-top:1px solid var(--rule)}
.metrics dt{order:2;margin-top:6px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-low);line-height:1.5}
.metrics dd{order:1;font-family:var(--display);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;color:var(--cream);font-variant-numeric:tabular-nums}
.metrics div{display:flex;flex-direction:column}
.chapter__links{margin-top:22px;display:flex;flex-wrap:wrap;gap:4px 26px}
.chapter__visual{display:none}

.archive{padding-bottom:clamp(100px,14vw,180px)}
.rows{border-top:1px solid var(--rule)}
.row{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.2fr) minmax(0,.9fr) 56px 44px;align-items:center;gap:24px;padding:clamp(24px,3vw,34px) 0;border-bottom:1px solid var(--rule);overflow:hidden}
.row::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(154,171,118,.12),rgba(154,171,118,0) 66%);transform:scaleX(0);transform-origin:0 50%;transition:transform .85s var(--ease)}
.row:hover::before,.row:focus-within::before{transform:none}
.row>*{position:relative;z-index:1}
.row__no{font-family:var(--mono);font-size:11px;color:var(--olive-light);letter-spacing:.1em}
.row__name{font-family:var(--display);font-size:clamp(1.5rem,2.8vw,2.4rem);line-height:1;transition:transform .7s var(--ease)}
.row:hover .row__name{transform:translateX(12px)}
.row__desc{color:var(--cream-soft);font-size:.93rem;line-height:1.6}
.row__stack{font-family:var(--mono);font-size:10.5px;color:var(--cream-low);line-height:1.7}
.row__year{font-family:var(--mono);font-size:11px;color:var(--cream-soft)}
.row__go{justify-self:end;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:50%;transition:border-color .5s var(--ease),background .5s var(--ease),transform .7s var(--ease)}
.row__go svg{transition:transform .6s var(--ease)}
.row:hover .row__go{border-color:var(--olive-light);background:var(--olive-light);color:var(--canvas-deep)}
.row:hover .row__go svg{transform:rotate(-45deg)}
.row__go--none{opacity:.35}
.row:hover .row__go--none{background:transparent;color:inherit;border-color:var(--rule)}
.row:hover .row__go--none svg{transform:none}

.path{position:relative;height:calc(var(--n,5) * 90svh)}
.path__pin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:var(--nav-h)}
.path__head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:clamp(20px,3vh,40px)}
.path__head .head__title{margin-top:16px}
.path__year{font-family:var(--display);font-size:clamp(3rem,8vw,7rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(154,171,118,.55);font-variant-numeric:tabular-nums}
.path__viewport{position:relative}
.path__track{position:relative;display:flex;gap:clamp(28px,4vw,64px);padding:0 var(--gut);width:max-content;will-change:transform}
.path__profile{position:absolute;left:0;top:0;height:150px;pointer-events:none;overflow:visible}
.path__line{fill:none;stroke:var(--olive-light);stroke-width:1.4}
.path__ghost{fill:none;stroke:rgba(255,237,215,.12);stroke-width:1;stroke-dasharray:3 6}
.path__area{fill:url(#pathGrad)}
.path__me{position:absolute;left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--olive-light);box-shadow:0 0 0 6px rgba(154,171,118,.16),0 0 24px rgba(154,171,118,.7)}
.wp{position:relative;flex:none;width:min(420px,74vw);padding-top:178px}
.wp__node{position:absolute;left:0;top:0;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;border:1px solid var(--olive-light);background:var(--canvas);transition:background .5s var(--ease),transform .5s var(--ease)}
.wp.on .wp__node{background:var(--olive-light);transform:scale(1.3)}
.wp__alt{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-low)}
.wp__year{margin-top:10px;font-family:var(--display);font-size:clamp(3rem,5.5vw,5rem);line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(255,237,215,.35);transition:color .7s var(--ease),-webkit-text-stroke-color .7s}
.wp.on .wp__year{color:var(--cream);-webkit-text-stroke-color:transparent}
.wp__title{margin-top:18px;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:500;letter-spacing:-.01em;line-height:1.3}
.wp__text{margin-top:10px;color:var(--cream-soft);font-size:.95rem;line-height:1.65;max-width:40ch}
.wp--next .wp__year{-webkit-text-stroke-color:rgba(154,171,118,.6)}
.wp--next.on .wp__year{color:var(--olive-light)}

.stack{padding:clamp(100px,14vw,180px) 0}
.decoder{--r:110px;--x:30%;--y:50%;--padx:clamp(22px,4vw,64px);--pady:clamp(30px,5vw,70px);position:relative;border:1px solid var(--rule);border-radius:3px;background:linear-gradient(180deg,rgba(255,237,215,.025),rgba(255,237,215,0) 55%);overflow:hidden}
.decoder__bar,.decoder__hint{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px clamp(18px,2.4vw,28px);font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-low)}
.decoder__bar{border-bottom:1px solid var(--rule)}
.decoder__hint{justify-content:flex-start;gap:10px;border-top:1px solid var(--rule)}
.decoder__hint i{width:5px;height:5px;border-radius:50%;background:var(--olive-light);animation:blink 1.15s var(--ease-2) infinite}
.decoder__state{color:var(--olive-light)}
.decoder__plate{position:relative;touch-action:pan-y}
.decoder__text{padding:var(--pady) var(--padx);font-family:var(--mono);font-size:clamp(.92rem,1.75vw,1.32rem);line-height:1.85;letter-spacing:0;word-break:normal;overflow-wrap:break-word}
.decoder__sizer{visibility:hidden}
.decoder__cipher,.decoder__plain{position:absolute;inset:0}
.decoder__cipher{color:rgba(255,237,215,.24);-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),transparent 97%,#000 100%);mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),transparent 97%,#000 100%)}
.decoder__plain{color:var(--cream);clip-path:circle(var(--r) at var(--x) var(--y))}
.decoder__plain em{font-style:normal;color:var(--olive-light)}
.decoder__lens{position:absolute;left:0;top:0;width:calc(var(--r) * 2);height:calc(var(--r) * 2);transform:translate(calc(var(--x) - var(--r)),calc(var(--y) - var(--r)));border-radius:50%;border:1px solid rgba(154,171,118,.55);box-shadow:0 0 0 7px rgba(154,171,118,.05),inset 0 0 50px rgba(154,171,118,.1);pointer-events:none;overflow:hidden}
.decoder__lens::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(255,237,215,.05) 0 1px,transparent 1px 7px)}
.decoder__lens i{position:absolute;left:0;right:0;top:-70px;height:70px;background:linear-gradient(180deg,transparent,rgba(154,171,118,.12) 62%,rgba(154,171,118,.45));animation:lensScan 2.6s var(--ease-2) infinite}
@keyframes lensScan{0%{transform:translateY(0);opacity:0}12%{opacity:1}72%,to{transform:translateY(calc(var(--r) * 2 + 70px));opacity:0}}
@media (hover:hover) and (pointer:fine){.decoder__plate{cursor:none}}
.groups{margin-top:clamp(28px,4vw,48px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.group{--mx:50%;--my:0%;position:relative;padding:clamp(22px,2.2vw,30px);border:1px solid var(--rule);border-radius:3px;background:linear-gradient(180deg,rgba(255,237,215,.025),rgba(255,237,215,0) 50%);overflow:hidden}
.group::after,.card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(300px 220px at var(--mx) var(--my),rgba(154,171,118,.14),transparent 70%);opacity:0;transition:opacity .6s var(--ease)}
.group:hover::after,.card:hover::after{opacity:1}
.group>*{position:relative;z-index:1}
.group__glyph{width:36px;height:36px;color:var(--olive-light);opacity:.55;transition:opacity .6s var(--ease),transform .8s var(--ease)}
.group:hover .group__glyph{opacity:1;transform:rotate(-6deg)}
[pathLength]{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease)}
.is-in [pathLength],[pathLength].is-in{stroke-dashoffset:0;transition-delay:.25s}
.group__name{margin-top:22px;font-family:var(--display);font-size:clamp(1.4rem,2vw,1.8rem);line-height:1}
.group__list{margin-top:18px;display:flex;flex-wrap:wrap;gap:7px}
.group__list li{font-family:var(--mono);font-size:10.5px;color:var(--cream-soft);padding:5px 11px;border:1px solid var(--rule);border-radius:100px;transition:border-color .4s var(--ease),color .4s var(--ease)}
.group__list li:hover{border-color:var(--olive-light);color:var(--cream)}

.numbers{padding:0 0 clamp(100px,14vw,180px)}
.numbers__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.num{padding:clamp(28px,3.4vw,48px) clamp(16px,2vw,28px) clamp(26px,3vw,40px)}
.num+.num{border-left:1px solid var(--rule)}
.num__v{display:flex;align-items:baseline;gap:4px;font-family:var(--display);font-size:clamp(3rem,6.4vw,6rem);line-height:.9;font-variant-numeric:tabular-nums}
.num__v small{font-size:.42em;color:var(--olive-light)}
.num__k{margin-top:18px;font-weight:500;font-size:.98rem}
.num__s{margin-top:6px;color:var(--cream-soft);font-size:.88rem;line-height:1.55}

.contact{position:relative;padding:clamp(130px,18vw,230px) 0 clamp(110px,14vw,170px);overflow:clip;text-align:center}
.contact__curtain{position:absolute;inset:0;z-index:0;background:radial-gradient(80% 70% at 50% 40%,#516139,var(--olive-dark) 70%);clip-path:circle(var(--c,0%) at 50% 50%)}
.contact__curtain::after{content:"";position:absolute;inset:0;opacity:.35;background-image:repeating-radial-gradient(circle at 50% 45%,transparent 0 38px,rgba(255,237,215,.08) 39px 40px)}
.contact__in{position:relative;z-index:1;display:grid;justify-items:center}
.contact .eyebrow{color:var(--cream)}
.contact__title{margin-top:26px;font-family:var(--display);font-weight:400;font-size:clamp(3.2rem,10.5vw,10rem);line-height:.88}
.contact__lede{margin-top:30px;max-width:46ch;color:rgba(255,237,215,.78);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7}
.contact__act{margin-top:44px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.contact .pill--solid::before{background:var(--canvas-deep)}
.contact .pill--solid:hover{color:var(--cream);border-color:var(--canvas-deep)}
.contact .pill:not(.pill--solid){border-color:rgba(255,237,215,.3)}
.contact .pill:not(.pill--solid)::before{background:var(--cream)}
.contact .pill:not(.pill--solid):hover{color:var(--canvas-deep)}
.cards{margin-top:clamp(56px,7vw,90px);width:min(980px,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;text-align:left}
.card{--mx:50%;--my:50%;position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 22px 18px;border:1px solid rgba(255,237,215,.16);border-radius:3px;background:rgba(28,25,20,.32);overflow:hidden;transition:border-color .5s var(--ease),transform .6s var(--ease)}
.card:hover{border-color:rgba(255,237,215,.4);transform:translateY(-3px)}
.card>*{position:relative;z-index:1}
.card__k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,237,215,.62)}
.card__v{font-size:1.08rem;font-weight:500;overflow-wrap:anywhere}
.card__act{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,237,215,.7)}
.copy{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid rgba(255,237,215,.22);border-radius:100px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s}
.copy:hover{background:var(--cream);color:var(--canvas-deep);border-color:var(--cream)}
.copy.done{background:var(--canvas-deep);color:var(--olive-light);border-color:var(--canvas-deep)}
.contact__meta{margin-top:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,237,215,.7)}
.contact__meta span{display:inline-flex;align-items:center;gap:10px}
.contact__meta b{font-weight:500;color:var(--cream);font-variant-numeric:tabular-nums}

.foot{background:var(--canvas-deep);border-top:1px solid var(--rule);overflow:clip}
.foot__top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:34px}
.foot__mark{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:18px;letter-spacing:.06em}
.foot__mark svg{width:22px;fill:var(--olive-light)}
.foot__links{display:flex;flex-wrap:wrap;gap:6px 24px}
.foot__links a{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-soft);transition:color .4s var(--ease);padding:8px 0}
.foot__links a:hover{color:var(--olive-light)}
.foot__word{display:flex;justify-content:center;font-family:var(--display);font-size:clamp(5rem,25vw,24rem);line-height:.78;letter-spacing:.02em;color:var(--cream);user-select:none;padding-top:2vw;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
.foot__word span{display:inline-block;transform:translateY(70%);transition:transform 1.3s var(--ease)}
.foot__word.is-in span{transform:none}
.foot__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:22px 28px;border-top:1px solid var(--rule-soft);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-low)}
.totop{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--cream-soft);transition:color .4s}
.totop:hover{color:var(--olive-light)}

[data-scramble]{font-variant-ligatures:none}
.js [data-anim]{transition:opacity 1s var(--ease),transform 1.15s var(--ease),filter 1s var(--ease)}
.js [data-anim=up]{opacity:0;transform:translateY(46px)}
.js [data-anim=left]{opacity:0;transform:translateX(-60px)}
.js [data-anim=right]{opacity:0;transform:translateX(60px)}
.js [data-anim=scale]{opacity:0;transform:scale(.94) translateY(30px)}
.js [data-anim=fade]{opacity:0;filter:blur(6px)}
.js [data-anim].is-in{opacity:1;transform:none;filter:none}

.notfound{min-height:100svh;display:grid;place-items:center;text-align:center;padding:calc(var(--nav-h) + 40px) var(--gut) 80px;position:relative;z-index:2}
.notfound__code{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--olive-light)}
.notfound__title{margin-top:24px;font-family:var(--display);font-size:clamp(3.4rem,11vw,10rem);line-height:.88}
.notfound p{margin:28px auto 40px;max-width:40ch;color:var(--cream-soft);line-height:1.7}

@media (max-width:1180px){
  .hud{display:none}
  .groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row{grid-template-columns:52px minmax(0,1fr) minmax(0,1.1fr) 50px 44px}
  .row__stack{display:none}
}
@media (max-width:1080px){
  .hero__in{grid-template-columns:1fr}
  .relief{position:absolute;left:50%;top:50%;width:min(92vw,620px);transform:translate(-50%,-50%);opacity:.32;z-index:-1}
  .pin{display:none}
  .work__grid{grid-template-columns:1fr}
  .stage{display:none}
  .js .work__grid .chapter:not(.on){opacity:1}
  .chapter{min-height:0;padding:0 0 clamp(70px,10vw,110px)}
  .chapter__visual{display:block;position:relative;aspect-ratio:16/11;margin-bottom:30px;border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--canvas-deep)}
  .chapter__visual canvas{position:absolute;inset:0;width:100%;height:100%}
  .numbers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .num:nth-child(3){border-left:0}
  .num:nth-child(n+3){border-top:1px solid var(--rule)}
}
@media (max-width:900px){
  .path{height:auto}
  .path__pin{position:relative;height:auto;overflow:visible;padding:clamp(90px,12vw,140px) 0 40px}
  .path__head{flex-direction:column;align-items:flex-start}
  .path__year{display:none}
  .path__track{flex-direction:column;width:auto;transform:none!important;gap:0;padding-left:calc(var(--gut) + 26px)}
  .path__profile,.path__me{display:none}
  .path__track::before{content:"";position:absolute;left:calc(var(--gut) + 5px);top:8px;bottom:8px;width:1px;background:linear-gradient(180deg,var(--olive-light),var(--rule))}
  .wp{width:auto;padding:0 0 46px}
  .wp__node{left:-21px;top:6px;margin:0}
  .wp__year{font-size:clamp(2.6rem,12vw,4rem)}
  .wp__year{color:var(--cream);-webkit-text-stroke-color:transparent}
  .cards{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav__links,.nav__end .pill,.nav__status{display:none}
  .burger{display:block}
  .row{grid-template-columns:40px minmax(0,1fr) 44px;gap:8px 16px}
  .row__desc{grid-column:2 / 3;grid-row:2}
  .row__year{display:none}
  .row__go{grid-column:3;grid-row:1 / 3}
  .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
@media (max-width:640px){
  .hero{padding-bottom:110px}
  .hero__foot .coords{display:none}
  .groups{grid-template-columns:1fr}
  .numbers__grid{grid-template-columns:1fr}
  .num+.num{border-left:0;border-top:1px solid var(--rule)}
  .decoder{--r:76px}
  .metrics dd{font-size:1.7rem}
  .foot__bottom{flex-direction:column;align-items:flex-start}
  .loader__meta span:first-child{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .mask__in{transform:none}
  .js [data-anim]{opacity:1!important;transform:none!important;filter:none!important}
  .haze{animation:none}
  .grain,.cursor,.decoder__lens{display:none}
  .decoder__cipher{display:none}
  .decoder__plain{clip-path:none}
  .foot__word span{transform:none}
  [pathLength]{stroke-dashoffset:0}
  .js .work__grid .chapter:not(.on){opacity:1}
}
