:root{--paper:#f0efeb;--ink:#0b0b0b;--serif:"Playfair Display", Georgia, "Times New Roman", serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease:cubic-bezier(.2, .7, .1, 1);--gx:7vw;--stage-h:100vh}@supports (height:100svh){:root{--stage-h:100svh}}.is-narrow{--gx:6vw}*,:before,:after{box-sizing:border-box}html{scrollbar-width:none;-webkit-text-size-adjust:100%}html::-webkit-scrollbar{display:none}html,body{background:var(--paper);color:var(--ink);margin:0}body{font-family:var(--serif);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}html.drawer-open{overflow:hidden}html.sign-mode,html.sign-mode body{touch-action:none;overscroll-behavior:none}@media (hover:hover) and (pointer:fine){html,a,button,[tabindex]{cursor:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#ink{z-index:0;width:100vw;height:100lvh;display:block;position:fixed;top:0;left:0}#svh-probe{visibility:hidden;pointer-events:none;width:1px;height:100svh;position:fixed;top:0;left:0}.track{pointer-events:none;width:1px;position:relative}.scenes,.chrome{width:100%;height:var(--stage-h);color:#fff;mix-blend-mode:difference;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0}.scenes{z-index:2;opacity:0;transition:opacity .8s .6s}.is-ready .scenes{opacity:1}.chrome{z-index:3}.scene{visibility:hidden;transition:visibility 0s linear .9s;position:absolute;inset:0}.scene.is-active{visibility:visible;transition-delay:0s}.scene.is-active :is(a,button,[tabindex]){pointer-events:auto}.rv{opacity:0;filter:blur(6px);transition:opacity .4s ease, transform .5s var(--ease), filter .4s ease;transform:translateY(14px)}.is-active .rv{opacity:1;filter:blur();transition:opacity .9s ease, transform 1.2s var(--ease), filter 1s ease;transition-delay:calc(var(--d,0) * 80ms + .18s);transform:none}.w{opacity:0;filter:blur(12px);transition:opacity .35s ease, filter .35s ease, transform .4s var(--ease);display:inline-block;transform:translateY(.3em)scale(1.06)}.is-active .w{opacity:1;filter:blur();transition:opacity .9s ease, filter 1.1s ease, transform 1.2s var(--ease);transition-delay:calc(var(--i,0) * 55ms + .22s);transform:none}.kicker{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 1.1em;display:flex}.kicker__num{font:italic 700 17px/1 var(--serif);letter-spacing:0}.kicker__line{background:currentColor;width:40px;height:1px}.kicker__plate{opacity:.7;margin-left:auto;padding-left:16px}.heading{letter-spacing:-.015em;text-wrap:balance;margin:0 0 .45em;font-size:clamp(30px,4.1vw,66px);font-weight:400;line-height:1.04}.heading--project{font-size:clamp(36px,5vw,80px);font-style:italic;font-weight:900;line-height:.95}.heading--center{text-align:center}.body{max-width:34em;margin:0 0 1em;font-size:clamp(16px,1.2vw,19px);line-height:1.58}.caption{max-width:40em;font:400 11.5px/1.7 var(--mono);letter-spacing:.04em;opacity:.72;margin:1.2em 0 0}.meta{font:500 11.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0 0 1em}.sep{vertical-align:middle;background:currentColor;width:22px;height:1px;margin:0 12px;display:inline-block}.tags{flex-wrap:wrap;gap:6px;margin:0 0 1.4em;padding:0;list-style:none;display:flex}.tags li{font:400 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:5px 10px}.btn{color:inherit;font:500 11.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;transition:background-color .35s ease, color .35s ease, opacity .9s ease, transform 1.2s var(--ease), filter 1s ease;background:0 0;border:1px solid;border-radius:999px;align-items:center;gap:12px;padding:13px 20px;text-decoration:none;display:inline-flex}.btn span{transition:transform .35s var(--ease)}.btn:hover,.btn:focus-visible{color:#000;background:#fff;outline:none}.btn:hover span{transform:translate(4px)}.btn--ghost{border-color:#0000;padding-inline:12px}.btn--ghost:hover{border-color:currentColor}:focus-visible{outline-offset:6px;outline:1px dashed}.scene__text{left:var(--gx);width:min(36vw,540px);position:absolute;top:50%;translate:0 -50%}.is-narrow .scene--split .scene__text{left:var(--gx);right:var(--gx);width:auto;top:47%;translate:none}.is-narrow .scene--split .scene__text--top{top:9%}.is-narrow .scene--origin .scene__text{top:39%}.is-narrow .heading{font-size:clamp(26px,7.4vw,40px)}.is-narrow .heading--project{font-size:clamp(32px,10vw,52px)}.is-narrow .body{font-size:15px;line-height:1.5}.is-narrow .kicker{margin-bottom:.9em}.prologue__kicker{left:0;right:0;top:calc(var(--name-top,30%) - 58px);text-align:center;font:500 11px/1 var(--mono);letter-spacing:.32em;text-transform:uppercase;margin:0;position:absolute}.prologue__below{left:50%;top:calc(var(--name-bottom,60%) + 30px);text-align:center;width:min(88vw,560px);position:absolute;translate:-50%}.prologue__role{font:500 11.5px/1.4 var(--mono);letter-spacing:.22em;text-transform:uppercase;margin:0 0 14px}.prologue__lead{margin:0;font-size:clamp(17px,1.55vw,23px);font-style:italic;line-height:1.45}.prologue__hint{font:400 10.5px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:3.5%;left:0;right:0}.drip-line{width:1px;height:52px;margin-top:14px;display:block;position:relative;overflow:hidden}.drip-line:after{content:"";background:currentColor;border-radius:0 0 3px 3px;width:3px;height:24px;animation:2.2s cubic-bezier(.5,0,.8,.4) infinite drip;position:absolute;top:-24px;left:-1px}@keyframes drip{0%{transform:translateY(0)scaleY(.4)}70%{transform:translateY(60px)scaleY(1.3)}to{transform:translateY(80px)scaleY(1.3)}}.prologue__interact{right:var(--gx);font:400 10px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin:0;position:absolute;bottom:4%}.is-narrow .prologue__interact{display:none}.bars{margin:0;padding:0;list-style:none}.bar{outline-offset:2px;position:absolute}.bar__name{white-space:nowrap;align-items:baseline;gap:12px;font-size:clamp(15px,1.25vw,19px);display:flex;position:absolute;top:0;left:0}.bar__name small{font:400 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.6}.bar__value{left:calc(var(--bar-end) + 16px);top:var(--bar-y);font:500 12px/1 var(--mono);letter-spacing:.08em;position:absolute;translate:0 -50%}.bars__axis{font:400 10px/1 var(--mono);opacity:.55;justify-content:space-between;display:flex;position:absolute}.bars__axis span{translate:-50%}.bars__axis span:last-child{translate:50%}.is-narrow .bar__name small{display:none}.is-narrow .bar__name{font-size:14px}.bubbles{margin:0;padding:0;list-style:none}.bubble{text-align:center;overflow-wrap:anywhere;border-radius:50%;place-items:center;padding:8px;font-style:italic;line-height:1.1;display:grid;position:absolute;translate:-50% -50%}.journey__head{left:var(--gx);width:min(40vw,560px);position:absolute;top:12%}.journey__cards{right:var(--gx);width:min(32vw,440px);height:40%;position:absolute;top:13%}.card{opacity:0;filter:blur(10px);transition:opacity .45s ease, filter .45s ease, transform .6s var(--ease);position:absolute;inset:0 0 auto;transform:translateY(16px)}.card.is-current{opacity:1;filter:none;transition:opacity .9s ease .15s, filter .9s ease .15s, transform 1.1s var(--ease) .15s;transform:none}.card__year{margin:0 0 8px;font-size:clamp(48px,5.6vw,92px);font-style:italic;font-weight:900;line-height:.9}.card__title{margin:0 0 6px;font-size:clamp(22px,2vw,30px);font-weight:400}.card__place{font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;opacity:.75;margin:0 0 14px}.card__text{margin:0;font-size:clamp(15px,1.15vw,18px);line-height:1.55}.years{margin:0;padding:0;list-style:none}.year{font:500 11px/1 var(--mono);letter-spacing:.12em;opacity:.25;pointer-events:auto;transition:opacity .6s;position:absolute;translate:-50%}.year--above{translate:-50% -100%}.year.is-reached{opacity:1}.is-narrow .journey__head{left:var(--gx);right:var(--gx);width:auto;top:9%}.is-narrow .journey__head .caption{display:none}.is-narrow .journey__cards{left:var(--gx);right:var(--gx);width:auto;height:32%;top:33%}.is-narrow .card__year{font-size:44px}.is-narrow .card__text{font-size:14.5px}.is-narrow .year{letter-spacing:0;font-size:10px}.works__question{margin:0 0 .5em;font-size:clamp(18px,1.6vw,24px);font-style:italic}.scene--work .caption{margin-bottom:1.4em}.is-narrow .scene--work .caption{display:none}.numbers__head{left:var(--gx);right:var(--gx);text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;top:12%}.is-narrow .numbers__head{top:9%}.stats{margin:0;padding:0;list-style:none}.stat{text-align:center;pointer-events:auto;width:24vw;position:absolute;translate:-50%}.stat__label{font:500 11.5px/1.5 var(--mono);letter-spacing:.18em;text-transform:uppercase}.is-narrow .stat{width:80vw}.contact__head{justify-content:center;display:flex;position:absolute;top:10%;left:0;right:0}.contact__below{left:var(--gx);right:var(--gx);top:calc(var(--word-bottom,50%) + 28px);text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute}.contact__below .heading{font-size:clamp(26px,3vw,46px)}.contact__below .body{margin-bottom:.8em}.contact__email{color:inherit;transition:background-size .5s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;margin:.2em 0 .9em;font-size:clamp(22px,2.8vw,42px);font-style:italic;text-decoration:none}.contact__email:hover{background-position:100% 100%;background-size:0% 1px}.socials{flex-wrap:wrap;justify-content:center;gap:8px 26px;margin:0;padding:0;list-style:none;display:flex}.socials a{color:inherit;font:500 11.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;text-decoration:none}.socials a:hover{text-underline-offset:5px;text-decoration:underline}.contact__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}@media (hover:hover) and (pointer:fine){.sign-toggle{display:none}}.contact__footer{text-align:center;font:400 10px/1 var(--mono);letter-spacing:.14em;opacity:.6;margin:0;position:absolute;bottom:3%;left:0;right:0}.is-narrow .contact__below .caption{display:none}.hud{padding:20px var(--gx) 0;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.hud__brand{color:inherit;font:italic 900 24px/1 var(--serif);pointer-events:auto;text-decoration:none}.hud__chapter{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;margin:0}.hud__chapter b{font:italic 700 15px/1 var(--serif);letter-spacing:0;margin-right:8px}.hud__chapter.is-in{animation:bleed .9s var(--ease)}@keyframes bleed{0%{opacity:0;filter:blur(8px);transform:translateY(6px)}}.rail{flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:50%;right:20px;translate:0 -50%}.rail__item{color:inherit;font:400 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;pointer-events:auto;background:0 0;border:0;align-items:center;gap:10px;padding:7px 0;display:flex}.rail__num{text-align:right;width:22px;font:italic 700 12px/1 var(--serif);letter-spacing:0;opacity:.5;transition:opacity .4s}.rail__item{position:relative}.rail__title{white-space:nowrap;opacity:0;transition:opacity .4s ease, transform .4s var(--ease);position:absolute;right:calc(100% + 10px);transform:translate(8px)}.rail__tick{opacity:.5;width:12px;height:1px;transition:width .6s var(--ease), opacity .4s ease;background:currentColor}.rail:hover .rail__title,.rail__item:focus-visible .rail__title{opacity:.85;transform:none}.rail__item.is-current .rail__num,.rail__item.is-current .rail__tick{opacity:1}.rail__item.is-current .rail__tick{width:34px;height:2px}.is-narrow .rail{display:none}.progress{height:2px;position:absolute;bottom:0;left:0;right:0}.progress span{transform-origin:0;background:currentColor;height:100%;display:block;transform:scaleX(0)}.cursor{z-index:6;mix-blend-mode:difference;pointer-events:none;width:14px;height:14px;transition:width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), opacity .3s ease;background:#fff;border-radius:50%;margin:-7px 0 0 -7px;position:fixed;top:0;left:0}.cursor.is-hover{width:54px;height:54px;margin:-27px 0 0 -27px}.cursor.is-down{width:26px;height:26px;margin:-13px 0 0 -13px}@media not ((hover:hover) and (pointer:fine)){.cursor{display:none}}.drawer{z-index:10;pointer-events:none;position:fixed;inset:0}.drawer.is-open{pointer-events:auto}.drawer__backdrop{opacity:0;background:#0b0b0b80;transition:opacity .6s;position:absolute;inset:0}.drawer.is-open .drawer__backdrop{opacity:1}.drawer__panel{overscroll-behavior:contain;background:var(--paper);width:min(600px,100vw);color:var(--ink);transition:transform .8s var(--ease);-webkit-user-select:text;user-select:text;outline:none;padding:clamp(24px,4vw,56px);position:absolute;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(102%)}.drawer.is-open .drawer__panel{transform:none}.drawer__close{color:inherit;font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;background:0 0;border:0;margin-left:auto;padding:8px 0;display:block}.drawer__blot{aspect-ratio:360/220;filter:contrast(1.2);width:100%;max-width:360px;margin:12px auto 28px;display:block}.drawer__plate{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin:0 0 10px}.drawer__title{margin:0 0 14px;font-size:clamp(38px,5vw,60px);font-style:italic;font-weight:900;line-height:.95}.drawer__meta{font:500 11.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}.drawer__body p{margin:0 0 1.1em;font-size:17px;line-height:1.65}.drawer__links{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.drawer .btn:hover,.drawer .btn:focus-visible{background:var(--ink);color:var(--paper)}.ink-fallback{display:none}.no-ink .ink-fallback{display:block}.prologue__fallback{text-align:center;font:italic 900 clamp(64px, 15vw, 220px)/.86 var(--serif);margin:0;position:absolute;top:22%;left:0;right:0}.no-ink .prologue__below{top:64%}.no-ink .prologue__kicker{top:15%}.stat__fallback{font:900 clamp(48px, 7vw, 110px)/1 var(--serif)}.no-ink .stat{translate:-50% -100%}.contact__fallback{text-align:center;font:italic 900 clamp(64px, 14vw, 200px)/1 var(--serif);margin:0;position:absolute;top:16%;left:0;right:0}.noscript{text-align:center;font-size:20px;position:fixed;inset:40% 10% auto}@media (prefers-reduced-motion:reduce){.rv,.w,.card{filter:none!important;transform:none!important}.drip-line:after{animation:none}}
