
  
    
        
        :root {
      --gold: #C8A44D;
      --gold-soft: #E8D49A;
      --gold-dim: #c6a358;
      --black: #0A0A0D;
      --navy: #0F172A;
      --charcoal: #1E293B;
      --glass: rgba(255, 255, 255, 0.05);
      --glass-border: rgba(200, 164, 77, 0.2);
      --text-primary: #F8F4EC;
      --text-secondary: rgba(248, 244, 236, 0.856);
      --text-muted: rgba(248, 244, 236, 1);
      --surface: #111827;
      --surface-2: #1E293B;
      --bg: #0A0A0D;
      --glow: rgba(200, 164, 77, 0.15);
      --transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    }

    [data-theme="light"] {
      --black: #FAFAF7;
      --navy: #F5F0E8;
      --charcoal: #EDE8DC;
      --glass: rgba(0, 0, 0, 0.04);
      --glass-border: rgba(200, 164, 77, 0.3);
      --text-primary: #0A0A0D;
      --text-secondary: rgba(10, 10, 13, 0.65);
      --text-muted: rgba(10, 10, 13, 1);
      --surface: #F0EBE0;
      --surface-2: #E8E0D0;
      --bg: #FAFAF7;
      --glow: rgba(200, 164, 77, 0.1);
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
      font-size: 16px;
      width: 100%;
    }

    body {
      font-family: 'DM Sans', sans-serif;
      background: var(--bg);
      color: var(--text-primary);
      overflow-x: hidden;
      width: 100%;
      max-width: 100vw;
      transition: background 0.5s, color 0.5s;
    }


    h1,
    h2,
    h3,
    h4,
    h5 {
      font-family: 'Syne', sans-serif;
      font-weight: 700;
      line-height: 1.1;
    }

    /* ============================================================
   LOADER
   ============================================================ */
#loader {
    position: fixed;
    inset: 0;
    background: var(--bg);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#loader-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.loader-text {
    position: relative;
    z-index: 2;
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5vw, 4.5rem);
    font-weight: 800;
    letter-spacing: 0.05em;
    opacity: 0;
    background: linear-gradient(to right, #cfb06d 5%, var(--gold) 25%, #b3a375 45%, #f0dfa09d 55%, var(--gold) 65%, #b18c3d 80%, #9a7433 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.loader-sub {
    position: relative;
    z-index: 2;
    font-size: 0.85rem;
    color: var(--gold);
    opacity: 0;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    margin-top: 0.6rem;
}

.loader-bar {
    position: relative;
    z-index: 2;
    width: 220px;
    height: 2px;
    background: var(--glass-border);
    margin-top: 2.5rem;
    border-radius: 2px;
    overflow: hidden;
}

