/* Typography + readability layer (typography-fix-v2-2026-10-11)
   Load LAST on every page, after Tailwind and page <style>. */

:root{
  --font-head:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Source Sans 3","Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --step--1: clamp(0.875rem, 0.85rem + 0.1vw, 0.9375rem);
  --step-0:  clamp(1.0625rem, 1.04rem + 0.11vw, 1.125rem);
  --step-1:  clamp(1.25rem, 1.18rem + 0.3vw, 1.4rem);
  --step-2:  clamp(1.5rem, 1.35rem + 0.65vw, 1.875rem);
  --step-3:  clamp(1.875rem, 1.6rem + 1.2vw, 2.625rem);
  --step-4:  clamp(2.25rem, 1.8rem + 2vw, 3.5rem);
  --step-5:  clamp(2.6rem, 2rem + 3vw, 4.5rem);
  --lh-body:1.6; --lh-head:1.12; --measure:68ch;
  --text:#f5f0e6; --text-2:#c9c4ba;
  --text-3:#b8b3a9; --link:#fde68a;
}
html{font-size:100%;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:var(--step-0);line-height:var(--lh-body);color:var(--text);font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3,.hero-title,.shh-chapter-title{font-family:var(--font-head);font-weight:600;line-height:var(--lh-head);letter-spacing:-0.01em;font-variation-settings:"SOFT" 80,"opsz" 96;text-wrap:balance}
h1{font-size:var(--step-5)} h2{font-size:var(--step-4)} h3{font-size:var(--step-2)}
p,li,dd,blockquote{max-width:var(--measure);text-wrap:pretty}
small,.text-xs,.text-\[9px\],.text-\[10px\],.text-\[11px\]{font-size:var(--step--1)!important;line-height:1.45}
.text-sm{font-size:var(--step--1);line-height:1.5}
.text-zinc-500,.text-zinc-600{color:var(--text-2)!important}
.shh-hero-promise{font-size:var(--step-1)!important;line-height:1.5;max-width:36ch}
.shh-hero-eyebrow,.shh-chapter-kicker,.hh-kicker{font-family:var(--font-body)!important;font-size:0.9375rem!important;font-weight:600;letter-spacing:0.04em!important;text-transform:none!important}
button,.super-cta-btn,.premium-sponsor-btn{font-family:var(--font-body);letter-spacing:0!important;font-weight:600}

/* ---- v2 readability + contrast layer ---- */
.text-zinc-500,.text-zinc-600,.xops-loc-meta,.xops-arrow,.shh-ptile__seat-label,[class*="text-zinc-500"]{color:#c9c4ba!important}
.text-zinc-400{color:#c9c4ba!important}
.opacity-60,.opacity-70,.opacity-50{opacity:1!important}
[class*="text-amber-200/"],[class*="text-amber-300/"],[class*="text-amber-100/"],[class*="text-emerald-200/"],[class*="text-orange-300/"],[class*="text-white/"]{--tw-text-opacity:1}
.text-amber-300\/60,.text-amber-300\/70,.text-amber-300\/80,.text-amber-400\/80{color:#fcd34d!important}
.text-amber-200\/60,.text-amber-200\/70,.text-amber-200\/80,.text-amber-200\/90{color:#fde68a!important}
.text-amber-100\/80,.text-amber-100\/90{color:#fef3c7!important}
.text-emerald-200\/70{color:#a7f3d0!important}
.text-white\/70{color:#fff!important}
.shh-chapter-kicker{color:#fcd34d!important}
.tdx-honest{color:rgba(255,244,224,.85)!important;font-size:.9375rem!important}
.bg-amber-500,.bg-amber-600{background-color:#fbbf24!important;color:#1c1306!important}
.bg-emerald-500,.bg-emerald-600{background-color:#34d399!important;color:#04221a!important}
.bg-amber-500 *,.bg-amber-600 *,.bg-emerald-500 *,.bg-emerald-600 *{color:inherit!important}
.tdx-cta-gold,.oca-cta-primary,.xops-cta{background:linear-gradient(135deg,#f5e6a8,#e8c547 55%,#f59e0b)!important;color:#1a080c!important}
main p a,main li a,footer p a,article a,.shh-ts a,p a{text-decoration:underline!important;text-decoration-thickness:.08em;text-underline-offset:.18em}
a:focus-visible,button:focus-visible{outline:3px solid #fde68a;outline-offset:3px}
a,button,input,select,textarea,label{font-size:max(0.875rem,1em)}
nav a,footer a,button,.btn,[role="button"],input[type="submit"]{min-height:44px;display:inline-flex;align-items:center}
footer a{padding-block:.35rem}
input,select,textarea{font-size:1rem!important;min-height:44px}
::placeholder{color:#a1a1aa!important;opacity:1}
.hero-bg,.shh-hero{position:relative}
.program-card p,.program-card h3{text-shadow:0 1px 2px rgba(0,0,0,.8)}
[class*="tracking-[0."],[class*="tracking-[2"],[class*="tracking-[3"],[class*="tracking-[4"],.tracking-widest,.tracking-wider{letter-spacing:.04em!important}
.uppercase{text-transform:none!important}
.shh-chip,.shh-chip-scope,[class*="shh-ts__"],.shh-cinema-badge,.shh-cinema-caption,.shh-ptile__seat-label,.xops-loc-type,.xops-loc-meta,.ocm-pill,.ocm-kicker,.ocm-honest,.ocm-tab,.ocm-btn,.tdx-honest,.shh-partners__note,.shh-partners__ask-note,#shh-chapter-rail a,small{font-size:.875rem!important;letter-spacing:.02em!important;text-transform:none!important}
.ocm-tab{font-size:.8125rem!important}
.shh-partners__note,.shh-partners__ask-note,.ocm-honest,.ocm-tab,footer p{color:#c9c4ba!important}
.ocm-btn-gold{background:linear-gradient(135deg,#f5e6a8,#e8c547 55%,#f59e0b)!important;color:#1a080c!important}
.ic{opacity:1!important}
.shh-scroll-cue,.shh-scroll-cue span{color:#c9c4ba!important;opacity:1!important}
.shh-hero-promise{background:rgba(10,15,28,.8)!important;padding:.6em 1.1em!important;border-radius:1rem;max-width:40ch!important;text-shadow:none!important}
.shh-hero-eyebrow,.shh-hero-wordmark{color:#fef3c7!important;text-shadow:0 1px 3px #000,0 0 12px #000!important}
.shh-scroll-cue{display:none!important}
.shh-hero{padding-top:8rem!important}
[class*="kicker"],[class*="-pill"],[class*="eyebrow"],[class*="-tag"]{text-transform:none!important;letter-spacing:.02em!important}
