/* Malhi's — base: tokens, type, layout primitives */
@font-face{font-family:"Rozha One";src:url(../fonts/rozha-one-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Hind;src:url(../fonts/hind-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Hind;src:url(../fonts/hind-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Hind;src:url(../fonts/hind-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(../fonts/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{
 --cream:#F5EDE0; --paper:#FBF6EE; --sand:#EADFCC; --line:#D6C6AE; --line-2:#C2AE90;
 --ink:#24130F; --ink-2:#5A4237; --ink-3:#6E5548;
 --clove:#1B0E0B; --clove-2:#2A1712; --on-dark:#F3E8D8; --on-dark-2:#CDBBA6;
 --pom:#A3173A; --pom-d:#86102F; --pom-lt:#F2B8C4; --pom-wash:#F6E3E3;
 --tur:#D9A21B;
 --f-disp:"Rozha One",Georgia,"Times New Roman",serif;
 --f-text:Hind,"Segoe UI",system-ui,sans-serif;
 --f-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
 --wrap:1240px; --gut:clamp(18px,4vw,40px);
 --r:3px; --sh:0 18px 40px -24px rgba(36,19,15,.45);
 --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--f-text);font-size:1.0625rem;line-height:1.6;overflow-x:hidden}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--f-disp);font-weight:400;line-height:1.04;margin:0 0 .4em;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(2.9rem,7.4vw,6.6rem)}
h2{font-size:clamp(2.1rem,4.6vw,3.9rem)}
h3{font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.15}
p{margin:0 0 1em}
.two{display:block;color:var(--ink-3)}
.on-dark .two,.two-lt{color:var(--on-dark-2)}
.pom{color:var(--pom)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.mono{font-family:var(--f-mono);font-weight:500;font-size:.8rem;letter-spacing:.02em}
.lede{font-size:clamp(1.12rem,1.6vw,1.3rem);line-height:1.55;color:var(--ink-2);max-width:40em}
.on-dark{background:var(--clove);color:var(--on-dark)}
.on-dark .lede{color:var(--on-dark-2)}
.sec{padding:clamp(64px,9vw,128px) 0}
.sec-tight{padding:clamp(44px,6vw,80px) 0}
.sr,.skip:not(:focus){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:10px;left:10px;z-index:200;background:var(--ink);color:var(--cream);padding:10px 16px}
:focus-visible{outline:2px solid var(--pom);outline-offset:3px}
.on-dark :focus-visible,.hdr-over :focus-visible{outline-color:var(--pom-lt)}
::selection{background:var(--pom);color:#fff}
.spec{display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--f-mono);font-weight:500;font-size:.78rem;letter-spacing:.03em;color:var(--ink-3);margin:0;padding:0;list-style:none}
.on-dark .spec{color:var(--on-dark-2)}
.spec li{display:flex;gap:8px}
.spec b{font-weight:500;color:var(--ink)}
.on-dark .spec b{color:var(--on-dark)}
.rule{border:0;border-top:1px solid var(--line);margin:0}
/* reveal */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js .rv{opacity:1;transform:none}
}
.arch picture,.sig-img picture,.story-img picture,.way-img picture,.fill picture{display:block;height:100%}
[hidden]{display:none!important}
fieldset{min-width:0}