.loader-bar-fill {
    height: 100%;
    background: linear-gradient(to right, #cfb06d 5%, var(--gold) 25%, #b3a375 45%, #f0dfa09d 55%, var(--gold) 65%, #b18c3d 80%, #9a7433 100%);
    width: 0%;
    border-radius: 2px;
    box-shadow: 0 0 14px var(--gold);
}

    /* ══════════════════ NAVBAR ══════════════════ */

    
    #navbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      padding: 20px 0;
      transition: var(--transition);
    }

    #navbar.scrolled {
      background: rgba(10, 10, 13, 0.75);
      backdrop-filter: blur(24px) saturate(1.5);
      -webkit-backdrop-filter: blur(24px) saturate(1.5);
      border-bottom: 1px solid var(--glass-border);
      padding: 14px 0;
    }

    [data-theme="light"] #navbar.scrolled {
      background: rgba(250, 250, 247, 0.8);
    }

    .nav-inner {
      width: 100%;
      padding: 0 clamp(20px, 4vw, 64px);
      display: flex;
      align-items: center;
      gap: 32px;
    }

    .nav-logo {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      flex-shrink: 0;
    }

    /* ── Dual-brand flip logo (matches GenQue) ── */
    .nav-logo-flip-container {
      width: 160px;
      height: 52px;
      position: relative;
      perspective: 800px;
      flex-shrink: 0;
    }

    .nav-logo-flipper {
      width: 100%;
      height: 100%;
      position: relative;
      transform-style: preserve-3d;
      transition: transform 0.75s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .nav-logo-flipper.flipped {
      transform: rotateY(180deg);
    }

    .nav-logo-face {
      position: absolute;
      inset: 0;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      display: flex;
      align-items: center;
      justify-content: flex-start;
    }

    .nav-logo-face--back {
      transform: rotateY(180deg);
    }

    .nav-logo-img {
      height: 56px;
      width: auto;
      max-width: 160px;
      display: block;
      object-fit: contain;
    }

    [data-theme="dark"] .nav-logo-img {
      filter: brightness(1.08) drop-shadow(0 0 10px rgba(200, 164, 77, 0.45));
    }

    /* [data-theme="light"] .nav-logo-img {
      filter: brightness(0.82) contrast(1.15);
    } */

    .nav-links {
      display: flex;
      align-items: center;
      gap: 4px;
      list-style: none;
      flex: 1;
      justify-content: center;
    }

    .nav-links a {
      display: block;
      padding: 8px 16px;
      font-size: rem;
      font-weight: 500;
      letter-spacing: 0.02em;
      color: var(--text-secondary);
      text-decoration: none;
      border-radius: 100px;
      border: 1px solid transparent;
      position: relative;
      transition: color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.25s, border-color 0.3s;
      white-space: nowrap;
    }

    .nav-links a::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 100px;
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.0), rgba(200, 164, 77, 0.0));
      opacity: 0;
      transition: opacity 0.3s;
    }

    .nav-links a:hover {
      color: var(--gold-soft);
      background: var(--glass);
      border-color: var(--glass-border);
      box-shadow: 0 0 20px rgba(200, 164, 77, 0.15), 0 0 8px rgba(200, 164, 77, 0.1), inset 0 1px 0 rgba(200, 164, 77, 0.12);
      transform: translateY(-2px);
    }

    .nav-links a:hover::before {
      opacity: 1;
    }

    .nav-links a.active {
      color: var(--gold);
      background: var(--glass);
      border-color: var(--glass-border);
      box-shadow: 0 0 20px rgba(200, 164, 77, 0.15), inset 0 1px 0 rgba(200, 164, 77, 0.12);
    }

    [data-theme="light"] .nav-links a.active {
      color: var(--gold-dim);
      background: rgba(200, 164, 77, 0.1);
      border-color: rgba(200, 164, 77, 0.25);
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 16px;
      flex-shrink: 0;
      margin-left: auto;
    }

    .theme-toggle {
      width: 48px;
      height: 26px;
      border-radius: 13px;
      background: var(--surface-2);
      border: 1px solid var(--glass-border);
      cursor: pointer;
      position: relative;
      transition: var(--transition);
      flex-shrink: 0;
    }

    .theme-toggle-thumb {
      position: absolute;
      top: 3px;
      left: 3px;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: var(--gold);
      transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 10px;
    }

    [data-theme="light"] .theme-toggle-thumb {
      transform: translateX(22px);
    }

    .btn-demo {
      display: none;
    }

    /* ══════════════════ FLOATING BROCHURE CTA — CROWN GOLD STYLE ══════════════════ */
    .float-brochure-cta {
      position: fixed;
      right: 0;
      top: 50%;
      transform: translateY(-50%) translateX(0);
      z-index: 500;
      display: flex;
      flex-direction: column;
      align-items: center;
      cursor: pointer;
      text-decoration: none;
      transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .float-brochure-cta:hover {
      transform: translateY(-50%) translateX(-6px);
    }

    .float-brochure-inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.75rem;
      padding: 1.2rem 0.65rem 1.4rem;
      background: linear-gradient(180deg, var(--gold), var(--gold-dim));
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(200, 164, 77, 0.6);
      border-right: none;
      border-radius: 14px 0 0 14px;
      box-shadow: -4px 0 28px rgba(200, 164, 77, 0.4), -2px 0 12px rgba(200, 164, 77, 0.2), inset 0 1px 0 rgba(232, 212, 154, 0.2);
      position: relative;
      overflow: hidden;
      transition: box-shadow 0.35s, border-color 0.35s, background 0.35s;
    }

    .float-brochure-cta:hover .float-brochure-inner {
      border-color: var(--gold-soft);
      box-shadow: -6px 0 45px rgba(200, 164, 77, 0.55), -2px 0 16px rgba(200, 164, 77, 0.35), inset 0 1px 0 rgba(232, 212, 154, 0.3);
      background: linear-gradient(180deg, var(--gold-soft), var(--gold));
    }

    /* shimmer sweep */
    .float-brochure-inner::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg, rgba(255, 255, 255, 0.18) 0%, transparent 50%);
      pointer-events: none;
    }

    .float-brochure-icon {
      width: 22px;
      height: 22px;
      color: #0A0A0D;
      flex-shrink: 0;
      transition: transform 0.3s;
      position: relative;
      z-index: 1;
    }

    .float-brochure-cta:hover .float-brochure-icon {
      transform: translateY(-3px) scale(1.12);
    }

    .float-brochure-label {
      writing-mode: vertical-rl;
      text-orientation: mixed;
      transform: rotate(180deg);
      font-family: 'Syne', sans-serif;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #0A0A0D;
      line-height: 1;
      position: relative;
      z-index: 1;
      white-space: nowrap;
    }

    .float-brochure-dot {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: rgba(10, 10, 13, 0.7);
      box-shadow: 0 0 6px rgba(10, 10, 13, 0.4);
      animation: blink 2s ease-in-out infinite;
      position: relative;
      z-index: 1;
    }

    @media (max-width: 768px) {
      .float-brochure-cta {
        top: auto;
        bottom: 90px;
        transform: none;
      }

      .float-brochure-cta:hover {
        transform: translateX(-6px);
      }
    }

    /* Small phones: the tab was wide enough to overlap/clip text in narrow
       content (e.g. FAQ answers) since it's fixed-position and always on top.
       Shrink its footprint so it sits in the margin instead of over the copy. */
    @media (max-width: 480px) {
      .float-brochure-inner {
        padding: 0.7rem 0.4rem 0.85rem;
        gap: 0.5rem;
        border-radius: 10px 0 0 10px;
      }

      .float-brochure-icon {
        width: 16px;
        height: 16px;
      }

      .float-brochure-label {
        font-size: 0.62rem;
        letter-spacing: 0.1em;
      }

      .float-brochure-dot {
        width: 4px;
        height: 4px;
      }
    }

    /* ══════════════════ home ══════════════════ */
    #home {
      min-height: 100vh;
      width: 100%;
      padding: 140px clamp(20px, 4vw, 64px) 100px;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
    }

    .home-bg {
      position: fixed;
      inset: 0;
      z-index: -1;
      pointer-events: none;
    }

    .home-orb {
      position: absolute;
      border-radius: 50%;
      filter: blur(80px);
      opacity: 0.3;
    }

    .orb-1 {
      width: 700px;
      height: 700px;
      background: radial-gradient(circle, rgba(200, 164, 77, 0.4) 0%, transparent 70%);
      top: -200px;
      right: -100px;
      animation: orbFloat 8s ease-in-out infinite;
    }

    .orb-2 {
      width: 400px;
      height: 400px;
      background: radial-gradient(circle, rgba(15, 23, 42, 0.8) 0%, transparent 70%);
      bottom: -100px;
      left: -50px;
      animation: orbFloat 10s ease-in-out infinite reverse;
    }

    @keyframes orbFloat {

      0%,
      100% {
        transform: translate(0, 0) scale(1);
      }

      33% {
        transform: translate(20px, -30px) scale(1.05);
      }

      66% {
        transform: translate(-15px, 20px) scale(0.95);
      }
    }

    .home-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(40px, 6vw, 100px);
      align-items: center;
      width: 100%;
    }

    .home-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 14px;
      border-radius: 100px;
      border: 1px solid var(--glass-border);
      background: var(--glass);
      backdrop-filter: blur(12px);
      font-size: 0.75rem;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 28px;
    }

    .home-badge-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--gold);
      animation: blink 2s ease-in-out infinite;
    }

    @keyframes blink {

      0%,
      100% {
        opacity: 1;
        box-shadow: 0 0 0 0 rgba(200, 164, 77, 0.4);
      }

      50% {
        opacity: 0.5;
        box-shadow: 0 0 0 4px rgba(200, 164, 77, 0);
      }
    }

    .home-h1 {
      font-size: clamp(2.5rem, 4vw, 3.4rem);
      font-weight: 800;
      line-height: 1.08;
      margin-bottom: 24px;
      letter-spacing: -0.02em;
    }

    .grad-text {
      font-size: 3rem;
      background: linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 60%, #a07830 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    /* ══════ CROWN SHIMMER HEADING ANIMATION ══════
       Matches GenQue's heading-shimmer-layer technique
       but uses Crown gold brand colors.
    ═══════════════════════════════════════════════ */
    /* .section-heading-animated {
      position: relative;
      color: var(--text-primary);
    }

    .section-heading-animated .heading-shimmer-layer {
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: 0;
      font-family: inherit;
      font-size: inherit;
      font-weight: inherit;
      line-height: inherit;
      letter-spacing: inherit;
      white-space: inherit;
      word-break: inherit;
      background: linear-gradient(to right,
          var(--gold-dim) 5%,
          var(--gold) 25%,
          var(--gold-soft) 45%,
          #F0DFA0 55%,
          var(--gold) 65%,
          var(--gold-dim) 80%,
          #7a5c28 100%);
      background-size: 300% auto;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    [data-theme="light"] .section-heading-animated .heading-shimmer-layer {
      background: linear-gradient(to right,
          var(--gold-dim) 5%,
          var(--gold) 30%,
          #b8902e 50%,
          var(--gold) 70%,
          var(--gold-dim) 100%);
      background-size: 300% auto;
      -webkit-background-clip: text;
      background-clip: text;
    }

    .section-heading-animated.shimmer-run .heading-shimmer-layer {
      animation: crown-heading-sweep 2.6s cubic-bezier(0.4, 0, 0.2, 1) 1 forwards;
    }

    .section-heading-animated.shimmer-done .heading-shimmer-layer {
      opacity: 1;
      background-position: 100% 50%;
    } */

    @keyframes crown-heading-sweep {
      0% {
        background-position: 0% 50%;
        opacity: 0;
      }

      10% {
        opacity: 1;
      }

      100% {
        background-position: 100% 50%;
        opacity: 1;
      }
    }

    .home-sub {
      font-size: 1.2rem;
      line-height: 1.7;
      color: var(--text-secondary);
      max-width: none;
      margin-bottom: 40px;
      font-weight: 300;
    }



/* ROTATING WORD ANIMATION — replaces typewriter */
.home-rotating-phrase {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35em;
  margin-top: 0.5rem; font-size: 0.65em;
  font-family: 'Syne', sans-serif; font-weight: 600;
}

.home-rotating-word {
  position: relative;
  display: inline-block;
  height: 1.3em;          /* Reserves exact height for 1 line of text */
  vertical-align: bottom;
  overflow: hidden;        /* Clips text sliding in/out from bounds */
  min-width: 600px;        /* Adjust based on your longest phrase to prevent width layout jumps */
}

.home-rword-item {
  position: absolute;
  top: 3px;
  left: 0;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none; background: linear-gradient(135deg, var(--gold-dim), var(--gold));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.home-headline .home-title-main {
  display: block;
}

@media (max-width:1700px){
    .home-rotating-word { min-width: 485px; }
}



    .home-rword-item.home-rword-active {
      opacity: 1;
      transform: translateY(0);
    }

    .home-rword-item.home-rword-exit {
      opacity: 0;
      transform: translateY(-100%);
    }

    .home-ctas {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
    }

    /* ══════════════════ VIEW BROCHURE SECTION CTA ══════════════════ */
    .btn-brochure {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 26px;
      border-radius: 100px;
      border: 1px solid var(--glass-border);
      background: var(--glass);
      color: var(--gold-soft);
      font-family: 'Syne', sans-serif;
      font-weight: 600;
      font-size: 0.82rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-decoration: none;
      cursor: pointer;
      transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
      backdrop-filter: blur(12px);
      position: relative;
      overflow: hidden;
    }

    .btn-brochure::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.12) 0%, transparent 60%);
      opacity: 0;
      transition: opacity 0.3s;
    }

    .btn-brochure:hover {
      border-color: var(--gold);
      color: var(--gold-soft);
      box-shadow: 0 0 28px rgba(200, 164, 77, 0.25), 0 0 8px rgba(200, 164, 77, 0.12), inset 0 1px 0 rgba(200, 164, 77, 0.15);
      transform: translateY(-2px);
    }

    .btn-brochure:hover::before {
      opacity: 1;
    }

    .btn-brochure svg {
      transition: transform 0.3s;
    }

    .btn-brochure:hover svg {
      transform: translateY(-2px) scale(1.1);
    }

    [data-theme="light"] .btn-brochure {
      color: var(--gold-dim);
    }

    [data-theme="light"] .btn-brochure:hover {
      border-color: var(--gold-dim);
      color: var(--gold-dim);
      box-shadow: 0 0 24px rgba(200, 164, 77, 0.18), inset 0 1px 0 rgba(200, 164, 77, 0.12);
    }

    .btn-primary {
      padding: 16px 32px;
      border-radius: 12px;
      background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dim) 100%);
      color: #0A0A0D;
      font-family: 'Syne', sans-serif;
      font-weight: 700;
      font-size: 1rem;
      letter-spacing: 0.04em;
      border: none;
      cursor: pointer;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: var(--transition);
      box-shadow: 0 0 30px rgba(200, 164, 77, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    }

    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 40px rgba(200, 164, 77, 0.5);
    }

    .btn-outline {
      padding: 16px 32px;
      border-radius: 12px;
      background: var(--glass);
      border: 1px solid var(--glass-border);
      color: var(--text-primary);
      font-family: 'Syne', sans-serif;
      font-weight: 600;
      font-size: 0.9rem;
      letter-spacing: 0.04em;
      cursor: pointer;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: var(--transition);
      backdrop-filter: blur(12px);
    }

    .btn-outline:hover {
      border-color: var(--gold);
      color: var(--gold);
      transform: translateY(-2px);
    }

    /* home Visualization */
    .home-visual {
      position: relative;
      height: 640px;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 0;
      width: 100%;
    }

    /* ══ CROWN AI COMMAND CENTER (matches GenQue layout, Crown gold colors) ══ */
    #gen-scene {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
    }

    #home-canvas-cmd {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 0;
    }

    /* ============================================================
       home RIGHT — ORBIT VISUAL (hub + 6 orbiting feature cards)
       Added supplemental tokens only — no existing declarations touched.
       ============================================================ */
    :root {
      --ws-accent-glow: rgba(200, 164, 77, 0.18);
      --ws-accent-glow-strong: rgba(200, 164, 77, 0.45);
      --ws-glass-border-hover: rgba(200, 164, 77, 0.45);
      --ws-card-shadow: 0 8px 40px rgba(0, 0, 0, 0.45);
    }

    [data-theme="light"] {
      --ws-accent-glow: rgba(200, 164, 77, 0.12);
      --ws-accent-glow-strong: rgba(200, 164, 77, 0.32);
      --ws-glass-border-hover: rgba(200, 164, 77, 0.5);
      --ws-card-shadow: 0 8px 30px rgba(10, 10, 13, 0.10);
    }

    #ws-orbit {
      position: absolute;
      inset: 0;
      z-index: 1;
    }

    #ws-ring {
      position: absolute;
      inset: 0;
      animation: ws-ring-spin 130s linear infinite;
      will-change: transform;
    }

    @keyframes ws-ring-spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }

    .ws-links {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      overflow: visible;
      pointer-events: none;
    }

    .ws-link-base {
      /* stroke: url(#ws-line-grad); */
      stroke-width: 1.3;
      stroke-linecap: round;
      opacity: 0.85;
    }

    .ws-link-line {
      stroke-dasharray: 5 9;
      animation: ws-link-flow 2.6s linear infinite;
    }

    @keyframes ws-link-flow {
      to { stroke-dashoffset: -28; }
    }

    .ws-link-node {
      animation: ws-node-pulse 2.8s ease-in-out infinite;
    }

    @keyframes ws-node-pulse {
      0%, 100% { opacity: .55; r: 2.6; }
      50% { opacity: 1; r: 3.6; }
    }

    /* Hub sits outside the rotating ring so it stays perfectly still
       while cards + connection lines slowly orbit around it. */
    .ws-hub {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: clamp(92px, 12.5vw, 148px);
      height: clamp(92px, 12.5vw, 148px);
      z-index: 3;
      pointer-events: none;
    }

    .ws-hub-glow {
      position: absolute;
      inset: -34%;
      border-radius: 50%;
      background: radial-gradient(circle, var(--ws-accent-glow-strong) 0%, transparent 72%);
      filter: blur(18px);
      animation: ws-hub-pulse 3.4s ease-in-out infinite;
    }

    @keyframes ws-hub-pulse {
      0%, 100% { opacity: .45; transform: scale(.9); }
      50% { opacity: .95; transform: scale(1.1); }
    }

    .ws-hub-core {
      position: absolute;
      inset: 0;
      border-radius: 50%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 3px;
      background: rgba(200, 164, 77, 0.07);
      border: 1px solid var(--glass-border);
      box-shadow: var(--ws-card-shadow), inset 0 1px 0 rgba(200, 164, 77, 0.16), 0 0 44px var(--ws-accent-glow);
      backdrop-filter: blur(14px);
      animation: ws-hub-float 5s ease-in-out infinite;
    }

    @keyframes ws-hub-float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-6px); }
    }

    .ws-hub-icon {
      width: clamp(24px, 3.2vw, 36px);
      height: clamp(24px, 3.2vw, 36px);
      color: var(--gold);
    }

    .ws-hub-icon svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    

    .ws-hub-label {
      font-family: 'Syne', sans-serif;
      font-weight: 800;
      font-size: clamp(.62rem, 1vw, .84rem);
      color: var(--text-primary);
      letter-spacing: -0.01em;
    }

    .ws-hub-sub {
      font-size: clamp(.42rem, .6vw, .54rem);
      color: var(--gold);
      text-transform: uppercase;
      letter-spacing: .08em;
      opacity: .85;
      text-align: center;
      padding: 0 8px;
      line-height: 1.2;
    }

    /* Feature cards: positioned in JS (left/top, pixel-based), then
       counter-rotated so their content stays upright while the ring spins. */
    .ws-card {
      position: absolute;
      width: clamp(112px, 14vw, 190px);
      opacity: 0;
      z-index: 2;
    }

   

    .ws-card-counter {
      animation: ws-card-counter-spin 130s linear infinite;
    }

    @keyframes ws-card-counter-spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(-360deg); }
    }

    .ws-card-float {
      animation: ws-card-float 6s ease-in-out infinite;
    }

    @keyframes ws-card-float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-8px); }
    }

    .ws-card-inner {
      border-radius: 16px;
      border: 1px solid rgba(200, 164, 77, 0.18);
      background: linear-gradient(150deg, rgba(24, 19, 10, 0.94) 0%, rgba(10, 10, 13, 0.92) 100%);
      box-shadow: var(--ws-card-shadow), inset 0 1px 0 rgba(200, 164, 77, 0.10);
      backdrop-filter: blur(10px);
      padding: 10px 13px 12px;
      display: flex;
      flex-direction: column;
      gap: 4px;
      cursor: default;
      transition: transform .4s cubic-bezier(.2, .8, .2, 1), border-color .3s ease, box-shadow .3s ease;
    }

    [data-theme="light"] .ws-card-inner {
      background: linear-gradient(150deg, rgba(245, 228, 196, 0.94) 0%, rgba(241, 241, 251, 0.92) 100%);
    }

    .ws-card:hover .ws-card-inner {
      transform: translateY(-5px) scale(1.045);
      border-color: var(--ws-glass-border-hover);
      box-shadow: var(--ws-card-shadow), 0 0 26px var(--ws-accent-glow-strong);
    }

    .ws-card-icon {
      width: 20px;
      height: 20px;
      color: var(--gold);
      margin-bottom: 1px;
    }

    .ws-card-icon svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    .ws-card-title {
      font-family: 'Syne', sans-serif;
      font-weight: 700;
      font-size: clamp(.64rem, .8vw, 0.95rem);
      color: var(--text-primary);
      line-height: 1.25;
    }

    .ws-card-desc {
      font-size: clamp(.56rem, .66vw, 0.85rem);
      color: var(--text-secondary);
      line-height: 1.35;
    }

    /* Progressive simplification for small viewports: keep every visible
       piece of text comfortably legible rather than shrinking indefinitely. */
    @media (max-width: 640px) {
      .ws-card-desc { display: none; }
      .ws-card { width: clamp(84px, 24vw, 128px); }
      .ws-card-inner { padding: 8px 10px 9px; border-radius: 13px; }
      .ws-card-title { font-size: .62rem; }
      .ws-hub-sub { display: none; }
    }

    @media (max-width: 400px) {
      .ws-card-title { display: none; }
      .ws-card { width: clamp(46px, 14vw, 62px); }
      .ws-card-inner {
        padding: 8px;
        align-items: center;
        border-radius: 50%;
        aspect-ratio: 1;
        justify-content: center;
      }
      .ws-card-icon { margin-bottom: 0; }
    }

    @media (prefers-reduced-motion: reduce) {
      #ws-ring, .ws-card-counter, .ws-card-float, .ws-hub-core, .ws-hub-glow,
      .ws-link-line, .ws-link-node {
        animation: none !important;
      }
    }


    #ai-command-center {
      position: absolute;
      inset: 0;
      display: grid;
      grid-template-columns: 1fr 2fr 1fr;
      grid-template-rows: 1fr 1fr 1fr;
      gap: 12px;
      padding: 16px;
      perspective: 1200px;
      perspective-origin: 50% 45%;
    }

    #ai-command-center::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(200, 164, 77, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200, 164, 77, 0.04) 1px, transparent 1px);
      background-size: 32px 32px;
      pointer-events: none;
      z-index: 0;
      border-radius: 20px;
    }

    .cmd-blob {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
      z-index: 0;
    }

    .cmd-blob-1 {
      width: 300px; height: 300px;
      background: radial-gradient(ellipse, rgba(200,164,77,0.12) 0%, transparent 70%);
      top: -60px; left: 40%;
      filter: blur(60px);
      animation: home-orb-drift-1 12s ease-in-out infinite;
    }

    .cmd-blob-2 {
      width: 200px; height: 200px;
      background: radial-gradient(ellipse, rgba(200,164,77,0.08) 0%, transparent 70%);
      bottom: 20px; right: 15%;
      filter: blur(50px);
      animation: home-orb-drift-2 15s ease-in-out infinite 2s;
    }

    @keyframes home-orb-drift-1 {
      0%, 100% { transform: translate(0,0) scale(1); }
      33% { transform: translate(-30px,20px) scale(1.08); }
      66% { transform: translate(20px,-25px) scale(0.95); }
    }

    @keyframes home-orb-drift-2 {
      0%, 100% { transform: translate(0,0) scale(1); }
      40% { transform: translate(25px,-30px) scale(1.1); }
      70% { transform: translate(-20px,15px) scale(0.92); }
    }

    /* CMD panels */
    .cmd-panel {
      background: rgba(200,164,77,0.06);
      border: 1px solid rgba(200,164,77,0.18);
      border-radius: 12px;
      overflow: hidden;
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      transition: border-color 0.35s, box-shadow 0.35s, transform 0.35s;
      cursor: default;
      backdrop-filter: blur(12px);
    }

    .cmd-panel:hover {
      border-color: rgba(200,164,77,0.45);
      box-shadow: 0 0 24px rgba(200,164,77,0.15);
      transform: translateY(-3px) scale(1.01);
      z-index: 10;
    }

    .cmd-active {
      grid-column: 2;
      grid-row: 1 / 3;
      border-color: rgba(200,164,77,0.35);
      box-shadow: 0 0 30px rgba(200,164,77,0.12);
    }

    

    /* corners */
    .cmd-corner {
      position: absolute;
      width: 10px; height: 10px;
      z-index: 5;
      pointer-events: none;
    }
    .cmd-corner.tl { top: 0; left: 0; border-top: 2px solid var(--gold); border-left: 2px solid var(--gold); border-radius: 2px 0 0 0; }
    .cmd-corner.tr { top: 0; right: 0; border-top: 2px solid var(--gold); border-right: 2px solid var(--gold); border-radius: 0 2px 0 0; }
    .cmd-corner.bl { bottom: 0; left: 0; border-bottom: 2px solid var(--gold); border-left: 2px solid var(--gold); border-radius: 0 0 0 2px; }
    .cmd-corner.br { bottom: 0; right: 0; border-bottom: 2px solid var(--gold); border-right: 2px solid var(--gold); border-radius: 0 0 2px 0; }

    .cmd-header {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 6px 10px;
      background: rgba(200,164,77,0.06);
      border-bottom: 1px solid rgba(200,164,77,0.12);
      flex-shrink: 0;
    }

    .cmd-led {
      width: 6px; height: 6px;
      border-radius: 50%;
      flex-shrink: 0;
    }
    .cmd-led.gold  { background: var(--gold); box-shadow: 0 0 6px rgba(200,164,77,0.7); animation: ledPulse 2s ease-in-out infinite; }
    .cmd-led.amber { background: #febc2e; box-shadow: 0 0 6px rgba(254,188,46,0.5); }
    .cmd-led.green { background: #28c840; box-shadow: 0 0 6px rgba(40,200,64,0.5); }
    .cmd-led.purple{ background: #a78bfa; box-shadow: 0 0 6px rgba(167,139,250,0.5); }
    .cmd-led.teal  { background: #64c8b4; box-shadow: 0 0 6px rgba(100,200,180,0.5); }
    .cmd-led.blue  { background: #60a5fa; box-shadow: 0 0 6px rgba(96,165,250,0.5); }

    @keyframes ledPulse {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.4; }
    }

    .cmd-label {
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: rgba(200,164,77,0.8);
      flex: 1;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .cmd-chrome {
      display: flex;
      gap: 3px;
      flex-shrink: 0;
    }
    .cmd-chrome span {
      width: 5px; height: 5px;
      border-radius: 50%;
    }
    .cmd-chrome span:nth-child(1) { background: #ff5f57; }
    .cmd-chrome span:nth-child(2) { background: #febc2e; }
    .cmd-chrome span:nth-child(3) { background: #28c840; }

    .cmd-img-wrap {
      position: relative;
      flex: 1;
      overflow: hidden;
    }

    .cmd-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
      filter: blur(2.5px) brightness(0.85);
      transition: none;
      opacity: 0;
    }

    /* Reveal the blurred base image once the scan loop initializes — avoids flash on load */
    .cmd-img-wrap.scan-ready img {
      opacity: 1;
    }

    /* Scan overlay */
    .cmd-scan-overlay {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 4;
      overflow: hidden;
    }

    .cmd-scan-line {
      position: absolute;
      left: 0; right: 0;
      height: 3px;
      top: 0;
      background: linear-gradient(90deg, transparent 0%, rgba(200,164,77,0.3) 10%, rgba(224,191,113,0.9) 40%, rgba(238,210,150,1) 50%, rgba(224,191,113,0.9) 60%, rgba(200,164,77,0.3) 90%, transparent 100%);
      box-shadow:
        0 0 8px rgba(224,191,113,0.8),
        0 0 20px rgba(200,164,77,0.5),
        0 0 40px rgba(200,164,77,0.25);
      opacity: 0;
      z-index: 6;
      pointer-events: none;
    }
#cmd-mr {
    grid-column: 3;
    grid-row: 2;
    animation: cmd-float-tr 8.5s ease-in-out infinite 1.2s;
}

/* Bottom-center */
#cmd-bc {
    grid-column: 2 / 4;
    grid-row: 3;
    animation: cmd-float-bc 7s ease-in-out infinite 2s;
}

    .cmd-scan-glow {
      position: absolute;
      left: 0; right: 0;
      height: 60px;
      background: linear-gradient(180deg, rgba(200,164,77,0.14) 0%, rgba(200,164,77,0.05) 60%, transparent 100%);
      opacity: 0;
      top: 0;
      z-index: 5;
      pointer-events: none;
    }

    .cmd-scan-clear {
      position: absolute;
      left: 0; right: 0;
      top: 0;
      height: 0%;
      overflow: hidden;
      border-radius: 8px 8px 0 0;
      z-index: 5;
      pointer-events: none;
    }

    .cmd-scan-clear img {
      position: absolute;
      top: 0; left: 0;
      width: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
      border-radius: 0;
      filter: brightness(1.02) saturate(1.06) !important;
    }

    .cmd-caption {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 5px 10px;
      background: rgba(200,164,77,0.04);
      border-top: 1px solid rgba(200,164,77,0.1);
      flex-shrink: 0;
    }

    .cmd-cap-dot {
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--gold);
      opacity: 0.7;
    }

    .cmd-cap-text {
      font-size: 0.55rem;
      color: rgba(200,164,77,0.65);
      letter-spacing: 0.06em;
      text-transform: uppercase;
      font-weight: 500;
    }

    /* Responsive: show a simplified 2×2 grid on tablet/mobile */
    @media (max-width: 900px) {
      .home-visual {
        height: 420px;
        max-width: 100%;
        overflow: hidden;
      }

      #ai-command-center {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 8px;
        padding: 10px;
        perspective: none;
      }

      /* Main panel: takes full top row */
      #cmd-main {
        grid-column: 1 / 3;
        grid-row: 1;
      }

      #cmd-bc{
        grid-column: 2/4;
        grid-row: 3;

      }

      /* Show two panels in bottom row */
      #cmd-tl {
        grid-column: 1;
        grid-row: 2;
      }

      #cmd-tr {
        grid-column: 2;
        grid-row: 2;
      }

      /* Hide the rest to keep it clean */
      #cmd-bl,
      #cmd-bl2,
      #cmd-mr,
      
      #cmd-bc {
        display: none;
        
      }

      /* Remove 3D hover transforms on touch */
      .cmd-panel:hover {
        transform: none;
      }
    }

    @media (max-width: 640px) {
      .home-visual {
        height: 360px;
      }

      #ai-command-center {
        gap: 6px;
        padding: 8px;
      }

      /* Stack: main panel top, one panel below */
      #cmd-main {
        grid-column: 1 / 3;
        grid-row: 1;
      }

      #cmd-tl {
        grid-column: 1;
        grid-row: 2;
      }

      #cmd-tr {
        grid-column: 2;
        grid-row: 2;
      }

      .cmd-label {
        font-size: 0.52rem;
      }

      .cmd-cap-text {
        font-size: 0.48rem;
      }
    }

    @media (max-width: 480px) {
      .home-visual {
        height: 320px;
      }

      #ai-command-center {
        gap: 5px;
        padding: 6px;
      }

      /* On smallest screens: just show main + one side panel */
      #cmd-tl {
        display: none;
      }

      #cmd-tr {
        grid-column: 1 / 3;
        grid-row: 2;
      }
    }

    @media (max-width: 380px) {
      .home-visual {
        height: 280px;
      }

      /* Only show the main panel */
      #cmd-tr {
        display: none;
      }

      #cmd-main {
        grid-column: 1 / 3;
        grid-row: 1 / 3;
      }
    }

    /* ── New: home Dashboard Visual (legacy, now hidden on desktop when cmd center is shown) ── */
    .home-dash {
      position: relative;
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .home-dash-glow {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 420px;
      height: 420px;
      background: radial-gradient(ellipse at center, rgba(200,164,77,0.1) 0%, transparent 70%);
      pointer-events: none;
      z-index: 0;
    }

    .home-dash > * { position: relative; z-index: 1; }

    /* Metric cards row */
    .home-dash-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .home-metric-card {
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-radius: 16px;
      padding: 18px 20px;
      display: flex;
      align-items: center;
      gap: 14px;
      backdrop-filter: blur(20px);
      transition: border-color 0.3s, box-shadow 0.3s;
    }

    .home-metric-card:hover {
      border-color: rgba(200,164,77,0.35);
      box-shadow: 0 0 24px rgba(200,164,77,0.1);
    }

    .hmc-icon {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      background: rgba(200,164,77,0.12);
      border: 1px solid rgba(200,164,77,0.2);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      color: var(--gold);
    }

    .hmc-icon svg { width: 18px; height: 18px; stroke: var(--gold); }

    .hmc-icon-alt {
      background: rgba(100,200,180,0.1);
      border-color: rgba(100,200,180,0.2);
    }

    .hmc-icon-alt svg { stroke: #64c8b4; }

    .hmc-body { flex: 1; min-width: 0; }

    .hmc-val {
      font-family: 'Syne', sans-serif;
      font-size: 1.6rem;
      font-weight: 800;
      color: var(--gold);
      line-height: 1;
    }

    .hmc-unit {
      font-size: 0.85rem;
      font-weight: 600;
      margin-left: 1px;
    }

    .hmc-label {
      font-size: 0.72rem;
      color: var(--text-muted);
      margin-top: 4px;
    }

    .hmc-trend {
      font-size: 0.62rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      padding: 3px 8px;
      border-radius: 20px;
      white-space: nowrap;
    }

    .hmc-up {
      background: rgba(200,164,77,0.12);
      color: var(--gold);
      border: 1px solid rgba(200,164,77,0.2);
    }

    /* Activity feed */
    .home-dash-feed {
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-radius: 16px;
      backdrop-filter: blur(20px);
      overflow: hidden;
    }

    .hdf-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 18px 10px;
      border-bottom: 1px solid var(--glass-border);
    }

    .hdf-title {
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--text-secondary);
    }

    .hdf-live {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 0.65rem;
      font-weight: 600;
      color: #4ade80;
      letter-spacing: 0.06em;
    }

    .hdf-live-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #4ade80;
      animation: livePulse 2s ease-in-out infinite;
    }

    @keyframes livePulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.5; transform: scale(0.7); }
    }

    .hdf-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 11px 18px;
      border-bottom: 1px solid rgba(255,255,255,0.03);
      animation: feedSlideIn 0.5s ease both;
      animation-delay: calc(var(--i) * 0.12s);
    }

    @keyframes feedSlideIn {
      from { opacity: 0; transform: translateX(-8px); }
      to   { opacity: 1; transform: translateX(0);   }
    }

    .hdf-item:last-child { border-bottom: none; }

    .hdf-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      flex-shrink: 0;
    }

    .hdf-dot-green { background: #4ade80; box-shadow: 0 0 6px #4ade80; }
    .hdf-dot-gold  { background: var(--gold); box-shadow: 0 0 6px rgba(200,164,77,0.7); }
    .hdf-dot-blue  { background: #60a5fa; box-shadow: 0 0 6px #60a5fa; }

    .hdf-text {
      flex: 1;
      font-size: 0.72rem;
      color: var(--text-secondary);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .hdf-text strong { color: var(--text-primary); font-weight: 600; }

    .hdf-tag {
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      padding: 2px 8px;
      border-radius: 20px;
      flex-shrink: 0;
    }

    .hdf-tag-green { background: rgba(74,222,128,0.12); color: #4ade80; border: 1px solid rgba(74,222,128,0.2); }
    .hdf-tag-gold  { background: rgba(200,164,77,0.12);  color: var(--gold); border: 1px solid rgba(200,164,77,0.2); }
    .hdf-tag-blue  { background: rgba(96,165,250,0.12);  color: #60a5fa; border: 1px solid rgba(96,165,250,0.2); }

    /* Bottom reduction row */
    .home-dash-row-bottom {
      grid-template-columns: 1fr 1fr 1fr;
    }

    .home-reduction-card {
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-radius: 14px;
      padding: 16px 18px;
      backdrop-filter: blur(20px);
      transition: border-color 0.3s;
    }

    .home-reduction-card:hover {
      border-color: rgba(200,164,77,0.3);
    }

    .hrc-num {
      font-family: 'Syne', sans-serif;
      font-size: 1.55rem;
      font-weight: 800;
      color: var(--gold);
      line-height: 1;
    }

    .hrc-pct {
      font-size: 0.9rem;
      font-weight: 700;
    }

    .hrc-label {
      font-size: 0.68rem;
      color: var(--text-muted);
      margin: 5px 0 10px;
      line-height: 1.3;
    }

    .hrc-bar {
      height: 3px;
      background: rgba(200,164,77,0.12);
      border-radius: 2px;
      overflow: hidden;
    }

    .hrc-fill {
      height: 100%;
      background: linear-gradient(90deg, var(--gold-dim), var(--gold));
      border-radius: 2px;
      animation: hrcGrow 1.2s ease both;
    }

    @keyframes hrcGrow {
      from { width: 0 !important; }
      to   { /* width kept from inline style */ }
    }

    .credential-ecosystem {
      position: relative;
      width: 100%;
      height: 100%;
    }

    .eco-center {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 110px;
      height: 110px;
      background: radial-gradient(circle, rgba(200, 164, 77, 0.2), transparent 70%);
      border: 1px solid var(--glass-border);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      backdrop-filter: blur(20px);
      box-shadow: 0 0 40px rgba(200, 164, 77, 0.2), inset 0 0 40px rgba(200, 164, 77, 0.05);
      animation: centerPulse 3s ease-in-out infinite;
      z-index: 10;
    }

    @keyframes centerPulse {

      0%,
      100% {
        box-shadow: 0 0 40px rgba(200, 164, 77, 0.2), inset 0 0 40px rgba(200, 164, 77, 0.05);
      }

      50% {
        box-shadow: 0 0 60px rgba(200, 164, 77, 0.35), inset 0 0 60px rgba(200, 164, 77, 0.1);
      }
    }

    .eco-center svg {
      width: 50px;
      height: 50px;
    }

    .eco-orbit {
      position: absolute;
      top: 50%;
      left: 50%;
      border-radius: 50%;
      border: 1px dashed rgba(200, 164, 77, 0.6);
    }

    .orbit-1 {
      width: 200px;
      height: 200px;
      margin: -100px 0 0 -100px;
      animation: orbit 12s linear infinite;
    }

    .orbit-2 {
      width: 320px;
      height: 320px;
      margin: -160px 0 0 -160px;
      animation: orbit 20s linear infinite reverse;
    }

    .orbit-3 {
      width: 440px;
      height: 440px;
      margin: -220px 0 0 -220px;
      animation: orbit 30s linear infinite;
    }

    @keyframes orbit {
      to {
        transform: rotate(360deg);
      }
    }

    .eco-node {
      position: absolute;
      background: rgb(255 255 255 / 21%);
      border: 1px solid var(--glass-border);
      border-radius: 14px;
      padding: 12px 16px;
      backdrop-filter: blur(20px);
      font-size: 0.75rem;
      white-space: nowrap;
      transition: var(--transition);
      cursor: default;
      z-index: 5;
    }

    .eco-node:hover {
      border-color: var(--gold);
      box-shadow: 0 0 20px rgba(200, 164, 77, 0.2);
    }

    .eco-node-icon {
      font-size: 1.1rem;
      margin-bottom: 4px;
    }

    .eco-node-label {
      font-weight: 600;
      color: var(--text-primary);
      font-size: 0.9rem;
    }

    .eco-node-val {
      color: var(--gold);
      font-size: 0.65rem;
      margin-top: 2px;
    }

    .node-cert {
      top: 3%;
      left: 10%;
      animation: float1 6s ease-in-out infinite;
    }

    .node-verify {
      top: 5%;
      right: 10%;
      animation: float2 7s ease-in-out infinite;
    }

    .node-api {
      top: 42%;
      right: 5%;
      animation: float3 5s ease-in-out infinite;
    }

    .node-audit {
      bottom: 8%;
      right: 10%;
      animation: float1 8s ease-in-out infinite reverse;
    }

    .node-analytics {
      bottom: 8%;
      left: 10%;
      animation: float2 6.5s ease-in-out infinite;
    }

    .node-id {
      top: 42%;
      left: 4%;
      animation: float3 7.5s ease-in-out infinite reverse;
    }

    @keyframes float1 {

      0%,
      100% {
        transform: translateY(0);
      }

      50% {
        transform: translateY(-12px);
      }
    }

    @keyframes float2 {

      0%,
      100% {
        transform: translateY(0) rotate(1deg);
      }

      50% {
        transform: translateY(-8px) rotate(-1deg);
      }
    }

    @keyframes float3 {

      0%,
      100% {
        transform: translateY(0) scale(1);
      }

      50% {
        transform: translateY(-10px) scale(1.02);
      }
    }

    .pulse-ring {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 130px;
      height: 130px;
      margin: -65px 0 0 -65px;
      border-radius: 50%;
      border: 1px solid rgba(200, 164, 77, 0.4);
      animation: pulseSphere 2.5s ease-out infinite;
    }

    .pulse-ring:nth-child(2) {
      animation-delay: 0.8s;
    }

    .pulse-ring:nth-child(3) {
      animation-delay: 1.6s;
    }

    @keyframes pulseSphere {
      0% {
        transform: scale(1);
        opacity: 0.6;
      }

      100% {
        transform: scale(3);
        opacity: 0;
      }
    }

    .connection-lines {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

   .conn-line {
  stroke: url(#goldGrad);
  stroke-width: 1.5;
  fill: none;
  stroke-dasharray: 8 6;
  opacity: 0.8;
  animation: dashMove 4s linear infinite;
}
    @keyframes dashMove {
      to {
        stroke-dashoffset: -20;
      }
    }

    .metric-badge {
      position: absolute;
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.15), rgba(200, 164, 77, 0.05));
      border: 1px solid rgba(200, 164, 77, 0.3);
      border-radius: 10px;
      padding: 8px 14px;
      font-size: 0.7rem;
      font-weight: 600;
      backdrop-filter: blur(16px);
    }

    .metric-1 {
      top: 30%;
      left: 8%;
      animation: float2 9s ease-in-out infinite;
    }

    .metric-2 {
      bottom: 35%;
      right: 8%;
      animation: float1 8s ease-in-out infinite;
    }

    .metric-val {
      color: var(--gold);
      font-size: 1.1rem;
      font-family: 'Syne', sans-serif;
    }

    /* ══════════════════ SECTIONS SHARED ══════════════════ */
    section {
      padding: 100px clamp(20px, 4vw, 64px);
      position: relative;
      overflow: hidden;
      width: 100%;
    }

    .container {
      width: 100%;
      max-width: 100%;
    }

    .section-label {
      display: inline-block;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 16px;
    }

    .section-title {
      font-size: clamp(2rem, 3.5vw, 3rem);
      font-weight: 800;
      margin-bottom: 20px;
      letter-spacing: -0.02em;
      max-width: none;

    }

    .section-title em {

      font-style: normal;


      background : #C8A95F;

      /* background: linear-gradient(to right, #cfb06d 5%, var(--gold) 25%, #b3a375 45%, #f0dfa09d 55%, var(--gold) 65%, #b18c3d 80%, #9a7433 100%); */

      -webkit-background-clip: text;

      -webkit-text-fill-color: transparent;

      background-clip: text;

    }
    .home-h1 em {

      font-style: normal;
      background: var(--gold-dim);
      /* background : #C8A95F; */



      /* background: linear-gradient(to right, #cfb06d 5%, var(--gold) 25%, #b3a375 45%, #f0dfa09d 55%, var(--gold) 65%, #b18c3d 80%, #9a7433 100%); */

      -webkit-background-clip: text;

      -webkit-text-fill-color: transparent;

      background-clip: text;

    }



    [data-theme="light"] .section-title em,
    [data-theme="light"] .home-headline em,
    [data-theme="light"] .cta-headline em {
      background: #C8A95F;

      /* background: linear-gradient(to right, var(--gold-dim) 5%, var(--gold) 25%, #83754f 45%, #81680fba 55%, var(--gold) 65%, var(--gold-dim) 80%, #9a7433 100%); */

      -webkit-background-clip: text;

      background-clip: text;

    }

    .section-sub {
      font-size: 1.2rem;
      line-height: 1.7;
      color: var(--text-secondary);
      font-weight: 300;
      max-width: 60%;
    }

    /* Particle canvas */
    .particles-canvas {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 0;
    }

    /* ══════════════════ PROBLEM ══════════════════ */
    /* Background now set in redesigned section styles below */

    /* ══════════════════ PROBLEM — GenQue layout match ══════════════════ */

    #problem {
      background: var(--bg);
    }

    /* GenQue-style side-by-side layout */
    .problem-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(40px, 6vw, 80px);
      align-items: center;
      margin-top: 48px;
    }

    .problem-content {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .problem-content p {
      font-size: 1.2rem;
      line-height: 1.75;
      color: var(--text-secondary);
      font-weight: 300;
      margin-bottom: 28px;
    }

    /* Callout blockquote — GenQue style */
    .callout-box {
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-left: 3px solid var(--gold);
      border-radius: 12px;
      padding: 24px 28px;
      backdrop-filter: blur(16px);
    }

    .callout-box blockquote {
      font-size: 0.95rem;
      line-height: 1.7;
      color: var(--text-secondary);
      font-style: italic;
      font-weight: 300;
    }

    .callout-box blockquote span {
      color: var(--gold);
      font-weight: 600;
      font-style: normal;
    }

    .callout-author {
      font-size: 0.85rem;
      color: rgb(200 164 77);
      margin-top: 12px;
      font-weight: 500;
      letter-spacing: 0.03em;
    }

    /* Problem video right side — GenQue-style container */
    .problem-visual {
      position: relative;
    }

    /* KPI strip below — GenQue pst-track style */
    .pst-track {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      margin-top: 56px;
      border: 1px solid var(--glass-border);
      border-radius: 16px;
      overflow: hidden;
      background: var(--glass);
      backdrop-filter: blur(16px);
    }

    .pst-item {
      padding: 2rem 2rem;
      border-right: 1px solid var(--glass-border);
      transition: background 0.3s;
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.6s ease, transform 0.6s ease, background 0.3s;
    }

    .pst-item:last-child { border-right: none; }

    .pst-item.pst-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .pst-item:hover {
      background: rgba(200,164,77,0.05);
    }

    .pst-metric {
      font-family: 'Syne', sans-serif;
      font-size: 2.8rem;
      font-weight: 800;
      color: var(--gold);
      line-height: 1;
      letter-spacing: -0.02em;
    }

    .pst-divider {
      width: 32px;
      height: 2px;
      background: linear-gradient(90deg, var(--gold), transparent);
      margin: 10px 0;
      border-radius: 1px;
    }

    .pst-desc {
      letter-spacing: 0.04em;
      font-size: 0.85rem;
      line-height: 1.55;
      color: var(--text-secondary);
      font-weight: 300;
    }

    @media (max-width: 900px) {
      .pst-track {
        grid-template-columns: repeat(2, 1fr);
      }
      .pst-item:nth-child(2) { border-right: none; }
      .pst-item:nth-child(1),
      .pst-item:nth-child(2) { border-bottom: 1px solid var(--glass-border); }
    }

    @media (max-width: 520px) {
      .pst-track { grid-template-columns: repeat(2, 1fr); }
      .pst-item { padding: 1.5rem 1.25rem; }
      .pst-metric { font-size: 20px; }
    }

    @media (max-width: 380px) {
      .pst-track { grid-template-columns: 1fr; }
      .pst-item { border-right: none !important; border-bottom: 1px solid var(--glass-border); }
      .pst-item:last-child { border-bottom: none; }
    }

    /* ══════════════════ HOW IT WORKS ══════════════════ */
    #how-it-works {
      background: var(--bg);
    }

    .timeline-steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      margin-top: 60px;
      position: relative;
    }

    .timeline-steps::before {
      content: '';
      position: absolute;
      top: 64px;
      left: 10%;
      right: 10%;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
    }

    .step-card {
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-radius: 20px;
      padding: 32px 24px;
      backdrop-filter: blur(20px);
      transition: var(--transition);
      position: relative;
      overflow: hidden;
      text-align: center;
    }

    .step-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(200, 164, 77, 0.06) 0%, transparent 100%);
      opacity: 0;
      transition: opacity 0.3s;
    }

    .step-card:hover {
      transform: translateY(-8px);
      border-color: var(--gold-dim);
      box-shadow: 0 20px 60px rgba(200, 164, 77, 0.15);
    }

    .step-card:hover::before {
      opacity: 1;
    }

    .step-num {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--gold), var(--gold-dim));
      color: #0A0A0D;
      font-family: 'Syne', sans-serif;
      font-weight: 800;
      font-size: 1.1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 20px;
      box-shadow: 0 0 20px rgba(200, 164, 77, 0.3);
    }

    .step-icon {
      font-size: 2rem;
      margin-bottom: 16px;
    }

    .step-card h3 {
      font-size: 1rem;
      margin-bottom: 12px;
    }

    .step-card p {
      font-size: 0.85rem;
      color: var(--text-secondary);
      line-height: 1.6;
    }

    .step-metrics {
      margin-top: 16px;
      padding-top: 16px;
      border-top: 1px solid var(--glass-border);
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .step-metric {
      display: flex;
      justify-content: space-between;
      font-size: 0.72rem;
      color: var(--text-muted);
    }

    .step-metric span:last-child {
      color: var(--gold);
      font-weight: 600;
    }

    /* ══════════════════ WHY CROWN — PREMIUM REDESIGN ══════════════════ */
    #why-crown {
      background: var(--navy);
      overflow: hidden;
    }

    /* Ambient background grid for why-crown */
    .wc-bg-grid {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(200, 164, 77, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200, 164, 77, 0.03) 1px, transparent 1px);
      background-size: 48px 48px;
      pointer-events: none;
      mask-image: radial-gradient(ellipse 100% 80% at 50% 50%, black 30%, transparent 80%);
    }

    /* home intro text for why-crown */
    .wc-intro {
      max-width: none;
      margin-bottom: 80px;
    }

    .wc-intro p {
      font-size: 1.2rem;
      line-height: 1.75;
      color: var(--text-secondary);
      font-weight: 300;
      margin-top: 16px;

    }

    /* ─── Bento Grid Layout ─── */
    .wc-bento {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-template-rows: auto;
      gap: 20px;
      position: relative;
    }

    /* Shared module card */
    .wc-module {
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-radius: 24px;
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      overflow: hidden;
      position: relative;
      transition: border-color 0.4s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.4s cubic-bezier(0.23, 1, 0.32, 1), transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
      cursor: default;
    }

    .wc-module::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 0%, rgba(200, 164, 77, 0.08) 0%, transparent 65%);
      opacity: 0;
      transition: opacity 0.4s;
      pointer-events: none;
    }

    .wc-module:hover {
      border-color: rgba(200, 164, 77, 0.5);
      box-shadow: 0 0 0 1px rgba(200, 164, 77, 0.12), 0 24px 64px rgba(200, 164, 77, 0.12), 0 0 40px rgba(200, 164, 77, 0.06);
      transform: translateY(-4px);
    }

    .wc-module:hover::before {
      opacity: 1;
    }

    /* Animated glow border on hover via pseudo */
    .wc-module::after {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: 25px;
      background: linear-gradient(135deg, rgba(200, 164, 77, 0), rgba(200, 164, 77, 0.4), rgba(200, 164, 77, 0));
      opacity: 0;
      transition: opacity 0.4s;
      pointer-events: none;
      z-index: -1;
    }

    .wc-module:hover::after {
      opacity: 1;
    }

    /* Grid positions */
    .wc-m1 {
      grid-column: 1 / 8;
      grid-row: 1;
      min-height: 300px;
    }

    .wc-m2 {
      grid-column: 8 / 13;
      grid-row: 1;
      min-height: 300px;
    }

    .wc-m3 {
      grid-column: 1 / 5;
      grid-row: 2;
      min-height: 280px;
    }

    .wc-m4 {
      grid-column: 5 / 13;
      grid-row: 2;
      min-height: 280px;
    }

    .wc-m5 {
      grid-column: 1 / 7;
      grid-row: 3;
      min-height: 220px;
    }

    .wc-m6 {
      grid-column: 7 / 13;
      grid-row: 3;
      min-height: 220px;
    }

    /* Module inner padding */
    .wc-mod-body {
      padding: 36px 40px;
      height: 100%;
      display: flex;
      flex-direction: column;
      /* justify-content: space-between; */
      position: relative;
      z-index: 1;
    }

    /* Module number tag */
    .wc-mod-num {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 20px;
    }

    .wc-num-badge {
      width: 28px;
      height: 28px;
      border-radius: 8px;
      background: linear-gradient(135deg, var(--gold), var(--gold-dim));
      color: #0A0A0D;
      font-family: 'Syne', sans-serif;
      font-weight: 800;
      font-size: 0.75rem;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .wc-mod-tag {
      font-size: 0.68rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--gold);
    }

    .wc-mod-title {
      font-size: 1.5rem;
      font-family: 'Syne', sans-serif;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: -0.01em;
      margin-bottom: 12px;
    }

    .wc-mod-desc {
      font-size: 1rem;
      line-height: 1.65;
      color: var(--text-secondary);
      font-weight: 300;
      margin-bottom: 20px;
    }

    /* Feature bullets */
    .wc-points {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .wc-points li {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 0.95rem;
      color: var(--text-secondary);
    }

    .wc-check {
      width: 18px;
      height: 18px;
      flex-shrink: 0;
      border-radius: 5px;
      background: rgba(200, 164, 77, 0.12);
      border: 1px solid rgba(200, 164, 77, 0.35);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .wc-check svg {
      width: 10px;
      height: 10px;
    }

    /* ─── Module 1: Lifecycle — animated flow diagram ─── */
    .wc-m1 .wc-mod-body {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 32px;
      padding: 36px 40px;
    }

    .wc-m1-left {
      display: flex;
      flex-direction: column;
      /* justify-content: center; */
    }

    .wc-lifecycle-flow {
      display: flex;
      flex-direction: column;
      gap: 0;
      position: relative;
    }

    .wc-flow-step {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 10px 14px;
      border-radius: 10px;
      background: rgba(200, 164, 77, 0.04);
      border: 1px solid rgba(200, 164, 77, 0.1);
      position: relative;
      transition: all 0.3s;
    }

    .wc-flow-step:hover {
      background: rgba(200, 164, 77, 0.09);
      border-color: rgba(200, 164, 77, 0.3);
    }

    .wc-flow-connector {
      width: 2px;
      height: 16px;
      background: linear-gradient(180deg, rgba(200, 164, 77, 0.4), rgba(200, 164, 77, 0.15));
      margin-left: 23px;
      flex-shrink: 0;
      position: relative;
    }

    .wc-flow-connector::after {
      content: '';
      position: absolute;
      top: 0;
      left: -1px;
      width: 4px;
      height: 6px;
      background: var(--gold);
      border-radius: 2px;
      animation: flowPulse 2s ease-in-out infinite;
    }

    .wc-flow-connector:nth-child(2)::after {
      animation-delay: 0.5s;
    }

    .wc-flow-connector:nth-child(4)::after {
      animation-delay: 1s;
    }

    .wc-flow-connector:nth-child(6)::after {
      animation-delay: 1.5s;
    }

    @keyframes flowPulse {

      0%,
      100% {
        transform: translateY(0);
        opacity: 0.3;
      }

      50% {
        transform: translateY(5px);
        opacity: 1;
      }
    }

    .wc-flow-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
      box-shadow: 0 0 8px rgba(200, 164, 77, 0.5);
    }

    .wc-flow-label {
      font-size: 0.8rem;
      font-weight: 500;
      color: var(--text-primary);
    }

    .wc-flow-sub {
      font-size: 0.68rem;
      color: var(--text-muted);
      margin-left: auto;
    }

    /* Big stat inside m1 right */
    .wc-m1-stat {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: stretch;
      background: rgba(200, 164, 77, 0.04);
      border: 1px solid rgba(200, 164, 77, 0.12);
      border-radius: 18px;
      padding: 24px 20px;
      position: relative;
      overflow: hidden;
    }

    .wc-m1-stat::before {
      content: '';
      position: absolute;
      top: -30%;
      left: -20%;
      width: 140%;
      height: 140%;
      background: radial-gradient(ellipse at 50% 40%, rgba(200, 164, 77, 0.08) 0%, transparent 60%);
      pointer-events: none;
    }

    .wc-stat-big {
      font-family: 'Syne', sans-serif;
      font-size: 3.5rem;
      font-weight: 800;
      color: var(--gold);
      line-height: 1;
      position: relative;
    align-items: center;    }

    .wc-stat-label {
      font-size: 0.8rem;
      color: var(--text-secondary);
      margin-top: 8px;
      line-height: 1.4;
    }

    /* Bar chart visualization */
    .wc-bars {
      display: flex;
      gap: 6px;
      align-items: flex-end;
      margin-top: 12px;
      height: 40px;
    }

    .wc-bar {
      flex: 1;
      border-radius: 3px 3px 0 0;
      background: linear-gradient(180deg, var(--gold), var(--gold-dim));
      animation: wcBarPulse 2.5s ease-in-out infinite;
      min-height: 8px;
    }

    .wc-bar:nth-child(1) {
      height: 45%;
      animation-delay: 0s;
    }

    .wc-bar:nth-child(2) {
      height: 65%;
      animation-delay: 0.2s;
    }

    .wc-bar:nth-child(3) {
      height: 85%;
      animation-delay: 0.4s;
    }

    .wc-bar:nth-child(4) {
      height: 60%;
      animation-delay: 0.6s;
    }

    .wc-bar:nth-child(5) {
      height: 100%;
      animation-delay: 0.8s;
    }

    .wc-bar:nth-child(6) {
      height: 75%;
      animation-delay: 1s;
    }

    .wc-bar:nth-child(7) {
      height: 90%;
      animation-delay: 1.2s;
    }

    @keyframes wcBarPulse {

      0%,
      100% {
        opacity: 0.65;
      }

      50% {
        opacity: 1;
      }
    }

    /* ─── Module 2: API — terminal style ─── */
    .wc-terminal {
      margin-top: 20px;
      background: var(--glass);
      border: 1px solid rgba(200, 164, 77, 0.12);
      border-radius: 12px;
      overflow: hidden;
    }

    [data-theme="dark"] .wc-terminal {
      background: rgba(0, 0, 0, 0.35);
    }

    .wc-terminal-bar {
      padding: 8px 14px;
      background: rgba(200, 164, 77, 0.06);
      border-bottom: 1px solid rgba(200, 164, 77, 0.08);
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .wc-t-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
    }

    .wc-t-dot:nth-child(1) {
      background: #ff5f57;
    }

    .wc-t-dot:nth-child(2) {
      background: #febc2e;
    }

    .wc-t-dot:nth-child(3) {
      background: #28c840;
    }

    .wc-t-title {
      font-size: 0.65rem;
      color: var(--text-muted);
      margin-left: 4px;
      letter-spacing: 0.06em;
    }

    .wc-api-lines {
      padding: 12px 14px;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .wc-api-line {
      display: flex;
      align-items: center;
      gap: 8px;
      font-family: 'Courier New', monospace;
      font-size: 0.72rem;
      padding: 6px 10px;
      border-radius: 6px;
      background: rgba(200, 164, 77, 0.03);
      border: 1px solid rgba(200, 164, 77, 0.06);
      animation: apiLineReveal 0.5s ease forwards;
      opacity: 0;
    }

    .wc-api-line:nth-child(1) {
      animation-delay: 0.1s;
    }

    .wc-api-line:nth-child(2) {
      animation-delay: 0.3s;
    }

    .wc-api-line:nth-child(3) {
      animation-delay: 0.5s;
    }

    .wc-api-line:nth-child(4) {
      animation-delay: 0.7s;
    }

    @keyframes apiLineReveal {
      to {
        opacity: 1;
      }
    }

    .wc-api-method {
      color: var(--gold);
      font-weight: 700;
      min-width: 36px;
    }

    .wc-api-path {
      color: #0094cd;
      font-weight: 700;
      flex: 1;
    }

    .wc-api-ping {
      color: #6ee7b7;
      font-size: 0.65rem;
      margin-left: auto;
    }

    .wc-api-live {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-top: 10px;
      padding: 6px 10px;
      font-size: 0.85rem;
      color: var(--text-muted);
    }

    .wc-api-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #6ee7b7;
      animation: apiDotBlink 1.5s ease-in-out infinite;
    }

    @keyframes apiDotBlink {

      0%,
      100% {
        opacity: 1;
        box-shadow: 0 0 6px #6ee7b7;
      }

      50% {
        opacity: 0.3;
        box-shadow: none;
      }
    }

    /* ─── Module 3: Analytics — compact dashboard ─── */
    .wc-dashboard {
      margin-top: 16px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }

    .wc-kpi {
      background: rgba(200, 164, 77, 0.05);
      border: 1px solid rgba(200, 164, 77, 0.12);
      border-radius: 10px;
      padding: 12px 14px;
      position: relative;
      overflow: hidden;
      transition: all 0.3s;
    }

    .wc-kpi:hover {
      background: rgba(200, 164, 77, 0.09);
      border-color: rgba(200, 164, 77, 0.3);
    }

    .wc-kpi-val {
      font-family: 'Syne', sans-serif;
      font-size: 1.5rem;
      font-weight: 800;
      color: var(--gold);
      line-height: 1;
    }

    .wc-kpi-lbl {
      font-size: 0.85rem;
      color: var(--text-muted);
      margin-top: 4px;
      line-height: 1.3;
    }

    .wc-kpi-trend {
      position: absolute;
      top: 10px;
      right: 10px;
      font-size: 0.85rem;
      font-weight: 700;
      color: #02ad69;
      background: rgba(110, 231, 183, 0.1);
      padding: 2px 6px;
      border-radius: 4px;
    }

    /* Sparkline inside kpi */
    .wc-sparkline {
      margin-top: 8px;
      height: 24px;
      position: relative;
      overflow: hidden;
    }

    .wc-sparkline svg {
      width: 100%;
      height: 100%;
    }

    /* ─── Module 4: Candidate Access ─── */
    .wc-m4 .wc-mod-body {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 32px;
      padding: 36px 40px;
    }

    .wc-wallet {
      background: rgba(200, 164, 77, 0.04);
      border: 1px solid rgba(200, 164, 77, 0.12);
      border-radius: 16px;
      padding: 24px;
      display: flex;
      flex-direction: column;
      gap: 12px;
      position: relative;
      overflow: hidden;
    }

    .wc-wallet::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
    }

    .wc-wallet-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .wc-wallet-title {
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--gold);
    }

    .wc-wallet-lock {
      width: 22px;
      height: 22px;
      border-radius: 6px;
      background: rgba(200, 164, 77, 0.15);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
    }

    .wc-cred-card {
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.12), rgba(200, 164, 77, 0.04));
      border: 1px solid rgba(200, 164, 77, 0.25);
      border-radius: 10px;
      padding: 12px 14px;
      display: flex;
      align-items: center;
      gap: 10px;
      transition: all 0.3s;
    }

    .wc-cred-card:hover {
      border-color: var(--gold);
      background: rgba(200, 164, 77, 0.16);
    }

    .wc-cred-icon {
      width: 28px;
      height: 28px;
      border-radius: 7px;
      background: rgba(200, 164, 77, 0.2);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.9rem;
      flex-shrink: 0;
    }

    .wc-cred-info {
      flex: 1;
    }

    .wc-cred-name {
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--text-primary);
    }

    .wc-cred-date {
      font-size: 0.85rem;
      color: var(--text-muted);
      margin-top: 2px;
    }

    .wc-cred-share {
      font-size: 0.85rem;
      color: var(--gold);
      background: rgba(200, 164, 77, 0.1);
      border: 1px solid rgba(200, 164, 77, 0.2);
      padding: 3px 8px;
      border-radius: 20px;
      cursor: pointer;
      transition: all 0.3s;
    }

    .wc-cred-share:hover {
      background: rgba(200, 164, 77, 0.2);
    }

    /* Responsive */
    @media (max-width: 1100px) {

      .wc-m1,
      .wc-m2,
      .wc-m3,
      .wc-m4,
      .wc-m5,
      .wc-m6 {
        grid-column: 1 / -1;
      }

      .wc-m1 .wc-mod-body,
      .wc-m4 .wc-mod-body {
        grid-template-columns: 1fr;
        gap: 24px;
      }
    }

    @media (max-width: 768px) {
      .wc-bento {
        gap: 14px;
      }
    }

    /* Legacy styles used elsewhere — keep compatible */
    .feature-tag {
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 16px;
    }

    .fv-api {
      width: 100%;
    }

    .api-line {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 6px 0;
      font-family: monospace;
      font-size: 0.75rem;
      padding: 8px 12px;
      border-radius: 8px;
      background: var(--glass);
      border: 1px solid var(--glass-border);
    }

    .api-method {
      color: var(--gold);
      font-weight: 700;
    }

    .api-path {
      color: #a8d8ea;
    }

    .api-status {
      color: #6ee7b7;
      margin-left: auto;
    }

    /* ══════════════════ COMPARISON — PREMIUM REDESIGN ══════════════════ */
    #comparison {
      background: var(--bg);
      overflow: hidden;
    }

    .cmp-wrap {
      margin-top: 64px;
      position: relative;
    }

    /* Header banner */
    .cmp-header {
      display: grid;
      grid-template-columns: 1.5fr 1.4fr 1.4fr;
      gap: 0;
      margin-bottom: 0;
      border-radius: 20px 20px 0 0;
      overflow: hidden;
      border: 1px solid var(--glass-border);
      border-bottom: none;
    }

    .cmp-h-cap {
      padding: 24px 28px;
      background: var(--glass);
      display: flex;
      align-items: flex-end;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

    .cmp-h-crown {
      padding: 20px 28px;
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.15), rgba(200, 164, 77, 0.06));
      border-left: 1px solid rgba(200, 164, 77, 0.25);
      border-right: 1px solid rgba(200, 164, 77, 0.25);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: relative;
      gap: 6px;
    }

    .cmp-h-crown::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
    }

    .cmp-badge-rec {
      position: absolute;
      top: -1px;
      right: 20px;
      background: linear-gradient(135deg, var(--gold), var(--gold-dim));
      color: #0A0A0D;
      font-size: 0.55rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 3px 10px;
      border-radius: 0 0 6px 6px;
    }

    .cmp-h-crown-name {
      font-family: 'Syne', sans-serif;
      font-size: 1rem;
      font-weight: 800;
      color: var(--gold);
      letter-spacing: 0.05em;
    }

    .cmp-h-crown-sub {
      font-size: 0.65rem;
      color: rgba(200, 164, 77, 0.6);
      letter-spacing: 0.06em;
    }

    .cmp-h-legacy {
      padding: 24px 28px;
      background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.04));
      border-left: 1px solid rgba(239, 68, 68, 0.22);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      position: relative;
    }

    .cmp-h-legacy::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, rgba(239,68,68,0.7), transparent);
    }

    .cmp-h-legacy-name {
      font-family: 'Syne', sans-serif;
      font-size: 1rem;
      font-weight: 700;
      color: var(--text-muted);
      letter-spacing: 0.03em;
    }

    .cmp-h-legacy-sub {
      font-size: 0.62rem;
      color: rgba(248, 244, 236, 0.25);
      letter-spacing: 0.04em;
    }

    /* Rows container */
    .cmp-rows {
      border: 1px solid var(--glass-border);
      border-radius: 0 0 20px 20px;
      overflow: hidden;
    }

    /* Individual row */
    .cmp-row {
      display: grid;
      grid-template-columns: 1.5fr 1.4fr 1.4fr;
      gap: 0;
      border-bottom: 1px solid #424242;
      transition: background 0.2s;
      opacity: 0;
      transform: translateX(-20px);
      transition: opacity 0.5s ease, transform 0.5s ease, background 0.2s;
    }
    [data-theme="light"]  .cmp-row {border-bottom: 1px solid #eee;}

    .cmp-row:last-child {
      border-bottom: none;
    }

    .cmp-row:hover {
      background: rgba(255, 255, 255, 0.02);
    }

    .cmp-row.revealed {
      opacity: 1;
      transform: translateX(0);
    }

    /* Row capability label */
    .cmp-cap {
      padding: 20px 28px;
      display: flex;
      align-items: center;
      gap: 12px;
      border-right: 1px solid rgba(255, 255, 255, 0.04);
    }

    .cmp-cap-icon {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      background: var(--glass);
      border: 1px solid var(--glass-border);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.9rem;
      flex-shrink: 0;
      transition: all 0.3s;
    }

    .cmp-row:hover .cmp-cap-icon {
      border-color: rgba(200, 164, 77, 0.3);
      background: rgba(200, 164, 77, 0.06);
    }

    .cmp-cap-text {
      font-size: 1rem;
      font-weight: 500;
      color: var(--text-secondary);
      line-height: 1.3;
    }

    /* Crown cell */
    .cmp-crown-cell {
      padding: 20px 24px;
      background: rgba(200, 164, 77, 0.04);
      border-left: 1px solid rgba(200, 164, 77, 0.18);
      border-right: 1px solid rgba(200, 164, 77, 0.18);
      display: flex;
      align-items: center;
      gap: 10px;
      position: relative;
      transition: background 0.3s;
    }

    .cmp-row:hover .cmp-crown-cell {
      background: rgba(200, 164, 77, 0.08);
    }

    /* Animated check indicator for crown */
    .cmp-check-ring {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 2px solid var(--gold);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      position: relative;
      box-shadow: 0 0 10px rgba(200, 164, 77, 0.25);
      animation: checkRingPulse 3s ease-in-out infinite;
    }

    @keyframes checkRingPulse {

      0%,
      100% {
        box-shadow: 0 0 8px rgba(200, 164, 77, 0.2);
      }

      50% {
        box-shadow: 0 0 16px rgba(200, 164, 77, 0.4);
      }
    }

    .cmp-check-ring svg {
      width: 12px;
      height: 12px;
    }

    .cmp-crown-text {
      font-size: 1rem;
      color: var(--text-primary);
      font-weight: 500;
      line-height: 1.7;
    }

    /* Crown highlight bar on left edge */
    .cmp-crown-cell::before {
      content: '';
      position: absolute;
      left: 0;
      top: 20%;
      bottom: 20%;
      width: 2px;
      background: var(--gold);
      border-radius: 1px;
      opacity: 0.5;
    }

    /* Legacy cell */
    .cmp-legacy-cell {
      padding: 20px 24px;
      background: rgba(239, 68, 68, 0.03);
      border-left: 1px solid rgba(239, 68, 68, 0.15);
      display: flex;
      align-items: center;
      gap: 10px;
      opacity: 1;
      position: relative;
    }

    .cmp-legacy-cell::before {
      content: '';
      position: absolute;
      left: 0;
      top: 20%;
      bottom: 20%;
      width: 2px;
      background: rgba(239, 68, 68, 0.5);
      border-radius: 1px;
    }

    .cmp-row:hover .cmp-legacy-cell {
      background: rgba(239, 68, 68, 0.06);
    }

    .cmp-cross-ring {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 1px solid rgba(239, 68, 68, 1);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      background: rgba(239, 68, 68, 0.05);
    }

    .cmp-cross-ring svg {
      width: 10px;
      height: 10px;
      stroke: rgba(239, 68, 68, 1);
    }

    .cmp-legacy-text {
      font-size: 1rem;
      color: var(--text-muted);
      font-style: italic;
      line-height: 1.3;
    }

    /* Divider energy beam */
    .cmp-divider-beam {
      position: absolute;
      top: 0;
      bottom: 0;
      width: 1px;
      background: linear-gradient(180deg, transparent 0%, var(--gold) 40%, var(--gold) 60%, transparent 100%);
      opacity: 0.15;
      pointer-events: none;
    }

    /* Bottom CTA row
    .cmp-footer-row {
      display: grid;
      grid-template-columns: 2fr 1.4fr 1.4fr;
      border-top: 1px solid var(--glass-border);
      background: rgba(200, 164, 77, 0.02);
    }

    .cmp-footer-empty {
      padding: 20px 28px;
    }

    .cmp-footer-crown {
      padding: 20px 24px;
      background: rgba(200, 164, 77, 0.06);
      border-left: 1px solid rgba(200, 164, 77, 0.2);
      border-right: 1px solid rgba(200, 164, 77, 0.2);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .cmp-footer-legacy {
      padding: 20px 24px;
      background: linear-gradient(135deg, rgba(239, 68, 68, 0.07), rgba(239, 68, 68, 0.03));
      border-left: 1px solid rgba(239, 68, 68, 0.18);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .cmp-score {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .cmp-score-num {
      font-family: 'Syne', sans-serif;
      font-size: 1.2rem;
      font-weight: 800;
      color: var(--gold);
    }

    .cmp-score-label {
      font-size: 0.62rem;
      color: var(--text-muted);
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }

    .cmp-score-legacy {
      font-family: 'Syne', sans-serif;
      font-size: 1.2rem;
      font-weight: 800;
      color: var(--text-muted);
      opacity: 0.4;
    } */

    @media (max-width: 768px) {

      .cmp-header,
      .cmp-row,
      
      .cmp-cap {
        padding: 14px 16px;
      }

      .cmp-crown-cell,
      .cmp-legacy-cell {
        padding: 14px 12px;
      }

      .cmp-h-cap,
      .cmp-h-crown,
      .cmp-h-legacy {
        padding: 16px 14px;
      }
    }

    /* ══════════════════ REAL IMPACT — old styles kept for reference only ══════════════════ */
    /* background now set in redesign styles below */

    .impact-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
      margin-top: 60px;
    }

    .impact-card {
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-radius: 20px;
      padding: 32px 24px;
      text-align: center;
      backdrop-filter: blur(20px);
      transition: var(--transition);
      position: relative;
      overflow: hidden;
    }

    .impact-card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      transform: scaleX(0);
      transition: transform 0.4s;
    }

    .impact-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 20px 60px rgba(200, 164, 77, 0.1);
    }

    .impact-card:hover::after {
      transform: scaleX(1);
    }

    .impact-num {
      font-family: 'Syne', sans-serif;
      font-size: 3rem;
      font-weight: 800;
      color: var(--gold);
      line-height: 1;
      margin-bottom: 8px;
    }

    .impact-card h4 {
      font-size: 1rem;
      margin-bottom: 10px;
    }

    .impact-card p {
      font-size: 0.82rem;
      color: var(--text-secondary);
      line-height: 1.5;
    }

    .impact-ring {
      width: 80px;
      height: 80px;
      margin: 0 auto 20px;
      position: relative;
    }

    .ring-svg {
      transform: rotate(-90deg);
    }

    .ring-track {
      fill: none;
      stroke: rgba(200, 164, 77, 0.1);
      stroke-width: 6;
    }

    .ring-fill {
      fill: none;
      stroke: var(--gold);
      stroke-width: 6;
      stroke-linecap: round;
      stroke-dasharray: 226;
      stroke-dashoffset: 226;
      transition: stroke-dashoffset 1.5s cubic-bezier(0.23, 1, 0.32, 1);
    }

    /* ══════════════════ ABOUT ══════════════════ */
    #about {
      background: var(--bg);
    }

    .about-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(40px, 6vw, 100px);
      align-items: center;
    }

    .about-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 14px;
      border-radius: 100px;
      border: 1px solid var(--glass-border);
      background: var(--glass);
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--gold-soft);
      margin-bottom: 24px;
      backdrop-filter: blur(12px);
    }

    .about-text h2 {
      font-size: clamp(2rem, 3vw, 2.8rem);
      margin-bottom: 20px;
      letter-spacing: -0.02em;
    }

    .about-text p {
      font-size: 1rem;
      line-height: 1.7;
      color: var(--text-secondary);
      margin-bottom: 16px;
      font-weight: 300;
    }

    .about-pillars {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 28px;
    }

    .pillar {
      padding: 8px 16px;
      border-radius: 100px;
      background: var(--glass);
      border: 1px solid var(--glass-border);
      font-size: 0.8rem;
      font-weight: 500;
      backdrop-filter: blur(12px);
    }

    .about-visual {
      position: relative;
      height: 400px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .about-card {
      width: 100%;
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-radius: 24px;
      padding: 40px;
      backdrop-filter: blur(20px);
      position: relative;
      overflow: hidden;
    }

    .about-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 0%, rgba(200, 164, 77, 0.12) 0%, transparent 60%);
    }

    .about-logo-big {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 24px;
      position: relative;
    }

    .about-logo-big svg {
      width: 60px;
      height: 60px;
    }

    .about-logo-big span {
      font-family: 'Syne', sans-serif;
      font-size: 2rem;
      font-weight: 800;
      background: linear-gradient(135deg, var(--gold-soft), var(--gold));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .about-company {
      font-size: 0.8rem;
      color: var(--text-muted);
      margin-bottom: 24px;
      position: relative;
    }

    .about-stats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      position: relative;
    }

    .about-stat {
      background: rgba(200, 164, 77, 0.06);
      border: 1px solid rgba(200, 164, 77, 0.15);
      border-radius: 12px;
      padding: 16px;
    }

    .about-stat .val {
      font-family: 'Syne', sans-serif;
      font-size: 1.6rem;
      font-weight: 800;
      color: var(--gold);
    }

    .about-stat .lbl {
      font-size: 0.75rem;
      color: var(--text-muted);
      margin-top: 4px;
    }

    /* ══════════════════ home CANVAS BACKGROUND ══════════════════ */
    #home-canvas {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0.55;
    }

    .home-grid-lines {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(200, 164, 77, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200, 164, 77, 0.04) 1px, transparent 1px);
      background-size: 60px 60px;
      mask-image: radial-gradient(ellipse 80% 80% at 50% 0%, black 30%, transparent 80%);
      animation: gridShimmer 8s ease-in-out infinite;
    }

    [data-theme="light"] .home-grid-lines {
      background-image:
        linear-gradient(rgba(200, 164, 77, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200, 164, 77, 0.08) 1px, transparent 1px);
    }

    @keyframes gridShimmer {

      0%,
      100% {
        opacity: 0.7;
      }

      50% {
        opacity: 1;
      }
    }

    /* ══════════════════ REAL IMPACT — GenQue Editorial Layout with Crown Colors ══════════════════ */
    #real-impact {
      background: var(--navy);
      overflow: hidden;
      position: relative;
      padding: 0;
    }

    [data-theme="dark"] #real-impact {
      background: #040609;
    }

    /* Ambient background mesh */
    #real-impact::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 40% at 20% 30%, rgba(200, 164, 77, 0.06) 0%, transparent 60%),
        radial-gradient(ellipse 50% 50% at 80% 70%, rgba(200, 164, 77, 0.04) 0%, transparent 60%);
      pointer-events: none;
      z-index: 0;
    }

    /* Fine dot grid */
    #real-impact::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image: radial-gradient(rgba(200, 164, 77, 0.1) 1px, transparent 1px);
      background-size: 32px 32px;
      opacity: 0.3;
      mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, black 30%, transparent 75%);
      pointer-events: none;
      z-index: 0;
    }

    /* ── TOP BANNER: headline left / big stat right (GenQue layout) ── */
    .impact-top {
      display: grid;
      grid-template-columns: 1fr 1fr;
      min-height: 56vh;
      border-bottom: 1px solid var(--glass-border);
      position: relative;
      z-index: 2;
    }

    .impact-top-left {
      padding: 7rem 5rem 6rem 6rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border-right: 1px solid var(--glass-border);
      position: relative;
      overflow: hidden;
      z-index: 2;
    }

    .impact-top-left .section-label {
      margin-bottom: 2rem;
    }

    .impact-statement {
      font-family: 'Syne', sans-serif;
      font-size: clamp(1.9rem, 2.8vw, 3rem);
      font-weight: 800;
      letter-spacing: -0.03em;
      line-height: 1.15;
      color: var(--text-primary);
      margin-bottom: 1.75rem;
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.9s ease, transform 0.9s ease;
    }

    .impact-statement.visible,
    .impact-statement.reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .impact-statement em {
      font-style: normal;
      background: linear-gradient(135deg, var(--gold-soft), var(--gold));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    [data-theme="light"] .impact-statement em {
      background: linear-gradient(135deg, var(--gold-dim), var(--gold));
      -webkit-background-clip: text;
      background-clip: text;
    }

    .impact-sub-text {
      font-size: 1.2rem;
      color: var(--text-secondary);
      line-height: 1.8;
      font-weight: 300;
      max-width: none;
      opacity: 0;
      transform: translateY(16px);
      transition: opacity 0.9s ease 0.18s, transform 0.9s ease 0.18s;
    }

    .impact-sub-text.visible,
    .impact-sub-text.reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* ── RIGHT PANEL: stacked big numbers, 2×2 grid ── */
    .impact-top-right {
      display: flex;
      flex-direction: column;
      position: relative;
      overflow: hidden;
      z-index: 2;
    }

    /* subtle radial glow behind numbers */
    .impact-top-right::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 85% 70% at 55% 45%, rgba(200, 164, 77, 0.08) 0%, transparent 65%);
      pointer-events: none;
    }

    .impact-stat-pair {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      height: 100%;
    }

    .impact-big-stat {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 3.5rem 3rem;
      border-bottom: 1px solid var(--glass-border);
      border-right: 1px solid var(--glass-border);
      position: relative;
      z-index: 1;
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.7s ease, transform 0.7s ease, background 0.3s;
      cursor: default;
    }

    .impact-big-stat:nth-child(2) {
      border-right: none;
    }

    .impact-big-stat:nth-child(3) {
      border-bottom: none;
    }

    .impact-big-stat:nth-child(4) {
      border-right: none;
      border-bottom: none;
    }

    .impact-big-stat.visible,
    .impact-big-stat.reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .impact-big-stat:hover {
      background: rgba(200, 164, 77, 0.05);
    }

    /* top accent line on hover */
    .impact-big-stat::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--gold), var(--gold-soft), transparent);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.45s ease;
    }

    .impact-big-stat:hover::before {
      transform: scaleX(1);
    }

    .impact-big-num {
      font-family: 'Syne', sans-serif;
      font-size: clamp(2.6rem, 4.5vw, 3rem);
      font-weight: 800;
      letter-spacing: -0.05em;
      
      background: linear-gradient(135deg, var(--text-primary) 30%, var(--gold));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      margin-bottom: 0.5rem;
    }

    [data-theme="light"] .impact-big-num {
      background: linear-gradient(135deg, var(--gold-dim), var(--gold));
      -webkit-background-clip: text;
      background-clip: text;
    }

    .impact-big-label {
      font-size: 0.95rem;
      font-weight: 500;
      color: var(--text-secondary);
      line-height: 1.6;
      letter-spacing: 0.01em;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 1100px) {
      .impact-top {
        grid-template-columns: 1fr;
        min-height: auto;
      }

      .impact-top-left {
        padding: 5rem 4rem 4rem;
        border-right: none;
        border-bottom: 1px solid var(--glass-border);
      }

      .impact-top-right {
        border-top: none;
      }

      .impact-stat-pair {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        height: auto;
      }

      .impact-big-stat {
        padding: 2.5rem 2rem;
      }

      .impact-big-stat:nth-child(3),
      .impact-big-stat:nth-child(4) {
        border-bottom: none;
      }
    }

    @media (max-width: 900px) {
      .impact-statement {
        font-size: clamp(1.6rem, 5vw, 2.2rem);
      }
    }

    @media (max-width: 768px) {
      .impact-top-left {
        padding: 4rem 2rem 3rem;
      }

      .impact-stat-pair {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .impact-big-stat:nth-child(1),
      .impact-big-stat:nth-child(2) {
        border-bottom: 1px solid var(--glass-border);
      }

      .impact-big-stat:nth-child(3),
      .impact-big-stat:nth-child(4) {
        border-bottom: none;
      }
    }

    @media (max-width: 640px) {
      .impact-top-left {
        padding: 3rem 1.5rem 2.5rem;
      }

      .impact-big-stat {
        padding: 1.75rem 1.25rem;
      }

      .impact-big-num {
        font-size: 25px;
      }

      .impact-big-label {
        font-size: 0.8rem;
      }
    }

    @media (max-width: 420px) {
      .impact-stat-pair {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      }
    }
    /* ══════════════════ FOOTER ══════════════════ */
    footer {
      position: relative;
      overflow: hidden;
      background: var(--navy);
    }

    [data-theme="light"] footer {
      background: #F0EBE0;
    }

    /* Animated footer canvas background */
    #footer-canvas {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0.18;
      pointer-events: none;
    }

    /* Top accent line */
    footer::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent 0%, var(--gold-dim) 20%, var(--gold) 50%, var(--gold-dim) 80%, transparent 100%);
      z-index: 3;
    }

    /* ---- Credibility Strip ---- */

    .credibility-strip {
      position: relative;
      z-index: 2;

padding: 2.5rem 4rem 2rem;      border-bottom: 1px solid var(--glass-border);
    }

    .credibility-inner {
      max-width: none;
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(280px, 420px) auto 1fr;
      gap: 0 2rem;
      align-items: start;
    }

    /* ---- Brand column ---- */
    .cred-brand {
      padding-right: 0;
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .cred-logo-lockup {
      margin-bottom: 0;
    }

    /* .cred-logo-lockup {
      display: flex;
      align-items: center;
      gap: 0.85rem;
      margin-bottom: 1rem;
    } */

    .cred-logo-wrap {
      display: inline-block;
      border-radius: 10px;
      padding: 6px 12px;
      transition: background 0.4s ease;
    }

    [data-theme="dark"] .cred-logo-wrap {
      background: rgba(255, 255, 255, 0.08);
      backdrop-filter: blur(6px);
      border: 1px solid rgba(255, 255, 255, 0.07);
    }

    [data-theme="light"] .cred-logo-wrap {
      background: transparent;
      border: none;
    }

    .cred-logo-img {
      height: 60px;
      width: auto;
      object-fit: contain;
      display: block;
      transition: filter 0.4s ease;
    }

    /* 
    [data-theme="dark"] .cred-logo-img {
      filter: brightness(1.5) contrast(1.1) drop-shadow(0 0 8px rgba(200,164,77,0.25));
    } */

    [data-theme="light"] .cred-logo-img {
      filter: brightness(0.9) contrast(1.1);
    }

    .cred-desc {
      font-size: 0.85rem;
      color: var(--text-secondary);
      line-height: 1.65;
      margin-bottom: 0;
    }

    /* Social buttons */
    .cred-social {
      display: inline-block;
      float: right;
      margin-top: 20px;
    }

    .cred-social-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.6rem 1.2rem;
      border-radius: 100px;
      border: 1.5px solid var(--glass-border);
      background: var(--glass);
      color: var(--text-dim);
      text-decoration: none;
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: 0.03em;
      transition: border-color 0.3s, color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.25s;
      position: relative;
      overflow: hidden;
    }

    .cred-social-btn svg {
      width: 18px;
      height: 18px;
      fill: currentColor;
      flex-shrink: 0;
      transition: transform 0.3s;
    }

    .cred-social-btn:hover {
      border-color: var(--blue-light);
      color: var(--blue-light);
      background: var(--glass-hover);
      box-shadow: 0 0 20px var(--accent-glow), 0 4px 12px rgba(107, 168, 212, 0.12);
      transform: translateY(-3px);
    }

    .cred-social-btn:hover svg {
      transform: scale(1.15);
    }

    [data-theme="light"] .cred-social-btn:hover {
      color: var(--blue-deep);
      border-color: var(--blue-deep);
      box-shadow: 0 0 16px rgba(43, 95, 143, 0.14);
    }

    /* LinkedIn official blue */
    .cred-social-btn--linkedin {
      color: white;
      border-color: rgba(10, 102, 194, 0.35);
      background: #0A66C2;

    }

    [data-theme="light"] .cred-social-btn--linkedin {
      color: white;
      border-color: rgba(10, 102, 194, 0.3);
      background: #0A66C2;
    }

    .cred-social-btn--linkedin:hover {
      color: #ffffff !important;
      border-color: #0A66C2 !important;
      background: #0A66C2 !important;
      box-shadow: 0 0 20px rgba(10, 102, 194, 0.4), 0 4px 12px rgba(10, 102, 194, 0.25) !important;
    }

    [data-theme="light"] .cred-social-btn--linkedin:hover {
      color: #ffffff !important;
      border-color: #0A66C2 !important;
      background: #0A66C2 !important;
      box-shadow: 0 0 20px rgba(10, 102, 194, 0.35), 0 4px 12px rgba(10, 102, 194, 0.2) !important;
    }

    /* X (Twitter) official black */
    .cred-social-btn--twitter {
      color: var(--text-dim);
      border-color: var(--glass-border);
      background: rgba(231, 233, 234, 0.12);

    }

    [data-theme="dark"] .cred-social-btn--twitter {
      color: #E7E9EA;
      border-color: rgba(231, 233, 234, 0.2);
      background: black;
    }

    [data-theme="light"] .cred-social-btn--twitter {
      color: white;
      border-color: rgba(15, 20, 25, 0.22);
      background: black;
    }

    [data-theme="dark"] .cred-social-btn--twitter:hover {
      color: #ffffff !important;
      border-color: rgba(231, 233, 234, 0.5) !important;
      background: black !important;
      box-shadow: 0 0 16px rgba(231, 233, 234, 0.12), 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    }

    [data-theme="light"] .cred-social-btn--twitter:hover {
      color: white !important;
      border-color: rgba(15, 20, 25, 0.5) !important;
      background: black !important;
      box-shadow: 0 0 14px rgba(15, 20, 25, 0.1), 0 4px 10px rgba(15, 20, 25, 0.08) !important;
    }


    /* ---- Vertical divider ---- */
    .cred-vdivider {
      width: 1px;
      align-self: stretch;
      background: var(--glass-border);
      margin: 0 2.5rem;
      min-height: 100px;
    }

    /* ---- Credibility columns ---- */
    .cred-columns {
      flex: 1;
      display: grid;
      grid-template-columns: 1fr 1fr 2fr;
      gap: 0 2.5rem;
      align-items: start;
    }

    @media (max-width: 1400px) {
      .credibility-inner {
        grid-template-columns: minmax(260px, 360px) auto 1fr;
        gap: 0 1.5rem;
      }

      .cred-vdivider {
        margin: 0 1.75rem;
      }

      .cred-columns {
        gap: 0 1.5rem;
      }
    }

    @media (max-width: 1100px) {
      .credibility-inner {
        grid-template-columns: 1fr;
        gap: 36px;
      }

      .cred-vdivider {
        display: none;
      }

      .cred-columns {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
      }
    }

    .cred-group {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }

    .cred-group-header {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      margin-bottom: 0.2rem;
    }

    .cred-group-icon {
      width: 30px;
      height: 30px;
      border-radius: 7px;
      background: var(--glass);
      border: 1px solid var(--glass-border);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gold);
      flex-shrink: 0;
    }

    [data-theme="light"] .cred-group-icon {
      color: var(--gold-dim);
    }

    .cred-group-label {
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--gold);
    }

    [data-theme="light"] .cred-group-label {
      color: var(--gold-dim);
    }

    .cred-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 0.55rem;
    }

    .cred-badge-item {
      display: flex;
      align-items: center;
      text-decoration: none;
      border-radius: 10px;
      overflow: hidden;
      border: 1px solid var(--glass-border);
      background: var(--glass);
      transition: all 0.28s;
      cursor: pointer;
      width: 76px;
      height: 76px;
    }

    [data-theme="dark"] .cred-badge-item {
      background: rgba(255, 255, 255, 0.12);
      border-color: rgba(200, 164, 77, 0.22);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 2px 8px rgba(0, 0, 0, 0.3);
    }

    .cred-badge-item:hover {
      border-color: var(--gold);
      box-shadow: 0 6px 24px rgba(200, 164, 77, 0.2);
      transform: translateY(-3px) scale(1.04);
    }

    [data-theme="dark"] .cred-badge-item:hover {
      background: rgba(255, 255, 255, 0.18);
      box-shadow: 0 6px 28px rgba(200, 164, 77, 0.25), 0 0 12px rgba(200, 164, 77, 0.1), inset 0 0 0 1px rgba(200, 164, 77, 0.2);
    }

    .cred-badge-img-wrap {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 8px;
    }

    .cred-badge-img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
    }

    [data-theme="dark"] .cred-badge-img {
      filter: brightness(1.3) contrast(1.05);
    }

    [data-theme="dark"] .cred-badge-item:hover .cred-badge-img {
      filter: brightness(1.5) contrast(1.1) drop-shadow(0 0 4px rgba(200, 164, 77, 0.3));
    }

    /* ---- Main footer navigation columns ---- */

    /* ---- Footer Bottom Bar ---- */
    .footer-bottom--enhanced {
      position: relative;
      z-index: 2;
      padding: 1.25rem 4rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      flex-wrap: wrap;
      border-top: 1px solid var(--glass-border);
      margin: 0 auto;
    padding: 1.25rem 4rem;
    }

    .footer-bottom-left p {
      font-size: 0.8rem;
      color: var(--text-secondary);
      line-height: 1.5;
    }

    .footer-hq {
      font-size: 0.72rem !important;
      color: var(--text-muted) !important;
      margin-top: 2px;
    }

    .footer-bottom-links {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      flex-wrap: wrap;
    }

    .footer-bottom-links--center {
      justify-content: center;
    }

    .footer-bottom-links--right {
      justify-content: center;
      padding-right: 150px;
    }

    .footer-bottom-links a {
      font-size: 0.78rem;
      color: var(--text-secondary);
      text-decoration: none;
      transition: color 0.2s;
    }

    .footer-bottom-links a:hover {
      color: var(--gold);
    }

    [data-theme="light"] .footer-bottom-links a:hover {
      color: var(--gold-dim);
    }

    .footer-sep {
      color: var(--text-muted);
      font-size: 0.7rem;
    }

    @media (max-width: 768px) {
      .footer-bottom--enhanced {
        padding: 1.25rem 1.5rem;
        flex-direction: column;
        text-align: center;
        gap: 0.6rem;
      }

      .footer-bottom-links--center,
      .footer-bottom-links--right {
        justify-content: center;
      }
    }

    /* Animated scan line across footer */
    .footer-scan-line {
      position: absolute;
      top: 0;
      left: -100%;
      width: 60%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(200, 164, 77, 0.03), transparent);
      animation: footerScan 8s ease-in-out infinite;
      pointer-events: none;
      z-index: 1;
    }

    @keyframes footerScan {
      0% {
        left: -60%;
      }

      100% {
        left: 110%;
      }
    }

    /* ---- Old footer CSS removed ---- */
    .footer-cta {
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.1), rgba(200, 164, 77, 0.05));
      border: 1px solid rgba(200, 164, 77, 0.25);
      border-radius: 24px;
      padding: clamp(40px, 5vw, 72px);
      text-align: center;
      margin-bottom: 60px;
      width: 100%;
      position: relative;
      overflow: hidden;
    }

    .footer-cta::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 0%, rgba(200, 164, 77, 0.1) 0%, transparent 60%);
    }

    .footer-cta h2 {
      font-size: clamp(1.8rem, 3vw, 2.5rem);
      margin-bottom: 12px;
      position: relative;
    }

    .footer-cta p {
      font-size: 1rem;
      color: var(--text-secondary);
      margin-bottom: 28px;
      position: relative;
    }

    .footer-cta .btn-primary {
      position: relative;
    }

    /* ══════════════════ FINAL CTA SECTION — PREMIUM REDESIGN ══════════════════ */
    .final-cta-section {
      position: relative;
      overflow: hidden;
      padding: 100px clamp(20px, 4vw, 64px) 100px;
      background: var(--bg);
    }

    /* Ambient grid */
    .final-cta-bg-grid {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(200, 164, 77, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200, 164, 77, 0.03) 1px, transparent 1px);
      background-size: 56px 56px;
      pointer-events: none;
      mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, black 20%, transparent 80%);
    }

    /* Ambient glow orbs */
    .final-cta-orb {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
      filter: blur(70px);
    }

    .final-cta-orb-1 {
      width: 600px;
      height: 600px;
      background: radial-gradient(circle, rgba(200, 164, 77, 0.12) 0%, transparent 65%);
      top: -100px;
      left: 50%;
      transform: translateX(-50%);
      animation: ctaOrbPulse1 7s ease-in-out infinite;
    }

    .final-cta-orb-2 {
      width: 350px;
      height: 350px;
      background: radial-gradient(circle, rgba(200, 164, 77, 0.08) 0%, transparent 70%);
      bottom: -60px;
      left: 10%;
      animation: ctaOrbPulse2 9s ease-in-out infinite reverse;
    }

    .final-cta-orb-3 {
      width: 280px;
      height: 280px;
      background: radial-gradient(circle, rgba(200, 164, 77, 0.06) 0%, transparent 70%);
      top: 20%;
      right: 8%;
      animation: ctaOrbPulse2 11s ease-in-out infinite;
    }

    @keyframes ctaOrbPulse1 {

      0%,
      100% {
        opacity: 0.7;
        transform: translateX(-50%) scale(1);
      }

      50% {
        opacity: 1;
        transform: translateX(-50%) scale(1.1);
      }
    }

    @keyframes ctaOrbPulse2 {

      0%,
      100% {
        opacity: 0.5;
        transform: scale(1);
      }

      50% {
        opacity: 0.9;
        transform: scale(1.12);
      }
    }

    /* Inner container */
    .final-cta-inner {
      position: relative;
      z-index: 2;
      max-width: none;
      margin: 0 auto;
      text-align: center;
      background: rgba(15, 23, 42, 0.55);
      border: 1px solid rgba(200, 164, 77, 0.22);
      border-radius: 32px;
      padding: clamp(48px, 6vw, 88px) clamp(32px, 5vw, 80px);
      backdrop-filter: blur(32px);
      -webkit-backdrop-filter: blur(32px);
      box-shadow:
        0 0 0 1px rgba(200, 164, 77, 0.06) inset,
        0 48px 120px rgba(0, 0, 0, 0.55),
        0 0 80px rgba(200, 164, 77, 0.06);
      overflow: hidden;
    }

    [data-theme="light"] .final-cta-inner {
      background: rgba(255, 255, 255, 0.75);
      border-color: rgba(200, 164, 77, 0.28);
      box-shadow: 0 0 0 1px rgba(200, 164, 77, 0.1) inset, 0 40px 100px rgba(0, 0, 0, 0.1), 0 0 60px rgba(200, 164, 77, 0.08);
    }

    /* Animated top-border sweep on inner card */
    .final-cta-inner::before {
      content: '';
      position: absolute;
      top: 0;
      left: -60%;
      width: 40%;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      animation: ctaTopSweep 5s ease-in-out infinite;
      z-index: 3;
    }

    @keyframes ctaTopSweep {
      0% {
        left: -40%;
        opacity: 0;
      }

      15% {
        opacity: 1;
      }

      85% {
        opacity: 1;
      }

      100% {
        left: 110%;
        opacity: 0;
      }
    }

    /* Badge */
    .final-cta-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 16px;
      border-radius: 100px;
      border: 1px solid rgba(200, 164, 77, 0.28);
      background: rgba(200, 164, 77, 0.08);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 28px;
      backdrop-filter: blur(8px);
    }

    .final-cta-badge-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--gold);
      animation: blink 2s ease-in-out infinite;
    }

    /* Headline */
    .final-cta-headline {
      font-family: 'Syne', sans-serif;
      font-size: clamp(2rem, 3.8vw, 2.8rem);
      font-weight: 800;
      line-height: 1.4;
      letter-spacing: -0.025em;
      color: var(--text-primary);
      margin-bottom: 24px;
    }

    .final-cta-headline-grad {
      background: #C8A95F;
      /* background: linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 55%, var(--gold-dim) 100%); */
      background-size: 200% 100%;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      animation: ctaGradShift 4s ease-in-out infinite;
    }

    @keyframes ctaGradShift {

      0%,
      100% {
        background-position: 0% 50%;
      }

      50% {
        background-position: 100% 50%;
      }
    }

    /* Body */
    .final-cta-body {
      font-size: clamp(1rem, 1.3vw, 1.2rem);
      line-height: 1.75;
      color: var(--text-secondary);
      max-width: none;
      margin: 0 auto 36px;
      font-weight: 300;
    }

    /* CTA actions */
    .final-cta-actions {
      display: flex;
      justify-content: center;
      gap: 16px;
      flex-wrap: wrap;
      margin-bottom: 40px;
    }

    .final-cta-btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 18px 40px;
      border-radius: 14px;
      background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dim) 100%);
      color: #0A0A0D;
      font-family: 'Syne', sans-serif;
      font-weight: 700;
      font-size: 0.95rem;
      letter-spacing: 0.04em;
      border: none;
      cursor: pointer;
      text-decoration: none;
      transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.3s;
      box-shadow: 0 0 40px rgba(200, 164, 77, 0.35), 0 8px 24px rgba(200, 164, 77, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.25);
      position: relative;
      overflow: hidden;
    }

    .final-cta-btn-primary::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, transparent 60%);
      border-radius: 14px;
      pointer-events: none;
    }

    .final-cta-btn-primary:hover {
      transform: translateY(-3px) scale(1.02);
      box-shadow: 0 0 60px rgba(200, 164, 77, 0.55), 0 16px 40px rgba(200, 164, 77, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    }

    /* Proof points */
    .final-cta-proof {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      flex-wrap: wrap;
      row-gap: 12px;
    }

    .final-cta-proof-item {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.95rem;
      color: var(--text-secondary);
      font-weight: 500;
      padding: 0 20px;
    }

    .final-cta-proof-icon {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: rgba(200, 164, 77, 0.12);
      border: 1px solid rgba(200, 164, 77, 0.25);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .final-cta-proof-icon svg {
      width: 10px;
      height: 10px;
    }

    .final-cta-proof-sep {
      width: 1px;
      height: 16px;
      background: rgba(200, 164, 77, 0.2);
      flex-shrink: 0;
    }

    @media (max-width: 768px) {
      .final-cta-section {
        padding: 72px 1.5rem;
      }

      .final-cta-inner {
        padding: 48px 28px;
        border-radius: 20px;
      }

      .final-cta-headline {
        font-size: clamp(1.75rem, 5.5vw, 2.4rem);
      }

      .final-cta-proof {
        flex-direction: column;
        gap: 8px;
      }

      .final-cta-proof-sep {
        display: none;
      }
    }

   /* ============================================================
       MASCOT ENTRY OVERLAY — Vimeo video mascot, cloud bubble above
    ============================================================ */

/* Full-screen backdrop — above page (9500), below loader (10000) */
#mascot-entry-overlay {
    position: fixed;
    inset: 0;
    z-index: 9500;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 22, 40, 0.65);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 2rem 1rem;
    /* prevent edge-clipping on small screens */
}

