/* ==========================================================================
   Divine Science Society — design tokens. Direction A · The Observatory.
   A night sky where gold light behaves like thought. Dark is the brand's
   native ground (their site is black and gold), not a dark mode.
   One brand hue (85, gold) drives the file. Form archetype: Editorial-cinematic.
   ========================================================================== */
:root {
  color-scheme: dark;

  /* ---- Colour: the night, tinted toward gold ---- */
  --bg:            oklch(0.13 0.012 80);   /* night */
  --surface:       oklch(0.16 0.014 80);   /* night, raised: the card tone */
  --surface-2:     oklch(0.19 0.016 80);
  --surface-3:     oklch(0.23 0.018 80);
  --ink:           oklch(0.96 0.012 85);   /* warm white  17.8:1 */
  --ink-2:         oklch(0.88 0.014 85);
  --muted:         oklch(0.74 0.02 85);    /*  8.7:1 */
  --muted-2:       oklch(0.62 0.02 85);    /*  5.9:1 */
  --line:          oklch(0.28 0.018 80);
  --line-strong:   oklch(0.36 0.02 80);

  /* ---- Colour: brand. Gold is the only light source. ---- */
  --primary:       oklch(0.80 0.12 85);    /* gold; dark text on it 10.3:1 */
  --primary-strong:oklch(0.86 0.11 88);
  --primary-soft:  oklch(0.22 0.04 82);    /* gold tint on night */
  --primary-soft-2:oklch(0.30 0.06 82);
  --on-primary:    oklch(0.16 0.02 80);

  --accent:        var(--intent, oklch(0.80 0.12 85));   /* the chosen intention's light */
  --accent-strong: oklch(0.66 0.13 80);    /* gold, deep */
  --accent-soft:   oklch(0.24 0.05 82);
  --on-accent:     oklch(0.16 0.02 80);
  --gold-text:     oklch(0.80 0.12 85);    /* gold as text on night 10.7:1 */

  /* The one drench band per page is *lighter* here: a warm-white plate. */
  --drench:        oklch(0.96 0.012 85);
  --drench-2:      oklch(0.92 0.016 85);
  --on-drench:     oklch(0.16 0.02 80);
  --on-drench-muted: oklch(0.40 0.02 80);
  --drench-line:   oklch(0.84 0.02 85);

  /* ---- Semantic — states only ---- */
  --success: oklch(0.72 0.13 155); --success-soft: oklch(0.22 0.04 155); --success-ink: oklch(0.80 0.12 155);
  --warning: oklch(0.80 0.14 75);  --warning-soft: oklch(0.24 0.05 75);  --warning-ink: oklch(0.85 0.12 78);
  --danger:  oklch(0.66 0.18 25);  --danger-soft:  oklch(0.24 0.06 25);  --danger-ink:  oklch(0.78 0.14 25);
  --info:    oklch(0.72 0.10 250); --info-soft:    oklch(0.22 0.04 250); --info-ink:    oklch(0.80 0.08 250);

  /* Charts: a gold ramp */
  --c-1: oklch(0.90 0.06 88); --c-2: oklch(0.80 0.12 85); --c-3: oklch(0.66 0.13 80); --c-4: oklch(0.50 0.10 78); --c-5: oklch(0.36 0.06 78);

  /* ---- Typography ---- */
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-kicker:  "Cinzel", Georgia, serif;
  --font-body:    "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --fs-display: clamp(2.6rem, 1.4rem + 4.2vw, 5.5rem);
  --fs-h1:      clamp(2.25rem, 1.5rem + 2.6vw, 4rem);
  --fs-h2:      clamp(1.9rem, 1.4rem + 1.8vw, 3rem);
  --fs-h3:      clamp(1.4rem, 1.2rem + 0.8vw, 1.9rem);
  --fs-lead:    clamp(1.2rem, 1.1rem + 0.4vw, 1.45rem);
  --fs-body:    1.0625rem;
  --fs-small:   0.9375rem;
  --fs-xs:      0.8125rem;

  --t-28: 1.75rem; --t-22: 1.375rem; --t-18: 1.125rem; --t-16: 1rem;
  --t-15: 0.9375rem; --t-14: 0.875rem; --t-13: 0.8125rem; --t-12: 0.75rem; --t-11: 0.6875rem;

  --lh-tight: 1.02; --lh-snug: 1.15; --lh-body: 1.6; --lh-relaxed: 1.7;
  --tracking-display: -0.01em; --tracking-heading: -0.005em; --tracking-ui: 0;
  --tracking-kicker: 0.28em;

  /* ---- Spacing ---- */
  --s-1: 0.25rem; --s-2: 0.5rem;  --s-3: 0.75rem; --s-4: 1rem;   --s-5: 1.5rem;
  --s-6: 2rem;    --s-7: 3rem;    --s-8: 4rem;    --s-9: 5rem;   --s-10: 6rem; --s-12: 8rem;
  --section:       clamp(5rem, 3rem + 6vw, 9rem);
  --section-tight: clamp(3rem, 2rem + 3vw, 5rem);
  --gutter:        clamp(1.25rem, 4vw, 2.5rem);
  --container: 1120px; --container-wide: 1320px; --container-narrow: 720px; --measure: 62ch;

  /* ==========================================================================
     FORM LAYER — Editorial-cinematic. Whitespace divides; one hairline where a
     rule is needed; tone (raised night) instead of shadow; no cards unless
     the object is genuinely a card (a practice, a gathering).
     ========================================================================== */
  --r-ctl: 2px; --r-card: 4px; --r-lg: 8px; --r-full: 999px;
  --bw: 1px; --bw-strong: 1px;
  --rule: var(--bw) solid var(--line);
  --rule-strong: var(--bw-strong) solid var(--line-strong);
  --elev-card: none;                                    /* tone, never shadow */
  --elev-pop:  0 24px 48px -16px oklch(0 0 0 / 0.7);    /* only what floats */
  --elev-modal: 0 40px 80px -24px oklch(0 0 0 / 0.8);
  --h-ctl: 48px; --h-ctl-sm: 36px; --h-row: 56px;
  --pad-card: var(--s-6); --gap-grid: var(--s-6);
  --cell-rule: none;
  --row-rule: var(--rule);
  --wt-head: 400; --wt-body: 400;
  --case-head: none;
  --glow: 0 0 24px 4px oklch(0.80 0.12 85 / 0.35);      /* gold only, and only on light sources */

  --e-1: none; --e-2: var(--elev-pop); --e-3: var(--elev-modal);

  /* ---- Motion: slow, orbital, eased out ---- */
  --dur-1: 160ms; --dur-2: 280ms; --dur-3: 520ms; --dur-slow: 1200ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  /* ---- Prototype chrome ---- */
  --pocbar-h: 44px;
  --z-sticky: 20; --z-layer: 60; --z-toast: 80; --z-pocbar: 90; --z-tour: 100;
}

/* The six intentions: the temperature of the light, never a new palette.
   Applied to <body data-intention="…"> by unfold.js. */
body[data-intention="connection"] { --intent: oklch(0.80 0.11 40);  --intent-hue: 40; }
body[data-intention="creativity"] { --intent: oklch(0.82 0.13 68);  --intent-hue: 68; }
body[data-intention="clarity"]    { --intent: oklch(0.90 0.05 100); --intent-hue: 100; }
body[data-intention="expansion"]  { --intent: oklch(0.82 0.07 300); --intent-hue: 300; }
body[data-intention="purpose"]    { --intent: oklch(0.80 0.10 120); --intent-hue: 120; }
body[data-intention="wonder"]     { --intent: oklch(0.86 0.07 240); --intent-hue: 240; }

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