/* base.css — reset + tokens (derived from Nexus system, Untold People palette) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;hanging-punctuation:first last;scroll-padding-top:90px}
:root{
  --text-xs:clamp(0.75rem,0.7rem+0.25vw,0.875rem);
  --text-sm:clamp(0.875rem,0.8rem+0.35vw,1rem);
  --text-base:clamp(1.0625rem,1rem+0.3vw,1.1875rem);
  --text-lg:clamp(1.25rem,1.05rem+0.8vw,1.625rem);
  --text-xl:clamp(1.6rem,1.2rem+1.6vw,2.4rem);
  --text-2xl:clamp(2.1rem,1.3rem+3vw,3.6rem);
  --text-3xl:clamp(2.8rem,0.8rem+6vw,5.5rem);
  --text-hero:clamp(3rem,0.5rem+7vw,6.5rem);
  --space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
}
:root,[data-theme='light']{
  /* Untold People — warm paper surfaces with an ember/teal mission palette */
  --color-bg:#fbf8f3;--color-surface:#ffffff;--color-surface-2:#fdfaf5;--color-surface-offset:#f4efe6;--color-surface-offset-2:#efe8db;--color-divider:#e7dfd2;--color-border:#e0d6c4;
  --color-text:#241f17;--color-text-muted:#6f6757;--color-text-faint:#a89e8a;--color-text-inverse:#fffaf2;
  --color-primary:#b5471f;--color-primary-hover:#963818;--color-primary-active:#7a2c12;--color-primary-highlight:#f3ddcf;
  --color-ink:#1c1812;
  --c-ember:#c2502b;--c-crimson:#a13540;--c-spring:#3f7d34;--c-sky:#2c6f9e;--c-rose:#b0456e;--c-forest:#2f6b46;--c-violet:#6f3f9e;--c-sun:#c98a16;--c-ocean:#1f6e8c;
  --shadow-sm:0 1px 2px oklch(0.2 0.02 60/0.06);--shadow-md:0 6px 18px oklch(0.2 0.02 60/0.10);--shadow-lg:0 18px 48px oklch(0.2 0.02 60/0.16);
  --radius-sm:0.4rem;--radius-md:0.7rem;--radius-lg:1.1rem;--radius-xl:1.6rem;--radius-full:9999px;
  --transition-interactive:180ms cubic-bezier(0.16,1,0.3,1);
  --content-narrow:680px;--content-default:1080px;--content-wide:1240px;
  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --font-body:'Inter','Helvetica Neue',system-ui,sans-serif;
}
[data-theme='dark']{
  --color-bg:#15120d;--color-surface:#1d1812;--color-surface-2:#221c14;--color-surface-offset:#241d14;--color-surface-offset-2:#2a2116;--color-divider:#332a1d;--color-border:#3a3022;
  --color-text:#e7ddcd;--color-text-muted:#a99e89;--color-text-faint:#6f6553;--color-text-inverse:#1a140d;
  --color-primary:#e0824a;--color-primary-hover:#f0975c;--color-primary-active:#c2682f;--color-primary-highlight:#3a2a1c;
  --color-ink:#0e0b07;
  --c-ember:#d9683f;--c-crimson:#c64a55;--c-spring:#6aa85a;--c-sky:#5fa3d0;--c-rose:#c8618a;--c-forest:#5fa57e;--c-violet:#9a72c4;--c-sun:#e0a73c;--c-ocean:#4f9fc4;
  --shadow-sm:0 1px 2px oklch(0 0 0/0.3);--shadow-md:0 6px 18px oklch(0 0 0/0.4);--shadow-lg:0 18px 48px oklch(0 0 0/0.5);
}
@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#15120d;--color-surface:#1d1812;--color-surface-2:#221c14;--color-surface-offset:#241d14;--color-surface-offset-2:#2a2116;--color-divider:#332a1d;--color-border:#3a3022;--color-text:#e7ddcd;--color-text-muted:#a99e89;--color-text-faint:#6f6553;--color-text-inverse:#1a140d;--color-primary:#e0824a;--color-primary-hover:#f0975c;--color-primary-active:#c2682f;--color-primary-highlight:#3a2a1c;--c-ember:#d9683f;--c-crimson:#c64a55;--c-spring:#6aa85a;--c-sky:#5fa3d0;--c-rose:#c8618a;--c-forest:#5fa57e;--c-violet:#9a72c4;--c-sun:#e0a73c;--c-ocean:#4f9fc4;--shadow-sm:0 1px 2px oklch(0 0 0/0.3);--shadow-md:0 6px 18px oklch(0 0 0/0.4);--shadow-lg:0 18px 48px oklch(0 0 0/0.5)}}
body{min-height:100dvh;line-height:1.65;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg)}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
ul[role='list'],ol[role='list']{list-style:none}
input,button,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.12;font-family:var(--font-display);font-weight:600;letter-spacing:-0.01em}
p,li,figcaption{text-wrap:pretty}
::selection{background:oklch(from var(--color-primary) l c h/0.25);color:var(--color-text)}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}
button{cursor:pointer;background:none;border:none}
a{color:inherit;text-decoration:none;transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