[data-theme="light"] #mascot-entry-overlay {
    background: rgba(238, 244, 251, 0.65);
}

/* ── Stage: vertical stack — bubble → tail → video ──────────── */
#mascot-entry-stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    position: relative;
    z-index: 9501;
    /* explicit: above the frosted backdrop */
    /* GSAP starts here and animates to opacity:1 scale:1 y:0 */
    opacity: 0;
    transform: translateY(24px) scale(0.93);
    will-change: transform, opacity;
    /* Ensure the whole stack fits in viewport */
    max-height: calc(100vh - 3rem);
    justify-content: center bottom;
}

/* ── Cloud speech bubble ─────────────────────────────────────── */
#mascot-entry-bubble {

    position: relative;
    width: clamp(400px, 44vw, 450px);
    padding: 2rem 1.7rem 2rem;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(28px) saturate(1.8);
    -webkit-backdrop-filter: blur(28px) saturate(1.8);
    border: 1px solid rgba(198, 163, 88, 0.45);
    border-radius: 50px;
    box-shadow:
        0 10px 44px rgba(198, 163, 88, 0.35),
        0 0 0 1px rgba(198, 163, 88, 0.20) inset;
    /* GSAP starts here and animates to opacity:1 scale:1 y:0 */
    opacity: 0;
    transform: translateY(10px) scale(0.90);
    will-change: transform, opacity;
    animation: meb-float 3.6s ease-in-out infinite;
    animation-play-state: paused;
    z-index: 9503;
}

