:root{--paper:#efe9dd;--paper-2:#e6ddcc;--ink:#26221b;--ink-soft:#55503f;--clay:#b4552d;--moss:#5c6b4f;--snow:#f8f5ee;--line:#26221b29;--contour:#26221b12;--font-display:"Fraunces", "Noto Serif SC", "Songti SC", serif;--font-body:"Noto Serif SC", "Songti SC", "Fraunces", serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--pad:clamp(20px, 4vw, 64px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.75;overflow-x:hidden}body:before{content:"";z-index:-2;opacity:.55;pointer-events:none;background-image:url(/contours.svg);background-size:1200px;position:fixed;inset:0}body:after{content:"";z-index:100;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.7'/%3E%3C/svg%3E");position:fixed;inset:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}::selection{background:var(--clay);color:var(--snow)}.mono{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.mono-sm{font-family:var(--font-mono);letter-spacing:.12em;font-size:10px}.display{font-family:var(--font-display);letter-spacing:-.015em;font-weight:560;line-height:1.04}.clay{color:var(--clay)}.moss{color:var(--moss)}.wrap{padding-inline:var(--pad);max-width:1560px;margin-inline:auto}.nav{z-index:50;padding:18px var(--pad);mix-blend-mode:multiply;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav__logo{align-items:center;gap:10px;display:flex}.nav__logo img{width:auto;height:26px}.nav__links{align-items:center;gap:clamp(16px,3vw,40px);display:flex}.nav__links a{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;padding:4px 0;font-size:11px;position:relative}.nav__links a:after{content:"";background:var(--clay);transform-origin:100%;width:100%;height:1px;transition:transform .35s cubic-bezier(.65,0,.35,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav__links a:hover:after,.nav__links a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.footer{border-top:1px solid var(--line);padding:clamp(48px, 8vh, 96px) var(--pad) 32px;background:var(--paper-2);margin-top:clamp(80px,12vh,160px)}.footer__grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px;max-width:1560px;margin-inline:auto;display:grid}.footer h2{font-family:var(--font-display);font-size:clamp(32px,5vw,64px);font-weight:560;line-height:1.05}.footer__meta{align-content:start;gap:10px;display:grid}.footer__meta a{border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .2s,border-color .2s}.footer__meta a:hover{color:var(--clay);border-color:var(--clay)}.footer__bottom{border-top:1px solid var(--line);max-width:1560px;color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:56px auto 0;padding-top:20px;display:flex}.sec-head{border-top:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:clamp(28px,4vh,48px);padding-top:14px;display:flex}.sec-head h2{font-family:var(--font-display);font-size:clamp(26px,3.6vw,48px);font-weight:560;line-height:1.1}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}@media (width<=860px){.footer__grid{grid-template-columns:1fr}.nav{padding:14px 20px}.nav__links{gap:14px}}
