/* =====================================================================
   THEME: DARK (primary)
   Palette authority: NexusHestia-DesignSystem-Updated.xlsx (2 Jun 2026).
   Values marked [proposed] are not in the workbook and need Natasha's approval.
   This file is complete on its own: it defines every color token the site uses,
   plus every dark-only component treatment. theme-light.css is its independent twin.
   ===================================================================== */
:root,
:root[data-theme="dark"]{
  color-scheme:dark;

  /* surfaces */
  --c-bg:#0A0A0A;
  --c-void:#111114;            /* alternate band (from Foundation tokens) */
  --c-panel:#16181C;
  --c-panel-hover:#111214;
  --c-panel-raised:#1E2128;    /* selected / active state (from Foundation tokens) */
  --c-border:#2A2D35;
  --c-border-soft:#1F2228;     /* [proposed] hairlines inside panels */
  --c-border-bright:#3D424E;

  /* text */
  --c-text-heading:#F5F5F5;
  --c-text-body:#AAAAAA;       /* 8.5:1 */
  --c-text-muted:#8A8A8A;      /* [proposed] AA-safe small label, 5.7:1. The workbook's #666666 is 3.45:1 */
  --c-text-faint:#666666;      /* decorative and large text only */

  /* accents (workbook palette) */
  --c-magenta:#D4007A;         /* fills, borders, large text */
  --c-magenta-text:#FF2D8A;    /* small magenta text, 5.65:1 */
  --c-hearth:#FF6B35;          /* burnt orange: CTAs, warnings, secondary accent */
  --c-hearth-text:#FF6B35;     /* 7.0:1 on #0A0A0A */
  --c-cyan:#47C8FF;
  --c-cyan-text:#47C8FF;
  --c-acid:#E8FF47;
  --c-gold:#E8A020;
  --c-violet:#7B1FA2;          /* fills and dividers only, never text */
  --c-crimson:#CC1A1A;

  /* tints and lines */
  --c-magenta-soft:rgba(212,0,122,.16);
  --c-magenta-line:rgba(212,0,122,.5);
  --c-hearth-soft:rgba(255,107,53,.14);
  --c-hearth-line:rgba(255,107,53,.45);
  --c-cyan-soft:rgba(71,200,255,.12);

  /* interaction */
  --c-focus:#E8A020;
  --c-on-accent:#0A0A0A;       /* label colour on the pink to orange gradient, >= 5.7:1 */
  --grad-cta:linear-gradient(96deg,#FF2D8A 0%,#FF6B35 100%);
  --grad-text:linear-gradient(96deg,#FF2D8A 0%,#FF6B35 100%);
  --gradient-top:linear-gradient(90deg,#D4007A,#FF6B35,#47C8FF,#7B1FA2);

  /* atmosphere */
  --glass-bg:rgba(10,10,10,.86);
  --glow-accent:rgba(212,0,122,.20);
  --hero-glow-a:rgba(212,0,122,.16);
  --hero-glow-b:rgba(255,107,53,.09);
  --shadow-card:0 14px 36px rgba(0,0,0,.5);
  --shadow-pop:0 30px 80px -30px rgba(212,0,122,.35);
  --hearth-alpha:.55;          /* canvas lattice opacity */
  --img-filter:none;

  /* logo lockup (header spec, dark variant) */
  --logo-text:#FFFFFF;
  --logo-sub:#AAAAAA;

  /* neutral surfaces used by mock UI inside product frames */
  --c-code-bg:#0E1013;

  /* screenshot device stage */
  --c-stage-bg:rgba(12,14,18,.92);
  --c-stage-text:#F5F5F5;
}

/* ---- dark-only treatments -------------------------------------------------- */
:root[data-theme="dark"] .hero::before,
:root:not([data-theme]) .hero::before{
  background:
    radial-gradient(1100px 620px at 78% 8%,var(--hero-glow-a),transparent 62%),
    radial-gradient(900px 560px at 8% 4%,var(--hero-glow-b),transparent 58%);
}
:root[data-theme="dark"] .card-tilt:hover,
:root:not([data-theme]) .card-tilt:hover{box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px var(--c-border-bright)}
:root[data-theme="dark"] .shot:hover,
:root:not([data-theme]) .shot:hover{box-shadow:0 14px 38px rgba(0,0,0,.45),0 0 26px var(--glow-accent)}
:root[data-theme="dark"] .gnode[aria-pressed="true"],
:root:not([data-theme]) .gnode[aria-pressed="true"]{box-shadow:0 0 22px -10px var(--c-magenta)}
:root[data-theme="dark"] .btn-cta:hover,
:root:not([data-theme]) .btn-cta:hover{box-shadow:0 10px 30px rgba(255,45,138,.32)}
:root[data-theme="dark"] .funnel-card--pdf,
:root:not([data-theme]) .funnel-card--pdf{background:#F5F5F5;border-color:#C8C8C8;color:#0A0A0A}
:root[data-theme="dark"] .person__avatar img,
:root:not([data-theme]) .person__avatar img{filter:grayscale(1) contrast(1.05)}
:root[data-theme="dark"] .person:hover .person__avatar img,
:root:not([data-theme]) .person:hover .person__avatar img{filter:grayscale(.15) contrast(1)}

/* ---- dark-only treatments ---- */
:root[data-theme="dark"] .lockup--site .lockup__img{display:block}
:root[data-theme="dark"] .lockup--site .lockup__live{display:none}