[data-theme="light"] #mascot-entry-bubble {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(198, 163, 88, 0.30);
    box-shadow: 0 10px 44px rgba(43, 95, 143, 0.20),
        0 0 0 1px rgba(255, 255, 255, 0.95) inset;
}

#mascot-entry-bubble-text {
    font-family: var(--font-body, 'DM Sans', sans-serif);
    font-size: clamp(1.2rem, 1.8vw, 1.1rem);
    font-weight: 600;
    color: #F0F6FF;
    line-height: 1.65;
    text-align: center;
    margin: 0;
    position: relative;
    z-index: 1;
}

[data-theme="light"] #mascot-entry-bubble-text {
    color: #c6a358;
}

/* ── Cloud bumps — wavy bottom edge of bubble ────────────────── */
.meb-cloud-bumps {
    position: absolute;
    bottom: -13px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 4px;
    z-index: 4;
}

.meb-cloud-bumps span {
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: 1px solid rgba(167, 199, 231, 0.30);
    box-shadow: 0 4px 16px rgba(107, 168, 212, 0.15);
}

[data-theme="light"] .meb-cloud-bumps span {
    background: rgba(255, 255, 255, 0.78);
    border-color: rgba(43, 95, 143, 0.22);
}

/* ── Tail row — sits in normal document flow between bubble & video */
.meb-tail-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin-top: 10px;
    /* gap from bump row bottom */
    margin-bottom: 6px;
    z-index: 2;
}

