    :root {
      --bg: #121620;
      --surface: #0d1017;
      --card: rgba(255,255,255,0.028);
      --accent: #f0525f;
      --accent-dim: rgba(240,82,95,0.25);
      --accent-glow: rgba(240,82,95,0.08);
      --gold: #f59e0b;
      --gold-dim: rgba(245,158,11,0.12);

      /* ══════════════════════════════════════════════════════════════
         NEURONEST TYPE SYSTEM — "Luxury Neuroscience Archive"
         ══════════════════════════════════════════════════════════════
         Five semantic roles. Three moods. Switch via <html data-mood="...">
           · archive-luxe    (default) — Space Grotesk + Instrument Serif
           · sleep-lab                 — Space Grotesk + IBM Plex Mono
           · editorial-future          — Fraunces-forward
         Legacy aliases (--b-font / --h-font / --m-font) preserved so
         existing inline styles inherit the new system automatically.
         ══════════════════════════════════════════════════════════════ */

      /* Archive Luxe — the default mood */
      --font-hero:     'Space Grotesk', 'Inter', system-ui, sans-serif;
      --font-metric:   'Instrument Serif', 'Fraunces', Georgia, serif;
      --font-body:     'Inter', system-ui, -apple-system, sans-serif;
      --font-mono:     'IBM Plex Mono', 'JetBrains Mono', ui-monospace, monospace;
      --font-protocol: 'Instrument Serif', 'Fraunces', Georgia, serif;

      /* Legacy aliases — keep hundreds of existing inline styles working */
      --h-font: var(--font-metric);
      --b-font: var(--font-hero);
      --m-font: var(--font-mono);
    }

    /* ───── Mood: Sleep Lab (all-technical, no serif) ───── */
    html[data-mood="sleep-lab"] {
      --font-hero:     'Space Grotesk', 'Inter', system-ui, sans-serif;
      --font-metric:   'IBM Plex Mono', 'JetBrains Mono', ui-monospace, monospace;
      --font-body:     'Inter', system-ui, -apple-system, sans-serif;
      --font-mono:     'IBM Plex Mono', 'JetBrains Mono', ui-monospace, monospace;
      --font-protocol: 'IBM Plex Mono', 'JetBrains Mono', ui-monospace, monospace;
    }

    /* ───── Mood: Editorial Future (Fraunces-forward, magazine feel) ───── */
    html[data-mood="editorial-future"] {
      --font-hero:     'Fraunces', 'Instrument Serif', Georgia, serif;
      --font-metric:   'Fraunces', 'Instrument Serif', Georgia, serif;
      --font-body:     'Inter', system-ui, -apple-system, sans-serif;
      --font-mono:     'Space Mono', 'IBM Plex Mono', ui-monospace, monospace;
      --font-protocol: 'Fraunces', 'Instrument Serif', Georgia, serif;
    }

    /* ══════════════════════════════════════════════════════════════
       LIGHT THEME — Apple-style glassmorphism
       Cool pastel gradient backdrop with soft ambient orbs, frosted
       translucent surfaces using backdrop-filter blur, cool hairlines.
       Content layer (text, gradients, pillar accents) untouched —
       this is a background-only refresh.
       Toggle: <html data-theme="light"> · localStorage 'nn_theme'
       ══════════════════════════════════════════════════════════════ */
    [data-theme="light"] {
      /* Page-specific tokens this file uses */
      --bg:          #F2F0F8;                         /* cool pastel base */
      --surface:     rgba(255,255,255,0.65);          /* frosted glass surface */
      --card:        rgba(255,255,255,0.55);          /* translucent card */
      --line:        rgba(255,255,255,0.6);           /* cool soft border */
      --text-0:      #1A1822;                         /* deep cool charcoal */
      --text-1:      #4A4759;                         /* cool secondary */
      --text-2:      #6F6B7E;                         /* cool tertiary */
      --accent:      #6D5BD0;                         /* soft violet accent */
      --accent-dim:  rgba(109,91,208,0.22);
      --accent-glow: rgba(109,91,208,0.12);
      --gold:        #B89400;                         /* gold accent preserved for the Sound Hub pill */
      --gold-dim:    rgba(184,148,0,0.18);
    }

    /* Smooth theme transitions on key surfaces */
    html, body, .hero, .pillar-section, .pillar-nav-grid > a, .nn-chart,
    .pillar-pill, .editorial-anchor, .hero-cta, .ps-tag, .label, .h2-block,
    .pillar-pill-sleep, .pillar-pill-focus, .pillar-pill-calm, .pillar-pill-adhd,
    .ts-mood-btn, .ts-close, .site-nav, .marquee-strip, .reveal {
      transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, backdrop-filter 0.4s ease;
    }

    /* ── Light-mode body: metallic silver lab gradient ── */
    [data-theme="light"] body {
      background-color: #CACACA;
      background-image:
        linear-gradient(165deg,
          #B2B2B2 0%,
          #E2E2E2 18%,
          #CBCBCB 36%,
          #F0F0F0 54%,
          #D0D0D0 70%,
          #E6E6E6 84%,
          #BEBEBE 100%);
      background-attachment: fixed;
      color: var(--text-0);
    }

    /* ── Frosted glass surfaces ── */
    [data-theme="light"] .hero {
      background:
        radial-gradient(ellipse 80% 60% at 50% 35%, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.25) 60%, transparent 100%),
        linear-gradient(165deg, rgba(196,181,253,0.18) 0%, rgba(255,255,255,0.05) 50%, rgba(252,211,77,0.10) 100%);
      backdrop-filter: blur(24px) saturate(140%);
      -webkit-backdrop-filter: blur(24px) saturate(140%);
    }
    [data-theme="light"] .pillar-section {
      background:
        linear-gradient(155deg, #C0C0C0 0%, #E4E4E4 25%, #CDCDCD 50%, #EEEEEE 72%, #C8C8C8 100%) !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
    }
    [data-theme="light"] .pillar-section::before { display: none; }  /* nuke dark gradient overlays */

    /* Marquee strips \u2014 metallic silver in light mode, dark text */
    [data-theme="light"] .marquee-strip {
      background: rgba(180,180,180,0.45) !important;
      border-top-color: rgba(255,255,255,0.5) !important;
      border-bottom-color: rgba(255,255,255,0.5) !important;
    }
    [data-theme="light"] .marquee-item { color: #2A2A2A !important; }
    [data-theme="light"] .marquee-item span { color: #555555 !important; }

    /* ══════════════════════════════════════════════════════════════
       LIGHT-MODE INLINE-STYLE RESCUES
       This file uses hundreds of inline rgba(255,255,255,...) borders
       and #f0ede8 text values. Attribute selectors override them
       without refactoring the markup.
       ══════════════════════════════════════════════════════════════ */

    /* Off-white text → dark warm charcoal */
    [data-theme="light"] [style*="color: #f0ede8"],
    [data-theme="light"] [style*="color:#f0ede8"],
    [data-theme="light"] [style*="color: #fff"],
    [data-theme="light"] [style*="color:#fff"],
    [data-theme="light"] [style*="color: #ffffff"],
    [data-theme="light"] [style*="color:#ffffff"] { color: #1A1815 !important; }

    /* Mid-tone whites/greys (var(--text-0) overrides) */
    [data-theme="light"] [style*="color: var(--text-0)"] { color: #1A1815 !important; }
    [data-theme="light"] [style*="color: var(--text-1)"] { color: #5C574B !important; }
    [data-theme="light"] [style*="color: var(--text-2)"] { color: #6B6557 !important; }

    /* Translucent off-white text used widely in straplines, captions */
    [data-theme="light"] [style*="rgba(240,237,232"],
    [data-theme="light"] [style*="rgba(240, 237, 232"] { color: #1A1815 !important; }
    [data-theme="light"] [style*="rgba(255,255,255,0.9"],
    [data-theme="light"] [style*="rgba(255,255,255,0.85"],
    [data-theme="light"] [style*="rgba(255,255,255,0.8"],
    [data-theme="light"] [style*="rgba(255,255,255,0.7"],
    [data-theme="light"] [style*="rgba(255,255,255,0.6"],
    [data-theme="light"] [style*="rgba(255,255,255,0.5"] { color: rgba(26,24,21,0.9) !important; }
    [data-theme="light"] [style*="rgba(255,255,255,0.4"],
    [data-theme="light"] [style*="rgba(255,255,255,0.3"],
    [data-theme="light"] [style*="rgba(255,255,255,0.25"],
    [data-theme="light"] [style*="rgba(255,255,255,0.2"] { color: rgba(92,87,75,0.85) !important; }

    /* ══════════════════════════════════════════════════════════════
       LIGHT MODE — exemptions for cards that keep DARK image
       backgrounds in both themes. Without these, the global
       text-darkening rules above force light-on-dark text to
       dark-on-dark = unreadable.
       Covers: pillar-nav-grid cards (Sleep/Focus/Calm/ADHD link
       cards with pinterest_*.jpg backgrounds) and .ps-stat cards
       (per-pillar stat tiles with image backgrounds).
       ══════════════════════════════════════════════════════════════ */
    [data-theme="light"] .pillar-nav-grid > a [style*="color: var(--text-0)"],
    [data-theme="light"] .pillar-nav-grid > a [style*="color:var(--text-0)"],
    [data-theme="light"] .pillar-nav-grid > a [style*="color: #fff"],
    [data-theme="light"] .pillar-nav-grid > a [style*="color:#fff"],
    [data-theme="light"] .pillar-nav-grid > a [style*="color: #f0ede8"] {
      color: #f0ede8 !important;
    }
    [data-theme="light"] .pillar-nav-grid > a [style*="color: var(--text-1)"],
    [data-theme="light"] .pillar-nav-grid > a [style*="color:var(--text-1)"] {
      color: rgba(240,237,232,0.82) !important;
    }
    [data-theme="light"] .pillar-nav-grid > a [style*="color: var(--text-2)"],
    [data-theme="light"] .pillar-nav-grid > a [style*="color:var(--text-2)"] {
      color: rgba(240,237,232,0.62) !important;
    }
    /* ps-stat tile text — title/desc force white; numbers & citations
       keep their per-pillar accent colours which already contrast. */
    [data-theme="light"] .ps-stat-title { color: #f0ede8 !important; }
    [data-theme="light"] .ps-stat-desc  { color: rgba(240,237,232,0.82) !important; }
    [data-theme="light"] .ps-stat [style*="color: var(--text-0)"],
    [data-theme="light"] .ps-stat [style*="color:var(--text-0)"] { color: #f0ede8 !important; }
    [data-theme="light"] .ps-stat [style*="color: var(--text-1)"],
    [data-theme="light"] .ps-stat [style*="color:var(--text-1)"] { color: rgba(240,237,232,0.82) !important; }

    /* Philosophy section evidence-pillar cards — dark image bg in both
       themes, so text must stay light-on-dark in light mode too. */
    [data-theme="light"] .evidence-pillar-card [style*="color: var(--text-0)"],
    [data-theme="light"] .evidence-pillar-card [style*="color:var(--text-0)"] {
      color: #f0ede8 !important;
    }
    [data-theme="light"] .evidence-pillar-card [style*="color: var(--text-1)"],
    [data-theme="light"] .evidence-pillar-card [style*="color:var(--text-1)"] {
      color: rgba(240,237,232,0.85) !important;
    }
    [data-theme="light"] .evidence-pillar-card [style*="color: var(--accent)"],
    [data-theme="light"] .evidence-pillar-card [style*="color:var(--accent)"] {
      color: #a78bfa !important;
    }

    /* White hairline borders → cool soft-white glass trim (glassmorphism) */
    [data-theme="light"] [style*="border: 1px solid rgba(255,255,255"],
    [data-theme="light"] [style*="border:1px solid rgba(255,255,255"],
    [data-theme="light"] [style*="border-color: rgba(255,255,255"],
    [data-theme="light"] [style*="border-color:rgba(255,255,255"] {
      border-color: rgba(255,255,255,0.7) !important;
    }
    [data-theme="light"] [style*="border-top: 1px solid rgba(255,255,255"],
    [data-theme="light"] [style*="border-bottom: 1px solid rgba(255,255,255"] {
      border-top-color: rgba(255,255,255,0.55) !important;
      border-bottom-color: rgba(255,255,255,0.55) !important;
    }

    /* Dark backgrounds in inline styles → cream/warm-grey surfaces */
    [data-theme="light"] [style*="background: rgba(8,10,15"],
    [data-theme="light"] [style*="background:rgba(8,10,15"],
    [data-theme="light"] [style*="background: rgba(0,0,0"],
    [data-theme="light"] [style*="background:rgba(0,0,0"] {
      background: rgba(255,253,245,0.85) !important;
    }
    [data-theme="light"] [style*="background: var(--surface)"],
    [data-theme="light"] [style*="background:var(--surface)"] {
      background: #E8E6E0 !important;
    }

    /* Dark gradient overlays in hero/pillar areas → softer cream-yellow */
    [data-theme="light"] [style*="rgba(8,10,15,0.96"],
    [data-theme="light"] [style*="rgba(8,10,15,0.85"],
    [data-theme="light"] [style*="rgba(8,10,15,0.75"],
    [data-theme="light"] [style*="rgba(8,10,15,0.55"],
    [data-theme="light"] [style*="rgba(8,10,15,0.35"] { display: none; } /* drop the deep vignette overlays in light */

    /* Pillar accent backgrounds — keep coloured cards translucent on cream */
    [data-theme="light"] [style*="background: rgba(99,102,241,0.10)"]  { background: rgba(99,102,241,0.10) !important; }
    [data-theme="light"] [style*="background: rgba(212,160,23,0.10)"] { background: rgba(212,160,23,0.14) !important; }
    [data-theme="light"] [style*="background: rgba(45,140,106,0.10)"] { background: rgba(45,140,106,0.12) !important; }
    [data-theme="light"] [style*="background: rgba(124,58,237,0.10)"] { background: rgba(124,58,237,0.10) !important; }

    /* Pillar card hover-state (the darken-on-hover backgrounds) → invert to lighten */
    [data-theme="light"] a[onmouseover*="rgba(8,10,24,0.92)"]:hover    { background: rgba(232,234,255,0.98) !important; }
    [data-theme="light"] a[onmouseover*="rgba(14,11,5,0.92)"]:hover    { background: rgba(255,247,220,0.98) !important; }
    [data-theme="light"] a[onmouseover*="rgba(4,14,11,0.92)"]:hover    { background: rgba(220,250,240,0.98) !important; }
    [data-theme="light"] a[onmouseover*="rgba(12,6,24,0.94)"]:hover    { background: rgba(240,232,255,0.98) !important; }

    /* ══════════════════════════════════════════════════════════════
       FAQ ITEMS — glassmorphism premium 3D button treatment
       Frosted white panels with cool violet accent, layered shadows
       for that lifted-glass premium look.
       ══════════════════════════════════════════════════════════════ */
    [data-theme="light"] .faq-item {
      border: 1px solid rgba(255,255,255,0.7) !important;
      border-radius: 14px !important;
      background: linear-gradient(180deg, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.5) 100%) !important;
      backdrop-filter: blur(20px) saturate(160%);
      -webkit-backdrop-filter: blur(20px) saturate(160%);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.95),
        inset 0 -1px 0 rgba(60,55,90,0.04),
        0 1px 0 rgba(60,55,90,0.04),
        0 2px 4px rgba(60,55,90,0.05),
        0 8px 16px -4px rgba(60,55,90,0.08),
        0 16px 32px -12px rgba(60,55,90,0.12) !important;
      overflow: hidden;
      transition:
        transform 0.32s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.4s ease,
        border-color 0.32s ease,
        background 0.32s ease;
    }
    [data-theme="light"] .faq-item:hover {
      transform: translateY(-1.5px);
      border-color: rgba(167,139,250,0.55) !important;
      background: linear-gradient(180deg, rgba(255,255,255,0.85) 0%, rgba(245,243,255,0.65) 100%) !important;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,1),
        inset 0 -1px 0 rgba(60,55,90,0.06),
        0 2px 0 rgba(60,55,90,0.06),
        0 4px 8px rgba(60,55,90,0.08),
        0 14px 24px -4px rgba(60,55,90,0.14),
        0 24px 48px -12px rgba(109,91,208,0.22) !important;
    }
    /* Open state — the active button stays "depressed" with shorter shadow */
    [data-theme="light"] .faq-item[open] {
      transform: translateY(0);
      border-color: rgba(167,139,250,0.55) !important;
      background: linear-gradient(180deg, rgba(245,243,255,0.85) 0%, rgba(230,225,250,0.7) 100%) !important;
      box-shadow:
        inset 0 2px 4px rgba(60,55,90,0.08),
        inset 0 -1px 0 rgba(255,255,255,0.6),
        0 1px 0 rgba(60,55,90,0.03),
        0 2px 6px rgba(60,55,90,0.05) !important;
    }
    /* Click feedback — momentarily compress the shadow */
    [data-theme="light"] .faq-item summary:active {
      transform: translateY(0.5px);
    }
    /* Clickable label — cool violet to match the glass accent */
    [data-theme="light"] .faq-item summary {
      color: #5B4BB0 !important;
      font-weight: 600 !important;
      transition: color 0.32s ease;
    }
    [data-theme="light"] .faq-item:hover summary { color: #3F329C !important; }
    [data-theme="light"] .faq-item[open] summary { color: #3F329C !important; }
    [data-theme="light"] .faq-item summary::after,
    [data-theme="light"] .faq-item summary::-webkit-details-marker { color: #5B4BB0 !important; }
    [data-theme="light"] .faq-item .details-body p { color: #1A1822 !important; }
    [data-theme="light"] .faq-item .details-body p:first-child { border-top-color: rgba(167,139,250,0.25) !important; }
    [data-theme="light"] .faq-btn {
      background: rgba(167,139,250,0.10) !important;
      border-color: rgba(167,139,250,0.35) !important;
      color: #3F329C !important;
    }
    [data-theme="light"] .faq-btn:hover {
      background: rgba(167,139,250,0.18) !important;
      border-color: rgba(167,139,250,0.55) !important;
    }

    /* Charts (.nn-chart) — frosted glass canvas in glassmorphism light mode */
    [data-theme="light"] .nn-chart {
      background:
        radial-gradient(ellipse 80% 60% at 50% 50%, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.45) 100%) !important;
      backdrop-filter: blur(20px) saturate(140%);
      -webkit-backdrop-filter: blur(20px) saturate(140%);
      border-color: rgba(255,255,255,0.6) !important;
    }
    [data-theme="light"] .nn-chart-grid-bg {
      background-image:
        linear-gradient(rgba(109,91,208,0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(109,91,208,0.06) 1px, transparent 1px);
    }
    [data-theme="light"] .nn-chart-svg .axis path,
    [data-theme="light"] .nn-chart-svg .axis line { stroke: rgba(74,71,89,0.25) !important; }
    [data-theme="light"] .nn-chart-svg .axis .tick text { fill: rgba(74,71,89,0.7) !important; }
    [data-theme="light"] .nn-chart-svg .axis-label    { fill: rgba(74,71,89,0.6) !important; }
    [data-theme="light"] .nn-chart-svg .grid-line     { stroke: rgba(109,91,208,0.08) !important; }
    [data-theme="light"] .nn-chart-svg .grid-line.major { stroke: rgba(109,91,208,0.14) !important; }
    [data-theme="light"] .nn-chart-tooltip {
      background: rgba(255,253,245,0.95) !important;
      border-color: rgba(110,90,0,0.3) !important;
      box-shadow: 0 8px 32px rgba(60,50,20,0.15) !important;
    }
    [data-theme="light"] .nn-chart-tooltip-head { color: rgba(92,87,75,0.8) !important; }
    [data-theme="light"] .nn-chart-tooltip-row .label { color: rgba(26,24,21,0.85) !important; }
    [data-theme="light"] .nn-chart-tooltip-row .value { color: #1A1815 !important; }
    [data-theme="light"] .nn-chart-caption { color: rgba(92,87,75,0.7) !important; }
    [data-theme="light"] .nn-chart-eyebrow { color: rgba(124,58,237,0.85) !important; }
    [data-theme="light"] .nn-chart-meta    { color: rgba(92,87,75,0.6) !important; }
    [data-theme="light"] .nn-chart-meta strong { color: rgba(124,58,237,0.85) !important; }

    /* Hero editorial anchor — light-mode color now handled directly via .editorial-anchor gradient stops above */

    /* Hero CTA button — darken text for legibility on the lighter button */
    [data-theme="light"] .hero-cta { color: #1A1815; }
    [data-theme="light"] .hero-cta:hover { color: #1A1815; }

    /* Light mode: hide dark-only hero layers, metallic silver hero */
    [data-theme="light"] dotlottie-player { display: none !important; }
    [data-theme="light"] #particleCanvas { display: none !important; }
    [data-theme="light"] .hero-arc-spin { display: none !important; }
    [data-theme="light"] .hero-dark-vignette { display: none !important; }
    [data-theme="light"] .hero {
      background:
        linear-gradient(155deg,
          #B8B8B8 0%,
          #E6E6E6 20%,
          #CFCFCF 42%,
          #F2F2F2 62%,
          #D2D2D2 78%,
          #C0C0C0 100%) !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
    }

    /* Site-nav floating pill — full glassmorphism */
    [data-theme="light"] .site-nav {
      background: rgba(255,255,255,0.55) !important;
      border-color: rgba(255,255,255,0.7) !important;
      backdrop-filter: blur(28px) saturate(180%) !important;
      -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.8),
        0 1px 2px rgba(60,55,90,0.04),
        0 8px 24px rgba(60,55,90,0.08),
        0 24px 48px -12px rgba(60,55,90,0.10) !important;
    }
    [data-theme="light"] .site-nav a { color: #4A4759; }
    [data-theme="light"] .site-nav a:hover { color: #1A1822; }

    /* Theme toggle (matches Sound Hub spec exactly) */
    .theme-toggle {
      width: 32px; height: 32px;
      border: 1px solid var(--line);
      background: var(--surface);
      display: flex; align-items: center; justify-content: center;
      color: var(--text-1);
      cursor: pointer;
      transition: all 0.2s;
      border-radius: 4px;
      margin-left: 12px;
      flex-shrink: 0;
    }
    .theme-toggle:hover { color: var(--accent); border-color: var(--accent); transform: rotate(15deg); }
    .theme-toggle .icon-sun { display: none; }
    .theme-toggle .icon-moon { display: block; }
    [data-theme="light"] .theme-toggle .icon-sun { display: block; }
    [data-theme="light"] .theme-toggle .icon-moon { display: none; }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: var(--font-body);
      font-feature-settings: 'ss01', 'cv11'; /* Inter: stylistic refinements */
      background: var(--bg);
      color: var(--text-0);
      line-height: 1.75;
      font-size: 17px;
      min-height: 100vh;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
    }

    /* ══════════════ TYPE SYSTEM UTILITY CLASSES ══════════════
       Use these on new markup. Inline styles already work via the
       legacy aliases, but these give the correct tracking and rhythm
       per role without thinking about it.
       ══════════════════════════════════════════════════════════ */

    .font-hero {
      font-family: var(--font-hero);
      font-weight: 700;
      letter-spacing: -0.025em;
      line-height: 0.92;
      text-transform: uppercase;
      color: #f0ede8; /* slight off-white — not pure #fff */
    }
    /* Fraunces needs looser tracking in hero role (it's a serif, not geometric) */
    html[data-mood="editorial-future"] .font-hero {
      letter-spacing: -0.015em;
      text-transform: none;
      font-weight: 500;
      line-height: 1.0;
    }

    .font-metric {
      font-family: var(--font-metric);
      font-weight: 400;
      letter-spacing: -0.03em;
      line-height: 1.0;
      font-feature-settings: 'ss01', 'lnum'; /* lining nums for metrics */
    }
    /* When metric mood is mono (Sleep Lab), numbers want a technical weight */
    html[data-mood="sleep-lab"] .font-metric {
      font-weight: 500;
      letter-spacing: -0.02em;
    }

    .font-body {
      font-family: var(--font-body);
      font-weight: 400;
      letter-spacing: -0.005em;
      line-height: 1.7;
      color: var(--text-1);
      max-width: 62ch; /* stop paragraphs going full-bleed */
    }

    .font-mono {
      font-family: var(--font-mono);
      font-weight: 400;
      font-size: 11px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(251, 113, 133, 0.8); /* rose — archival metadata */
      font-feature-settings: 'zero'; /* slashed zero for clarity */
    }

    .font-protocol {
      font-family: var(--font-protocol);
      font-weight: 400;
      letter-spacing: -0.015em;
      line-height: 1.1;
      font-feature-settings: 'ss01', 'lnum';
    }

    /* Role modifiers — size presets so callers don't reinvent the wheel */
    .font-hero.is-xl   { font-size: clamp(56px, 9vw, 136px); }
    .font-hero.is-lg   { font-size: clamp(40px, 6vw, 88px); }
    .font-hero.is-md   { font-size: clamp(28px, 4vw, 52px); }

    .font-metric.is-xl { font-size: clamp(56px, 7vw, 96px); }
    .font-metric.is-lg { font-size: clamp(40px, 5vw, 68px); }
    .font-metric.is-md { font-size: clamp(28px, 3.5vw, 44px); }

    .font-body.is-lg   { font-size: 19px; line-height: 1.7; color: var(--text-0); }
    .font-body.is-md   { font-size: 16px; line-height: 1.7; }
    .font-body.is-sm   { font-size: 14px; line-height: 1.65; color: var(--text-1); }

    .font-mono.is-md   { font-size: 12px; letter-spacing: 0.16em; }
    .font-mono.is-sm   { font-size: 10px; letter-spacing: 0.14em; }
    .font-mono.is-xs   { font-size: 9px;  letter-spacing: 0.12em; }

    /* Semantic accent for hero key phrase — applied to a <span> inside .font-hero */
    .font-hero .is-accent {
      background: linear-gradient(135deg, #a78bfa 0%, #c026d3 50%, #c9a96e 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(240,82,95,0.24) 1px, transparent 1px),
        linear-gradient(90deg, rgba(240,82,95,0.24) 1px, transparent 1px);
      background-size: 30px 30px;
      z-index: 0;
    }
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      background:
        radial-gradient(ellipse 95% 80% at 8% 0%,   rgba(240,82,95,0.34) 0%, transparent 72%),
        radial-gradient(ellipse 85% 75% at 92% 100%, rgba(168,85,247,0.30) 0%, transparent 72%),
        radial-gradient(ellipse 78% 62% at 50% 50%, rgba(245,158,11,0.20) 0%, transparent 67%);
      z-index: 0;
    }
    .progress {
      position: fixed; top: 0; left: 0;
      width: 100%; height: 1px;
      background: rgba(255,255,255,0.04);
      z-index: 1200;
    }
    .progress > span {
      display: block; height: 100%; width: 0;
      background: linear-gradient(90deg, var(--accent), var(--gold));
      transition: width 0.1s linear;
    }
    .site-nav {
      position: fixed;
      top: 20px; left: 50%;
      transform: translateX(-50%);
      z-index: 1000;
      background: rgba(8,10,15,0.82);
      border: 1px solid transparent;
      background-clip: padding-box;
      border-radius: 999px;
      padding: 10px 20px 10px 20px;
      padding-right: 70px;
      backdrop-filter: blur(20px);
      display: flex;
      align-items: center;
      white-space: nowrap;
      /* gradient border via box-shadow */
      box-shadow:
        0 0 0 1px rgba(244,63,68,0.45),
        0 0 0 1px rgba(168,85,247,0.0),
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 8px 32px rgba(0,0,0,0.45);
      position: fixed;
    }
    /* Animated gradient border on the nav pill */
    .site-nav::before {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: 999px;
      padding: 1px;
      background: linear-gradient(90deg, #f43f5e, #a855f7, #6366f1, #06b6d4, #f43f5e);
      background-size: 300% 100%;
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      animation: navBorderShift 6s linear infinite;
      pointer-events: none;
      opacity: 0.6;
    }
    @keyframes navBorderShift {
      0%   { background-position: 0% 50%; }
      100% { background-position: 300% 50%; }
    }
    .site-nav .brand {
      font-family: 'Outfit', 'Space Grotesk', 'Inter', system-ui, sans-serif;
      font-size: 1.275rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      background: linear-gradient(135deg, #ffffff 0%, #e7e3dd 28%, #ffffff 50%, #d4cfc7 76%, #f6f4f0 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      margin-right: 24px;
      text-decoration: none;
    }
    /* White-marble fill on BOTH lines; AUSTRALIA letter-justified to span
       NEURONEST's full width so its left & right edges line up with N…NEST. */
    .site-nav .brand span { -webkit-text-fill-color: transparent !important; color: transparent !important; }
    .site-nav .brand span:last-child {
      display: block;
      align-self: stretch;
      text-align: justify;
      text-align-last: justify;
      letter-spacing: 0 !important;
    }
    /* Mobile-only nav affordances — hidden on desktop. */
    .nav-toggle-chevron, .nav-mobile-only { display: none; }
    .site-nav a {
      color: var(--text-1);
      text-decoration: none;
      font-size: 11px;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      margin-left: 18px;
      transition: color 0.22s;
    }
    .site-nav a:hover { color: var(--text-0); }

    /* ── Animated starfield — premium drifting stars across the dark science
       block. Two tiled radial-gradient layers (far/near) for parallax depth;
       seamless loop via tile-matched background-position drift. z-index:-1 sits
       above the block's #0b0e16 fill but behind all content. */
    .science-block .starfield { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
    .science-block .starfield::before,
    .science-block .starfield::after { content: ''; position: absolute; inset: 0; }
    .science-block .starfield::before {
      background-image:
        radial-gradient(1px 1px at 25px 35px, rgba(255,255,255,0.55), transparent),
        radial-gradient(1px 1px at 120px 90px, rgba(255,255,255,0.40), transparent),
        radial-gradient(1px 1px at 205px 160px, rgba(200,210,255,0.50), transparent),
        radial-gradient(1px 1px at 70px 210px, rgba(255,255,255,0.32), transparent),
        radial-gradient(1px 1px at 245px 60px, rgba(255,255,255,0.45), transparent),
        radial-gradient(1px 1px at 160px 280px, rgba(255,255,255,0.30), transparent);
      background-size: 280px 320px;
      opacity: 0.7;
      animation: starDriftFar 160s linear infinite;
    }
    .science-block .starfield::after {
      background-image:
        radial-gradient(1.7px 1.7px at 60px 80px, rgba(255,255,255,0.95), transparent),
        radial-gradient(1.7px 1.7px at 300px 200px, rgba(190,210,255,0.9), transparent),
        radial-gradient(2px 2px at 180px 330px, rgba(255,255,255,0.9), transparent),
        radial-gradient(1.5px 1.5px at 390px 120px, rgba(255,240,220,0.85), transparent);
      background-size: 440px 460px;
      animation: starDriftNear 95s linear infinite, starTwinkle 5s ease-in-out infinite;
    }
    @keyframes starDriftFar  { from { background-position: 0 0; } to { background-position: 0 -640px; } }
    @keyframes starDriftNear { from { background-position: 0 0; } to { background-position: 0 -920px; } }
    @keyframes starTwinkle   { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } }
    @media (prefers-reduced-motion: reduce) {
      .science-block .starfield::before, .science-block .starfield::after { animation: none; }
    }
    .container {
      width: min(var(--max), 100% - 48px);
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }
    .measure { width: min(var(--measure), 100%); margin: 0 auto; }
    section {
      padding: 120px 0;
      border-top: 1px solid var(--line);
      position: relative;
      z-index: 1;
    }
    /* HERO */
    .hero {
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      border-top: none;
      padding: 0;
      text-align: center;
    }
    .hero-inner {
      padding: 160px 0 100px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .eyebrow {
      font-family: 'Syne', system-ui, sans-serif;
      font-size: clamp(6px, 0.875vw, 10px);
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 20px;
      opacity: 0;
      animation: fadeSlideUp 0.8s 0.1s ease forwards;
      line-height: 1;
      white-space: nowrap;
    }
    .hero h1 {
      font-family: 'Outfit', 'Space Grotesk', 'Inter', system-ui, sans-serif;
      font-size: clamp(59px, 9.2vw, 151px);
      font-weight: 800;
      line-height: 0.82;
      letter-spacing: -0.045em;
      text-transform: uppercase;
      color: #f0ede8;
      opacity: 0;
      animation: fadeSlideUp 0.9s 0.2s ease forwards;
      overflow-wrap: anywhere;
      text-wrap: balance;
    }
    /* "SOUND AS A TOOL" eyebrow — sits tight above LEARNING. Same Outfit font for unified blocky read,
       smaller scale, premium gradient fill, wide tracking for editorial register.
       Uses a wide gradient canvas with many close-spaced stops so the visible window
       always shows multiple colors transitioning — never flat single-color regions. */
    .hero h1 .hero-eyebrow-tool {
      display: block;
      font-family: 'Outfit', 'Space Grotesk', 'Inter', system-ui, sans-serif;
      font-size: clamp(18px, 2.6vw, 44px);
      font-weight: 700;
      letter-spacing: 0.02em;
      line-height: 1;
      text-transform: uppercase;
      background-image: linear-gradient(100deg,
        #ff6b35 0%,
        #f43f5e 9%,
        #e879f9 19%,
        #a855f7 30%,
        #6366f1 42%,
        #06b6d4 54%,
        #10b981 64%,
        #f59e0b 76%,
        #ef4444 88%,
        #ff6b35 100%);
      background-size: 320% auto;
      background-position: 0% center;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent;
      animation: heroEyebrowShine 18s linear infinite;
      margin-bottom: clamp(6px, 0.6vw, 12px);
      filter: drop-shadow(0 0 2px rgba(167,139,250,0.18));
    }
    @keyframes heroEyebrowShine {
      0%   { background-position: 0%   center; }
      100% { background-position: 320% center; }
    }
    @keyframes arcSpin {
      from { transform: rotate(0deg); }
      to   { transform: rotate(360deg); }
    }
    @media (prefers-reduced-motion: reduce) {
      .arcSpin { animation: none; }
    }
    @media (prefers-reduced-motion: reduce) {
      .hero h1 .hero-eyebrow-tool { animation: none; background-position: 30% center; }
    }
    /* Light-mode: deepen the gradient stops so it stays readable on cream */
    [data-theme="light"] .hero h1 .hero-eyebrow-tool {
      background-image: linear-gradient(100deg,
        #2d6b5f 0%,
        #0d9488 8%,
        #047857 16%,
        #b45309 26%,
        #92722e 34%,
        #be185d 44%,
        #a21caf 54%,
        #6d28d9 64%,
        #4338ca 74%,
        #0e7490 84%,
        #0d9488 92%,
        #2d6b5f 100%);
      background-size: 320% auto;
      filter: drop-shadow(0 0 2px rgba(109,40,217,0.12));
    }
    /* Editorial Future mood — eyebrow flips with the rest of the title */
    html[data-mood="editorial-future"] .hero h1 .hero-eyebrow-tool {
      font-family: 'Fraunces', 'Instrument Serif', Georgia, serif;
      text-transform: none;
      font-weight: 500;
      letter-spacing: 0.005em;
    }
    /* Editorial Future mood — Fraunces, looser, mixed-case */
    html[data-mood="editorial-future"] .hero h1 {
      font-family: 'Fraunces', 'Instrument Serif', Georgia, serif;
      text-transform: none;
      font-weight: 500;
      letter-spacing: -0.02em;
      line-height: 0.96;
    }
    @keyframes shinePass {
      0%   { background-position: -200% center; }
      100% { background-position: 300% center; }
    }
    .h1-shine {
      display: inline-block;
      background: linear-gradient(105deg,
        #f0ede8 30%,
        #f0ede8 44%,
        rgba(255,255,255,0.98) 49%,
        var(--gold) 51%,
        rgba(255,255,255,0.98) 53%,
        #f0ede8 58%,
        #f0ede8 80%
      );
      background-size: 240% auto;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      animation: shinePass 5s linear infinite;
      filter: drop-shadow(0 0 22px rgba(255,255,255,0.42)) drop-shadow(0 0 58px rgba(255,255,255,0.20));
    }
    /* ── LIGHT MODE: glassmorphism feel — soft cool-white text fill with a subtle
       brighter shine streak. The strong violet drop-shadow provides the legibility
       (the text's outline) so the fill itself can stay light/translucent. ── */
    [data-theme="light"] .h1-shine {
      background-image: linear-gradient(105deg,
        #F4F0FA 30%,                       /* soft cool-white base — frosted glass tone */
        #F4F0FA 44%,
        rgba(255,255,255,0.95) 49%,        /* shine flank */
        #FFFFFF 51%,                       /* peak shine — pure white */
        rgba(255,255,255,0.95) 53%,        /* shine flank */
        #F4F0FA 58%,
        #F4F0FA 80%
      );
      filter: drop-shadow(0 0 2px rgba(109,91,208,0.55))
              drop-shadow(0 0 2px rgba(109,91,208,0.4))
              drop-shadow(0 1px 2px rgba(60,55,90,0.15));
    }
    .hero h1 em {
      font-style: normal;
      background: linear-gradient(135deg, #ff6b35 0%, #f43f5e 30%, #a855f7 65%, #6366f1 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .hero h1 .h1-sm { font-size: 0.5em; display: block; }
    .hero h1 .h1-md { font-size: 0.7em; }
    .hero-sub {
      margin-top: 24px;
      font-family: var(--font-metric);
      font-size: clamp(20px, 2.6vw, 32px);
      font-style: italic;
      font-weight: 400;
      letter-spacing: -0.01em;
      color: rgba(240, 237, 232, 0.85);
      max-width: 680px;
      line-height: 1.35;
      opacity: 0;
      animation: fadeSlideUp 0.9s 0.35s ease forwards;
    }
    [data-theme="light"] .hero-sub {
      text-shadow:
        0 0 2px rgba(109,91,208,0.4),
        0 0 2px rgba(109,91,208,0.3);
    }
    .hero-lottie {
      width: 100%;
      max-width: 700px;
      height: 200px;
      margin: 36px 0;
      opacity: 0;
      animation: fadeIn 1s 0.5s ease forwards;
    }
    .hero-lottie .lottie-container { height: 100%; }
    .hero-cta {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      text-decoration: none;
      color: #ede9fe;
      background:
        linear-gradient(135deg,
          rgba(240,82,95,0.97) 0%,
          rgba(220,38,127,0.95) 30%,
          rgba(168,85,247,0.95) 65%,
          rgba(99,102,241,0.95) 100%);
      background-size: 200% 200%;
      background-position: 0% 50%;
      border: 1px solid rgba(240,82,95,0.55);
      border-radius: 999px;
      padding: 18px 36px;
      font-family: var(--font-mono);
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      line-height: 1;
      position: relative;
      overflow: hidden;
      isolation: isolate;
      cursor: pointer;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.18),
        inset 0 -1px 0 rgba(0,0,0,0.25),
        0 6px 22px rgba(240,82,95,0.45),
        0 2px 6px rgba(0,0,0,0.4);
      transition:
        transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.35s ease,
        box-shadow 0.5s ease,
        background-position 0.7s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.3s ease;
      opacity: 0;
      animation: fadeSlideUp 0.8s 0.6s ease forwards;
    }
    /* Shimmer sweep — slides across the button on hover */
    .hero-cta::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg,
        transparent 30%,
        rgba(255,255,255,0.22) 48%,
        rgba(255,255,255,0.4) 50%,
        rgba(255,255,255,0.22) 52%,
        transparent 70%);
      background-size: 250% 100%;
      background-position: 150% 0;
      opacity: 0;
      transition: background-position 0.95s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
      pointer-events: none;
      z-index: -1;
      border-radius: inherit;
    }
    .hero-cta > * { position: relative; z-index: 1; }
    .hero-cta svg { transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
    .hero-cta:hover {
      transform: translateY(-3px);
      color: #ffffff;
      border-color: rgba(237,233,254,0.95);
      background-position: 100% 50%;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.28),
        inset 0 0 0 1px rgba(255,255,255,0.08),
        inset 0 -1px 0 rgba(0,0,0,0.3),
        0 0 0 4px rgba(124,58,237,0.22),
        0 14px 60px rgba(124,58,237,0.85),
        0 6px 20px rgba(192,38,211,0.55),
        0 3px 8px rgba(0,0,0,0.5);
    }
    .hero-cta:hover::before {
      opacity: 1;
      background-position: -50% 0;
    }
    .hero-cta:hover svg {
      transform: translateX(6px);
    }
    .hero-cta:active {
      transform: translateY(-1px);
      transition-duration: 0.15s;
    }
    @media (prefers-reduced-motion: reduce) {
      .hero-cta, .hero-cta::before, .hero-cta svg { transition: none; animation: none; opacity: 1; }
      .hero-cta:hover { transform: none; }
      .hero-cta:hover svg { transform: none; }
    }
    /* MARQUEE */
    .marquee-strip {
      width: 100%;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,0.07);
      border-bottom: 1px solid rgba(255,255,255,0.07);
      background: rgba(0,0,0,0.25);
      padding: 14px 0;
      position: relative;
      z-index: 2;
    }
    .marquee-strip.bottom { border-top: 1px solid rgba(255,255,255,0.07); margin-top: auto; }
    .marquee-track {
      display: flex;
      align-items: center;
      gap: 32px;
      white-space: nowrap;
      animation: marqueeScroll 28s linear infinite;
    }
    .marquee-track.reverse { animation-direction: reverse; }
    .marquee-item {
      display: inline-flex;
      align-items: center;
      gap: 32px;
      font-family: 'Syne', system-ui, sans-serif;
      font-size: clamp(13px, 1.5vw, 17px);
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      padding: 0;
      color: rgba(255,255,255,0.15);
    }
    .marquee-item span { color: #7c3aed; margin: 0; }
    @keyframes marqueeScroll {
      from { transform: translateX(0); }
      to   { transform: translateX(-50%); }
    }
    .pillars {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: var(--line);
      border: 1px solid var(--line);
      border-radius: 20px;
      overflow: hidden;
      margin-top: 80px;
      width: 100%;
    }
    .pillar {
      background: var(--surface);
      padding: 36px 28px;
      text-decoration: none;
      color: inherit;
      transition: background 0.28s ease;
      display: block;
    }
    .pillar:hover { background: rgba(74,158,142,0.05); }
    .pillar-icon { font-size: 78px; margin-bottom: 16px; display: block; line-height: 1; }
    .pillar strong { display: block; font-size: 32px; font-weight: 800; color: var(--text-0); margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.06em; font-family: 'Syne', system-ui, sans-serif; }
    .pillar span { font-size: 13px; color: var(--text-1); line-height: 1.65; display: block; }
    .pillar-ref { font-family: var(--m-font) !important; font-size: 10px !important; color: var(--accent) !important; opacity: 0.6; margin-top: 12px !important; letter-spacing: 0.05em; border-top: 1px solid var(--line); padding-top: 10px; }
    .pillar:hover .pillar-ref { opacity: 1; }

    /* ══════════════════════════════════════════════════════════════
       PILLAR PILL BUTTONS — top labels on Sleep/Focus/Calm/ADHD cards
       Each card is an <a> wrapping the pill; hover on the CARD
       animates the pill. Premium animation: brightness sweep, glow
       expansion, border fire-up, gentle lift.
       ══════════════════════════════════════════════════════════════ */
    .pillar-pill {
      align-self: center;
      margin-bottom: 36px;
      display: inline-flex;
      align-items: center;
      gap: 14px;
      padding: 14px 22px;
      border-radius: 999px;
      font-family: var(--font-mono);
      font-size: clamp(15px, 1.3vw, 19px);
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      line-height: 1;
      max-width: 100%;
      position: relative;
      overflow: hidden;   /* contains the shimmer sweep */
      isolation: isolate; /* shimmer ::before stays behind content */
      transition:
        transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.35s ease,
        box-shadow 0.45s ease,
        background-size 0.6s ease;
      background-size: 100% 100%;
    }
    .pillar-pill svg { width: 22px; height: 14px; flex-shrink: 0; }
    /* Soft highlight sweep — slides across on hover */
    .pillar-pill::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg,
        transparent 30%,
        rgba(255,255,255,0.18) 48%,
        rgba(255,255,255,0.32) 50%,
        rgba(255,255,255,0.18) 52%,
        transparent 70%
      );
      background-size: 250% 100%;
      background-position: 150% 0;
      opacity: 0;
      transition: background-position 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
      pointer-events: none;
      z-index: -1;
      border-radius: inherit;
    }
    .pillar-pill > * { position: relative; z-index: 1; }
    .pillar-pill svg {
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .hero-pillars-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px !important;
      background: transparent;
      border: 0;
      border-radius: 0;
      overflow: visible;
    }
    .hero-pillars-grid > a {
      min-width: 0;
    }
    .hero-pillars-grid .pillar-pill.pillar-pill-xl {
      margin-bottom: 20px;
      gap: 20px;
      padding: 24px 48px;
      font-size: clamp(22px, 2.2vw, 30px);
      letter-spacing: 0.16em;
      border-width: 1.5px;
      width: min(100%, 320px);
      justify-content: center;
    }
    .hero-pillars-grid .pillar-pill.pillar-pill-xl svg {
      width: 34px;
      height: 22px;
    }
    
    /* Hero pillars grid - responsive layout */
    @media (max-width: 900px) {
      .hero-pillars-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
        overflow: visible !important;
      }
      .hero-pillars-grid > a {
        padding: 24px 18px !important;
      }
      .hero-pillars-grid .pillar-pill.pillar-pill-xl {
        padding: 18px 30px;
        font-size: clamp(16px, 4.6vw, 24px);
        gap: 14px;
        width: min(100%, 290px);
      }
      .hero-pillars-grid .pillar-pill.pillar-pill-xl svg {
        width: 26px;
        height: 18px;
      }
    }
    
    @media (max-width: 560px) {
      .hero-pillars-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        overflow: visible !important;
      }
      .hero-pillars-grid > a {
        padding: 20px 16px !important;
      }
      .hero-pillars-grid > a > div:nth-child(2) {
        font-size: clamp(14px, 4vw, 17px) !important;
        line-height: 1.3 !important;
      }
      .hero-pillars-grid > a > div:nth-child(3) {
        font-size: clamp(12px, 3.5vw, 14px) !important;
        line-height: 1.6 !important;
      }
      .hero-pillars-grid > a > div:nth-child(4) {
        font-size: 9px !important;
      }
      .hero-pillars-grid .pillar-pill.pillar-pill-xl {
        width: 100%;
        max-width: 100%;
        font-size: clamp(16px, 5.4vw, 22px);
        padding: 14px 18px;
        margin-bottom: 12px;
      }
    }

    /* Sleep — deep cobalt → electric violet */
    .pillar-pill-sleep {
      background: linear-gradient(135deg, rgba(37,99,235,0.70) 0%, rgba(124,58,237,0.40) 55%, rgba(6,8,30,0.60) 100%);
      border: 1px solid rgba(96,165,250,0.60);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 4px 28px rgba(37,99,235,0.40);
      color: #bfdbfe;
    }
    a:hover .pillar-pill-sleep {
      background: linear-gradient(135deg, rgba(96,165,250,0.95) 0%, rgba(124,58,237,0.70) 50%, rgba(79,70,229,0.85) 100%);
      border-color: rgba(191,219,254,0.95);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.25),
        inset 0 0 0 1px rgba(255,255,255,0.08),
        0 0 0 4px rgba(37,99,235,0.18),
        0 10px 48px rgba(37,99,235,0.75),
        0 4px 18px rgba(124,58,237,0.50);
      transform: translateY(-2px);
      color: #ffffff;
    }

    /* Focus — sunrise orange → vivid amber */
    .pillar-pill-focus {
      background: linear-gradient(135deg, rgba(234,88,12,0.70) 0%, rgba(245,158,11,0.38) 55%, rgba(20,8,2,0.60) 100%);
      border: 1px solid rgba(251,146,60,0.65);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 4px 28px rgba(234,88,12,0.40);
      color: #fed7aa;
    }
    a:hover .pillar-pill-focus {
      background: linear-gradient(135deg, rgba(251,146,60,0.97) 0%, rgba(245,158,11,0.70) 50%, rgba(217,119,6,0.85) 100%);
      border-color: rgba(254,215,170,0.95);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.25),
        inset 0 0 0 1px rgba(255,255,255,0.08),
        0 0 0 4px rgba(234,88,12,0.20),
        0 10px 48px rgba(245,158,11,0.70),
        0 4px 18px rgba(234,88,12,0.50);
      transform: translateY(-2px);
      color: #ffffff;
    }

    /* Calm — forest green → electric teal */
    .pillar-pill-calm {
      background: linear-gradient(135deg, rgba(5,150,105,0.70) 0%, rgba(6,182,212,0.35) 55%, rgba(2,12,10,0.60) 100%);
      border: 1px solid rgba(52,211,153,0.65);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 4px 28px rgba(5,150,105,0.40);
      color: #a7f3d0;
    }
    a:hover .pillar-pill-calm {
      background: linear-gradient(135deg, rgba(52,211,153,0.97) 0%, rgba(6,182,212,0.70) 50%, rgba(5,150,105,0.85) 100%);
      border-color: rgba(167,243,208,0.95);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.25),
        inset 0 0 0 1px rgba(255,255,255,0.08),
        0 0 0 4px rgba(5,150,105,0.18),
        0 10px 48px rgba(52,211,153,0.65),
        0 4px 18px rgba(6,182,212,0.50);
      transform: translateY(-2px);
      color: #ffffff;
    }

    /* ADHD — hot magenta → crimson (brand centerpiece, strongest treatment) */
    .pillar-pill-adhd {
      background: linear-gradient(135deg, rgba(192,38,211,0.70) 0%, rgba(244,63,68,0.35) 55%, rgba(18,4,20,0.60) 100%);
      border: 1px solid rgba(232,121,249,0.65);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 4px 32px rgba(192,38,211,0.45);
      color: #f5d0fe;
    }
    a:hover .pillar-pill-adhd {
      background: linear-gradient(135deg, rgba(232,121,249,0.97) 0%, rgba(244,63,68,0.70) 50%, rgba(192,38,211,0.85) 100%);
      border-color: rgba(245,208,254,1);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.28),
        inset 0 0 0 1px rgba(255,255,255,0.10),
        0 0 0 4px rgba(192,38,211,0.25),
        0 12px 56px rgba(192,38,211,0.85),
        0 6px 22px rgba(244,63,68,0.55);
      transform: translateY(-2px);
      color: #ffffff;
    }

    /* Shimmer sweep triggered on card hover */
    a:hover .pillar-pill::before {
      opacity: 1;
      background-position: -50% 0;
    }
    /* Arrow push-right */
    a:hover .pillar-pill svg {
      transform: translateX(6px);
    }
    @media (prefers-reduced-motion: reduce) {
      .pillar-pill, .pillar-pill::before, .pillar-pill svg { transition: none; }
      a:hover .pillar-pill { transform: none; }
      a:hover .pillar-pill svg { transform: none; }
    }

    /* ══════════════════════════════════════════════════════════════
       BLOCKY TITLE SYSTEM — "Gallery Exhibit Labels"
       Unified language across section markers (capsules) and h2s.
       Rectangular. Stamped. Technical. No floral pills.
       ══════════════════════════════════════════════════════════════ */
    .label {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 28px;
      padding: 7px 14px 7px 16px;
      border: 1px solid var(--accent-dim);
      border-radius: 0;  /* Rectangular — not pill */
      background: rgba(74,158,142,0.04);
      position: relative;
      line-height: 1;
    }
    /* Corner ticks — architectural brackets */
    .label::before, .label::after {
      content: '';
      position: absolute;
      width: 5px; height: 5px;
      border-color: var(--accent);
      border-style: solid;
      border-width: 0;
    }
    .label::before {
      top: -1px; left: -1px;
      border-top-width: 1px; border-left-width: 1px;
    }
    .label::after {
      bottom: -1px; right: -1px;
      border-bottom-width: 1px; border-right-width: 1px;
    }

    /* Section heading that pairs with .label. Use as <h2 class="h2-block">…</h2>. */
    .h2-block {
      font-family: var(--font-hero);
      font-size: clamp(40px, 5.8vw, 82px);
      font-weight: 700;
      line-height: 0.92;
      letter-spacing: -0.035em;
      text-transform: uppercase;
      color: #f0ede8;
      margin-bottom: 28px;
      max-width: 18ch;
    }
    /* When used with a serif em span inside (existing <em> children) */
    .h2-block em {
      display: block;
      font-family: var(--font-metric);
      font-style: italic;
      font-weight: 400;
      text-transform: none;
      letter-spacing: -0.015em;
      color: var(--gold);
      margin-top: 6px;
      font-size: 0.82em;
      line-height: 1.0;
    }

    /* Small editorial overline that sits above a block heading */
    .h2-block-overline {
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: rgba(167,139,250,0.65);
      margin-bottom: 18px;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .h2-block-overline::before {
      content: '';
      width: 28px;
      height: 1px;
      background: rgba(167,139,250,0.4);
    }

    h2 {
      font-family: var(--font-metric);
      font-size: clamp(36px, 5vw, 62px);
      font-weight: 400;
      line-height: 1.05;
      letter-spacing: -0.025em;
      margin-bottom: 24px;
      color: var(--text-0);
    }
    h2 em { font-style: italic; color: var(--gold); font-weight: 400; }
    h3 {
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 600;
      letter-spacing: -0.01em;
      color: var(--text-0);
      margin-bottom: 10px;
      margin-top: 30px;
    }
    p { font-family: var(--font-body); color: var(--text-1); margin-bottom: 16px; line-height: 1.72; letter-spacing: -0.003em; }
    .split {
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 80px;
      align-items: start;
    }
    /* DIAGRAM */
    .diagram {
      border: 1px solid rgba(74,158,142,0.2);
      border-radius: 20px;
      padding: 28px;
      background:
        radial-gradient(circle at 20% 10%, rgba(74,158,142,0.1), transparent 50%),
        rgba(10,14,20,0.9);
      position: sticky;
      top: 100px;
    }
    .pathway-label {
      font-family: var(--m-font);
      font-size: 10px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--accent);
      display: block;
      text-align: center;
      margin-bottom: 18px;
    }
    .pathway-nodes {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-bottom: 6px;
    }
    .pathway-node {
      background: rgba(74,158,142,0.06);
      border: 1px solid rgba(74,158,142,0.18);
      border-radius: 10px;
      padding: 12px 8px;
      text-align: center;
      font-size: 12px;
      color: var(--text-1);
      transition: all 0.25s ease;
    }
    .pathway-node:hover {
      border-color: rgba(74,158,142,0.5);
      background: rgba(74,158,142,0.12);
      color: var(--text-0);
    }
    .pathway-node strong { display: block; font-weight: 600; color: var(--text-0); font-size: 13px; margin-bottom: 3px; }
    .pathway-divider {
      width: 2px; height: 14px;
      background: linear-gradient(to bottom, var(--accent), transparent);
      margin: 4px auto;
    }
    .pathway-single {
      background: rgba(74,158,142,0.06);
      border: 1px solid rgba(74,158,142,0.18);
      border-radius: 10px;
      padding: 14px;
      text-align: center;
      font-size: 13px;
      color: var(--text-0);
      font-weight: 600;
    }
    /* OUTCOMES */
    .outcomes-grid {
      display: grid;
      gap: 1px;
      background: var(--line);
      border: 1px solid var(--line);
      border-radius: 20px;
      overflow: hidden;
      margin-top: 40px;
    }
    .outcome-row {
      display: grid;
      grid-template-columns: 160px 1fr auto;
      gap: 24px;
      align-items: center;
      padding: 24px 28px;
      background: var(--surface);
      transition: background 0.22s;
    }
    .outcome-row:hover { background: rgba(74,158,142,0.04); }
    .outcome-name { font-weight: 600; color: var(--text-0); font-size: 16px; }
    .outcome-type { font-family: var(--m-font); font-size: 11px; color: var(--accent); margin-top: 4px; }
    .outcome-desc { color: var(--text-1); font-size: 15px; }
    .outcome-badge {
      font-family: var(--m-font);
      font-size: 10px;
      padding: 4px 10px;
      border-radius: 999px;
      border: 1px solid var(--accent-dim);
      color: var(--accent);
      white-space: nowrap;
    }
    /* DETAILS */
    details {
      border: 1px solid var(--line);
      border-radius: 14px;
      background: rgba(13,16,23,0.6);
      overflow: hidden;
      margin-bottom: 8px;
      transition: border-color 0.22s;
    }
    details[open] { border-color: var(--accent-dim); }
    summary {
      cursor: pointer;
      list-style: none;
      font-weight: 500;
      color: var(--text-0);
      font-size: 16px;
      padding: 18px 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      transition: color 0.22s;
    }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: '+'; color: var(--accent); font-family: var(--m-font); font-size: 18px; font-weight: 300; flex-shrink: 0; }
    details[open] summary::after { content: '−'; }
    summary:hover { color: var(--accent); }
    .details-body { padding: 0 20px 20px; border-top: 1px solid var(--line); }
    .details-body p { margin-top: 16px; font-size: 15px; }
    .details-body h3 { margin-top: 20px; font-size: 16px; }
    /* TAGS */
    .tag {
      font-family: var(--m-font);
      font-size: 11px;
      color: var(--accent);
      background: var(--accent-glow);
      border: 1px solid var(--accent-dim);
      border-radius: 6px;
      padding: 2px 7px;
    }
    /* TABLE */
    .table-wrap {
      overflow-x: auto;
      border: 1px solid var(--line);
      border-radius: 14px;
      margin-top: 20px;
    }
    table { width: 100%; border-collapse: collapse; min-width: 500px; background: rgba(10,13,20,0.7); }
    th, td { border-bottom: 1px solid var(--line); text-align: left; padding: 13px 16px; font-size: 14px; }
    th { color: var(--text-1); font-family: var(--m-font); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; background: rgba(255,255,255,0.02); }
    tr:last-child td { border-bottom: none; }
    tr:hover td { background: rgba(74,158,142,0.03); }
    /* CTA */
    .cta-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 40px; }
    .cta-card {
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 28px 24px;
      background: var(--surface);
      transition: all 0.28s ease;
      display: flex;
      flex-direction: column;
    }
    .cta-card:hover {
      border-color: var(--accent-dim);
      background: rgba(74,158,142,0.05);
      transform: translateY(-4px);
      box-shadow: 0 20px 50px rgba(74,158,142,0.12);
    }
    .cta-card h3 { margin-top: 0; font-size: 20px; }
    .cta-card p { flex: 1; font-size: 14px; }
    .cta-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 16px;
      text-decoration: none;
      color: var(--accent);
      border: 1px solid var(--accent-dim);
      border-radius: 999px;
      padding: 9px 16px;
      font-size: 12px;
      font-family: var(--m-font);
      letter-spacing: 0.06em;
      transition: all 0.22s;
      align-self: flex-start;
    }
    .cta-link:hover { background: var(--accent-glow); border-color: var(--accent); }
    /* CARDS */
    .card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 36px; }
    .card {
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 24px;
      background: var(--card);
      transition: all 0.25s ease;
    }
    .card:hover { border-color: rgba(74,158,142,0.2); background: rgba(74,158,142,0.03); }
    .card strong { display: block; font-size: 16px; font-weight: 600; margin-bottom: 8px; color: var(--text-0); }
    .card p { font-size: 14px; margin: 0; }
    /* CALLOUT */
    .callout {
      border-left: 2px solid var(--gold);
      padding: 20px 24px;
      margin: 36px 0;
      background: var(--gold-dim);
      border-radius: 0 12px 12px 0;
    }
    .callout em { font-family: var(--h-font); font-size: clamp(18px, 2vw, 22px); font-style: italic; color: var(--text-0); line-height: 1.5; }
    /* GUIDE */
    .guide-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 32px; }
    .guide-card { border: 1px solid var(--line); border-radius: 14px; padding: 20px; background: var(--card); }
    .guide-card h4 { font-size: 15px; font-weight: 600; color: var(--text-0); margin-bottom: 10px; }
    .guide-card ul { padding-left: 16px; color: var(--text-1); font-size: 14px; line-height: 1.8; }

    /* NOISE CHART */
    /* ══════════════════════════════════════════════════════════════
       PREMIUM CHART SYSTEM — .nn-chart
       Shared scaffolding for all D3 charts on the site. Think
       "scientific instrument panel": black canvas, graphite grid,
       editorial tick labels, dotted crosshair on hover, floating
       tooltip card, reveal animations.
       ══════════════════════════════════════════════════════════════ */
    .nn-chart {
      position: relative;
      background:
        radial-gradient(ellipse 80% 60% at 50% 50%, rgba(20,24,35,0.75) 0%, rgba(10,12,18,0.95) 100%),
        linear-gradient(180deg, #0a0d14 0%, #060810 100%);
      border: 1px solid rgba(255,255,255,0.06);
      border-radius: 2px;     /* minimal rounding — architectural */
      padding: 28px 28px 20px;
      overflow: hidden;
      font-family: var(--font-body);
      isolation: isolate;
    }
    /* Corner brackets — telegraphs "precision instrument" */
    .nn-chart::before, .nn-chart::after {
      content: '';
      position: absolute;
      width: 14px; height: 14px;
      pointer-events: none;
      z-index: 4;
      border-color: rgba(167,139,250,0.35);
      border-style: solid;
      border-width: 0;
    }
    .nn-chart::before {
      top: 8px; left: 8px;
      border-top-width: 1px; border-left-width: 1px;
    }
    .nn-chart::after {
      bottom: 8px; right: 8px;
      border-bottom-width: 1px; border-right-width: 1px;
    }
    /* Faint internal grid — the "graph paper" feel */
    .nn-chart-grid-bg {
      position: absolute;
      inset: 28px;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
      background-size: 28px 28px;
      z-index: 0;
    }

    .nn-chart-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 24px;
      margin-bottom: 20px;
      position: relative;
      z-index: 2;
      flex-wrap: wrap;
    }
    .nn-chart-eyebrow {
      font-family: var(--font-mono);
      font-size: 9px;
      font-weight: 500;
      letter-spacing: 0.26em;
      text-transform: uppercase;
      color: rgba(167,139,250,0.6);
      margin-bottom: 6px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .nn-chart-eyebrow::before {
      content: '';
      width: 6px; height: 6px;
      background: rgba(167,139,250,0.6);
      border-radius: 50%;
    }
    .nn-chart-title {
      font-family: var(--font-metric);
      font-size: clamp(18px, 2vw, 24px);
      font-weight: 400;
      letter-spacing: -0.015em;
      line-height: 1.15;
      color: #f0ede8;
    }
    .nn-chart-meta {
      font-family: var(--font-mono);
      font-size: 9px;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.35);
      text-align: right;
      line-height: 1.8;
      flex-shrink: 0;
    }
    .nn-chart-meta strong {
      display: block;
      color: rgba(167,139,250,0.7);
      font-weight: 500;
    }

    .nn-chart-body {
      position: relative;
      width: 100%;
      z-index: 1;
    }
    .nn-chart-svg {
      display: block;
      width: 100%;
      height: auto;
      overflow: visible;
    }

    /* Axis styling for D3 output */
    .nn-chart-svg .axis path,
    .nn-chart-svg .axis line {
      stroke: rgba(255,255,255,0.08);
      stroke-width: 0.5;
      shape-rendering: crispEdges;
    }
    .nn-chart-svg .axis .tick line { stroke: rgba(255,255,255,0.05); }
    .nn-chart-svg .axis .tick text {
      font-family: var(--font-mono);
      font-size: 9px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      fill: rgba(255,255,255,0.38);
    }
    .nn-chart-svg .axis-label {
      font-family: var(--font-mono);
      font-size: 9px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      fill: rgba(255,255,255,0.3);
    }
    .nn-chart-svg .grid-line {
      stroke: rgba(255,255,255,0.04);
      stroke-width: 0.5;
      shape-rendering: crispEdges;
    }
    .nn-chart-svg .grid-line.major {
      stroke: rgba(255,255,255,0.06);
    }
    .nn-chart-svg .region {
      opacity: 0;
      transition: opacity 1s 0.3s ease;
    }
    .nn-chart.is-revealed .nn-chart-svg .region { opacity: 1; }

    /* Annotation badges — "witness marks" on the chart itself */
    .nn-chart-svg .annotation-line {
      stroke: rgba(167,139,250,0.45);
      stroke-width: 0.75;
      stroke-dasharray: 2 3;
    }
    .nn-chart-svg .annotation-text {
      font-family: var(--font-mono);
      font-size: 8.5px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      fill: rgba(167,139,250,0.75);
      font-weight: 500;
    }

    /* Crosshair + hover cursor */
    .nn-chart-svg .crosshair-v,
    .nn-chart-svg .crosshair-h {
      stroke: rgba(240,237,232,0.25);
      stroke-width: 0.75;
      stroke-dasharray: 2 4;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.18s ease;
    }
    .nn-chart.is-hovering .nn-chart-svg .crosshair-v,
    .nn-chart.is-hovering .nn-chart-svg .crosshair-h { opacity: 1; }
    .nn-chart-svg .hover-dot {
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.18s ease;
      filter: drop-shadow(0 0 8px currentColor);
    }
    .nn-chart.is-hovering .nn-chart-svg .hover-dot { opacity: 1; }

    /* Floating tooltip card */
    .nn-chart-tooltip {
      position: absolute;
      pointer-events: none;
      z-index: 10;
      background: rgba(8,10,15,0.92);
      border: 1px solid rgba(167,139,250,0.22);
      border-radius: 2px;
      padding: 12px 14px;
      min-width: 180px;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      opacity: 0;
      transform: translate(-50%, calc(-100% - 14px));
      transition: opacity 0.18s ease;
      box-shadow: 0 8px 32px rgba(0,0,0,0.6);
    }
    .nn-chart-tooltip::after {
      content: '';
      position: absolute;
      top: 100%; left: 50%;
      transform: translateX(-50%);
      border: 5px solid transparent;
      border-top-color: rgba(167,139,250,0.22);
    }
    .nn-chart.is-hovering .nn-chart-tooltip { opacity: 1; }
    .nn-chart-tooltip-head {
      font-family: var(--font-mono);
      font-size: 9px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(167,139,250,0.7);
      margin-bottom: 8px;
      padding-bottom: 6px;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .nn-chart-tooltip-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 16px;
      font-family: var(--font-mono);
      font-size: 10px;
      line-height: 1.6;
    }
    .nn-chart-tooltip-row .swatch {
      display: inline-block;
      width: 8px; height: 8px;
      margin-right: 6px;
      border-radius: 50%;
      vertical-align: middle;
      box-shadow: 0 0 6px currentColor;
    }
    .nn-chart-tooltip-row .label {
      display: inline;
      color: rgba(240,237,232,0.8);
      letter-spacing: 0.1em;
      margin: 0; padding: 0; border: 0; background: none;
      text-transform: uppercase;
      font-size: 9px;
    }
    .nn-chart-tooltip-row .label::before,
    .nn-chart-tooltip-row .label::after { display: none; }
    .nn-chart-tooltip-row .value {
      font-family: var(--font-metric);
      font-size: 14px;
      letter-spacing: -0.01em;
      color: #f0ede8;
      text-transform: none;
    }

    /* Legend as toggleable chips */
    .nn-chart-legend {
      display: flex;
      flex-wrap: wrap;
      gap: 0;
      margin-top: 20px;
      border-top: 1px solid rgba(255,255,255,0.06);
      padding-top: 16px;
      position: relative;
      z-index: 2;
    }
    .nn-chart-legend-item {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 8px 16px 8px 14px;
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(240,237,232,0.7);
      cursor: pointer;
      border-right: 1px solid rgba(255,255,255,0.06);
      transition: color 0.2s ease, opacity 0.2s ease;
      user-select: none;
    }
    .nn-chart-legend-item:last-child { border-right: none; }
    .nn-chart-legend-item:hover { color: #f0ede8; }
    .nn-chart-legend-item.is-muted { opacity: 0.3; }
    .nn-chart-legend-item .dot {
      width: 10px; height: 10px;
      border-radius: 50%;
      flex-shrink: 0;
      box-shadow: 0 0 8px currentColor;
    }

    /* Chart caption below the frame */
    .nn-chart-caption {
      display: block;
      margin-top: 14px;
      font-family: var(--font-mono);
      font-size: 9px;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.32);
      text-align: center;
      line-height: 1.7;
    }
    .nn-chart-caption strong { color: rgba(167,139,250,0.6); font-weight: 500; }

    /* Legacy compat — old noise-chart classes still used in markup */
    .noise-chart-wrap {
      border: 1px solid var(--line);
      border-radius: 2px;
      background: rgba(10,13,20,0.85);
      padding: 28px 24px 20px;
      margin-top: 36px;
      position: relative;
      overflow: hidden;
    }
    .noise-chart-title {
      font-family: var(--font-mono);
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--text-2);
      margin-bottom: 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .noise-chart-title span { color: var(--text-1); }
    .chart-canvas-wrap { position: relative; }
    canvas#noiseChart { width: 100% !important; }
    .noise-legend {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      margin-top: 20px;
      justify-content: center;
    }
    .noise-legend-item {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 12px;
      color: var(--text-1);
      cursor: pointer;
      transition: color 0.2s;
    }
    .noise-legend-item:hover { color: var(--text-0); }
    .legend-dot {
      width: 10px; height: 10px;
      border-radius: 50%;
      flex-shrink: 0;
    }
    .noise-cards {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
      margin-top: 20px;
    }
    .noise-card {
      border-radius: 14px;
      border: 1px solid var(--line);
      padding: 16px 14px;
      background: var(--card);
      transition: all 0.25s;
      cursor: default;
    }
    .noise-card:hover { transform: translateY(-2px); }
    .noise-card-dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      margin-bottom: 10px;
    }
    .noise-card strong { display: block; font-size: 14px; font-weight: 600; color: var(--text-0); margin-bottom: 4px; }
    .noise-card .nc-roll { font-family: var(--m-font); font-size: 10px; color: var(--accent); margin-bottom: 6px; display: block; }
    .noise-card p { font-size: 12px; color: var(--text-1); margin: 0; line-height: 1.5; }

    /* RESEARCH DROPDOWN */
    .research-dropdown {
      position: relative;
      display: inline-block;
    }
    .research-trigger {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-family: var(--m-font);
      font-size: 11px;
      letter-spacing: 0.08em;
      color: var(--accent);
      border: 1px solid var(--accent-dim);
      border-radius: 999px;
      padding: 6px 14px;
      cursor: pointer;
      background: var(--accent-glow);
      transition: all 0.22s;
      user-select: none;
    }
    .research-trigger:hover { background: rgba(74,158,142,0.14); border-color: var(--accent); }
    .research-trigger svg { transition: transform 0.22s; }
    .research-trigger.open svg { transform: rotate(180deg); }
    .research-panel {
      display: none;
      position: absolute;
      top: calc(100% + 10px);
      left: 0;
      width: 520px;
      max-width: 90vw;
      background: rgba(10,14,22,0.97);
      border: 1px solid var(--accent-dim);
      border-radius: 16px;
      padding: 20px;
      z-index: 200;
      backdrop-filter: blur(20px);
      box-shadow: 0 24px 60px rgba(0,0,0,0.5);
      animation: panelIn 0.22s ease;
    }
    .research-panel.open { display: block; }
    @keyframes panelIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
    .research-panel-title {
      font-family: var(--m-font);
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 14px;
      padding-bottom: 10px;
      border-bottom: 1px solid var(--line);
    }
    .research-paper {
      display: block;
      padding: 12px 0;
      border-bottom: 1px solid var(--line);
      text-decoration: none;
      transition: all 0.18s;
    }
    .research-paper:last-child { border-bottom: none; padding-bottom: 0; }
    .research-paper:hover .rp-title { color: var(--accent); }
    .rp-meta {
      font-family: var(--m-font);
      font-size: 10px;
      color: var(--text-2);
      letter-spacing: 0.08em;
      margin-bottom: 4px;
    }
    .rp-title {
      font-size: 13px;
      font-weight: 500;
      color: var(--text-0);
      line-height: 1.45;
      transition: color 0.18s;
      margin-bottom: 4px;
    }
    .rp-journal {
      font-size: 11px;
      color: var(--text-2);
      font-style: italic;
    }

    /* ── End-of-section evidence (clickable papers + deep-dive findings) ──
       Inline expandable block (native <details>), per-section accent via --ev.
       Used at the end of each pillar section so readers can open the actual
       peer-reviewed papers and read what each one found. */
    .evidence {
      margin-top: 40px;
      border: 1px solid color-mix(in srgb, var(--ev, #6366f1) 30%, transparent);
      border-radius: 16px;
      background: color-mix(in srgb, var(--ev, #6366f1) 6%, transparent);
      overflow: hidden;
    }
    .evidence > summary {
      list-style: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 16px 20px;
      font-family: var(--m-font);
      font-size: 12px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--ev, #6366f1);
      user-select: none;
    }
    .evidence > summary::-webkit-details-marker { display: none; }
    .evidence > summary .ev-chevron { transition: transform 0.25s; flex-shrink: 0; }
    .evidence[open] > summary .ev-chevron { transform: rotate(180deg); }
    .evidence[open] > summary { border-bottom: 1px solid color-mix(in srgb, var(--ev, #6366f1) 22%, transparent); }
    .evidence-body { padding: 6px 20px 16px; }
    .evidence-paper {
      display: block;
      padding: 16px 0;
      border-bottom: 1px solid var(--line);
      text-decoration: none;
      transition: all 0.18s;
    }
    .evidence-paper:last-child { border-bottom: none; padding-bottom: 4px; }
    .ep-meta {
      font-family: var(--m-font);
      font-size: 10px;
      letter-spacing: 0.08em;
      color: var(--ev, #6366f1);
      opacity: 0.9;
      margin-bottom: 5px;
    }
    .ep-title {
      font-size: 14px;
      font-weight: 600;
      color: var(--text-0);
      line-height: 1.4;
      margin-bottom: 7px;
      transition: color 0.18s;
    }
    .ep-finding {
      font-size: 13px;
      color: var(--text-2);
      line-height: 1.6;
      margin: 0 0 9px;
    }
    .ep-link {
      font-family: var(--m-font);
      font-size: 10px;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--ev, #6366f1);
    }
    .evidence-paper:hover .ep-title { color: var(--ev, #6366f1); }
    .evidence-paper:hover .ep-link { text-decoration: underline; }
    @media (max-width: 560px) {
      .evidence > summary { padding: 14px 16px; font-size: 11px; }
      .evidence-body { padding: 4px 16px 14px; }
    }

    /* ISOCHRONIC vs BINAURAL */
    .vs-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1px;
      background: var(--line);
      border: 1px solid var(--line);
      border-radius: 20px;
      overflow: hidden;
      margin-top: 32px;
    }
    .vs-col {
      background: var(--surface);
      padding: 28px 24px;
    }
    .vs-col-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 16px;
    }
    .vs-col h4 {
      font-size: 18px;
      font-weight: 600;
      color: var(--text-0);
    }
    .vs-badge {
      font-family: var(--m-font);
      font-size: 10px;
      padding: 3px 9px;
      border-radius: 999px;
    }
    .vs-badge.supported { background: rgba(74,158,142,0.1); border: 1px solid var(--accent-dim); color: var(--accent); }
    .vs-col p { font-size: 14px; color: var(--text-1); margin-bottom: 12px; line-height: 1.7; }
    .vs-col ul { list-style: none; padding: 0; }
    .vs-col ul li {
      font-size: 13px;
      color: var(--text-1);
      padding: 6px 0;
      border-bottom: 1px solid var(--line);
      display: flex;
      align-items: flex-start;
      gap: 8px;
      line-height: 1.5;
    }
    .vs-col ul li:last-child { border-bottom: none; }
    .vs-col ul li::before { content: '→'; color: var(--accent); flex-shrink: 0; font-family: var(--m-font); font-size: 11px; margin-top: 1px; }
    .vs-divider {
      grid-column: 1 / -1;
      background: var(--surface);
      padding: 20px 28px;
      border-top: 1px solid var(--line);
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .vs-divider-icon { font-size: 20px; flex-shrink: 0; }
    .vs-divider p { font-size: 14px; color: var(--text-1); margin: 0; }
    .vs-divider strong { color: var(--text-0); }
    /* FOOTER */
    footer { padding: 128px 0 60px; position: relative; z-index: 1; }
    /* Feather the dark science block into the footer/grid — no hard edge.
       The gradient continues the block's #0b0e16 then fades to transparent,
       revealing whatever sits behind (grid in dark mode, light bg in light). */
    footer::before {
      content: '';
      position: absolute;
      left: 0; right: 0; top: 0;
      height: 240px;
      background: linear-gradient(to bottom, #0b0e16 0%, rgba(11,14,22,0.72) 34%, rgba(11,14,22,0.32) 64%, transparent 100%);
      pointer-events: none;
      z-index: 0;
    }
    footer > * { position: relative; z-index: 1; }
    .footer-word {
      font-family: 'Outfit', 'Space Grotesk', 'Inter', system-ui, sans-serif;
      font-size: clamp(96px, 18vw, 264px);
      font-weight: 800;
      line-height: 0.92;
      letter-spacing: -0.04em;
      text-transform: uppercase;
      color: #f0ede8;
      text-align: center;
      margin-bottom: 48px;
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto;
      position: relative;
    }
    /* Flex-column layout for the title — centered, with each line on its own row.
       The "NeuroNest AU" tagline sits as the third row, right-aligned beneath SOUND. */
    .footer-word-block {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .footer-word-line { display: block; line-height: 0.92; text-align: center; }
    /* "THE FUTURE OF" — 0.4em of parent (= 0.8x of the original parent size) */
    .footer-word-line:first-child {
      font-size: 0.4em;
      letter-spacing: -0.03em;
      line-height: 1;
      margin-bottom: 0.04em;
    }
    /* "NeuroNest AU" — sits centered directly above the social icons */
    .footer-tag {
      display: block;
      text-align: center;
      margin-top: -16px;     /* slight pull-up: tag visually anchors to socials, not the gap */
      margin-bottom: 14px;
      font-family: 'Outfit', 'Space Grotesk', 'Inter', system-ui, sans-serif;
      font-size: clamp(13px, 1.3vw, 22px);
      font-weight: 700;
      letter-spacing: 0.01em;
      line-height: 1;
      text-transform: uppercase;
      color: #f0ede8;
    }
    [data-theme="light"] .footer-tag { color: #1A1815; }
    .footer-word em {
      font-style: normal;
      background: linear-gradient(135deg, #a78bfa 0%, #c026d3 35%, #c9a96e 75%, #f0ede8 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    /* Cool spectrum loop — smoothly cycles teal → cyan → blue → indigo → violet → and back.
       Returns to the same color it started with so the loop has no visual seam.
       Many close-spaced stops + wide 280% canvas guarantees no flat-color regions. */
    .footer-word em.footer-em-cool {
      background-image: linear-gradient(100deg,
        #2dd4bf  0%,    /* teal */
        #14b8a6  9%,    /* deep teal */
        #06b6d4 18%,    /* cyan */
        #0891b2 27%,    /* deep cyan */
        #3b82f6 36%,    /* blue */
        #6366f1 45%,    /* indigo */
        #818cf8 54%,    /* light indigo */
        #a78bfa 63%,    /* violet */
        #818cf8 72%,    /* back through light indigo */
        #6366f1 81%,    /* indigo */
        #06b6d4 90%,    /* cyan */
        #2dd4bf 100%);  /* teal — returns to start */
      background-size: 280% auto;
      background-position: 0% center;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      animation: footerCoolShine 18s linear infinite;
    }
    @keyframes footerCoolShine {
      0%   { background-position: 0%   center; }
      100% { background-position: 280% center; }
    }
    @media (prefers-reduced-motion: reduce) {
      .footer-word em.footer-em-cool { animation: none; background-position: 30% center; }
    }
    [data-theme="light"] .footer-word { color: #1A1815; }
    [data-theme="light"] .footer-word em {
      background: linear-gradient(135deg, #6d28d9 0%, #a21caf 35%, #92722e 75%, #1A1815 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    [data-theme="light"] .footer-word em.footer-em-cool {
      background-image: linear-gradient(100deg,
        #0d9488  0%,
        #0f766e  9%,
        #0e7490 18%,
        #155e75 27%,
        #1d4ed8 36%,
        #3730a3 45%,
        #4338ca 54%,
        #6d28d9 63%,
        #4338ca 72%,
        #3730a3 81%,
        #0e7490 90%,
        #0d9488 100%);
      background-size: 280% auto;
    }

    /* ══════════════════════════════════════════════════════════════
       INTERSECTION TITLE — cross-phase animated gradients
       Both words run the SAME full-spectrum gradient, but the two
       are offset by 50% in their cycle. Net result: when one word
       is in a warm phase, the other is in a cool phase, and they
       continuously trade — never the same colors at the same time.
       ══════════════════════════════════════════════════════════════ */
    .intersect-word {
      background-image: linear-gradient(100deg,
        #4a9e8e 0%,    /* teal */
        #5eead4 10%,   /* mint */
        #34d399 18%,   /* emerald */
        #fbbf24 30%,   /* warm gold */
        #f59e0b 40%,   /* amber */
        #ec4899 52%,   /* pink */
        #c026d3 64%,   /* magenta */
        #a78bfa 76%,   /* violet */
        #818cf8 86%,   /* indigo */
        #06b6d4 96%,   /* cyan */
        #4a9e8e 100%); /* loops back to teal */
      background-size: 280% auto;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent;
      display: inline-block;
    }
    /* Warm phase starts at position 0% — currently showing teal-gold-pink range */
    .intersect-word-warm {
      animation: intersectShineWarm 16s linear infinite;
    }
    /* Cool phase starts halfway through the cycle — showing magenta-violet-cyan range */
    .intersect-word-cool {
      animation: intersectShineCool 16s linear infinite;
    }
    @keyframes intersectShineWarm {
      0%   { background-position: 0%   center; }
      100% { background-position: 280% center; }
    }
    @keyframes intersectShineCool {
      0%   { background-position: 175% center; }   /* offset 50% + extra 2s phase shift so 'engineering' is never on the same band as 'neuroscience' */
      100% { background-position: 455% center; }
    }
    @media (prefers-reduced-motion: reduce) {
      .intersect-word-warm, .intersect-word-cool { animation: none; }
      .intersect-word-warm { background-position: 30% center; }
      .intersect-word-cool { background-position: 70% center; }
    }
    /* Light-mode: deeper saturations of the same spectrum so both words stay readable on cream */
    [data-theme="light"] .intersect-word {
      background-image: linear-gradient(100deg,
        #2d6b5f 0%,
        #0d9488 10%,
        #047857 18%,
        #b45309 30%,
        #92722e 40%,
        #be185d 52%,
        #a21caf 64%,
        #6d28d9 76%,
        #4338ca 86%,
        #0e7490 96%,
        #2d6b5f 100%);
      background-size: 280% auto;
    }
    .footer-socials { display: flex; justify-content: center; gap: 12px; margin-bottom: 40px; }
    .footer-socials a {
      display: inline-flex; align-items: center; justify-content: center;
      width: 40px; height: 40px; border-radius: 50%;
      border: 1px solid var(--line); color: var(--text-1);
      transition: all 0.22s;
    }
    .footer-socials a:hover { border-color: var(--accent-dim); color: var(--accent); background: var(--accent-glow); }
    .footer-copy { font-family: var(--m-font); font-size: 11px; color: var(--text-2); letter-spacing: 0.12em; text-transform: uppercase; text-align: center; }
    /* ANIMATIONS */
    @keyframes fadeSlideUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
    .reveal { opacity: 1; transform: translateY(0); transition: opacity 0.65s ease, transform 0.65s ease; }
    .reveal.below-fold { opacity: 0; transform: translateY(22px); }
    .reveal.visible { opacity: 1 !important; transform: translateY(0) !important; }
    .reveal-d1 { transition-delay: 0.1s; }
    .reveal-d2 { transition-delay: 0.2s; }
    .reveal-d3 { transition-delay: 0.3s; }
    /* RESPONSIVE */
    /* FAQ STYLES */
    .faq-nav-item {
      display: block;
      font-size: 12px;
      color: var(--text-2);
      text-decoration: none;
      padding: 7px 10px;
      border-radius: 8px;
      border-left: 2px solid transparent;
      transition: all 0.2s;
      line-height: 1.4;
    }
    .faq-nav-item:hover {
      color: var(--accent);
      border-left-color: var(--accent);
      background: var(--accent-glow);
    }
    .faq-item {
      border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(13,16,23,0.7);
      overflow: hidden;
      transition: border-color 0.22s;
    }
    .faq-item[open] { border-color: var(--accent-dim); }
    .faq-item summary {
      padding: 20px 24px;
      font-size: 16px;
      font-weight: 500;
    }
    .faq-item .details-body { padding: 0 24px 24px; }
    .faq-item .details-body p { font-size: 14px; margin-top: 14px; }
    .faq-item .details-body p:first-child { margin-top: 0; border-top: 1px solid var(--line); padding-top: 16px; }
    .faq-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-family: var(--m-font);
      font-size: 10px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--accent);
      border: 1px solid var(--accent-dim);
      border-radius: 999px;
      padding: 7px 14px;
      text-decoration: none;
      background: var(--accent-glow);
      transition: all 0.22s;
    }
    .faq-btn:hover { border-color: var(--accent); background: rgba(74,158,142,0.14); }
    @media (max-width: 800px) {
      div[style*="grid-template-columns: 220px 1fr"] { grid-template-columns: 1fr !important; }
      div[style*="position: sticky; top: 100px"] { position: static !important; display: none; }
    }

    /* BRIDGE STYLES already defined above */
    .bridge {
      position: relative;
      z-index: 1;
      padding: 0;
      display: flex;
      justify-content: center;
    }
    .bridge-inner {
      width: min(var(--max), 100% - 48px);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .bridge-a {
      display: flex;
      align-items: center;
      gap: 20px;
      padding: 28px 36px;
      border: 1px solid var(--line);
      border-radius: 999px;
      text-decoration: none;
      color: var(--text-0);
      background: var(--surface);
      transition: all 0.3s ease;
      width: 100%;
      justify-content: space-between;
    }
    .bridge-a:hover { border-color: var(--accent-dim); background: rgba(74,158,142,0.04); }
    .bridge-a:hover .bridge-arrow { transform: translateX(6px); }
    .bridge-a-label { font-family: var(--m-font); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 4px; }
    .bridge-a-title { font-family: var(--h-font); font-size: clamp(18px, 2.5vw, 26px); font-weight: 300; line-height: 1.2; }
    .bridge-a-title em { font-style: italic; color: var(--gold); }
    .bridge-arrow { flex-shrink: 0; color: var(--accent); transition: transform 0.3s ease; }
    .bridge-b {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1px;
      background: var(--line);
      border: 1px solid var(--line);
      border-radius: 20px;
      overflow: hidden;
      width: 100%;
    }
    .bridge-b-item {
      display: flex; align-items: center; gap: 16px;
      padding: 22px 28px; text-decoration: none; color: var(--text-0);
      background: var(--surface); transition: background 0.25s;
    }
    .bridge-b-item:hover { background: rgba(74,158,142,0.04); }
    .bridge-b-item:hover .bridge-arrow { transform: translateX(4px); }
    .bridge-b-icon { font-size: 22px; flex-shrink: 0; }
    .bridge-b-label { font-family: var(--m-font); font-size: 10px; color: var(--accent); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 3px; }
    .bridge-b-title { font-size: 15px; font-weight: 500; color: var(--text-0); }
    .bridge-c {
      display: flex; flex-direction: column; align-items: center; gap: 14px;
      padding: 36px 40px; text-align: center; text-decoration: none;
      border: 1px solid var(--line); border-radius: 24px; background: var(--surface);
      transition: all 0.3s ease; width: 100%;
    }
    .bridge-c:hover { border-color: var(--accent-dim); background: rgba(74,158,142,0.03); }
    .bridge-c:hover .bridge-c-cta { background: var(--accent-glow); border-color: var(--accent); }
    .bridge-c-eyebrow { font-family: var(--m-font); font-size: 10px; color: var(--text-2); letter-spacing: 0.16em; text-transform: uppercase; }
    .bridge-c-text { font-family: var(--h-font); font-size: clamp(20px, 3vw, 32px); font-weight: 300; line-height: 1.25; color: var(--text-0); }
    .bridge-c-text em { font-style: italic; color: var(--gold); }
    .bridge-c-cta {
      display: inline-flex; align-items: center; gap: 8px;
      font-family: var(--m-font); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--accent); border: 1px solid var(--accent-dim); border-radius: 999px; padding: 9px 20px;
      transition: all 0.25s;
    }
    .bridge-d {
      display: flex; align-items: stretch; width: 100%;
      border: 1px solid var(--line); border-radius: 16px; overflow: hidden;
    }
    .bridge-d-num {
      font-family: var(--h-font); font-size: 52px; font-weight: 300;
      color: rgba(74,158,142,0.18); padding: 18px 24px;
      border-right: 1px solid var(--line); background: var(--surface); line-height: 1; flex-shrink: 0;
      display: flex; align-items: center;
    }
    .bridge-d-body {
      flex: 1; padding: 20px 24px; background: var(--surface); text-decoration: none; color: inherit;
      display: flex; align-items: center; justify-content: space-between; transition: background 0.25s;
    }
    .bridge-d-body:hover { background: rgba(74,158,142,0.04); }
    .bridge-d-body:hover .bridge-arrow { transform: translateX(5px); }
    .bridge-d-label { font-family: var(--m-font); font-size: 10px; color: var(--accent); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 4px; }
    .bridge-d-title { font-size: 16px; font-weight: 500; color: var(--text-0); }
    @media (max-width: 700px) {
      .bridge-b { grid-template-columns: 1fr; }
      .bridge-a, .bridge-c { padding: 20px 22px; }
    }

    @media (max-width: 900px) {
      .split, .cta-grid, .guide-grid, .card-grid { grid-template-columns: 1fr; }
      .pillars { grid-template-columns: 1fr; }
      .outcome-row { grid-template-columns: 1fr; gap: 8px; }
      /* Mobile = collapsible menu. Default shows only the white NEURONEST
         AUSTRALIA brand; tapping it expands a dropdown of all links. */
      .site-nav {
        width: calc(100% - 20px);
        max-width: calc(100vw - 20px);
        border-radius: 16px;
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        gap: 0;
        box-sizing: border-box;
        overflow: hidden;
      }
      .site-nav .brand {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        position: relative;
        padding: 13px 40px;
        margin: 0 !important;
        cursor: pointer;
      }
      .site-nav .brand span { -webkit-text-fill-color: #ffffff !important; color: #ffffff !important; background: none !important; }
      .nav-toggle-chevron {
        display: block;
        position: absolute; right: 16px; top: 50%;
        transform: translateY(-50%);
        font-size: 13px; line-height: 1; color: rgba(255,255,255,0.6);
        transition: transform 0.25s;
      }
      .site-nav.nav-open .nav-toggle-chevron { transform: translateY(-50%) rotate(180deg); }
      .site-nav > a:not(.brand),
      .site-nav > button.theme-toggle {
        display: none !important;
        text-align: center;
        padding: 13px 16px !important;
        margin: 0 !important;
        border-top: 1px solid rgba(255,255,255,0.08);
        width: 100%;
        box-sizing: border-box;
      }
      .site-nav.nav-open > a:not(.brand) { display: block !important; }
      .site-nav.nav-open > button.theme-toggle { display: flex !important; align-items: center; justify-content: center; gap: 8px; }
      .diagram { position: static; }
      .noise-cards { grid-template-columns: repeat(2, 1fr); }
      .vs-grid { grid-template-columns: 1fr; }
      .research-panel { width: 90vw; left: 0; }
      .protocol-body > div[style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }
    }
    /* ── Robust mobile collapse ──────────────────────────────────────────
       The pillar + science sections use inline-style grids with varied
       spacing (1fr 400px, 1fr 1fr, repeat(4,1fr), 1fr 360px …). Target ANY
       inline grid in <main> and force a single column so a fixed-px column
       can never crush its sibling 1fr column to min-content (the ~40px bug).
       Inline styles need !important to override. */
    @media (max-width: 820px) {
      main [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
        align-items: stretch !important;
      }
      .pillar-section { padding: 64px 0 !important; }
      main section { scroll-margin-top: 72px; }
    }
    @media (max-width: 560px) {
      .noise-cards { grid-template-columns: 1fr; }
      main [style*="grid-template-columns"] { gap: 18px !important; }
      .pillar-section { padding: 50px 0 !important; }
      /* Keep the oversized section "pill" titles comfortable on phones. */
      .ps-titlepill { font-size: clamp(58px, 16vw, 104px); padding: 0.16em 0.38em 0.22em; margin-bottom: 16px; }
    }
    /* TIMELINE SIDEBAR */
    .timeline {
      position: fixed;
      left: 28px;
      top: 50%;
      transform: translateY(-50%);
      z-index: 500;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0;
      pointer-events: none;
    }
    .tl-item {
      display: flex;
      align-items: center;
      gap: 10px;
      pointer-events: all;
      cursor: pointer;
      text-decoration: none;
      position: relative;
      padding: 4px 0;
    }
    /* Connecting line between dots */
    .tl-item:not(:last-child)::after {
      content: '';
      position: absolute;
      left: 5px;
      top: 18px;
      width: 1px;
      height: calc(100% - 4px);
      background: linear-gradient(to bottom, rgba(74,158,142,0.3), rgba(74,158,142,0.08));
    }
    .tl-dot {
      width: 11px;
      height: 11px;
      border-radius: 50%;
      border: 1.5px solid rgba(74,158,142,0.35);
      background: var(--bg);
      flex-shrink: 0;
      transition: all 0.25s ease;
      position: relative;
      z-index: 1;
    }
    .tl-item.active .tl-dot {
      background: var(--accent);
      border-color: var(--accent);
      box-shadow: 0 0 10px rgba(74,158,142,0.5), 0 0 20px rgba(74,158,142,0.2);
      transform: scale(1.2);
    }
    .tl-item:hover .tl-dot {
      border-color: var(--accent);
      background: rgba(74,158,142,0.25);
    }
    .tl-label {
      font-family: var(--b-font);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-2);
      white-space: nowrap;
      opacity: 0;
      transform: translateX(-4px);
      transition: all 0.22s ease;
      background: rgba(8,10,15,0.85);
      padding: 3px 8px;
      border-radius: 4px;
      border: 1px solid var(--line);
      backdrop-filter: blur(8px);
      pointer-events: none;
    }
    .tl-item:hover .tl-label,
    .tl-item.active .tl-label {
      opacity: 1;
      transform: translateX(0);
      color: var(--text-0);
    }
    .tl-item.active .tl-label {
      color: var(--accent);
      border-color: var(--accent-dim);
    }
    /* Section number tag */
    .tl-num {
      position: absolute;
      left: 16px;
      font-family: var(--m-font);
      font-size: 8px;
      color: var(--text-2);
      opacity: 0;
      transition: opacity 0.22s;
    }
    @media (max-width: 1100px) {
      .timeline {
        /* Switch from fixed left sidebar → horizontal scroll bar at top */
        position: fixed;
        top: 66px;
        left: 0;
        right: 0;
        width: 100%;
        transform: none;
        flex-direction: row;
        align-items: center;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 0 12px;
        background: rgba(8,10,15,0.88);
        backdrop-filter: blur(16px);
        border-bottom: 1px solid var(--line);
        z-index: 900;
        pointer-events: all;
      }
      .timeline::-webkit-scrollbar { display: none; }
      /* Hide the vertical connector lines on mobile */
      .tl-item:not(:last-child)::after { display: none; }
      .tl-dot { display: none; }
      /* Each item becomes a pill */
      .tl-item {
        flex-shrink: 0;
        padding: 10px 14px;
      }
      .tl-label {
        opacity: 1 !important;
        transform: none !important;
        position: static;
        background: none;
        border: none;
        padding: 0;
        font-size: 10px;
        color: var(--text-2);
        pointer-events: all;
        backdrop-filter: none;
      }
      .tl-item.active .tl-label {
        color: var(--accent);
      }
      .tl-item:hover .tl-label {
        color: var(--text-0);
      }
    }
    @media (max-width: 1100px) {
      /* Active pill highlight */
      .tl-item.active .tl-label {
        color: var(--accent);
        border-bottom: 2px solid var(--accent);
        padding-bottom: 2px;
      }
      /* Auto-scroll active item into view */
      .tl-item { scroll-snap-align: start; }
      .timeline { scroll-snap-type: x proximity; }
    }
    @media (max-width: 600px) {
      /* Push hero marquee down to clear the mobile timeline bar */
      .hero > .marquee-strip:first-of-type { margin-top: 116px; }
    }

    /* ═══════════════════════════════════════════════
       PILLAR SECTION SYSTEM — World-class section design
    ═══════════════════════════════════════════════ */
    :root {
      --sleep-c: #6366f1; --sleep-b: #818cf8; --sleep-glow: rgba(99,102,241,0.08);
      --focus-c: #d4a017; --focus-b: #f59e0b; --focus-glow: rgba(212,160,23,0.08);
      --calm-c:  #2d8c6a; --calm-b:  #34d399; --calm-glow:  rgba(45,140,106,0.08);
      --adhd-c:  #7c3aed; --adhd-b:  #a78bfa; --adhd-glow:  rgba(124,58,237,0.12);
    }

    /* Section transitions */
    .pillar-section {
      position: relative;
      overflow: hidden;
      border-top: 1px solid var(--line);
      z-index: 1;
    }
    .pillar-section::before {
      content: '';
      position: absolute;
      inset: 0;
      opacity: 0;
      transition: opacity 0.6s ease;
      pointer-events: none;
    }
    .pillar-section.in-view::before { opacity: 1; }

    /* Per-section colour "blush" — more prominent so each zone reads as its
       theme (sleep indigo / focus gold / calm green / adhd violet). Two stops
       for a richer, modern wash without losing the dark base. */
    .ps-sleep::before  { background: radial-gradient(ellipse 95% 75% at 18% 30%, rgba(99,102,241,0.22) 0%, rgba(99,102,241,0.07) 38%, transparent 70%); }
    .ps-focus::before  { background: radial-gradient(ellipse 95% 75% at 82% 30%, rgba(245,158,11,0.20) 0%, rgba(245,158,11,0.06) 38%, transparent 70%); }
    .ps-calm::before   { background: radial-gradient(ellipse 95% 75% at 18% 30%, rgba(16,185,129,0.20) 0%, rgba(16,185,129,0.06) 38%, transparent 70%); }
    .ps-adhd::before   { background: radial-gradient(ellipse 95% 75% at 50% 26%, rgba(168,85,247,0.26) 0%, rgba(192,38,211,0.08) 40%, transparent 72%); }

    /* Section label tags */
    .ps-tag {
      font-family: var(--font-mono);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      padding: 8px 14px 8px 16px;
      border-radius: 0;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 28px;
      position: relative;
      line-height: 1;
    }
    .ps-tag::before, .ps-tag::after {
      content: '';
      position: absolute;
      width: 5px; height: 5px;
      border-style: solid;
      border-width: 0;
    }
    .ps-tag::before { top: -1px; left: -1px; border-top-width: 1px; border-left-width: 1px; }
    .ps-tag::after  { bottom: -1px; right: -1px; border-bottom-width: 1px; border-right-width: 1px; }
    .ps-tag-sleep::before, .ps-tag-sleep::after { border-color: rgba(99,102,241,0.7); }
    .ps-tag-focus::before, .ps-tag-focus::after { border-color: rgba(212,160,23,0.7); }
    .ps-tag-calm::before,  .ps-tag-calm::after  { border-color: rgba(52,211,153,0.7); }
    .ps-tag-adhd::before,  .ps-tag-adhd::after  { border-color: rgba(167,139,250,0.8); }
    .ps-tag-sleep { color: var(--sleep-b); border: 1px solid rgba(99,102,241,0.35); background: rgba(99,102,241,0.07); }
    .ps-tag-focus { color: var(--focus-b); border: 1px solid rgba(212,160,23,0.35); background: rgba(212,160,23,0.07); }
    .ps-tag-calm  { color: var(--calm-b);  border: 1px solid rgba(45,140,106,0.35);  background: rgba(45,140,106,0.07); }
    .ps-tag-adhd  { color: var(--adhd-b);  border: 1px solid rgba(124,58,237,0.35);  background: rgba(124,58,237,0.08); }

    /* Stat infographic grid */
    .ps-stat-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      border-radius: 20px;
      overflow: hidden;
      margin: 48px 0;
    }
    .ps-stat {
      padding: 28px 22px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      background: var(--surface);
      transition: background 0.3s ease;
      position: relative;
      text-align: center;
    }
    .ps-stat:hover { background: rgba(255,255,255,0.025); }
    .ps-stat-num {
      font-family: var(--font-metric);
      font-size: clamp(36px, 4.5vw, 56px);
      font-weight: 400;
      letter-spacing: -0.03em;
      line-height: 1;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity 0.6s ease, transform 0.6s ease;
      margin-bottom: 4px;
      text-align: center;
    }
    .ps-stat-num.counted { opacity: 1; transform: translateY(0); }
    .ps-stat-title { font-size: 13px; font-weight: 500; color: var(--text-0); letter-spacing: -0.005em; text-transform: none; font-family: var(--font-body); line-height: 1.35; margin-top: 10px; text-align: center; }
    .ps-stat-desc  { font-family: var(--font-body); font-size: 12.5px; color: var(--text-1); line-height: 1.65; flex: 1; letter-spacing: -0.003em; text-align: center; }
    .ps-stat-cite  { font-family: var(--font-mono); font-size: 9px; font-weight: 400; color: var(--text-2); letter-spacing: 0.14em; text-transform: uppercase; border-top: 1px solid var(--line); padding-top: 10px; margin-top: 8px; text-align: center; }
    a.ps-stat-cite { display: block; text-decoration: none; transition: color 0.2s ease, border-top-color 0.2s ease; cursor: pointer; }
    a.ps-stat-cite::after { content: ' ↗'; opacity: 0.55; transition: transform 0.2s ease, opacity 0.2s ease; display: inline-block; }
    a.ps-stat-cite:hover { color: var(--text-0); border-top-color: rgba(255,255,255,0.18); }
    a.ps-stat-cite:hover::after { transform: translate(2px,-2px); opacity: 1; }

    /* Sleep stat colors */
    #sleep .ps-stat-num { color: var(--sleep-b); }
    #sleep .ps-stat-grid { background: rgba(99,102,241,0.12); border: 1px solid rgba(99,102,241,0.15); }
    #sleep .ps-stat-cite { color: rgba(99,102,241,0.5); }

    /* Focus stat colors */
    #focus .ps-stat-num { color: var(--focus-b); }
    #focus .ps-stat-grid { background: rgba(212,160,23,0.12); border: 1px solid rgba(212,160,23,0.15); }
    #focus .ps-stat-cite { color: rgba(212,160,23,0.5); }

    /* Calm stat colors */
    #calm .ps-stat-num { color: var(--calm-b); }
    #calm .ps-stat-grid { background: rgba(45,140,106,0.12); border: 1px solid rgba(45,140,106,0.15); }
    #calm .ps-stat-cite { color: rgba(45,140,106,0.5); }

    /* ADHD stat colors */
    #adhd .ps-stat-num { background: linear-gradient(135deg, #7c3aed, #c026d3); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
    #adhd .ps-stat-grid { background: rgba(124,58,237,0.12); border: 1px solid rgba(124,58,237,0.2); }

    /* Animated bar chart — upgraded "instrument row" look */
    .ps-bar-row {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 13px 0;
      border-bottom: 1px solid rgba(255,255,255,0.04);
      position: relative;
    }
    .ps-bar-row:last-child { border-bottom: none; }
    .ps-bar-label {
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 400;
      letter-spacing: -0.005em;
      color: var(--text-1);
      width: 200px;
      flex-shrink: 0;
    }
    .ps-bar-track {
      flex: 1;
      height: 4px;
      background: rgba(255,255,255,0.04);
      border-radius: 0;
      overflow: hidden;
      position: relative;
    }
    .ps-bar-track::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
      background-size: 10% 100%;
    }
    .ps-bar-fill {
      height: 100%;
      border-radius: 0;
      width: 0;
      transition: width 1.6s cubic-bezier(0.4, 0, 0.2, 1);
      box-shadow: 0 0 12px currentColor;
      position: relative;
    }
    .ps-bar-fill::after {
      content: '';
      position: absolute;
      right: -1px;
      top: -3px; bottom: -3px;
      width: 1px;
      background: currentColor;
      opacity: 0.9;
      box-shadow: 0 0 8px currentColor;
    }
    .ps-bar-fill.animated { width: var(--w); }
    .ps-bar-pct {
      font-family: var(--font-metric);
      font-size: 18px;
      font-weight: 400;
      letter-spacing: -0.02em;
      color: var(--text-0);
      width: 54px;
      text-align: right;
      flex-shrink: 0;
      line-height: 1;
    }

    /* Deep-dive CTA banners */
    .ps-deepdive {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      gap: 20px;
      padding: 24px 32px;
      border-radius: 16px;
      margin-top: 48px;
      text-decoration: none;
      color: var(--text-0);
      transition: all 0.3s ease;
    }
    .ps-deepdive:hover { transform: translateX(4px); }
    .ps-deepdive-sleep { border: 1px solid rgba(99,102,241,0.25);  background: rgba(99,102,241,0.04); }
    .ps-deepdive-focus { border: 1px solid rgba(212,160,23,0.25);  background: rgba(212,160,23,0.04); }
    .ps-deepdive-calm  { border: 1px solid rgba(45,140,106,0.25);  background: rgba(45,140,106,0.04); }
    .ps-deepdive-adhd  { border: 1px solid rgba(124,58,237,0.3);   background: rgba(124,58,237,0.05); }
    .ps-deepdive-label { font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 6px; }
    .ps-deepdive-title { font-family: var(--font-metric); font-size: clamp(16px, 2vw, 22px); font-weight: 400; letter-spacing: -0.01em; line-height: 1.3; }
    .ps-deepdive-arrow { flex-shrink: 0; transition: transform 0.3s ease; }
    .ps-deepdive:hover .ps-deepdive-arrow { transform: translateX(8px); }

    /* EEG comparison bars (ADHD) — same premium bar treatment */
    .eeg-bar-wrap {
      border: 1px solid rgba(124,58,237,0.2);
      border-radius: 2px;
      background: rgba(12,12,26,0.8);
      padding: 28px;
      backdrop-filter: blur(10px);
      position: relative;
    }
    .eeg-bar-wrap::before, .eeg-bar-wrap::after {
      content: '';
      position: absolute;
      width: 12px; height: 12px;
      border-color: rgba(167,139,250,0.5);
      border-style: solid;
      border-width: 0;
    }
    .eeg-bar-wrap::before { top: 6px; left: 6px; border-top-width: 1px; border-left-width: 1px; }
    .eeg-bar-wrap::after  { bottom: 6px; right: 6px; border-bottom-width: 1px; border-right-width: 1px; }
    .eeg-group { margin-bottom: 22px; }
    .eeg-group:last-child { margin-bottom: 0; }
    .eeg-group-label {
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      margin-bottom: 12px;
    }
    .eeg-bar-item { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
    .eeg-bar-name {
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--text-2);
      width: 60px;
      flex-shrink: 0;
    }
    .eeg-bar-track {
      flex: 1;
      height: 4px;
      background: rgba(255,255,255,0.04);
      border-radius: 0;
      overflow: hidden;
      position: relative;
    }
    .eeg-bar-track::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
      background-size: 10% 100%;
    }
    .eeg-bar-fill {
      height: 100%;
      border-radius: 0;
      width: 0;
      transition: width 1.8s cubic-bezier(0.4, 0, 0.2, 1);
      box-shadow: 0 0 10px currentColor;
      position: relative;
    }
    .eeg-bar-fill::after {
      content: '';
      position: absolute;
      right: -1px; top: -3px; bottom: -3px;
      width: 1px; background: currentColor; opacity: 0.9;
      box-shadow: 0 0 8px currentColor;
    }
    .eeg-bar-fill.animated { width: var(--w); }
    .eeg-bar-val {
      font-family: var(--font-metric);
      font-size: 14px;
      font-weight: 400;
      letter-spacing: -0.015em;
      color: var(--text-1);
      width: 44px;
      text-align: right;
      flex-shrink: 0;
    }

    /* ADHD truth cards */
    .truth-card {
      border-radius: 16px;
      padding: 28px 24px;
      position: relative;
      overflow: hidden;
      transition: transform 0.3s ease;
    }
    .truth-card:hover { transform: translateY(-4px); }
    .truth-card-num {
      font-family: var(--h-font);
      font-size: 64px;
      font-weight: 300;
      line-height: 1;
      position: absolute;
      top: 16px;
      right: 20px;
      color: rgba(124,58,237,0.08);
      pointer-events: none;
    }

    /* Pillar nav cards (homepage gateway) */
    .pillar-nav-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      background: var(--line);
      border: 1px solid var(--line);
      border-radius: 20px;
      overflow: hidden;
      margin-top: 60px;
    }
    .pillar-nav-card {
      background: var(--surface);
      padding: 36px 28px;
      text-decoration: none;
      color: inherit;
      display: flex;
      flex-direction: column;
      gap: 12px;
      transition: background 0.3s ease;
      position: relative;
      overflow: hidden;
      cursor: pointer;
    }
    .pillar-nav-card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.4s ease;
    }
    .pillar-nav-card:hover::after { transform: scaleX(1); }
    .pnc-sleep::after  { background: var(--sleep-c); }
    .pnc-focus::after  { background: var(--focus-c); }
    .pnc-calm::after   { background: var(--calm-c); }
    .pnc-adhd::after   { background: var(--adhd-c); }
    .pnc-sleep:hover   { background: rgba(99,102,241,0.06); }
    .pnc-focus:hover   { background: rgba(212,160,23,0.06); }
    .pnc-calm:hover    { background: rgba(45,140,106,0.06); }
    .pnc-adhd:hover    { background: rgba(124,58,237,0.07); }
    .pnc-icon { font-size: 42px; line-height: 1; }
    .pnc-stat {
      font-family: var(--h-font);
      font-size: clamp(36px, 3.5vw, 52px);
      font-weight: 300;
      line-height: 1;
    }
    .pnc-sleep .pnc-stat { color: var(--sleep-b); }
    .pnc-focus .pnc-stat { color: var(--focus-b); }
    .pnc-calm  .pnc-stat { color: var(--calm-b); }
    .pnc-adhd  .pnc-stat { background: linear-gradient(135deg, #7c3aed, #c026d3); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
    .pnc-name { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; font-family: var(--b-font); color: var(--text-0); }
    .pnc-desc { font-size: 13px; color: var(--text-1); line-height: 1.65; flex: 1; }
    .pnc-cta  { font-family: var(--m-font); font-size: 10px; letter-spacing: 0.1em; border-top: 1px solid var(--line); padding-top: 10px; transition: color 0.22s; }
    .pnc-sleep .pnc-cta { color: rgba(99,102,241,0.6); }
    .pnc-focus .pnc-cta { color: rgba(212,160,23,0.6); }
    .pnc-calm  .pnc-cta { color: rgba(45,140,106,0.6); }
    .pnc-adhd  .pnc-cta { color: rgba(124,58,237,0.7); }
    .pnc-sleep:hover .pnc-cta { color: var(--sleep-b); }
    .pnc-focus:hover .pnc-cta { color: var(--focus-b); }
    .pnc-calm:hover  .pnc-cta { color: var(--calm-b); }
    .pnc-adhd:hover  .pnc-cta { color: var(--adhd-b); }

    /* Breathing circle (Calm section) */
    @keyframes breatheIn  { 0%,100% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.35); opacity: 0.9; } }
    @keyframes breatheRipple { from { transform: scale(1); opacity: 0.4; } to { transform: scale(2.2); opacity: 0; } }
    .breathe-circle { animation: breatheIn 8s ease-in-out infinite; }
    .breathe-ripple { animation: breatheRipple 8s ease-out infinite; }

    /* ADHD glitch headline — readable rest periods + brief stutter bursts.
       The text is fully visible for ~3 of every 4 seconds. The remaining
       ~1 second is split into two short stutter bursts that flash by.
       This gives the "ADHD-coded" feel without sacrificing legibility. */
    @keyframes floatUp { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
    @keyframes glitch {
      /* Rest period 1 — text fully visible (1.2s) */
      0%, 30% { clip-path: none; transform: none; }
      /* Stutter burst 1 — 4 quick frames over 320ms */
      32%  { clip-path: inset(10% 0 75% 0); transform: translateX(-3px) skewX(-0.5deg); }
      34%  { clip-path: inset(55% 0 20% 0); transform: translateX(3px); }
      36%  { clip-path: inset(70% 0 10% 0); transform: translateX(-2px); }
      38%  { clip-path: inset(20% 0 60% 0); transform: translateX(2px) skewX(0.3deg); }
      /* Rest period 2 — text fully visible again (1.28s) */
      40%, 70% { clip-path: none; transform: none; }
      /* Stutter burst 2 — 4 quick frames over 320ms */
      72%  { clip-path: inset(40% 0 35% 0); transform: translateX(3px); }
      74%  { clip-path: inset(75% 0 8% 0);  transform: translateX(-3px) skewX(0.4deg); }
      76%  { clip-path: inset(15% 0 65% 0); transform: translateX(2px); }
      78%  { clip-path: inset(50% 0 25% 0); transform: translateX(-2px); }
      /* Rest period 3 — full visible to end of cycle (880ms) */
      80%, 100% { clip-path: none; transform: none; }
    }
    .adhd-glitch { position: relative; }
    .adhd-glitch::before {
      content: attr(data-text);
      position: absolute;
      top: 0; left: 0;
      background: linear-gradient(135deg, #312e81, #7c3aed, #c026d3);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
      background-clip: text;
      animation: glitch 4s infinite steps(1, end);
      opacity: 0.6;
    }
    @media (prefers-reduced-motion: reduce) {
      .adhd-glitch::before { animation: none; }
    }

    /* Section divider label */
    .section-divider {
      display: flex;
      align-items: center;
      gap: 20px;
      margin: 0 0 60px;
    }
    .section-divider::before, .section-divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: var(--line);
    }
    .section-divider span {
      font-family: var(--m-font);
      font-size: 10px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--text-2);
      white-space: nowrap;
    }

    /* Protocol step rows */
    .proto-step {
      display: flex;
      gap: 20px;
      padding: 18px 0;
      border-bottom: 1px solid var(--line);
    }
    .proto-step:last-child { border-bottom: none; }
    .proto-step-num {
      font-family: var(--h-font);
      font-size: 32px;
      font-weight: 300;
      line-height: 1;
      flex-shrink: 0;
      width: 48px;
      text-align: right;
    }
    .proto-step-body { flex: 1; }
    .proto-step-title { font-size: 15px; font-weight: 600; color: var(--text-0); margin-bottom: 4px; }
    .proto-step-desc  { font-size: 13px; color: var(--text-1); line-height: 1.65; }

    @media (max-width: 900px) {
      .ps-stat-grid { grid-template-columns: repeat(2, 1fr); }
      .pillar-nav-grid { grid-template-columns: repeat(2, 1fr); }
      .ps-bar-label { width: 130px; }
    }
    @media (max-width: 560px) {
      .ps-stat-grid { grid-template-columns: 1fr; }
      .pillar-nav-grid { grid-template-columns: 1fr; }
    }
  
    /* ── Atlas map embed: compat variables ─────────────────────────── */
    :root {
      --bg-0: #080a0f; --bg-1: #0d1017; --bg-2: #111520; --bg-3: rgba(255,255,255,0.04);
      --ink-0: #f0ede8; --ink-1: #a8a49e; --ink-2: #5e5c58;
      --line-2: rgba(255,255,255,0.06);
      --d-font: 'Fraunces', 'Instrument Serif', Georgia, serif;
      --s-font: 'Inter', 'Syne', system-ui, sans-serif;
      --heat-0: #2a3a34; --heat-1: #2f4339; --heat-2: #2a4036;
      --heat-3: #233b32; --heat-4: #1d352d; --heat-5: #182d27;
      --heat-6: #122520; --heat-7: #0a1714;
    }
    /* ── Atlas map CSS ─────────────────────────────────────────────── */
    /* ============ MAP CONTROLS ============ */
      .map-section { padding: 40px 0 60px; }
      .map-header {
        display: flex; justify-content: space-between; align-items: end;
        margin-bottom: 24px; padding-bottom: 20px;
        border-bottom: 1px solid var(--line); flex-wrap: wrap; gap: 24px;
      }
      .map-header h2 {
        font-family: var(--d-font); font-weight: 300;
        font-size: 36px; letter-spacing: -0.02em;
      }
      .map-header h2 em { font-style: italic; color: var(--accent); font-weight: 400; }
    
      .filter-group {
        display: flex; gap: 4px; align-items: center;
        background: var(--bg-1); padding: 4px;
        border: 1px solid var(--line-2);
      }
      .filter-btn {
        background: transparent; border: none;
        color: var(--ink-1); font-family: var(--m-font);
        font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
        padding: 8px 14px; cursor: pointer; transition: all 0.2s ease;
        border-radius: 0;
      }
      .filter-btn:hover { color: var(--ink-0); }
      .filter-btn.active { background: var(--accent); color: var(--bg-0); font-weight: 600; }
    
      /* ============ MAP CONTAINER ============ */
      .map-wrap {
        position: relative; background: var(--bg-1);
        border: 1px solid var(--line-2); border-radius: 2px; overflow: hidden;
      }
      .map-frame-labels {
        position: absolute; top: 16px; left: 20px;
        font-family: var(--m-font); font-size: 9px; color: var(--ink-2);
        letter-spacing: 0.18em; text-transform: uppercase;
        z-index: 3; pointer-events: none;
      }
      .map-frame-labels span { color: var(--accent); }
      .map-frame-coords {
        position: absolute; bottom: 16px; right: 20px;
        font-family: var(--m-font); font-size: 9px; color: var(--ink-2);
        letter-spacing: 0.18em; z-index: 3; pointer-events: none;
        text-align: right; line-height: 1.6;
      }
    
      /* Heat legend */
      .heat-legend {
        position: absolute; bottom: 16px; left: 20px;
        z-index: 3; display: flex; align-items: center; gap: 12px;
        font-family: var(--m-font); font-size: 9px; color: var(--ink-2);
        letter-spacing: 0.14em; text-transform: uppercase;
      }
      .heat-bar {
        display: flex; height: 8px; width: 200px;
        border: 1px solid var(--line-2);
      }
      .heat-bar-cell { flex: 1; height: 100%; }
    
      #worldmap {
        display: block; width: 100%; height: 580px; cursor: grab;
        user-select: none; -webkit-user-select: none;
        -webkit-user-drag: none; -moz-user-select: none;
      }
      #worldmap:active { cursor: grabbing; }
      .map-wrap { user-select: none; -webkit-user-select: none; }
    
      /* SVG country styles */
      .country {
        stroke: rgba(127, 212, 180, 0.22);
        stroke-width: 0.4;
        transition: fill 0.4s ease, stroke 0.3s ease;
        cursor: pointer;
      }
      .country.no-data { fill: var(--heat-0); }
      .country.tier-emerging { fill: var(--heat-1); }
      .country.tier-1-pub { fill: var(--heat-2); }
      .country.tier-3-pub { fill: var(--heat-3); }
      .country.tier-5-pub { fill: var(--heat-4); }
      .country.tier-active { fill: var(--heat-5); }
      .country.tier-major { fill: var(--heat-6); }
      .country.tier-leader { fill: var(--heat-7); }
      .country:hover { stroke: var(--accent); stroke-width: 0.9; filter: brightness(1.3); }
    
      /* Graticule */
      .graticule { fill: none; stroke: rgba(127, 212, 180, 0.04); stroke-width: 0.4; }
      /* Ocean fill - sits between no-data land and the deepest tier */
      .sphere-fill { fill: #1a2622; stroke: rgba(127, 212, 180, 0.18); stroke-width: 0.6; }
    
      /* Research nodes */
      .research-node {
        cursor: pointer;
        transition: opacity 0.3s ease;
      }
      .research-node.hidden { opacity: 0; pointer-events: none; }
    
      .node-pulse {
        transform-origin: center;
        animation: pulse 3.5s ease-in-out infinite;
      }
      @keyframes pulse {
        0%, 100% { transform: scale(1); opacity: 0; }
        50% { transform: scale(3); opacity: 0.4; }
      }
      .node-core {
        transition: r 0.3s ease, filter 0.3s ease;
      }
      .research-node:hover .node-core {
        filter: drop-shadow(0 0 14px currentColor) drop-shadow(0 0 6px currentColor);
      }
    
      /* Tooltip */
      .tooltip {
        position: absolute;
        background: rgba(8, 12, 11, 0.97);
        border: 1px solid var(--accent-dim);
        padding: 16px 20px; font-size: 12px;
        pointer-events: none; opacity: 0;
        transition: opacity 0.2s ease;
        z-index: 10; min-width: 280px; max-width: 360px;
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.7), 0 0 0 1px var(--line);
        backdrop-filter: blur(12px);
      }
      .tooltip.active { opacity: 1; }
      .tooltip-title {
        font-family: var(--d-font); font-size: 18px; font-weight: 500;
        color: var(--ink-0); margin-bottom: 4px; letter-spacing: -0.01em;
        line-height: 1.2;
      }
      .tooltip-sub {
        font-family: var(--m-font); font-size: 9px; color: var(--accent);
        letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 12px;
      }
      .tooltip-focus {
        color: var(--accent); font-family: var(--m-font); font-size: 10px;
        letter-spacing: 0.08em; margin-bottom: 8px; text-transform: uppercase;
      }
      .tooltip-body { font-size: 12px; color: var(--ink-1); line-height: 1.55; margin-bottom: 12px; }
      .tooltip-meta {
        display: flex; justify-content: space-between; gap: 12px;
        padding-top: 10px; border-top: 1px solid var(--line);
        font-family: var(--m-font); font-size: 10px; color: var(--ink-2);
        letter-spacing: 0.06em; text-transform: uppercase;
      }
      .tooltip-meta strong { color: var(--accent); font-weight: 500; }
    
      /* Country tooltip - simpler */
      .country-tooltip {
        position: absolute;
        background: rgba(8, 12, 11, 0.97);
        border: 1px solid var(--accent-dim);
        padding: 10px 14px; font-size: 11px;
        pointer-events: none; opacity: 0;
        transition: opacity 0.15s ease;
        z-index: 9;
        backdrop-filter: blur(8px);
      }
      .country-tooltip.active { opacity: 1; }
      .ct-name {
        font-family: var(--d-font); font-size: 15px; color: var(--ink-0);
        margin-bottom: 4px; font-weight: 500;
      }
      .ct-stat {
        font-family: var(--m-font); font-size: 9px; color: var(--ink-2);
        letter-spacing: 0.1em; text-transform: uppercase;
      }
      .ct-stat strong { color: var(--accent); }
    
      /* Loading */
      .map-loading {
        position: absolute; inset: 0;
        display: flex; align-items: center; justify-content: center;
        background: var(--bg-1); z-index: 5;
        transition: opacity 0.5s ease;
      }
      .map-loading.hidden { opacity: 0; pointer-events: none; }
      .loading-text {
        font-family: var(--m-font); font-size: 11px;
        color: var(--accent); letter-spacing: 0.2em; text-transform: uppercase;
      }
      .loading-dot {
        display: inline-block; width: 6px; height: 6px;
        background: var(--accent); border-radius: 50%;
        margin-right: 12px; animation: blink 1s ease-in-out infinite;
      }
      @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
    
      /* ============ TOP COUNTRIES BAR ============ */
      .top-countries {
        margin-top: 32px;
        background: var(--bg-1);
        border: 1px solid var(--line-2);
        padding: 28px 32px;
      }
      .top-countries-head {
        display: flex; justify-content: space-between; align-items: baseline;
        margin-bottom: 24px;
      }
      .top-countries-head h3 {
        font-family: var(--d-font); font-size: 22px; font-weight: 400;
        letter-spacing: -0.01em;
      }
      .top-countries-head h3 em { font-style: italic; color: #4a9e8e; }
      .top-countries-sub {
        font-family: var(--m-font); font-size: 10px; color: var(--ink-2);
        letter-spacing: 0.14em; text-transform: uppercase;
      }
      .country-bars { display: flex; flex-direction: column; gap: 10px; }
      .country-bar {
        display: grid; grid-template-columns: 32px 180px 1fr 80px 80px;
        gap: 16px; align-items: center;
        padding: 8px 0;
        border-bottom: 1px solid var(--line);
      }
      .country-bar:last-child { border-bottom: none; }
      .cb-rank {
        font-family: var(--m-font); font-size: 10px; color: var(--ink-2);
        letter-spacing: 0.1em;
      }
      .cb-name {
        font-family: var(--d-font); font-size: 16px; color: var(--ink-0);
        letter-spacing: -0.01em;
      }
      .cb-bar-track {
        height: 6px; background: var(--bg-3); position: relative;
        border: 1px solid var(--line);
      }
      .cb-bar-fill {
        position: absolute; left: 0; top: 0; bottom: 0;
        background: linear-gradient(90deg, rgba(74,158,142,0.4), #4a9e8e);
        transition: width 1.2s cubic-bezier(0.22, 1, 0.36, 1);
        box-shadow: 0 0 12px rgba(74,158,142,0.4);
      }
      .cb-labs {
        font-family: var(--m-font); font-size: 11px; color: var(--ink-1);
        text-align: right;
      }
      .cb-pubs {
        font-family: var(--m-font); font-size: 11px; color: #4a9e8e;
        text-align: right; letter-spacing: 0.04em;
      }
    
      /* ============ FOCUS GRID ============ */
      .focus-areas { padding: 80px 0; border-top: 1px solid var(--line); }
      .focus-head { text-align: center; margin-bottom: 48px; }
      .focus-head .label {
        font-family: var(--m-font); font-size: 10px;
        color: var(--accent); letter-spacing: 0.22em;
        text-transform: uppercase; margin-bottom: 16px;
        display: inline-flex; align-items: center; gap: 12px;
      }
      .focus-head .label::before, .focus-head .label::after {
        content: ""; width: 30px; height: 1px; background: var(--accent-dim);
      }
      .focus-head h2 {
        font-family: var(--d-font); font-size: clamp(36px, 4.5vw, 56px);
        font-weight: 300; line-height: 1.05; letter-spacing: -0.025em;
      }
      .focus-head h2 em { font-style: italic; color: var(--accent); font-weight: 400; }
    
      .focus-grid {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
        background: var(--line-2); border: 1px solid var(--line-2);
      }
      .focus-cell { background: var(--bg-1); padding: 30px 24px; }
      .focus-icon-wrap {
        width: 44px; height: 44px;
        border: 1px solid var(--accent-dim); border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        margin-bottom: 20px; position: relative;
      }
      .focus-icon-wrap::after {
        content: ""; position: absolute; inset: -4px;
        border: 1px solid var(--line-2); border-radius: 50%;
      }
      .focus-icon { color: var(--accent); font-size: 18px; }
      .focus-title {
        font-family: var(--d-font); font-size: 21px; font-weight: 400;
        margin-bottom: 4px; letter-spacing: -0.01em; line-height: 1.15;
      }
      .focus-count {
        font-family: var(--m-font); font-size: 10px;
        color: var(--accent); letter-spacing: 0.14em;
        text-transform: uppercase; margin-bottom: 14px;
      }
      .focus-desc { font-size: 13px; line-height: 1.55; color: var(--ink-1); }
      .focus-hubs {
        margin-top: 16px; font-size: 11px;
        color: var(--ink-2); font-family: var(--m-font); letter-spacing: 0.04em;
      }
    
      /* ============ FEATURED INSTITUTIONS ============ */
      .featured { padding: 80px 0; border-top: 1px solid var(--line); }
      .featured-head { margin-bottom: 60px; max-width: 720px; }
      .featured-head .label {
        font-family: var(--m-font); font-size: 10px; color: var(--accent);
        letter-spacing: 0.22em; text-transform: uppercase; margin-bottom: 16px;
        display: inline-block; padding-bottom: 8px;
        border-bottom: 1px solid var(--accent-dim);
      }
      .featured-head h2 {
        font-family: var(--d-font); font-size: clamp(36px, 4.5vw, 56px);
        font-weight: 300; line-height: 1.05; letter-spacing: -0.025em;
      }
      .featured-head h2 em { font-style: italic; color: var(--accent); font-weight: 400; }
      .featured-head p {
        margin-top: 20px; font-size: 16px; color: var(--ink-1); line-height: 1.6;
        max-width: 640px;
      }
    
      .featured-grid {
        display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px;
        background: var(--line-2); border: 1px solid var(--line-2);
      }
      .featured-card {
        background: var(--bg-1); padding: 36px 32px; position: relative;
        transition: background 0.3s ease;
      }
      .featured-card:hover { background: var(--bg-2); }
      .fc-index {
        font-family: var(--m-font); font-size: 10px;
        color: var(--accent); letter-spacing: 0.18em;
        margin-bottom: 14px; display: flex; justify-content: space-between;
      }
      .fc-index .country { color: var(--ink-2); }
      .fc-name {
        font-family: var(--d-font); font-size: 28px; font-weight: 400;
        line-height: 1.1; letter-spacing: -0.02em; color: var(--ink-0);
        margin-bottom: 4px;
      }
      .fc-name em { font-style: italic; color: var(--accent); font-weight: 300; }
      .fc-loc {
        font-size: 12px; color: var(--ink-2); font-family: var(--m-font);
        letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 18px;
      }
      .fc-focus {
        font-family: var(--d-font); font-style: italic; font-size: 15px;
        color: var(--accent); margin-bottom: 14px; line-height: 1.4;
      }
      .fc-body {
        font-size: 14px; line-height: 1.6; color: var(--ink-1); margin-bottom: 20px;
      }
      .fc-body strong { color: var(--ink-0); font-weight: 500; }
      .fc-tag {
        display: inline-block;
        font-family: var(--m-font); font-size: 10px;
        padding: 4px 10px;
        background: rgba(127, 212, 180, 0.06);
        border: 1px solid var(--line-2);
        color: var(--ink-1);
        letter-spacing: 0.04em;
      }
    
      /* ============ METHODOLOGY ============ */
      .method {
        padding: 80px 0 100px; border-top: 1px solid var(--line);
        display: grid; grid-template-columns: 220px 1fr; gap: 64px;
      }
      .method-label {
        font-family: var(--m-font); font-size: 10px; color: var(--ink-2);
        text-transform: uppercase; letter-spacing: 0.2em;
        padding-top: 8px; border-top: 1px solid var(--accent-dim); width: 80px;
      }
      .method-body h3 {
        font-family: var(--d-font); font-weight: 400;
        font-size: 24px; margin-bottom: 18px; color: var(--ink-0);
        letter-spacing: -0.01em;
      }
      .method-body h3 em { font-style: italic; color: var(--accent); }
      .method-body p {
        font-size: 14px; line-height: 1.75; color: var(--ink-1);
        margin-bottom: 16px; max-width: 720px;
      }
      .method-body p strong { color: var(--ink-0); font-weight: 500; }
      .method-body .caveat {
        font-family: var(--d-font); font-style: italic; font-size: 16px;
        color: var(--ink-2); border-left: 2px solid var(--accent-dim);
        padding-left: 20px; margin-top: 28px;
      }
    
      /* ============ FOOTER ============ */
      footer {
        border-top: 1px solid var(--line); padding: 32px 0;
        display: flex; justify-content: space-between; align-items: center;
        font-family: var(--m-font); font-size: 10px;
        letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-2);
        flex-wrap: wrap; gap: 16px;
      }
      footer .mark { color: var(--accent); }
    
      /* ============ RESPONSIVE ============ */
      @media (max-width: 1100px) {
        .country-bar { grid-template-columns: 28px 140px 1fr 70px 70px; gap: 12px; }
        .focus-grid { grid-template-columns: repeat(2, 1fr); }
      }
      @media (max-width: 900px) {
        .container { padding: 0 24px; }
        .title-block { grid-template-columns: 1fr; gap: 24px; }
        .subtitle { max-width: none; }
        .stats-strip { grid-template-columns: repeat(2, 1fr); }
        .stat { border-bottom: 1px solid var(--line); }
        .stat:nth-child(3n) { border-right: 1px solid var(--line); }
        .intro, .method { grid-template-columns: 1fr; gap: 24px; }
        .featured-grid { grid-template-columns: 1fr; }
        .map-header { flex-direction: column; align-items: flex-start; }
        #worldmap { height: 420px; }
        .country-bar { grid-template-columns: 24px 100px 1fr 60px; }
        .cb-pubs { display: none; }
      }
      @media (max-width: 600px) {
        h1 { font-size: 56px; }
        .stats-strip { grid-template-columns: 1fr; }
        .stat { border-right: none !important; }
        .focus-grid { grid-template-columns: 1fr; }
        .heat-legend { display: none; }
        #worldmap { height: 320px; }
        
        /* ─────── COMPREHENSIVE MOBILE SCALING ─────── */
        /* Section spacing */
        section { padding: 60px 0 !important; }
        .container { padding: 0 16px !important; width: min(100%, calc(100% - 32px)) !important; }
        
        /* Typography scaling */
        h1 { font-size: clamp(32px, 7vw, 56px) !important; line-height: 1.1 !important; }
        h2 { font-size: clamp(24px, 5.5vw, 44px) !important; }
        h3 { font-size: clamp(18px, 4.5vw, 28px) !important; }
        p { font-size: clamp(13px, 3.5vw, 16px) !important; line-height: 1.6 !important; }
        
        /* Card spacing */
        [style*="gap: 48px"] { gap: 24px !important; }
        [style*="gap: 36px"] { gap: 20px !important; }
        [style*="gap: 28px"] { gap: 16px !important; }
        [style*="gap: 24px"] { gap: 16px !important; }
        
        /* Padding scaling */
        [style*="padding: 40px"] { padding: 20px 16px !important; }
        [style*="padding: 36px"] { padding: 18px 14px !important; }
        [style*="padding: 32px"] { padding: 16px 12px !important; }
        [style*="padding: 80px"] { padding: 32px 16px !important; }
        [style*="padding: 120px"] { padding: 60px 16px !important; }
        
        /* Grid layouts */
        [style*="grid-template-columns: repeat(4"] { grid-template-columns: repeat(2, 1fr) !important; }
        [style*="grid-template-columns: repeat(3"] { grid-template-columns: 1fr !important; }
        [style*="grid-template-columns: 1fr 360px"] { grid-template-columns: 1fr !important; }
        [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }
        [style*="display: grid"] { gap: 12px !important; }
        
        /* Text alignment on mobile */
        [style*="text-align: center"] { text-align: center !important; }
        
        /* Flex direction fixes */
        [style*="flex-direction: row"] { flex-direction: column !important; }
        
        /* Word wrapping */
        * { word-break: break-word !important; overflow-wrap: break-word !important; }
      }

    /* ══════════════════════════════════════════════════════════════
       LOTTIE AMBIENT CONTAINERS
       Four placements max. Low opacity, slow speed, editorial restraint.
       All hidden in light mode (global rule above) and under
       prefers-reduced-motion.
       ══════════════════════════════════════════════════════════════ */
    .lottie-wave-divider {
      width: 100%;
      max-width: 540px;
      height: 56px;
      margin: 24px auto 0;
      pointer-events: none;
      display: block;
    }
    .lottie-wave-divider dotlottie-player {
      width: 100%;
      height: 100%;
      opacity: 0.85;
      filter: saturate(0.7) hue-rotate(140deg);
    }
    .lottie-accent-ring {
      width: clamp(180px, 28vw, 280px);
      height: clamp(180px, 28vw, 280px);
      margin: 24px auto 32px;
      pointer-events: none;
      display: block;
    }
    .lottie-accent-ring dotlottie-player {
      width: 100%;
      height: 100%;
      opacity: 0.85;
      filter: saturate(0.7) hue-rotate(165deg) brightness(1);
    }
    .lottie-wave-wide {
      width: 100%;
      max-width: 640px;
      height: 68px;
      margin: 28px auto;
      pointer-events: none;
      display: block;
    }
    .lottie-wave-wide dotlottie-player {
      width: 100%;
      height: 100%;
      opacity: 0.85;
      filter: saturate(0.7) hue-rotate(150deg) brightness(1);
    }
    @media (prefers-reduced-motion: reduce) {
      .lottie-wave-divider,
      .lottie-accent-ring,
      .lottie-wave-wide { display: none; }
    }
    
    

