/* =====================================================================
   THE BEHAVIOURAL RESET — DESIGN TOKENS + RESET
   Near-black navy base · restrained gold signal · warm off-white text.
   Fraunces (editorial statements) + Instrument Sans (interface).
   ===================================================================== */
:root{
  /* base surfaces (near-black navy) */
  --void:#04070F; --deep:#060D1D; --panel:#0A142B; --panel-2:#0D1A36;
  --audit:#0B1426;            /* calmer audit surface (lighter than landing) */
  /* text (warm off-white) */
  --ink:#F4EFE6; --ink-dim:#C7CFE2; --muted:#93A3C7; --muted-2:#6B7BA1;
  /* lines */
  --line:rgba(148,166,210,.14); --line-strong:rgba(148,166,210,.30);
  /* accents — gold is the signal colour, used sparingly */
  --gold:#F2B84B; --gold-2:#F7CE78; --gold-deep:#C8922B;
  --gold-soft:rgba(242,184,75,.12); --gold-line:rgba(242,184,75,.34);
  --blue:#2F6BFF; --blue-2:#5E93FF;
  --mint:#35D9A4; --coral:#FF6B4A;
  /* type */
  --disp:"Fraunces",Georgia,"Times New Roman",serif;
  --body:"Instrument Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  /* type scale (fluid) */
  --t-hero:clamp(2.6rem,6vw,5rem);
  --t-h1:clamp(2rem,4.4vw,3.4rem);
  --t-h2:clamp(1.5rem,3vw,2.2rem);
  --t-h3:clamp(1.15rem,2vw,1.5rem);
  --t-lead:clamp(1.08rem,1.7vw,1.35rem);
  --t-body:1.02rem; --t-sm:.9rem; --t-xs:.78rem;
  /* spacing */
  --s-1:.5rem; --s-2:.85rem; --s-3:1.25rem; --s-4:1.75rem;
  --s-5:2.5rem; --s-6:3.5rem; --s-7:5rem; --s-8:7rem;
  /* fx */
  --shadow:0 24px 70px rgba(0,0,0,.55);
  --shadow-sm:0 8px 30px rgba(0,0,0,.4);
  --glow-gold:0 0 44px rgba(242,184,75,.20);
  --r:14px; --r-lg:22px; --r-pill:999px;
  --ease:cubic-bezier(.22,.7,.16,1);
  --dur:.5s;
  --maxw:1120px; --readw:760px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--void); color:var(--ink);
  font-family:var(--body); font-size:var(--t-body); line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3{font-family:var(--disp); font-weight:600; line-height:1.08; letter-spacing:-.01em; margin:0}
p{margin:0 0 1em}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
button{font-family:inherit; cursor:pointer; border:0; background:none; color:inherit}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:6px}
::selection{background:var(--gold); color:var(--void)}

.em{font-family:var(--disp); font-style:italic; color:var(--gold-2)}
.wrap{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 clamp(1.1rem,4vw,2rem)}
.read{max-width:var(--readw)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.center{text-align:center}

/* film grain + subtle depth (decorative, reduced-motion safe) */
.grain{position:fixed; inset:0; pointer-events:none; z-index:2; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important}
}