.meb-tail-dot {
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: 1px solid rgba(167, 199, 231, 0.26);
    box-shadow: 0 3px 10px rgba(107, 168, 212, 0.12);
}

[data-theme="light"] .meb-tail-dot {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(43, 95, 143, 0.20);
}

.meb-tail-1 {
    width: 14px;
    height: 14px;
}

.meb-tail-2 {
    width: 9px;
    height: 9px;
}

/* ── Mascot figure wrapper ───────────────────────────────────── */
#mascot-entry-figure {
    position: relative;
    z-index: 9502;
    display: block;
    animation: meb-mascot-float 3.6s ease-in-out infinite;
    animation-play-state: paused;
}

/* ── Video shell — isolation: isolate scopes mix-blend-mode to ONLY the GIF ─── */
#mascot-video-shell {
    position: relative;
    display: block;
    width: clamp(550px, 32vw, 480px);
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 0;
    background: transparent;
    isolation: isolate;
    filter: drop-shadow(0 28px 56px rgba(198, 163, 88, 0.40));
}

#mascot-entry-gif {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    pointer-events: none;
    mix-blend-mode: screen;
}

/* ── Float keyframes ─────────────────────────────────────────── */
@keyframes meb-float {

    0%,
    100% {
        transform: translateY(0) scale(1);
    }

    48% {
        transform: translateY(-9px) scale(1.006);
    }
}

@keyframes meb-mascot-float {

    0%,
    100% {
        transform: translateY(0);
    }

    48% {
        transform: translateY(-9px);
    }
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 900px) {
    #mascot-video-shell {
        width: clamp(260px, 52vmin, 380px);
    }

    #mascot-entry-bubble {
        width: clamp(240px, 70vw, 360px);
    }
}

@media (max-width: 520px) {
    #mascot-video-shell {
        width: clamp(220px, 68vw, 300px);
    }

    #mascot-entry-bubble {
        width: clamp(200px, 82vw, 300px);
        padding: 1rem 1.2rem 1.8rem;
    }

    #mascot-entry-bubble-text {
        font-size: 0.88rem;
    }
}

/* ── Reduced motion ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {

    #mascot-entry-bubble,
    #mascot-entry-figure {
        animation: none !important;
    }
}

/* ============================================================
       MASCOT SECTION ANIMATIONS (bottom-right mascot)
    ============================================================ */
#mascot-main {
    will-change: transform;
}

@keyframes mascot-wave {

    0%,
    100% {
        transform: translateY(0) rotate(-2deg);
    }

    20% {
        transform: translateY(-10px) rotate(8deg);
    }

    40% {
        transform: translateY(-6px) rotate(-4deg);
    }

    60% {
        transform: translateY(-14px) rotate(6deg);
    }

    80% {
        transform: translateY(-4px) rotate(-2deg);
    }
}

@keyframes mascot-bounce {

    0%,
    100% {
        transform: translateY(0) rotate(-2deg);
    }

    30% {
        transform: translateY(-20px) rotate(1deg) scale(1.05);
    }

    60% {
        transform: translateY(-8px) rotate(-1deg) scale(1.02);
    }
}

@keyframes mascot-idle-gentle {

    0%,
    100% {
        transform: translateY(0) rotate(-1deg);
    }

    50% {
        transform: translateY(-10px) rotate(1deg);
    }
}

@keyframes mascot-nod {

    0%,
    100% {
        transform: translateY(0) rotate(-2deg);
    }

    25% {
        transform: translateY(-5px) rotate(-5deg);
    }

    50% {
        transform: translateY(-12px) rotate(3deg);
    }

    75% {
        transform: translateY(-3px) rotate(-1deg);
    }
}

/* .mascot-section-wave {
    animation: mascot-wave 2.4s ease-in-out 1 forwards, mascot-float 4s ease-in-out infinite 2.5s !important;
} */

/* .mascot-section-bounce {
    animation: mascot-bounce 1.8s ease-in-out 1 forwards, mascot-float 4s ease-in-out infinite 1.9s !important;
}

.mascot-section-nod {
    animation: mascot-nod 2.0s ease-in-out 1 forwards, mascot-float 4s ease-in-out infinite 2.1s !important;
}

.mascot-section-idle {
    animation: mascot-idle-gentle 3.5s ease-in-out infinite !important;
} */

.mascot-bubble[data-msg]::before {
    content: none;
}

@media (prefers-reduced-motion: reduce) {

    .mascot-section-wave,
    .mascot-section-bounce,
    .mascot-section-nod,
    .mascot-section-idle {
        animation: none !important;
    }

    #mascot-main {
        animation: mascot-float 6s ease-in-out infinite !important;
    }
}

@keyframes shimmer-move {
    0% {
        transform: translateX(-100%) rotate(30deg);
    }

    100% {
        transform: translateX(300%) rotate(30deg);
    }
}
/* MASCOT — Section-contextual placement (NOT fixed globally) */
.mascot-wrapper {
    position: fixed;
    bottom: -10px;
    right: 50px;
    z-index: 10;
    filter: drop-shadow(0 20px 40px rgba(107, 168, 212, 0.4));
    /* Default: visible only when not in footer zone */
    transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Hide mascot when page is scrolled near footer */
.mascot-wrapper.mascot-hidden {
    /* opacity: 0;
    pointer-events: none; */
    transform: translateY(60px) scale(0.8);
}

[data-theme="light"] .mascot-wrapper {
    filter: drop-shadow(0 20px 40px rgba(43, 95, 143, 0.25));
}

.mascot-wrapper img {
    width: 180px;
    height: auto;
    display: block;
}

@keyframes mascot-float {

    0%,
    100% {
        transform: translateY(0) rotate(-2deg);
    }

    25% {
        transform: translateY(-14px) rotate(1deg);
    }

    50% {
        transform: translateY(-8px) rotate(-1deg);
    }

    75% {
        transform: translateY(-18px) rotate(2deg);
    }
}

/* Section-based mascot reaction animations */
@keyframes mascot-wave {

    0%,
    100% {
        transform: translateY(0) rotate(-2deg);
    }

    30% {
        transform: translateY(-18px) rotate(8deg);
    }

    60% {
        transform: translateY(-10px) rotate(-5deg);
    }
}

@keyframes mascot-bounce {

    0%,
    100% {
        transform: translateY(0) scale(1) rotate(-2deg);
    }

    40% {
        transform: translateY(-22px) scale(1.05) rotate(2deg);
    }

    70% {
        transform: translateY(-8px) scale(0.98) rotate(-1deg);
    }
}

@keyframes mascot-nod {

    0%,
    100% {
        transform: translateY(0) rotateX(0deg) rotate(-2deg);
    }

    30% {
        transform: translateY(-6px) rotate(-6deg);
    }

    60% {
        transform: translateY(-12px) rotate(4deg);
    }
}

/* .mascot-wrapper.mascot-section-wave {
    animation: mascot-wave 1.2s ease-in-out 1;
} */

/* .mascot-wrapper.mascot-section-bounce {
    animation: mascot-bounce 0.9s cubic-bezier(0.36, 0.07, 0.19, 0.97) 1;
}

.mascot-wrapper.mascot-section-nod {
    animation: mascot-nod 1s ease-in-out 1;
}

.mascot-wrapper.mascot-section-idle {
    animation: none;
} */

.mascot-bubble {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--black);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    padding: 0.6rem 1rem;
    font-size: 0.78rem;
    color: var(--blue-light);
    white-space: nowrap;
    font-family: var(--font-display);
    font-weight: 600;
    backdrop-filter: blur(12px);
    box-shadow: 0 8px 24px var(--accent-glow);
    animation: bubble-pop 3s ease-in-out infinite;
}

[data-theme="light"] .mascot-bubble {
    background: var(--gold-soft);
}

.mascot-bubble::after {
    content: '';
    position: absolute;
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid var(--glass-border);
}

