/* OSARA — tokens.css
   Single source of identity. style.css reads ONLY var(--token).
   Inherently light, warm-paper editorial template with a clay accent and one deep espresso band. */
:root{
  /* COLOR — warm paper */
  --bg:#F2EDE3;
  --bg-deep:#ECE6D9;
  --surface:#FBF8F1;
  --surface-2:#FFFFFF;
  --ink:#181410;
  --body:#5B544A;
  --muted:#8C8478;
  --accent:#A9532E;
  --accent-2:#8E4122;
  --accent-dim:#C2734D;
  --accent-ink:#FBF8F1;
  --line:#D7CFC0;
  --line-soft:#E5DDCD;
  --card:#FBF8F1;

  /* deep espresso band (testimonials) — kept as tokens so style.css stays literal-free */
  --band-bg:#1A1611;
  --band-surface:#241F18;
  --band-ink:#F1EADD;
  --band-body:#B7AE9E;
  --band-muted:#8E8576;
  --band-line:#352E25;

  /* TYPOGRAPHY */
  --font-display:"Bricolage Grotesque",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
  --w-reg:400;
  --w-med:500;
  --w-semi:600;
  --w-bold:700;
  --tracking-tight:-0.03em;
  --tracking-label:0.18em;
  --lh-body:1.6;
  --lh-display:1.03;

  /* TYPE SCALE — hard 65px cap wraps every functional heading (R3) */
  --fs-cap:65px;
  --fs-hero:min(clamp(2.3rem,4.6vw + 0.6rem,3.5rem), var(--fs-cap));
  --fs-h2:min(clamp(1.95rem,3.1vw + 0.5rem,2.9rem), var(--fs-cap));
  --fs-h3:min(clamp(1.2rem,1vw + 0.82rem,1.6rem), var(--fs-cap));
  --fs-lead:clamp(1.0625rem,0.45vw + 0.95rem,1.3rem);
  --fs-body:clamp(0.9375rem,0.25vw + 0.875rem,1rem);
  --fs-label:clamp(0.6875rem,0.15vw + 0.66rem,0.75rem);
  --fs-read:clamp(1.0625rem,0.4vw + 0.98rem,1.2rem); /* long-form article body */
  /* decorative oversized (aria-hidden only) — hero wordmark + footer wordmark */
  --fs-mega:clamp(3.6rem,16vw,13rem);
  --fs-footer-mark:clamp(3.6rem,17vw,14rem);

  /* LAYOUT */
  --maxw:1260px;
  --maxw-narrow:760px;
  --maxw-read:720px;
  --gutter:26px;
  --section-pad-y:clamp(4.5rem,9.5vw,8.5rem);
  --gap:clamp(1rem,2vw,1.5rem);
  --radius-sm:8px;
  --radius-md:14px;
  --card-radius:18px;
  --radius-pill:200px;

  /* MOTION (baseline reveal + marquee) */
  --ease:cubic-bezier(0.22,1,0.36,1);
  --dur:0.6s;
  --reveal-shift:24px;
  --base-x:-24px;          /* baseline R2: fade from the left */
  --base-delay:.15s;       /* DELAY, not duration */
  --stagger:0.08s;
  --marquee-title:32s;
  --marquee-foot:44s;

  /* derived overlay / shadow tints */
  --header-bg:rgba(242,237,227,.78);
  --menu-bg:rgba(24,20,16,.04);
  --case-grad:linear-gradient(180deg,rgba(20,16,12,.02),rgba(20,16,12,.78));
  --glow:radial-gradient(120% 80% at 50% -10%,rgba(169,83,46,.12),transparent 60%);
  --mask-edge:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  --shadow-card:0 1px 2px rgba(24,20,16,.04),0 12px 30px rgba(24,20,16,.05);
}

/* dark band helper — scope tokens swap inside the espresso section */
.band{
  --bg:var(--band-bg);
  --surface:var(--band-surface);
  --ink:var(--band-ink);
  --body:var(--band-body);
  --muted:var(--band-muted);
  --line:var(--band-line);
  --line-soft:var(--band-line);
}
