/* ============ RESET ============ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* ============ CSS VARIABLES ============ */
:root{
  /* Backgrounds: cream beige → Apple system white/gray */
  --cream:#FFFFFF;--cream-2:#F5F5F7;--cream-3:#E8E8ED;--paper:#FFFFFF;
  /* "forest" name kept for backward compat — value is now Apple System Blue (medical trust) */
  --forest:#0071E3;--forest-2:#0058B0;--forest-3:#4A9AED;--forest-tint:#E8F2FF;--forest-line:#C9DDF5;
  /* "terra" name kept — value is now Apple System Green (health / positive action) */
  --terra:#34A853;--terra-2:#248A40;--terra-tint:#E8F5EC;
  /* Text: warm grey → Apple text greys */
  --ink:#1D1D1F;--ink-2:#424245;--ink-3:#6E6E73;--ink-4:#86868B;
  /* Borders: warm beige line → cool neutral separator */
  --line:#D2D2D7;--line-soft:#E8E8ED;
  /* Fonts: prepend Apple system font stack; keep DM Sans/Inter as fallback */
  --f-display:-apple-system,BlinkMacSystemFont,'SF Pro Display','Inter','DM Sans',system-ui,sans-serif;
  --f-body:-apple-system,BlinkMacSystemFont,'SF Pro Text','Inter','DM Sans',system-ui,sans-serif;
  --f-mono:'SF Mono',ui-monospace,'JetBrains Mono',monospace;
}

/* ============ BASE ELEMENTS ============ */
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--f-body);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select{font:inherit;color:inherit}

/* ============ LAYOUT ============ */
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
@media(min-width:768px){.wrap{padding:0 56px}}

/* ============ TYPOGRAPHY ============ */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--forest-2);font-weight:500}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--forest-3)}
.h-display{font-family:var(--f-display);font-weight:600;letter-spacing:-.025em;line-height:1.02;color:var(--ink)}
.h-display em{font-weight:600;color:var(--forest)}
.h-section{font-family:var(--f-display);font-weight:400;font-size:clamp(36px,4.8vw,60px);letter-spacing:-.022em;line-height:1.1;color:var(--ink)}
.h-section em{font-weight:400;color:var(--forest)}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--ink-2);max-width:60ch;line-height:1.65}
.prose p{font-size:18px;line-height:1.75;color:var(--ink-2);margin-bottom:20px}
.prose p:last-child{margin-bottom:0}

/* ============ REVEAL ANIMATION ============ */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