@keyframes bubble-pop {

    0%,
    80%,
    100% {
        opacity: 1;
        transform: translateX(-50%) scale(1);
    }

    40% {
        transform: translateX(-50%) scale(1.04);
    }
}
   
    /* ══════════════════ SCROLL ANIMATIONS ══════════════════ */
    .reveal {
      opacity: 0;
      transform: translateY(30px);
    }

    .reveal.visible {
      animation: revealUp 0.7s cubic-bezier(0.23, 1, 0.32, 1) forwards;
    }

    @keyframes revealUp {
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .stagger-1 {
      animation-delay: 0.1s !important;
    }

    .stagger-2 {
      animation-delay: 0.2s !important;
    }

    .stagger-3 {
      animation-delay: 0.3s !important;
    }

    .stagger-4 {
      animation-delay: 0.4s !important;
    }

    /* ══════════════════ AMBIENT GRID ══════════════════ */
    .ambient-grid {
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: 0.04;
      background-image:
        linear-gradient(var(--gold) 1px, transparent 1px),
        linear-gradient(90deg, var(--gold) 1px, transparent 1px);
      background-size: 60px 60px;
    }

    /* ══════════════════ HAMBURGER MENU ══════════════════ */
    .hamburger-btn {
      display: none;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 42px;
      height: 42px;
      border: 1px solid var(--glass-border);
      border-radius: 10px;
      background: var(--glass);
      backdrop-filter: blur(12px);
      cursor: pointer;
      gap: 5px;
      padding: 10px;
      transition: border-color 0.3s, background 0.3s, box-shadow 0.3s;
      flex-shrink: 0;
      position: relative;
      z-index: 1001;
    }

    .hamburger-btn:hover {
      border-color: var(--gold-dim);
      background: rgba(200, 164, 77, 0.08);
      box-shadow: 0 0 16px rgba(200, 164, 77, 0.15);
    }

    .hamburger-line {
      display: block;
      width: 20px;
      height: 1.5px;
      background: var(--text-primary);
      border-radius: 2px;
      transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s ease, background 0.3s;
      transform-origin: center;
    }

    .hamburger-btn.open .hamburger-line:nth-child(1) {
      transform: translateY(6.5px) rotate(45deg);
      background: var(--gold);
    }

    .hamburger-btn.open .hamburger-line:nth-child(2) {
      opacity: 0;
      transform: scaleX(0);
    }

    .hamburger-btn.open .hamburger-line:nth-child(3) {
      transform: translateY(-6.5px) rotate(-45deg);
      background: var(--gold);
    }

    /* Mobile overlay backdrop */
    .mobile-menu-backdrop {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 998;
      background: rgba(0, 0, 0, 0.55);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      opacity: 0;
      transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
      pointer-events: none;
    }

    .mobile-menu-backdrop.visible {
      opacity: 1;
      pointer-events: all;
    }

    /* Mobile slide-in drawer */
    .mobile-menu {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 999;
      background: rgba(10, 10, 13, 0.92);
      backdrop-filter: blur(32px) saturate(1.8);
      -webkit-backdrop-filter: blur(32px) saturate(1.8);
      border-bottom: 1px solid rgba(200, 164, 77, 0.25);
      padding: 0;
      transform: translateY(-100%);
      transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s ease;
      opacity: 0;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(200, 164, 77, 0.08) inset;
    }

    [data-theme="light"] .mobile-menu {
      background: rgba(250, 250, 247, 0.95);
      border-bottom-color: rgba(200, 164, 77, 0.3);
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(200, 164, 77, 0.1) inset;
    }

    .mobile-menu.open {
      transform: translateY(0);
      opacity: 1;
    }

    /* Mobile menu top header bar (matches nav height) */
    .mobile-menu-header {
      height: 76px;
      display: flex;
      align-items: center;
      padding: 0 clamp(20px, 5vw, 40px);
      border-bottom: 1px solid rgba(200, 164, 77, 0.1);
      flex-shrink: 0;
    }

    /* Mobile menu nav links */
    .mobile-menu-nav {
      padding: 24px clamp(20px, 5vw, 40px);
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .mobile-menu-link {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 14px 16px;
      border-radius: 12px;
      text-decoration: none;
      color: var(--text-secondary);
      font-family: 'Syne', sans-serif;
      font-size: 1.05rem;
      font-weight: 600;
      letter-spacing: 0.01em;
      border: 1px solid transparent;
      transition: color 0.25s, background 0.25s, border-color 0.25s, opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1), transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
      position: relative;
      overflow: hidden;
      opacity: 0;
      transform: translateX(-16px);
    }

    .mobile-menu.open .mobile-menu-link {
      opacity: 1;
      transform: translateX(0);
    }

    .mobile-menu.open .mobile-menu-link:nth-child(1) {
      transition-delay: 0.08s;
    }

    .mobile-menu.open .mobile-menu-link:nth-child(2) {
      transition-delay: 0.12s;
    }

    .mobile-menu.open .mobile-menu-link:nth-child(3) {
      transition-delay: 0.16s;
    }

    .mobile-menu.open .mobile-menu-link:nth-child(4) {
      transition-delay: 0.20s;
    }

    .mobile-menu.open .mobile-menu-link:nth-child(5) {
      transition-delay: 0.24s;
    }

    .mobile-menu.open .mobile-menu-link:nth-child(6) {
      transition-delay: 0.28s;
    }

    .mobile-menu.open .mobile-menu-link:nth-child(7) {
      transition-delay: 0.32s;
    }

    .mobile-menu-link:hover,
    .mobile-menu-link.active {
      color: var(--gold-soft);
      background: rgba(200, 164, 77, 0.07);
      border-color: rgba(200, 164, 77, 0.2);
    }

    .mobile-menu-link-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
      opacity: 0;
      transition: opacity 0.2s;
    }

    .mobile-menu-link:hover .mobile-menu-link-dot,
    .mobile-menu-link.active .mobile-menu-link-dot {
      opacity: 1;
    }

    /* Mobile menu CTA */
    .mobile-menu-cta {
      padding: 0 clamp(20px, 5vw, 40px) 32px;
      border-top: 1px solid rgba(200, 164, 77, 0.1);
      padding-top: 20px;
      margin-top: 4px;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity 0.4s ease 0.36s, transform 0.4s ease 0.36s;
    }

    .mobile-menu.open .mobile-menu-cta {
      opacity: 1;
      transform: translateY(0);
    }

    .mobile-menu-cta .btn-primary {
      width: 100%;
      justify-content: center;
      padding: 16px 24px;
    }

    /* Gold accent line at top of mobile menu */
    .mobile-menu::before {
      content: '';
      position: absolute;
      top: 0;
      left: 10%;
      right: 10%;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      opacity: 0.6;
    }


    /* Typewriter cursor */
    .typewriter::after {
      content: '|';
      color: var(--gold);
      animation: blink 0.7s step-end infinite;
    }

    @keyframes blink {

      0%,
      100% {
        opacity: 1;
      }

      50% {
        opacity: 0;
      }
    }

    /* ══════════════════ home TYPEWRITER ══════════════════ */
    .home-typewriter-wrap {
      font-size: 3rem;
      display: inline;
      position: relative;
    }

    .home-typewriter-text {
      background: linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 60%, #a07830 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      background-size: 200% 100%;
      animation: twShimmer 3s ease-in-out infinite;
      position: relative;
    }

    @keyframes twShimmer {
      0% {
        background-position: 100% 50%;
      }

      50% {
        background-position: 0% 50%;
      }

      100% {
        background-position: 100% 50%;
      }
    }

    .home-typewriter-text::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      opacity: 0.5;
      animation: twUnderline 0.4s ease forwards;
      transform-origin: left;
    }

    @keyframes twUnderline {
      from {
        transform: scaleX(0);
        opacity: 0;
      }

      to {
        transform: scaleX(1);
        opacity: 0.5;
      }
    }

    .home-typewriter-cursor {
      display: inline-block;
      width: 3px;
      height: 0.85em;
      background: linear-gradient(180deg, var(--gold-soft), var(--gold));
      margin-left: 4px;
      vertical-align: middle;
      border-radius: 2px;
      animation: twBlink 0.65s step-end infinite;
      -webkit-text-fill-color: initial;
      box-shadow: 0 0 8px rgba(200, 164, 77, 0.8), 0 0 20px rgba(200, 164, 77, 0.35);
    }

    @keyframes twBlink {

      0%,
      100% {
        opacity: 1;
        box-shadow: 0 0 8px rgba(200, 164, 77, 0.8), 0 0 20px rgba(200, 164, 77, 0.35);
      }

      50% {
        opacity: 0;
        box-shadow: none;
      }
    }

    .home-typewriter-cursor.done {
      animation: twBlinkSlow 1.4s step-end infinite;
      box-shadow: 0 0 12px rgba(200, 164, 77, 0.9), 0 0 28px rgba(200, 164, 77, 0.45);
    }

    @keyframes twBlinkSlow {

      0%,
      100% {
        opacity: 1;
      }

      50% {
        opacity: 0.15;
      }
    }

    .home-typewriter-cursor.hidden {
      display: none;
    }

    /* Gold glow pulse behind the typewriter text once typing completes */
    .home-typewriter-wrap.tw-complete::before {
      content: '';
      position: absolute;
      inset: -6px -12px;
      background: radial-gradient(ellipse at center, rgba(200, 164, 77, 0.12) 0%, transparent 70%);
      border-radius: 8px;
      animation: twGlowPulse 2.5s ease-in-out infinite;
      pointer-events: none;
      z-index: -1;
    }

    @keyframes twGlowPulse {

      0%,
      100% {
        opacity: 0.6;
        transform: scale(1);
      }

      50% {
        opacity: 1;
        transform: scale(1.04);
      }
    }

    /* ══════════════════ STATS COUNT-UP GLOW PULSE ══════════════════ */
    @keyframes statNumGlowPulse {

      0%,
      100% {
        text-shadow: 0 0 0px rgba(200, 164, 77, 0);
        filter: brightness(1);
      }

      50% {
        text-shadow: 0 0 18px rgba(200, 164, 77, 0.55), 0 0 32px rgba(200, 164, 77, 0.25);
        filter: brightness(1.15);
      }
    }

    .stat-num-counting {
      animation: statNumGlowPulse 0.6s ease-in-out infinite;
    }

    /* ══════════════════ PREMIUM STATS SECTION — HORIZONTAL ROW ══════════════════ */
    

    @media (max-width: 900px) {
      .stats-dashboard {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
      }

      .stat-card-main {
        grid-column: 1 / 3;
        grid-row: 1;
        min-height: 260px;
        flex-direction: row;
      }

      .stat-card-wide {
        grid-column: 1 / 3;
        grid-row: 2;
      }

      .stat-card-sm1 {
        grid-column: 1;
        grid-row: 3;
      }

      .stat-card-sm2 {
        grid-column: 2;
        grid-row: 3;
      }
    }

    @media (max-width: 600px) {
      .stats-dashboard {
        grid-template-columns: 1fr;
      }

      .stat-card-main,
      .stat-card-wide,
      .stat-card-sm1,
      .stat-card-sm2 {
        grid-column: 1;
        grid-row: auto;
      }

      .stat-card-wide-inner {
        flex-direction: column;
        gap: 24px;
      }

      section {
        padding: 72px 1.25rem;
      }

      footer {
        padding: 60px 1.25rem 32px;
      }

      #home {
        padding: 120px 1.25rem 72px;
      }

      .nav-inner {
        padding: 0 1.25rem;
      }

      .credibility-strip {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
      }
    }

    /* ══════════════════ VIDEO SHOWCASE SECTION ══════════════════ */
    #video-showcase {
      background: var(--bg);
      overflow: hidden;
      position: relative;
    }

    [data-theme="light"] #video-showcase {
      background: var(--navy);
    }

    .video-bg-gradient {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(200, 164, 77, 0.06) 0%, transparent 70%);
      pointer-events: none;
    }

    .video-section-header {
      text-align: center;
      margin-bottom: 60px;
      position: relative;
      z-index: 1;
    }

    .video-section-header h2 {
      font-size: clamp(1.8rem, 3.2vw, 2.8rem);
      letter-spacing: -0.02em;
      margin-top: 14px;
    }

    .video-section-header p {
      font-size: 1rem;
      color: var(--text-secondary);
      max-width: none;
      margin: 16px auto 0;
      line-height: 1.7;
      font-weight: 300;
    }

    /* Video container */
    .video-container {
      position: relative;
      z-index: 1;
      max-width: 1000px;
      margin: 0 auto;
      border-radius: 20px;
      overflow: hidden;
      background: var(--surface);
      border: 1px solid rgba(200, 164, 77, 0.2);
      box-shadow:
        0 0 0 1px rgba(200, 164, 77, 0.06),
        0 40px 100px rgba(0, 0, 0, 0.8),
        0 0 60px rgba(200, 164, 77, 0.08);
      opacity: 0;
      transform: translateY(40px) scale(0.97);
      transition: opacity 0.9s cubic-bezier(0.23, 1, 0.32, 1), transform 0.9s cubic-bezier(0.23, 1, 0.32, 1);
    }

    [data-theme="light"] .video-container {
      box-shadow: 0 0 0 1px rgba(200, 164, 77, 0.1), 0 40px 100px rgba(0, 0, 0, 0.15), 0 0 60px rgba(200, 164, 77, 0.08);
    }

    .video-container.revealed {
      opacity: 1;
      transform: translateY(0) scale(1);
    }

    .video-aspect {
      position: relative;
      aspect-ratio: 16/9;
      background: var(--surface-2);
    }

    .video-aspect iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: none;
    }

    /* Custom controls overlay */
    .video-controls-bar {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 14px 20px;
      background: var(--surface);
      backdrop-filter: blur(20px);
      border-top: 1px solid rgba(200, 164, 77, 0.1);
    }

    .vid-btn {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: rgba(200, 164, 77, 0.08);
      border: 1px solid rgba(200, 164, 77, 0.15);
      color: var(--gold);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: background 0.2s, border-color 0.2s, transform 0.2s;
      flex-shrink: 0;
    }

    .vid-btn:hover {
      background: rgba(200, 164, 77, 0.16);
      border-color: rgba(200, 164, 77, 0.35);
      transform: scale(1.08);
    }

    .vid-btn svg {
      width: 14px;
      height: 14px;
    }

    .vid-seek-wrap {
      flex: 1;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .vid-time {
      font-size: 0.68rem;
      color: var(--text-muted);
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
      min-width: 36px;
    }

    .vid-seek-bar {
      flex: 1;
      height: 3px;
      background: rgba(255, 255, 255, 0.08);
      border-radius: 2px;
      position: relative;
      cursor: pointer;
    }

    .vid-seek-fill {
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      background: linear-gradient(90deg, var(--gold-dim), var(--gold));
      border-radius: 2px;
      width: 0%;
      transition: width 0.3s linear;
      pointer-events: none;
    }

    .vid-seek-thumb {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--gold);
      box-shadow: 0 0 8px rgba(200, 164, 77, 0.5);
      left: 0%;
      pointer-events: none;
      transition: left 0.3s linear;
    }

    .vid-vol-wrap {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .vid-vol-slider {
      -webkit-appearance: none;
      appearance: none;
      width: 72px;
      height: 3px;
      background: rgba(200, 164, 77, 0.2);
      border-radius: 2px;
      outline: none;
      cursor: pointer;
    }

    .vid-vol-slider::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: var(--gold);
      cursor: pointer;
      box-shadow: 0 0 6px rgba(200, 164, 77, 0.5);
    }

    .vid-vol-slider::-moz-range-thumb {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: var(--gold);
      cursor: pointer;
      border: none;
      box-shadow: 0 0 6px rgba(200, 164, 77, 0.5);
    }

    .vid-fs-icon-enter,
    .vid-fs-icon-exit {
      display: block;
    }

    .vid-fs-icon-exit {
      display: none;
    }

    /* ══════════════════ PROBLEM REDESIGN ══════════════════ */
    #problem {
      background: var(--bg);
      overflow: hidden;
    }

    [data-theme="dark"] #problem {
      background: #060810;
    }

    [data-theme="light"] #problem {
      background: var(--navy);
    }

    .problem-header {
      text-align: center;
      max-width: none;
      margin: 0 auto 80px;
      position: relative;
      z-index: 2;
    }

       .video-section-header h2 {
      font-size: clamp(1.8rem, 3vw, 2.6rem);
      font-weight: 800;
      letter-spacing: -0.02em;
      margin: 14px 0 20px;
      line-height: 1.2;
    }

    .problem-header h2 {
      font-size: clamp(1.8rem, 3vw, 2.6rem);
      font-weight: 800;
      letter-spacing: -0.02em;
      margin: 14px 0 20px;
      line-height: 1.2;
    }

    .problem-header p {
      font-size: 1.2rem;
      line-height: 1.75;
      color: var(--text-secondary);
      font-weight: 300;
    }

    /* Architecture diagram */
    .problem-diagram {
      position: relative;
      z-index: 2;
      max-width: 960px;
      margin: 0 auto;
    }

    /* Problem video container */
    .problem-video-container {
      margin-bottom: 0;
      border-radius: 20px;
      overflow: hidden;
    }

    /* Stats row below the problem video */
    .problem-stats-row {
      display: flex;
      align-items: stretch;
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-top: none;
      border-radius: 0 0 20px 20px;
      overflow: hidden;
    }

    .pstat-item {
      flex: 1;
      padding: 22px 28px;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .pstat-divider {
      width: 1px;
      background: var(--glass-border);
      flex-shrink: 0;
      margin: 16px 0;
    }

    .pstat-num {
      font-family: 'Syne', sans-serif;
      font-size: 2.4rem;
      font-weight: 800;
      color: var(--gold);
      line-height: 1;
    }

    .pstat-unit {
      font-size: 1.2rem;
      font-weight: 700;
    }

    .pstat-label {
      font-size: 0.78rem;
      color: var(--text-secondary);
      line-height: 1.4;
    }

    /* ══════════════ CUSTOM VIMEO PLAYER ══════════════ */

    /* Outer shell — full 16:9 box with fully rounded corners */
    .prob-player-wrap {
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      background: #000;
      aspect-ratio: 16/9;
      border: 1px solid rgba(200,164,77,0.18);
      box-shadow: 0 30px 80px rgba(0,0,0,0.6), 0 0 40px rgba(200,164,77,0.06);
    }

    /* iframe fills the full box */
    .prob-iframe-layer {
      position: absolute;
      inset: 0;
    }

    .prob-iframe-layer iframe,
    .prob-iframe-layer video {
      position: absolute;
      inset: -2px;
      width: calc(100% + 4px);
      height: calc(100% + 4px);
      border: none;
      background: #000;
      transform: scale(1.008);
      transform-origin: center center;
      object-fit: cover;
    }

    /* transparent overlay — blocks Vimeo's own clicks/branding, cursor pointer */
    .prob-click-overlay {
      position: absolute;
      inset: 0;
      z-index: 5;
      cursor: pointer;
    }

    /* big play button — centered, shown before first play */
    .prob-big-play {
      position: absolute;
      inset: 0;
      z-index: 6;
      display: flex;
      align-items: center;
      justify-content: center;
      /* leave bottom 72px clear so it doesn't overlap the controls bar */
      padding-bottom: 72px;
      background: rgba(0,0,0,0.28);
      transition: opacity 0.35s;
    }

    .prob-big-play.hidden { opacity: 0; pointer-events: none; }

    .prob-big-play-btn {
      width: 76px;
      height: 76px;
      border-radius: 50%;
      background: rgba(200,164,77,0.88);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 0 0 8px rgba(200,164,77,0.18), 0 0 40px rgba(200,164,77,0.45);
      transition: transform 0.25s, background 0.25s, box-shadow 0.25s;
    }

    .prob-big-play-btn:hover {
      transform: scale(1.1);
      background: var(--gold-soft);
      box-shadow: 0 0 0 12px rgba(200,164,77,0.14), 0 0 50px rgba(200,164,77,0.5);
    }

    .prob-big-play-btn svg {
      width: 30px;
      height: 30px;
      color: #0A0A0D;
      margin-left: 5px;
    }

    /* ── Controls bar: absolutely pinned to the BOTTOM of the video ── */
    .prob-controls {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 10;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 14px 18px 16px;
      /* dark scrim that fades into the video above */
      background: linear-gradient(to top,
        rgba(0,0,0,0.82) 0%,
        rgba(0,0,0,0.55) 60%,
        transparent 100%);
      /* scrim needs a little more height so gradient looks smooth */
      padding-top: 36px;
      /* don't clip the scrim's top portion */
      overflow: visible;
      /* smooth show/hide on hover */
      opacity: 1;
      transition: opacity 0.3s;
    }

    /* hide controls when user isn't hovering, show on hover */
    .prob-player-wrap:not(:hover) .prob-controls {
      opacity: 0;
    }

    /* always show if paused (big-play not hidden = paused state) */
    .prob-player-wrap .prob-big-play:not(.hidden) ~ .prob-controls {
      opacity: 1;
    }

    .prob-btn {
      width: 36px;
      height: 36px;
      border-radius: 9px;
      background: rgba(200,164,77,0.08);
      border: 1px solid rgba(200,164,77,0.15);
      color: var(--gold);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      flex-shrink: 0;
      transition: background 0.2s, border-color 0.2s, transform 0.2s;
    }

    .prob-btn:hover {
      background: rgba(200,164,77,0.18);
      border-color: rgba(200,164,77,0.4);
      transform: scale(1.08);
    }

    .prob-btn svg { width: 14px; height: 14px; }

    .prob-seek-wrap {
      flex: 1;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .prob-time {
      font-size: 0.68rem;
      color: var(--text-muted);
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
      min-width: 34px;
    }

    .prob-seek-bar {
      flex: 1;
      height: 3px;
      background: rgba(255,255,255,0.1);
      border-radius: 2px;
      position: relative;
      cursor: pointer;
    }

    .prob-seek-fill {
      position: absolute;
      left: 0; top: 0;
      height: 100%;
      background: linear-gradient(90deg, var(--gold-dim), var(--gold));
      border-radius: 2px;
      width: 0%;
      transition: width 0.25s linear;
      pointer-events: none;
    }

    .prob-seek-thumb {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 10px; height: 10px;
      border-radius: 50%;
      background: var(--gold);
      box-shadow: 0 0 8px rgba(200,164,77,0.5);
      left: 0%;
      pointer-events: none;
      transition: left 0.25s linear;
    }

    .prob-vol-wrap {
      display: flex;
      align-items: center;
      gap: 7px;
    }

    .prob-vol-slider {
      -webkit-appearance: none;
      appearance: none;
      width: 68px;
      height: 3px;
      background: rgba(200,164,77,0.2);
      border-radius: 2px;
      outline: none;
      cursor: pointer;
    }

    .prob-vol-slider::-webkit-slider-thumb {
      -webkit-appearance: none;
      width: 12px; height: 12px;
      border-radius: 50%;
      background: var(--gold);
      cursor: pointer;
      box-shadow: 0 0 6px rgba(200,164,77,0.5);
    }

    .prob-vol-slider::-moz-range-thumb {
      width: 12px; height: 12px;
      border-radius: 50%;
      background: var(--gold);
      cursor: pointer;
      border: none;
      box-shadow: 0 0 6px rgba(200,164,77,0.5);
    }

    .prob-label {
      font-family: 'Syne', sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--gold-soft);
      white-space: nowrap;
      flex-shrink: 0;
      margin-left: 4px;
    }

    /* ══════════════ REDESIGNED STATS GRID ══════════════ */
    .problem-stats-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      margin-top: 32px;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
    }

    .pstat-card {
      background: var(--glass);
      border: 1px solid var(--glass-border);
      border-radius: 18px;
      padding: 32px 32px 28px;
      display: flex;
      flex-direction: column;
      gap: 14px;
      transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
      position: relative;
      overflow: hidden;
    }

    [data-theme="dark"] .pstat-card {
      background: rgba(15,23,42,0.55);
    }

    [data-theme="light"] .pstat-card {
      background: rgba(255,255,255,0.65);
      box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    }

    .pstat-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      opacity: 0;
      transition: opacity 0.3s;
    }

    /* subtle corner glow */
    .pstat-card::after {
      content: '';
      position: absolute;
      top: -60px; right: -60px;
      width: 140px; height: 140px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(200,164,77,0.08) 0%, transparent 70%);
      pointer-events: none;
    }

    .pstat-card:hover {
      border-color: rgba(200,164,77,0.45);
      box-shadow: 0 16px 48px rgba(0,0,0,0.3), 0 0 24px rgba(200,164,77,0.08);
      transform: translateY(-4px);
    }

    .pstat-card:hover::before { opacity: 1; }

    .pstat-card-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 16px;
    }

    .pstat-icon {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: rgba(200,164,77,0.1);
      border: 1px solid rgba(200,164,77,0.2);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .pstat-icon svg {
      width: 20px;
      height: 20px;
      stroke: var(--gold);
    }

    .pstat-num {
      font-family: 'Syne', sans-serif;
      font-size: 3.2rem;
      font-weight: 800;
      color: var(--gold);
      line-height: 1;
      letter-spacing: -0.03em;
    }

    .pstat-unit {
      font-size: 1.5rem;
      font-weight: 700;
    }

    .pstat-label {
      font-size: 0.9rem;
      color: var(--text-secondary);
      line-height: 1.6;
      font-weight: 400;
    }

    .pstat-bar {
      height: 4px;
      background: rgba(200,164,77,0.1);
      border-radius: 2px;
      overflow: hidden;
      margin-top: 4px;
    }

    .pstat-bar-fill {
      height: 100%;
      background: linear-gradient(90deg, var(--gold-dim), var(--gold));
      border-radius: 2px;
    }

    @media (max-width: 640px) {
      .problem-stats-grid {
        grid-template-columns: 1fr;
      }
      .pstat-card {
        padding: 24px 22px 20px;
      }
      .pstat-num {
        font-size: 2.6rem;
      }
    }

    /* ══════════════════ FAQ — GenQue single-column accordion ══════════════════ */
    #faq {
      background: var(--bg);
    }

    .faq-bg-grid {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(200, 164, 77, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200, 164, 77, 0.025) 1px, transparent 1px);
      background-size: 48px 48px;
      pointer-events: none;
    }

    .faq-header {
      margin-bottom: 48px;
    }

    .faq-header h2 { margin-bottom: 0; }

    /* Single list accordion */
    .faq-list {
      border: 1px solid var(--glass-border);
      border-radius: 20px;
      overflow: hidden;
      backdrop-filter: blur(20px);
      background: var(--glass);
      max-width: none;
      margin: 0 auto;
    }

    [data-theme="dark"] .faq-list {
      background: rgba(15,23,42,0.45);
    }

    [data-theme="light"] .faq-list {
      background: rgba(255,255,255,0.6);
      border-color: rgba(200,164,77,0.25);
      box-shadow: 0 20px 60px rgba(0,0,0,0.06);
    }

    .faq-item {
      border-bottom: 1px solid var(--glass-border);
      opacity: 0;
      transform: translateY(12px);
      transition: opacity 0.5s ease, transform 0.5s ease;
    }

    .faq-item:last-child { border-bottom: none; }

    .faq-item.faq-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .faq-question {
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 22px 28px;
      cursor: pointer;
      transition: background 0.25s;
      user-select: none;
    }

    .faq-question:hover {
      background: rgba(200,164,77,0.04);
    }

    .faq-q-icon {
      width: 32px;
      height: 32px;
      border-radius: 9px;
      background: rgba(200,164,77,0.1);
      border: 1px solid rgba(200,164,77,0.22);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 0.68rem;
      font-weight: 700;
      color: var(--gold);
      letter-spacing: 0.04em;
    }

    .faq-open .faq-q-icon {
      background: rgba(200,164,77,0.18);
      border-color: rgba(200,164,77,0.45);
    }

    .faq-q-text {
      flex: 1;
      font-size: 1.2rem;
      font-weight: 600;
      color: var(--text-primary);
      line-height: 1.45;
    }

    .faq-toggle {
      width: 28px;
      height: 28px;
      border-radius: 8px;
      background: rgba(200,164,77,0.08);
      border: 1px solid rgba(200,164,77,0.18);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: background 0.25s, transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
    }

    .faq-open .faq-toggle {
      background: rgba(200,164,77,0.18);
      border-color: rgba(200,164,77,0.4);
      transform: rotate(45deg);
    }

    .faq-toggle svg {
      width: 12px; height: 12px;
      stroke: var(--gold);
    }

    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.45s cubic-bezier(0.23, 1, 0.32, 1);
    }

    .faq-answer-inner {
      padding: 0 28px 24px 76px;
      font-size: 0.95rem;
      line-height: 1.72;
      color: var(--text-secondary);
      font-weight: 300;
    }

    @media (max-width: 640px) {
      .faq-question { padding: 18px 20px; gap: 12px; }
      .faq-q-icon { width: 26px; height: 26px; font-size: 0.6rem; }
      .faq-q-text { font-size: 0.92rem; }
      .faq-answer-inner { padding: 0 20px 20px 58px; font-size: 0.88rem; }
    }

    /* ══════════════════ TWO-COLUMN FAQ (old, keep for reference) ══════════════════ */
    .faq-two-col { display: none; } /* hide old layout */

    @media (max-width: 860px) {
      .faq-two-col {
        grid-template-columns: 1fr;
      }
    }

    .faq-col {
      display: flex;
      flex-direction: column;
      gap: 0;
      border: 1px solid var(--glass-border);
      border-radius: 20px;
      overflow: hidden;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      background: var(--glass);
    }

    [data-theme="dark"] .faq-col {
      background: rgba(15,23,42,0.45);
    }

    [data-theme="light"] .faq-col {
      background: rgba(255,255,255,0.6);
      border-color: rgba(200,164,77,0.25);
      box-shadow: 0 20px 60px rgba(0,0,0,0.06);
    }

    .faq-col-header {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 20px 24px;
      border-bottom: 1px solid var(--glass-border);
      background: rgba(200,164,77,0.04);
    }

    .faq-col-icon {
      width: 40px;
      height: 40px;
      border-radius: 11px;
      background: rgba(200,164,77,0.1);
      border: 1px solid rgba(200,164,77,0.22);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .faq-col-icon svg {
      width: 18px;
      height: 18px;
      stroke: var(--gold);
    }

    .faq-col-label {
      font-family: 'Syne', sans-serif;
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--gold-soft);
      line-height: 1.2;
    }

    [data-theme="light"] .faq-col-label { color: var(--gold-dim); }

    .faq-col-sub {
      font-size: 0.72rem;
      color: var(--text-secondary);
      margin-top: 2px;
    }

    .faq-col-list {
      display: flex;
      flex-direction: column;
    }

    /* override .faq-list sizing for the column layout */
    .faq-col .faq-item {
      border-bottom: 1px solid var(--glass-border);
    }

    .faq-col .faq-item:last-child {
      border-bottom: none;
    }

    .faq-col .faq-question {
      padding: 18px 20px;
      gap: 14px;
    }

    .faq-col .faq-answer-inner {
      padding: 16px 20px 20px 66px;
    }

    /* Central broken hub */
    .arch-center {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 5;
    }

    .arch-center-ring {
      width: 110px;
      height: 110px;
      border-radius: 50%;
      background: #3c3c3c;
      border: 2px dashed rgba(239, 68, 68, 0.4);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      animation: brokenPulse 2.5s ease-in-out infinite;
    }
     [data-theme="light"] .arch-center-ring {
      background: #fff3f3;
    }

    @keyframes brokenPulse {

      0%,
      100% {
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.2);
        border-color: rgba(239, 68, 68, 0.4);
      }

      50% {
        box-shadow: 0 0 30px 10px rgba(239, 68, 68, 0.08);
        border-color: rgba(239, 68, 68, 0.65);
      }
    }

    .arch-center-label {
      font-size: 0.65rem;
      font-family: 'Syne', sans-serif;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: #f87171;
      text-align: center;
      line-height: 1.3;
    }

    .arch-center-icon {
      font-size: 1.4rem;
      margin-bottom: 1.2px;
      margin-left: 1.4rem;
    }

    /* Satellite nodes */
    .arch-node {
      position: absolute;
      background: var(--surface);
      border-radius: 14px;
      padding: 16px 18px;
      min-width: 150px;
      border: 1px solid rgba(200, 164, 77, 0.15);
      backdrop-filter: blur(16px);
      transition: border-color 0.3s, box-shadow 0.3s;
    }

    [data-theme="dark"] .arch-node {
      background: rgb(66 66 66 / 90%);
    }

    .arch-node:hover {
      border-color: rgba(239, 68, 68, 0.4);
      box-shadow: 0 8px 30px rgba(239, 68, 68, 0.08);
    }

    .arch-node-icon {
      font-size: 1.2rem;
      margin-bottom: 6px;
    }

    .arch-node-title {
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--text-primary);
      margin-bottom: 4px;
    }

    .arch-node-sub {
      font-size: 0.8rem;
      color: var(--text-muted);
    }

    .arch-node-error {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      font-size: 0.6rem;
      color: #f87171;
      margin-top: 6px;
      padding: 2px 7px;
      background: rgba(239, 68, 68, 0.1);
      border-radius: 4px;
    }

    .arch-node-error-dot {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: #f87171;
      animation: errDot 1.5s ease-in-out infinite;
    }

    @keyframes errDot {

      0%,
      100% {
        opacity: 1;
      }

      50% {
        opacity: 0.2;
      }
    }

    /* Positions */
    .arch-node-1 {
      top: 5%;
      left: 10%;
    }

    .arch-node-2 {
      top: 5%;
      right: 10%;
    }

    .arch-node-3 {
      top: 50%;
      left: 0%;
      transform: translateY(-50%);
    }

    .arch-node-4 {
      top: 50%;
      right: 0%;
      transform: translateY(-50%);
    }

    .arch-node-5 {
      bottom: 5%;
      left: 10%;
    }

    .arch-node-6 {
      bottom: 5%;
      right: 10%;
    }

    /* Broken connection lines */
    .arch-svg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      /* pointer-events: none;
      z-index: 3; */
    }

    .arch-broken-line {
          stroke: rgb(239 68 68 / 60%);
      stroke-width: 1.5;
      fill: none;
      stroke-dasharray: 5 5;
      animation: brokenDash 2s linear infinite;
    }

    .arch-broken-line:nth-child(even) {
          stroke: rgb(239 68 68 / 60%);
      animation-direction: reverse;
    }

    @keyframes brokenDash {
      to {
        stroke-dashoffset: -20;
      }
    }

    .arch-error-flash {
      fill: rgba(239, 68, 68, 0.5);
      animation: flashNode 3s ease-in-out infinite;
    }

    @keyframes flashNode {

      0%,
      80%,
      100% {
        opacity: 0;
      }

      85%,
      95% {
        opacity: 1;
      }
    }

    /* Warning badges floating */
    .arch-warning {
      position: absolute;
      padding: 5px 11px;
      border-radius: 8px;
      background: #f4dfd7;
      border: 1px solid rgba(239, 68, 68, 0.3);
      font-size: 0.65rem;
      color: #f87171;
      font-weight: 500;
      z-index: 6;
      white-space: nowrap;
      backdrop-filter: blur(12px);
    }

    .arch-warning-1 {
      top: 30%;
      left: 30%;
      animation: float1 4s ease-in-out infinite;
    }

    .arch-warning-2 {
      top: 30%;
      right: 30%;
      animation: float2 5s ease-in-out infinite;
    }

    .arch-warning-3 {
      bottom: 25%;
      right: 28%;
      animation: float3 6s ease-in-out infinite;
    }

    .arch-warning-4 {
      bottom: 20%;
      left: 28%;
      animation: float1 4.5s ease-in-out infinite reverse;
    }

    /* Problem architecture diagram: switch from absolute orbit
       layout to a flowing card grid below the broken hub */
    @media (max-width: 1024px) {
      .problem-arch {
        min-height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 32px;
        padding: 20px 0;
      }

      .arch-svg {
        display: none;
      }

      .arch-center {
        position: static;
        transform: none;
      }

      .arch-node {
        position: static;
        min-width: 0;
        width: 100%;
        transform: none !important;
      }

      .problem-diagram .arch-node-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        width: 100%;
      }

      .arch-warning {
        display: none;
      }
    }

    @media (max-width: 600px) {
      .problem-diagram .arch-node-grid {
        grid-template-columns: 1fr;
      }
    }

    /* Bottom text block */
    .problem-text-bottom {
      max-width: none;
      margin: 60px auto 0;
      text-align: center;
      position: relative;
      z-index: 2;
    }

    .problem-text-bottom p {
      font-size: 1.2rem;
      line-height: 1.8;
      color: var(--text-secondary);
      font-weight: 300;
    }

    .problem-text-bottom p+p {
      margin-top: 16px;
    }

    .problem-highlight {
      color: #f87171;
      font-weight: 500;
    }

    /* ══════════════════ REAL IMPACT — old journey styles removed, replaced above ══════════════════ */
    

    .impact-outcome-sep::before {
      content: '';
      position: absolute;
      left: 50%;
      top: 0;
      bottom: 0;
      width: 1px;
      transform: translateX(-50%);
      background: rgba(200, 164, 77, 0.2);
    }

    /* ─── Bottom summary bar ─── */
    .impact-summary-bar {
      position: relative;
      z-index: 2;
      margin-top: 72px;
      border: 1px solid rgba(200, 164, 77, 0.2);
      border-radius: 18px;
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.05), rgba(200, 164, 77, 0.02));
      backdrop-filter: blur(20px);
      padding: 36px 48px;
      display: flex;
      align-items: center;
      gap: 48px;
      flex-wrap: wrap;
      overflow: hidden;
    }

    .impact-summary-bar::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
      opacity: 0.4;
    }

    .impact-summary-icon {
      width: 52px;
      height: 52px;
      border-radius: 14px;
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.18), rgba(200, 164, 77, 0.06));
      border: 1px solid rgba(200, 164, 77, 0.25);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .impact-summary-icon svg {
      width: 22px;
      height: 22px;
      stroke: var(--gold);
    }

    .impact-summary-text {
      flex: 1;
      min-width: 200px;
    }

    .impact-summary-text h3 {
      font-size: 1.05rem;
      font-weight: 700;
      margin-bottom: 6px;
    }

    .impact-summary-text p {
      font-size: 0.82rem;
      color: var(--text-secondary);
      line-height: 1.6;
    }

    .impact-summary-pills {
      display: flex;
      flex-direction: column;
      gap: 8px;
      flex-shrink: 0;
    }

    .impact-summary-pill {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.72rem;
      color: var(--gold);
      font-weight: 600;
      letter-spacing: 0.04em;
    }

    .impact-summary-pill-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--gold);
      animation: statDotPulse 1.8s ease-in-out infinite;
    }

    .impact-summary-pill:nth-child(2) .impact-summary-pill-dot {
      animation-delay: 0.6s;
    }

    .impact-summary-pill:nth-child(3) .impact-summary-pill-dot {
      animation-delay: 1.2s;
    }

    @media (max-width: 900px) {
      .impact-spine {
        display: none;
      }

      .impact-outcome {
        grid-template-columns: 1fr;
        margin-bottom: 24px;
      }

      .impact-outcome:nth-child(odd) .impact-outcome-content,
      .impact-outcome:nth-child(even) .impact-outcome-content {
        grid-column: 1;
        text-align: left;
        padding: 28px 24px;
      }

      .impact-outcome:nth-child(odd) .impact-outcome-tags,
      .impact-outcome:nth-child(even) .impact-outcome-tags {
        justify-content: flex-start;
      }

      .impact-outcome-spacer,
      .impact-outcome-node {
        display: none;
      }

      .impact-summary-bar {
        padding: 28px 24px;
        gap: 24px;
      }

      .impact-outcome-content {
        border-left: 2px solid rgba(200, 164, 77, 0.25);
        border-radius: 0 12px 12px 0;
        background: rgba(200, 164, 77, 0.03);
      }
    }

    /* ══════════════════ FOOTER LOGO VISIBILITY — PREMIUM TREATMENT ══════════════════ */
    /* Brand logo in footer (OpenEyes) */
    .cred-logo-wrap {
      display: inline-block;
      border-radius: 10px;
      padding: 6px 12px;
      transition: background 0.4s ease, border-color 0.4s ease;
    }

    [data-theme="dark"] .cred-logo-wrap {
      background: rgba(255, 255, 255, 0.10);
      backdrop-filter: blur(6px);
      border: 1px solid rgba(255, 255, 255, 0.08);
    }

    [data-theme="light"] .cred-logo-wrap {
      background: transparent;
      border: none;
    }

    /* [data-theme="dark"] .cred-logo-img {
      filter: brightness(1.6) contrast(1.05) drop-shadow(0 0 10px rgba(200,164,77,0.2));
      opacity: 1;
    } */
    [data-theme="light"] .cred-logo-img {
      filter: brightness(0.85) contrast(1.1);
      opacity: 1;
    }

    /* Badge image wrappers — white card for dark mode logo legibility */
    [data-theme="dark"] .cred-badge-item {
      background: rgba(255, 255, 255, 0.08);
      border-color: rgba(200, 164, 77, 0.2);
    }

    [data-theme="dark"] .cred-badge-img-wrap {
      background: rgba(255, 255, 255, 0.94);
      border-radius: 8px;
      padding: 7px;
    }

    [data-theme="light"] .cred-badge-img-wrap {
      background: rgba(255, 255, 255, 0.75);
      border-radius: 8px;
      padding: 7px;
    }

    /* In dark mode the white card background means logos render at full fidelity — no filter needed */
    [data-theme="dark"] .cred-badge-img {
      filter: none;
      opacity: 1;
    }

    [data-theme="dark"] .cred-badge-item:hover .cred-badge-img {
      filter: drop-shadow(0 0 4px rgba(200, 164, 77, 0.35));
    }

    [data-theme="dark"] .cred-badge-item:hover {
      border-color: rgba(200, 164, 77, 0.45);
      box-shadow: 0 6px 28px rgba(200, 164, 77, 0.15);
      transform: translateY(-3px) scale(1.03);
    }

    [data-theme="light"] .cred-badge-img {
      filter: none;
      opacity: 1;
    }

    [data-theme="light"] .cred-badge-item:hover .cred-badge-img {
      filter: drop-shadow(0 0 4px rgba(200, 164, 77, 0.25));
    }

    /* ══════════════════ FAQ SECTION ══════════════════ */
    #faq {
      background: var(--bg);
      overflow: hidden;
      position: relative;
    }

    #faq::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(200, 164, 77, 0.25), transparent);
      pointer-events: none;
    }

    .faq-bg-grid {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(200, 164, 77, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200, 164, 77, 0.025) 1px, transparent 1px);
      background-size: 60px 60px;
      pointer-events: none;
      mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 20%, transparent 80%);
    }

    .faq-header {
      text-align: center;
      margin-bottom: 64px;
      position: relative;
      z-index: 1;
    }

    .faq-header h2 {
      font-weight:800;
      font-size: clamp(1.8rem, 3.2vw, 2.8rem);
      letter-spacing: -0.02em;
      margin-top: 14px;
    }

    .faq-list {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      gap: 0;
      max-width: 860px;
      margin: 0 auto;
      border: 1px solid var(--glass-border);
      border-radius: 20px;
      overflow: hidden;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      background: var(--glass);
    }

    [data-theme="dark"] .faq-list {
      background: rgba(15, 23, 42, 0.45);
    }

    [data-theme="light"] .faq-list {
      background: rgba(255, 255, 255, 0.6);
      border-color: rgba(200, 164, 77, 0.25);
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06), 0 0 40px rgba(200, 164, 77, 0.06);
    }

    .faq-item {
      border-bottom: 1px solid var(--glass-border);
      position: relative;
      transition: background 0.3s ease;
    }

    .faq-item:last-child {
      border-bottom: none;
    }

    .faq-item.faq-open {
      background: rgba(200, 164, 77, 0.04);
    }

    [data-theme="light"] .faq-item.faq-open {
      background: rgba(200, 164, 77, 0.05);
    }

    .faq-question {
      display: flex;
      align-items: center;
      gap: 20px;
      padding: 26px 32px;
      cursor: pointer;
      user-select: none;
      position: relative;
    }

    .faq-q-icon {
      width: 32px;
      height: 32px;
      border-radius: 9px;
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.15), rgba(200, 164, 77, 0.05));
      border: 1px solid rgba(200, 164, 77, 0.22);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-family: 'Syne', sans-serif;
      font-size: 0.7rem;
      font-weight: 800;
      color: var(--gold);
      transition: background 0.3s, box-shadow 0.3s;
    }

    .faq-item.faq-open .faq-q-icon {
      background: linear-gradient(135deg, rgba(200, 164, 77, 0.3), rgba(200, 164, 77, 0.12));
      box-shadow: 0 0 16px rgba(200, 164, 77, 0.2);
    }

    .faq-q-text {
      flex: 1;
      font-family: 'Syne', sans-serif;
      font-size: 1.2rem;
      font-weight: 600;
      color: var(--text-primary);
      line-height: 1.35;
      transition: color 0.3s;
    }

    .faq-item.faq-open .faq-q-text {
      color: var(--gold-soft);
    }

    [data-theme="light"] .faq-item.faq-open .faq-q-text {
      color: var(--gold-dim);
    }

    .faq-toggle {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: rgba(200, 164, 77, 0.08);
      border: 1px solid rgba(200, 164, 77, 0.2);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: background 0.3s, border-color 0.3s, transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    }

    .faq-toggle svg {
      width: 13px;
      height: 13px;
      stroke: var(--gold);
      transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    }

    .faq-item.faq-open .faq-toggle {
      background: rgba(200, 164, 77, 0.18);
      border-color: rgba(200, 164, 77, 0.45);
    }

    .faq-item.faq-open .faq-toggle svg {
      transform: rotate(45deg);
    }

    .faq-answer {
      overflow: hidden;
      max-height: 0;
      transition: max-height 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    }

    .faq-answer-inner {
      padding: 0 32px 28px 84px;
      font-size: 1rem;
      line-height: 1.75;
      color: var(--text-secondary);
      font-weight: 300;
      border-top: 1px solid rgba(200, 164, 77, 0.08);
      padding-top: 20px;
    }

    @media (max-width: 768px) {
      .faq-question {
        padding: 22px 20px;
        gap: 14px;
      }

      .faq-answer-inner {
        padding: 20px 20px 24px 20px;
      }
    }

    @media (max-width: 480px) {
      /* extra breathing room on the right so text can't run under the
         fixed floating brochure tab */
      .faq-question {
        padding-right: 36px;
      }

      .faq-answer-inner {
        padding-right: 36px;
      }
    }

    /* ══════════════════ RELOCATED RESPONSIVE BLOCK (moved to end for correct cascade order) ══════════════════ */
    /* ══════════════════ RESPONSIVE ══════════════════ */
    @media (max-width: 1200px) {
      .home-grid {
        grid-template-columns: 55fr 45fr;
      }
      .home-visual {
        height: 520px;
      }
    }

    @media (min-width: 901px) and (max-width: 1024px) {
      #ai-command-center {
        display: grid;
        grid-template-columns: 1fr 2fr 1fr;
        grid-template-rows: 1fr 1fr 1fr;
        gap: 10px;
        padding: 12px;
      }
    }

    @media (max-width: 1024px) {

      .home-grid {
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .home-visual {
        height: 480px;
        max-width: 680px;
        margin: 0 auto;
        width: 100%;
        overflow: hidden;
      }

      .problem-grid {
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .about-inner {
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .feature-row {
        grid-template-columns: 1fr;
        gap: 40px;
      }

      .feature-row.reverse {
        direction: ltr;
      }

      .timeline-steps {
        grid-template-columns: 1fr 1fr;
      }

      .impact-grid {
        grid-template-columns: 1fr 1fr;
      }

      .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
      }

      /* Tablet: show hamburger */
      .hamburger-btn {
        display: flex;
      }

      .mobile-menu {
        display: block;
      }

      .mobile-menu-backdrop {
        display: block;
      }

      .nav-links {
        display: none !important;
      }

      .nav-actions {
        gap: 10px;
      }
    }

    @media (max-width: 768px) {

      
      section {
        padding: 72px 1.5rem;
      }

      footer {
        padding: 60px 1.5rem 32px;
      }

      #home {
        padding: 120px 1.5rem 72px;
      }

      .nav-inner {
        padding: 0 1.5rem;
      }

      .credibility-strip {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
      }

      .nav-links {
        display: none !important;
      }

      .hamburger-btn {
        display: flex;
      }

      .mobile-menu {
        display: block;
      }

      .mobile-menu-backdrop {
        display: block;
      }

      .timeline-steps {
        grid-template-columns: 1fr;
      }

      .impact-grid {
        grid-template-columns: 1fr 1fr;
      }

      .footer-grid {
        grid-template-columns: 1fr;
      }

      .footer-bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
      }

      .home-h1 {
        font-size: clamp(1.9rem, 5.5vw, 2.6rem);
      }

      .home-rotating-phrase {
        font-size: clamp(1.3rem, 4.4vw, 1.8rem);
        height: 1.6em;
      }

      .section-title {
        font-size: clamp(1.75rem, 5vw, 2.5rem);
      }

      .timeline-steps::before {
        display: none;
      }

      .footer-cta {
        border-radius: 16px;
      }

      /* Bento grid responsive */
      .wc-bento {
        grid-template-columns: 1fr;
      }

      .wc-m1,
      .wc-m2,
      .wc-m3,
      .wc-m4,
      .wc-m5,
      .wc-m6 {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: auto;
      }

      .wc-m1 .wc-mod-body {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      .wc-m4 .wc-mod-body {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      /* Impact journey responsive */
      .impact-spine {
        display: none;
      }

      .impact-outcome {
        grid-template-columns: 1fr;
        gap: 0;
      }

      .impact-outcome-spacer {
        display: none;
      }

      .impact-outcome-node {
        display: none;
      }

      .impact-outcome:nth-child(odd) .impact-outcome-content,
      .impact-outcome:nth-child(even) .impact-outcome-content {
        grid-column: 1;
        text-align: left;
        padding: 24px 0;
      }

      .impact-outcome:nth-child(odd) .impact-outcome-tags,
      .impact-outcome:nth-child(even) .impact-outcome-tags {
        justify-content: flex-start;
      }

      /* Stats row */
      .stats-row {
        flex-direction: column;
      }

      .stat-item+.stat-item::before {
        top: 0;
        left: 24px;
        right: 24px;
        bottom: auto;
        width: auto;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(200, 164, 77, 0.2), transparent);
      }

      /* Comparison table mobile */
      .cmp-cap-text {
        font-size: 0.82rem;
      }

      .cmp-crown-text,
      .cmp-legacy-text {
        font-size: 0.82rem;
      }

      /* Credibility strip */
      .credibility-inner {
        grid-template-columns: 1fr;
        gap: 32px;
      }

      .cred-columns {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      /* Section sub max-width */
      .section-sub {
        max-width: 100%;
      }

      /* Video controls on mobile */
      .vid-vol-wrap {
        display: none;
      }

      .vid-seek-wrap {
        min-width: 0;
        flex: 1;
      }

      /* Float brochure position */
      .float-brochure-cta {
        top: auto;
        bottom: 90px;
        transform: none;
      }

      .float-brochure-cta:hover {
        transform: translateX(-6px);
      }
    }

    @media (max-width: 480px) {
      .impact-grid {
        grid-template-columns: 1fr;
      }

      .home-ctas {
        flex-direction: column;
      }

      .btn-primary,
      .btn-outline {
        width: 100%;
        justify-content: center;
      }

      .home-sub {
        font-size: 1rem;
      }

      .home-rotating-phrase {
        font-size: clamp(1.1rem, 6.2vw, 1.5rem);
        height: 1.6em;
      }

      /* Bento module body padding */
      .wc-mod-body {
        padding: 24px 20px;
      }

      /* Comparison table compact */
      .cmp-wrap {
        overflow-x: auto;
      }

      .cmp-header,
      .cmp-row,
      .cmp-footer-row {
        min-width: 0;
      }

      .cmp-cap {
        padding: 12px 10px;
      }

      .cmp-crown-cell,
      .cmp-legacy-cell {
        padding: 12px 8px;
      }

      .cmp-cap-text {
        font-size: 0.72rem;
      }

      .cmp-crown-text,
      .cmp-legacy-text {
        font-size: 0.72rem;
      }

      .cmp-cap-icon {
        width: 26px;
        height: 26px;
        font-size: 0.75rem;
      }

      .cmp-check-ring,
      .cmp-cross-ring {
        width: 18px;
        height: 18px;
      }

      /* Impact outcome text sizes */
      .impact-outcome-metric {
        font-size: clamp(2rem, 8vw, 3rem);
      }

      /* Footer CTA text */
      .footer-cta h2 {
        font-size: clamp(1.6rem, 5vw, 2rem);
      }

      /* Stat numbers */
      .stat-item-num {
        font-size: clamp(2.2rem, 8vw, 3.2rem);
      }
      .ws-links{display: none!important;}
    }

    /* Tablet-specific tweaks (768–1024px) */
    @media (min-width: 768px) and (max-width: 1024px) {
      .home-visual {
        height: 380px;
      }

      /* Bento grid 2-col on tablet */
      .wc-bento {
        grid-template-columns: repeat(6, 1fr);
      }

      .wc-m1,
      .wc-m2 {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: auto;
      }

      .wc-m3,
      .wc-m4 {
        grid-column: span 3;
        grid-row: auto;
        min-height: auto;
      }

      .wc-m5,
      .wc-m6 {
        grid-column: span 3;
        grid-row: auto;
        min-height: auto;
      }

      .wc-m1 .wc-mod-body {
        grid-template-columns: 1fr;
      }

      .wc-m4 .wc-mod-body {
        grid-template-columns: 1fr;
      }

      /* Impact timeline: single column on tablet */
      .impact-spine {
        display: none;
      }

      .impact-outcome {
        grid-template-columns: 1fr;
      }

      .impact-outcome-spacer {
        display: none;
      }

      .impact-outcome-node {
        display: none;
      }

      .impact-outcome:nth-child(odd) .impact-outcome-content,
      .impact-outcome:nth-child(even) .impact-outcome-content {
        grid-column: 1;
        text-align: left;
        padding: 20px 0;
      }

      .impact-outcome:nth-child(odd) .impact-outcome-tags,
      .impact-outcome:nth-child(even) .impact-outcome-tags {
        justify-content: flex-start;
      }

      /* Comparison table */
      .cmp-header,
      .cmp-row,
      .cmp-footer-row {
        grid-template-columns: 1.4fr 1fr 1fr;
      }
    }

    /* Laptop (1024–1440px) */
    @media (min-width: 1024px) and (max-width: 1440px) {
      .wc-bento {
        grid-template-columns: repeat(12, 1fr);
      }
    }

    /* Ultra-wide scaling */
    @media (min-width: 1920px) {

      .stats-row {
        max-width: 1800px;
        margin: 0 auto;
      }

      .wc-bento {
        max-width: 1800px;
        margin: 0 auto;
      }
    }

    /* ══════════════════════════════════════════════════════════════
       RESPONSIVE AUDIT FIXES — 320px minimum support
       Sections: home word-rotation, home visual, Video controls,
       Why Crown bento, Comparison table, Real Impact lines, FAQ
       ══════════════════════════════════════════════════════════════ */

    /* Safety net: guarantee no horizontal scroll anywhere */
    html, body {
      overflow-x: hidden;
      max-width: 100%;
    }

    /* ── 1. home — rotating word: keep clipping intact at all sizes so the
       slide transition never overlaps; only font-size shrinks on mobile ── */
    @media (max-width: 480px) {
      .home-rotating-phrase {
        font-size: clamp(1.05rem, 6vw, 1.4rem);
        line-height: 1.3;
      }
    }

    /* ── eco-node-grid: invisible wrapper on desktop (nodes use absolute pos) ── */
    .eco-node-grid {
      display: contents; /* transparent on desktop — nodes remain absolutely positioned */
    }

    /* ── 1b. home VISUAL — tablet: gentle scale ── */
    @media (max-width: 1024px) {
      .home-visual {
        height: 460px;
      }

      .credential-ecosystem {
        transform: scale(0.92);
        transform-origin: center center;
      }
    }

    /* ── home VISUAL mobile: switch to stacked hub + card grid (mirrors Problem section) ── */
    @media (max-width: 768px) {
      /* NOTE: the actual home visual markup is #ai-command-center, an absolutely-positioned
         (inset:0) grid. It REQUIRES an explicit height on .home-visual — height:auto here
         collapses the parent to 0px and makes the whole visual disappear. Keep a real height. */
      .home-visual {
        height: 420px !important;
        overflow: hidden;
        max-width: 100%;
      }

      /* Ecosystem switches from absolute-position orbit to vertical flex column */
      .credential-ecosystem {
        position: relative;
        transform: none !important;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        padding: 8px 0 4px;
        width: 100%;
        height: auto;
      }

      /* Hide orbital rings, SVG lines, pulse rings, and metric badges — too cluttered at small size */
      .eco-orbit,
      .connection-lines,
      .pulse-ring,
      .metric-badge {
        display: none;
      }

      /* Center hub: static, not absolute */
      .eco-center {
        position: static;
        transform: none;
        width: 96px;
        height: 96px;
        flex-shrink: 0;
        /* keep its animations & glow */
      }

      .eco-center svg {
        width: 44px;
        height: 44px;
      }

      /* eco-node-grid: become a 2-column CSS grid, just like .arch-node-grid in Problem */
      .eco-node-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        width: 100%;
      }

      /* Nodes: reset absolute positioning, become regular grid cells */
      .eco-node {
        position: static !important;
        transform: none !important;
        animation: none !important;
        /* keep visual styling */
        font-size: 0.78rem;
        padding: 12px 14px;
        border-radius: 12px;
        white-space: normal;
        line-height: 1.4;
        min-width: 0;
        width: 100%;
        /* restore gentle float just on the grid version */
        animation: float1 6s ease-in-out infinite !important;
      }

      /* Stagger float animation per card so it feels alive */
      .eco-node:nth-child(1) { animation-delay: 0s !important; }
      .eco-node:nth-child(2) { animation-delay: 0.4s !important; }
      .eco-node:nth-child(3) { animation-delay: 0.8s !important; }
      .eco-node:nth-child(4) { animation-delay: 1.2s !important; }
      .eco-node:nth-child(5) { animation-delay: 1.6s !important; }
      .eco-node:nth-child(6) { animation-delay: 2.0s !important; }

      .eco-node-icon {
        font-size: 1rem;
        margin-bottom: 4px;
      }

      .eco-node-label {
        font-size: 0.82rem;
        font-weight: 600;
      }

      .eco-node-val {
        font-size: 0.68rem;
        margin-top: 3px;
      }
    }

    /* ── Very small phones: single column ── */
    @media (max-width: 400px) {
      .eco-node-grid {
        grid-template-columns: 1fr;
      }

      .eco-center {
        width: 84px;
        height: 84px;
      }

      .eco-center svg {
        width: 38px;
        height: 38px;
      }
    }

    /* ── home VISUAL — scale down further on small phones (overrides the 768px rule above) ── */
    @media (max-width: 640px) {
      .home-visual {
        height: 360px !important;
      }
    }

    @media (max-width: 480px) {
      .home-visual {
        height: 320px !important;
      }
    }

    @media (max-width: 380px) {
      .home-visual {
        height: 280px !important;
      }
    }

    /* ── home ROTATING WORD — stop the slide/clip animation from overlapping or
       getting cut off when "Built for" + the long phrase can't fit on one line.
       Below 560px we drop the single-line clipping and let it wrap cleanly,
       which also makes the inactive (faded/exiting) word fully invisible
       instead of bleeding through behind the active one. ── */
    @media (max-width: 560px) {
      .home-rotating-phrase {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        min-height: 2.6em;
        overflow: visible;
        white-space: normal;
        line-height: 1.3;
      }

      .home-rotating-static {
        display: block;
        margin-bottom: 2px;
      }

      .home-rotating-word {
        display: inline-grid;
        max-width: 100%;
        white-space: normal;
      }

      .home-rword-item {
        white-space: normal;
        word-break: break-word;
        line-height: 1.25;
      }

      /* Inactive items must be fully hidden — not just faded/translated — so they
         can never visually overlap the active word once it wraps to 2 lines. */
      .home-rword-item:not(.home-rword-active) {
        opacity: 0 !important;
        visibility: hidden;
      }
    }

    @media (max-width: 380px) {
      .home-rotating-phrase {
        font-size: clamp(1rem, 7vw, 1.3rem);
        min-height: 2.4em;
      }
    }

    /* ── 2. VIDEO SECTION — controls fully responsive ── */
    .video-controls-bar {
      flex-wrap: wrap;
      row-gap: 8px;
    }

    .vid-label {
      font-size: 0.7rem;
      color: var(--text-muted);
      white-space: nowrap;
      flex-shrink: 0;
    }

    @media (max-width: 640px) {
      .video-container {
        border-radius: 14px;
      }

      .video-controls-bar {
        padding: 10px 12px;
        gap: 8px;
        justify-content: center;
      }

      .vid-btn {
        width: 32px;
        height: 32px;
      }

      .vid-btn svg {
        width: 13px;
        height: 13px;
      }

      .vid-seek-wrap {
        order: 5;
        flex-basis: 100%;
        width: 100%;
        min-width: 0;
      }

      .vid-time {
        font-size: 0.62rem;
        min-width: 30px;
      }

      .vid-vol-wrap {
        display: none;
      }

      .vid-label {
        order: 4;
        flex-basis: 100%;
        text-align: center;
        margin-top: -2px;
      }
    }

    /* ── 2b. ACTUAL DEMO VIDEO PLAYER (.prob-*) — the real markup used in the Problem
       section. On mobile this now matches Vault's layout: the video frame, then a
       separate always-visible controls bar in normal flow below it, then a caption —
       instead of controls floating as a hover-only overlay on top of the video. ── */

    /* Above 640px the controls remain a hover-reveal overlay (desktop behavior) —
       but on touch devices (tablets) with no hover capability, keep them visible. */
    @media (hover: none) and (min-width: 641px) {
      .prob-controls {
        opacity: 1 !important;
      }
    }

    @media (max-width: 640px) {
      /* Stop the controls bar from being an absolutely-positioned overlay on the
         video. Push it into normal flow as its own bar underneath, exactly like
         Vault's .vid-controls sits below .vid-wrap. */
      .prob-player-wrap {
        display: flex;
        flex-direction: column;
        aspect-ratio: auto;
        border-radius: 16px;
      }

      .prob-iframe-layer,
      .prob-click-overlay,
      .prob-big-play {
        position: absolute;
        inset: 0;
      }

      /* The video itself becomes a normal-flow 16:9 block at the top of the card */
      .prob-iframe-layer {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        inset: auto;
      }

      .prob-click-overlay,
      .prob-big-play {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: auto;
        aspect-ratio: 16 / 9;
        bottom: auto;
      }

      .prob-controls {
        position: relative;
        inset: auto;
        flex-wrap: wrap;
        row-gap: 8px;
        padding: 10px 12px;
        background: rgba(0, 0, 0, 0.85);
        border-top: 1px solid rgba(200, 164, 77, 0.12);
        opacity: 1 !important;
      }

      .prob-btn {
        width: 30px;
        height: 30px;
      }

      .prob-btn svg {
        width: 12px;
        height: 12px;
      }

      .prob-seek-wrap {
        order: 5;
        flex-basis: 100%;
        width: 100%;
        min-width: 0;
      }

      .prob-time {
        font-size: 0.62rem;
        min-width: 28px;
      }

      .prob-vol-wrap {
        display: none;
      }

      /* Label becomes a separate caption beneath the controls bar,
         matching Vault's .problem-video-caption */
      .prob-label {
        order: unset;
        flex-basis: auto;
        display: block;
        width: 100%;
        text-align: center;
        margin: 8px 0 0;
        padding-top: 8px;
        border-top: 1px solid rgba(200, 164, 77, 0.1);
        font-size: 0.82rem;
        letter-spacing: 0.08em;
      }

      .prob-big-play-btn {
        width: 58px;
        height: 58px;
      }

      .prob-big-play-btn svg {
        width: 22px;
        height: 22px;
      }

      .prob-big-play {
        padding-bottom: 0;
      }
    }

    @media (max-width: 380px) {
      .prob-controls {
        gap: 6px;
        padding: 8px 10px;
      }

      .prob-btn {
        width: 27px;
        height: 27px;
      }

      .prob-btn svg {
        width: 11px;
        height: 11px;
      }

      .prob-big-play-btn {
        width: 50px;
        height: 50px;
      }

      .prob-big-play-btn svg {
        width: 18px;
        height: 18px;
      }
    }

    @media (max-width: 380px) {
      .video-controls-bar {
        gap: 6px;
        padding: 8px 10px;
      }

      .vid-btn {
        width: 28px;
        height: 28px;
      }

      .vid-btn svg {
        width: 12px;
        height: 12px;
      }
    }

    /* ── 3. WHY CROWN — bento card alignment & spacing fixes ── */
    @media (max-width: 768px) {
      .wc-mod-body {
        padding: 24px 20px !important;
        gap: 24px;
      }

      .wc-mod-title {
        font-size: 1.2rem;
      }

      .wc-m1 .wc-mod-body,
      .wc-m4 .wc-mod-body {
        padding: 24px 20px !important;
      }

      /* API terminal lines: stop horizontal overflow */
      .wc-api-line {
        flex-wrap: wrap;
        font-size: 0.68rem;
        row-gap: 2px;
      }

      .wc-api-path {
        flex-basis: 100%;
        order: 3;
        white-space: normal;
        word-break: break-all;
      }

      .wc-api-ping {
        margin-left: 0;
      }

      /* Credential wallet cards: prevent share badge overlap */
      .wc-cred-card {
        flex-wrap: wrap;
        row-gap: 8px;
      }

      .wc-cred-info {
        flex: 1 1 140px;
        min-width: 140px;
      }

      .wc-cred-name {
        word-break: normal;
        overflow-wrap: break-word;
      }

      .wc-cred-share {
        flex-shrink: 0;
        margin-left: auto;
      }

      .wc-dashboard {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
      }

      .wc-kpi-val {
        font-size: 1.25rem;
      }
    }

    @media (max-width: 400px) {
      .wc-flow-step {
        flex-wrap: wrap;
        row-gap: 2px;
      }

      .wc-flow-sub {
        margin-left: 0;
        flex-basis: 100%;
        padding-left: 20px;
      }

      .wc-dashboard {
        grid-template-columns: 1fr;
      }
    }

    /* ── 4. COMPARISON TABLE — fully responsive, no clipped text ── */
    @media (max-width: 900px) {
      .cmp-header,
      .cmp-row,
      .cmp-footer-row {
        grid-template-columns: 1.3fr 1fr 1fr;
      }

      .cmp-cap-text,
      .cmp-crown-text,
      .cmp-legacy-text {
        font-size: 0.85rem;
        line-height: 1.35;
      }
    }

    @media (max-width: 640px) {
      .cmp-wrap {
        margin-top: 40px;
      }

      .cmp-header,
      .cmp-row,
      .cmp-footer-row {
        grid-template-columns: 1fr;
      }

      .cmp-header {
        border-radius: 16px 16px 0 0;
      }

      .cmp-h-cap {
        display: none;
      }

      .cmp-h-crown,
      .cmp-h-legacy {
        padding: 14px 16px;
        border-left: none;
        border-right: none;
      }

      .cmp-h-crown {
        border-radius: 0;
      }

      .cmp-row {
        display: flex;
        flex-direction: column;
        padding: 18px 18px 20px;
        gap: 12px;
      }

      .cmp-cap {
        padding: 0;
        border-right: none;
        border-bottom: 1px solid rgba(200, 164, 77, 0.12);
        padding-bottom: 12px;
      }

      .cmp-cap-text {
        font-size: 0.92rem;
        font-weight: 600;
      }

      .cmp-crown-cell,
      .cmp-legacy-cell {
        padding: 10px 14px;
        border: 1px solid rgba(200, 164, 77, 0.14);
        border-radius: 10px;
        align-items: flex-start;
      }

      .cmp-crown-cell {
        border-left: 1px solid rgba(200, 164, 77, 0.18);
      }

      .cmp-crown-cell::before {
        display: none;
      }

      .cmp-legacy-cell {
        border-left: 1px solid rgba(255, 255, 255, 0.08);
      }

      .cmp-crown-text,
      .cmp-legacy-text {
        font-size: 0.85rem;
        line-height: 1.45;
        word-break: normal;
      }

      .cmp-check-ring,
      .cmp-cross-ring {
        margin-top: 1px;
      }

      .cmp-footer-row {
        display: flex;
        flex-direction: column;
      }

      .cmp-footer-empty {
        display: none;
      }

      .cmp-footer-crown,
      .cmp-footer-legacy {
        padding: 14px 18px;
        border-left: none;
        border-right: none;
        justify-content: flex-start;
      }
    }

    /* ── 5. REAL IMPACT — connecting lines no longer touch content ── */
    
    @media (max-width: 900px) {
      .impact-outcome-content {
        padding: 24px 24px !important;
        border-left: 2px solid rgba(200, 164, 77, 0.25);
        border-radius: 0 12px 12px 0;
        background: rgba(200, 164, 77, 0.03);
        margin-bottom: 8px;
      }

      .impact-outcome {
        margin-bottom: 20px;
      }

      .impact-outcome-metric {
        font-size: clamp(2rem, 6vw, 2.8rem);
      }
      .mascot-wrapper {
        right: 10px;
    }

    .mascot-wrapper img {
        width: 120px;
    }
    }

    @media (max-width: 768px) {
    .mascot-wrapper {
        right: -15px;
        bottom: 0;
    }

    .mascot-wrapper img {
        width: 120px;
    }
    .mascot-bubble{display: none!important;}
}
    @media (max-width: 480px) {
      .impact-summary-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
      }

      .impact-summary-pills {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 12px;
      }
    }

    /* ── 6. FAQ — spacing, alignment, accordion smoothness on mobile ── */
    @media (max-width: 640px) {
      .faq-header {
        margin-bottom: 40px;
      }

      .faq-list {
        border-radius: 16px;
      }

      .faq-question {
        padding: 18px 16px;
        gap: 12px;
        align-items: flex-start;
      }

      .faq-q-icon {
        width: 26px;
        height: 26px;
        font-size: 0.62rem;
        margin-top: 2px;
      }

      .faq-q-text {
        font-size: 0.92rem;
        line-height: 1.4;
      }

      .faq-toggle {
        width: 24px;
        height: 24px;
        margin-top: 2px;
      }

      .faq-toggle svg {
        width: 11px;
        height: 11px;
      }

      .faq-answer-inner {
        padding: 14px 16px 20px !important;
        font-size: 0.88rem;
        line-height: 1.65;
      }

      .faq-q-text {
        flex: 1;
        min-width: 0;
        overflow-wrap: break-word;
      }
 
    }

    @media (max-width: 360px) {
      .faq-question {
        gap: 10px;
        padding: 16px 14px;
      }

      .faq-q-icon {
        width: 24px;
        height: 24px;
        font-size: 0.58rem;
      }

      .faq-q-text {
        font-size: 0.86rem;
      }
    }
     @media (max-width: 901px) {
      .home-rotating-phrase{display: none!important;}
     }

    /* ── General overflow safety for absolutely positioned / transformed elements ── */
    #home,
    .home-visual,
    .credential-ecosystem,
    .wc-bento,
    .cmp-wrap,
    #real-impact,
    #premium-stats,
    #video-showcase,
    #faq {
      max-width: 100%;
    }

    section,
    footer {
      max-width: 100vw;
    }

  
    /* Floating Container */
    .chat-widget {
      /* position: fixed;
      bottom: 130px;
      right: 60px;
      z-index: 1000; */
      display: flex;
      flex-direction: column;
      align-items: flex-end;
    }
    .chat-widget .chat-toggle{opacity: 0;}

    /* Chat Window */
    .chat-widget .chat-window {
      width: 350px;
      height: 480px;
      background-color: #ffffff;
      border-radius: 16px;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
      margin-bottom: 16px;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      position: fixed;
    right: 60px;
    bottom: 135px;
    z-index: 9;
      
      /* Hidden State Animation */
      opacity: 0;
      visibility: hidden;
      transform: translateY(20px) scale(0.95);
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
      transform-origin: bottom right;
    }

    /* Open State */
    .chat-widget .chat-toggle:checked ~ .chat-window {
      opacity: 1;
      visibility: visible;
      transform: translateY(0) scale(1);
    }

    /* Header */
   /* Header Layout Update */
