/* Hallmark · genre: editorial · macrostructure: Photographic · theme: Sport · enrichment: E8 local photography · nav: N9 · footer: Ft1
 * audience: Nigerian property investors · use: waitlist signup · tone: premium, trustworthy, energetic
 * pre-emit critique: P5 H5 E4 S5 R4 V5
 */
/* ============================================================
   Sunrise Premium Nigeria — design tokens
   Every colour, type, space, motion and radius value lives here.
   Page CSS references these by name only.
   ============================================================ */

:root {

  /* ---------- Colour (OKLCH only) ---------- */
  --color-paper:       oklch(98% 0.004 255);
  --color-paper-2:     oklch(94.5% 0.009 255);
  --color-paper-3:     oklch(90% 0.012 255);
  --color-ink:         oklch(18% 0.048 257);
  --color-ink-2:       oklch(42% 0.028 257);
  --color-band:        oklch(96% 0.008 255);
  --color-accent:      oklch(62% 0.176 42);
  --color-accent-deep: oklch(46% 0.142 38);
  /* Button fill: deep enough that paper-white label clears 5.4:1.
     The lighter --color-accent stays for rules, dots and chart strokes. */
  --color-accent-btn:  oklch(48% 0.158 39);
  --color-accent-ink:  oklch(98% 0.004 255);
  --color-positive:    oklch(54% 0.115 155);
  --color-warn:        oklch(58% 0.140 30);
  --color-rule:        oklch(82% 0.014 255);
  --color-rule-strong: oklch(58% 0.025 257);
  --color-focus:       oklch(54% 0.185 252);

  /* Derived surface + state colours (still OKLCH) */
  --color-band-ink-2:    oklch(42% 0.028 257);
  --color-band-rule:     oklch(82% 0.014 255);
  --color-band-surface:  oklch(92% 0.010 255);
  --color-positive-band: oklch(72% 0.115 155);
  --color-accent-soft:   oklch(92% 0.045 42);
  --color-warn-soft:     oklch(94% 0.035 32);
  --color-disabled:      oklch(78% 0.010 75);
  --color-disabled-ink:  oklch(60% 0.008 75);
  --color-frost:         oklch(18% 0.048 257 / 0.72);
  --color-frost-border:  oklch(98% 0.004 255 / 0.52);
  --color-scrim:         oklch(12% 0.040 257 / 0.42);
  --color-hero-scrim:    oklch(12% 0.040 257 / 0.68);
  --color-hero-side-scrim: oklch(12% 0.040 257 / 0.76);
  --color-hero-mobile-scrim: oklch(12% 0.040 257 / 0.54);
  --color-on-image:      oklch(98% 0.004 255);
  --color-on-image-2:    oklch(95% 0.007 255);
  --color-shadow:        oklch(18% 0.048 257 / 0.10);
  --color-shadow-2:      oklch(18% 0.048 257 / 0.05);
  --color-transparent:   oklch(0% 0 0 / 0);

  /* ---------- Type ---------- */
  --font-display: "Geomini", "Avenir Next", "Futura", -apple-system, sans-serif;
  --font-body:    "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono:    var(--font-body);

  /* 1.25 modular scale, 1rem base */
  --text-2xs:  0.64rem;
  --text-xs:   0.8rem;
  --text-sm:   0.9rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.953rem;
  --text-2xl:  2.441rem;
  --text-3xl:  3.052rem;
  --text-4xl:  3.815rem;
  --text-5xl:  4.768rem;
  --text-display: clamp(3rem, 7vw, 5.5rem);

  --leading-tight: 1.04;
  --leading-snug:  1.22;
  --leading-body:  1.62;

  --tracking-tight: -0.02em;
  --tracking-flat:  0em;
  --tracking-wide:  0.08em;

  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;

  --measure:       66ch;
  --measure-tight: 52ch;
  --measure-wide:  72ch;

  /* ---------- Space (4pt) ---------- */
  --space-2xs: 4px;
  --space-xs:  8px;
  --space-sm:  12px;
  --space-md:  16px;
  --space-lg:  24px;
  --space-xl:  32px;
  --space-2xl: 48px;
  --space-3xl: 72px;
  --space-4xl: 96px;
  --space-5xl: 160px;

  --section-y:      var(--space-4xl);
  --section-y-lg:   var(--space-5xl);
  --gutter:         var(--space-lg);
  --max-width:      1200px;
  --max-width-text: 900px;

  /* ---------- Radius ---------- */
  --radius-none: 0px;
  --radius-xs:   2px;
  --radius-sm:   3px;
  --radius-md:   8px;
  --radius-pill: 999px;

  /* ---------- Motion ---------- */
  --ease-out:    cubic-bezier(.16, 1, .3, 1);
  --ease-in:     cubic-bezier(.7, 0, .84, 0);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);

  --dur-instant: 0ms;
  --dur-fast:    150ms;
  --dur-tween:   320ms;
  --dur-accord:  280ms;
  --dur-reveal:  480ms;
  --dur-image:   400ms;
  --dur-draw:    900ms;
  --dur-flow:    3200ms;
  --stagger:     70ms;
  --delay-tip:   800ms;

  /* ---------- Elevation + lines ---------- */
  --hairline: 1px;
  --rule-thick: 3px;
  --shadow-soft: 0 1px 2px var(--color-shadow-2), 0 18px 44px -20px var(--color-shadow);
  --focus-ring: 2px;
  --focus-offset: 3px;
  --hit-min: 44px;

  /* ---------- Layering ---------- */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 20;
  --z-sticky-nav: 30;
  --z-dropdown: 40;
  --z-modal: 50;
  --z-toast: 60;
  --z-tooltip: 70;
  --banner-height: 68px;
}

@media (min-width: 900px) {
  :root {
    --section-y: var(--section-y-lg);
    --gutter: var(--space-2xl);
  }
}
