/* Case study pages. Tokens, fonts and rules mirror wumonica.com globals.css (Tidewater dark + Linen light, Oct 3 2026).
   No inline styles or scripts (strict CSP). Fonts are self-hosted copies in /case-studies/fonts/. */
@font-face{font-family:"cormorant";src:url(/case-studies/fonts/CormorantGaramond-Variable.ttf) format("truetype");font-display:swap;font-weight:300 700;font-style:normal}
@font-face{font-family:"dmSans";src:url(/case-studies/fonts/DMSans-Variable.ttf) format("truetype");font-display:swap;font-weight:400 700;font-style:normal}
@font-face{font-family:"dmMono";src:url(/case-studies/fonts/DMMono-Regular.ttf) format("truetype");font-display:swap;font-weight:400;font-style:normal}
@font-face{font-family:"dmMono";src:url(/case-studies/fonts/DMMono-Medium.ttf) format("truetype");font-display:swap;font-weight:500;font-style:normal}

:root{
  --c-bg:#f4efe6;--c-surface:#eae3d6;--c-surface-2:#e0d8c9;
  --c-text:#12181f;--c-text-2:#333d48;--c-text-3:#4d5764;
  --c-border:rgba(18,24,31,.10);--c-border-2:rgba(18,24,31,.20);
  --c-accent:#2f6b4f;--c-accent-h:#24573f;--c-accent-soft:rgba(47,107,79,.10);--c-accent-ink:#24573f;--c-focus:#2f6b4f;--c-grid:rgba(47,107,79,.05);
  --font-display:"cormorant","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-mono:"dmMono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --font-sans:"dmSans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease-ui:cubic-bezier(.4,0,.2,1);
  color-scheme:light;
}
[data-theme="dark"]{
  --c-bg:#0a0f14;--c-surface:#10161d;--c-surface-2:#161d26;
  --c-text:#eef2f5;--c-text-2:#b4bec8;--c-text-3:#8b96a2;
  --c-border:rgba(255,255,255,.08);--c-border-2:rgba(255,255,255,.14);
  --c-accent:#6fcf97;--c-accent-h:#8ddcad;--c-accent-soft:rgba(111,207,151,.10);--c-accent-ink:#8ddcad;--c-focus:#8ddcad;--c-grid:rgba(111,207,151,.03);
  color-scheme:dark;
}
@media (prefers-contrast:more){
  :root{--c-text-3:#2f3842;--c-border-2:#6b7480}
  [data-theme="dark"]{--c-text-3:#a9b3bd;--c-border-2:#4a5560}
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);font-size:1.0625rem;line-height:1.65;color:var(--c-text);background-color:var(--c-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color 260ms var(--ease-ui),color 260ms var(--ease-ui)}
[data-theme="light"] body{-webkit-font-smoothing:auto}
::selection{background:var(--c-accent);color:var(--c-bg)}

a{color:var(--c-text);text-decoration:underline;text-decoration-color:var(--c-border-2);text-decoration-thickness:1px;text-underline-offset:3px;transition:color 140ms var(--ease-ui),text-decoration-color 140ms var(--ease-ui)}
a:hover{color:var(--c-accent);text-decoration-color:var(--c-accent)}
:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--c-accent);color:var(--c-bg);padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}

.wrap{max-width:760px;margin:0 auto;padding:2rem 1.25rem 4rem}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--font-mono);font-size:.875rem;color:var(--c-text-3);margin-bottom:2.5rem;flex-wrap:wrap}
[data-theme="light"] .top,[data-theme="light"] .meta{font-weight:500}
.top a{color:var(--c-accent-ink)}
.toggle{font:inherit;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-2);border-radius:999px;padding:.25rem .85rem;cursor:pointer}
.toggle:hover{border-color:var(--c-accent);color:var(--c-accent)}

h1,h2{font-family:var(--font-display);font-weight:600;line-height:1.1;color:var(--c-text);margin:0}
[data-theme="light"] h1,[data-theme="light"] h2{font-weight:700}
h1{font-size:clamp(2.5rem,6vw,3.75rem)}
h2{font-size:clamp(1.875rem,3.6vw,2.5rem);margin:3rem 0 .85rem;padding-top:1.5rem;border-top:1px solid var(--c-border)}
.lede{font-size:clamp(1.125rem,2vw,1.375rem);color:var(--c-text-2);margin:.85rem 0 1.25rem}
.meta{font-family:var(--font-mono);font-size:.875rem;line-height:1.6;color:var(--c-text-3);margin:0 0 1rem}
.links a{margin-right:1.25rem;font-weight:600;color:var(--c-accent-ink)}
.links a:hover{color:var(--c-accent)}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin:1.75rem 0;padding:0;list-style:none}
.stats li{background:var(--c-surface);border:1px solid var(--c-border);border-radius:8px;padding:1rem}
.stats strong{display:block;font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.1;color:var(--c-accent-ink)}
[data-theme="light"] .stats strong{font-weight:700}
.stats span{color:var(--c-text-2);font-size:.95rem}

p,li{color:var(--c-text-2)}
li strong,p strong{color:var(--c-text)}
ol.decisions,ul.plain{padding-left:1.25rem}
ol.decisions li,ul.plain li{margin:.9rem 0}
ol.decisions li::marker{color:var(--c-accent-ink);font-weight:600}
.note{background:var(--c-accent-soft);border-left:4px solid var(--c-accent);padding:.75rem 1rem;border-radius:0 6px 6px 0;margin:1.5rem 0}
footer{margin-top:3.5rem;padding-top:1.25rem;border-top:1px solid var(--c-border);color:var(--c-text-3);font-size:.9rem}

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