.chat-widget .chat-header {
  background-color: #c6a358;
  color: #ffffff;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between; /* Pushes the close button to the far right */
  gap: 12px;
}

/* Group avatar and title together on the left */
.chat-widget .chat-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

   .chat-widget .avatar-status {
      position: relative;
    }

   .chat-widget .avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background-color: #ffffff;
      color: #c6a358;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 14px;
    }

    .chat-widget .online-indicator {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 10px;
      height: 10px;
      background-color: #22c55e;
      border: 1px solid #000;
      border-radius: 50%;
    }

    .chat-widget .chat-header-info h4 {
      font-size: 15px;
      font-weight: 600;
    }

    .chat-widget .chat-header-info p {
      font-size: 12px;
      opacity: 0.85;
    }
    /* Header Close Button Styling */
.chat-widget .chat-header-close {
  background: none;
  border: none;
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 4px;
  opacity: 0.8;
  transition: opacity 0.2s, background-color 0.2s;
}

.chat-widget .chat-header-close:hover {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.15);
}

    /* Message Body */
    .chat-widget .chat-body {
      flex: 1;
      padding: 16px;
      overflow-y: auto;
      background-color: #f8fafc;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .chat-widget .message {
      max-width: 80%;
      padding: 10px 14px;
      border-radius: 12px;
      font-size: 14px;
      line-height: 1.4;
    }

    .chat-widget .message.received {
      background-color: #ffffff;
      color: #1e293b;
      align-self: flex-start;
      border-bottom-left-radius: 2px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); 
      position: relative; padding-right: 50px;
    }
    .chat-widget .message.received img {
      position: absolute; right: 0; bottom: -20px;
    }

    .chat-widget .message.sent {
      background-color: #c6a3588c;
      color: #000;
      align-self: flex-end;
      border-bottom-right-radius: 2px;
    }

    /* Footer Input Area */
    .chat-widget .chat-footer {
      padding: 12px 16px;
      background-color: #ffffff;
      border-top: 1px solid #e2e8f0;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .chat-widget .chat-footer input {
      flex: 1;
      border: 1px solid #cbd5e1;
      border-radius: 20px;
      padding: 10px 14px;
      font-size: 14px;
      outline: none;
      transition: border-color 0.2s;
    }

    .chat-widget .chat-footer input:focus {
      border-color: #000;
    }

   .chat-widget button {
      background: none;
      border: none;
      color: #25537d;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 6px;
      border-radius: 50%;
      transition: background-color 0.2s;
    }

    .chat-widget .send-btn:hover {
      background-color: #f1f5f9;
    }
    .chat-widget .chat-button{cursor: pointer; position: fixed;
      bottom: 130px;
      right: 60px;
      z-index: 1000;}
      .chat-widget .mic-btn.recording{
        border: 1px solid red; color: red;
      }

    /* Mobile: keep the window fully on-screen instead of overflowing past the edge */
    @media (max-width: 480px) {
        .chat-widget {
            right: 12px;
            left: 12px;
            bottom: 100px;
            align-items: stretch;
        }
        .chat-widget .chat-window {
            width: 85%;
            height: min(65vh, 480px); right: 20px; bottom: 80px;
        }
        .chat-widget .chat-button {
            align-self: flex-end;
        }
        .chat-widget .chat-footer{display: block;}
        .chat-widget .chat-footer input{display: block; width: 100%;}
    }

    .chat-widget .chat-toggle:checked ~ .chat-button .mascot-bubble {
      display: none;
    }

    @media (max-width: 480px){
        .chat-widget .chat-button .mascot-bubble {
            display: none;
        }
    }

    .chat-input-container{
    flex:1;
    display:flex;
    align-items:center;
}

 .chat-widget .recording-status{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px;
    background:#f5f5f5;
    border-radius:10px;
    font-size:14px;
    color:#444;
}

 .chat-widget .record-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#ff3b30;
    animation:pulse 1s infinite;
}

@keyframes pulse{
    0%{opacity:1;}
    50%{opacity:.3;}
    100%{opacity:1;}
}
 
 .chat-widget .play-btn {
  position: absolute;
  top: 10px;
  right: 10px;

  width: 32px;
  height: 32px;

  border: none;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #e5e5e5;
  cursor: pointer; 
}

 .chat-widget .play-btn:hover {
  background: #e5e5e5;
}