  :root {
    /* Foundation 50% — deep navy near-black */
    --bg-foundation: #050a1c;
    --bg-foundation-soft: #0a1230;
    --bg-card-dark: #0f1a3d;
    --bg-card-darker: #0a142e;
    --bg-light: #f5f6fb;
    --bg-light-mid: #ebedf6;
    --bg-card-light: #ffffff;

    /* Content 25% — text */
    --text-light: rgba(255, 255, 255, 0.96);
    --text-light-muted: rgba(255, 255, 255, 0.62);
    --text-light-dim: rgba(255, 255, 255, 0.40);
    --text-dark: #050a1c;
    --text-dark-muted: #4f5878;

    /* Action 15% — primary brand blue */
    --action: #1b46c2;
    --action-hover: #0523c8;
    --action-bright: #4a7ce0;
    --action-soft: rgba(27, 70, 194, 0.12);
    --action-glow: rgba(74, 124, 224, 0.22);

    /* Accents 10% — semantic */
    --accent-success: #4ade80;
    --accent-warn: #fbbf24;
    --accent-error: #ef4444;

    --border-light: rgba(5, 10, 28, 0.08);
    --border-dark: rgba(255, 255, 255, 0.08);
    --border-action: rgba(27, 70, 194, 0.30);

    --container: 1280px;
    --radius-sm: 8px;
    --radius: 12px;
    --radius-lg: 20px;
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }

  html, body {
    /* `clip` clips overflow without creating a scroll-container — so
       position: sticky on .header still attaches to the viewport.
       Older browsers fall through to `hidden` (which would re-break sticky,
       but Chrome/Safari/FF all support `clip` since 2022). */
    overflow-x: clip;
    max-width: 100%;
  }
  body {
    font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: var(--text-dark);
    background: var(--bg-foundation);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; }
  a { color: inherit; text-decoration: none; }

  /* Arrow brand element */
  .arrow::after { content: " →"; }
  .arrow-prefix::before { content: "→ "; color: var(--action-bright); }

  /* Header */
  .header {
    position: sticky; top: 0; z-index: 100;
    background: #000;
    border-bottom: 1px solid var(--border-dark);
    color: var(--text-light);
  }
  .header-inner {
    display: flex; align-items: center; justify-content: space-between;
    height: 72px;
  }
  .logo {
    display: inline-flex; align-items: center;
    transition: opacity 0.15s;
  }
  .logo:hover { opacity: 0.85; }
  .logo-img {
    height: 22px; width: auto;
    display: block;
  }
  .footer .logo-img { height: 26px; }
  .nav { display: flex; gap: 32px; font-size: 14px; align-items: stretch; }
  .nav > a, .nav-item-trigger {
    color: var(--text-light-muted);
    transition: color 0.15s;
    display: inline-flex; align-items: center;
    padding: 26px 0;
    text-decoration: none;
    cursor: pointer;
  }
  .nav > a:hover, .nav-item:hover .nav-item-trigger,
  .nav-item:focus-within .nav-item-trigger { color: var(--text-light); }
  .nav .has-arrow::after {
    content: "▾"; margin-left: 4px; font-size: 10px; opacity: 0.6;
    transition: transform 0.2s;
  }
  .nav-item:hover .has-arrow::after,
  .nav-item:focus-within .has-arrow::after { transform: rotate(180deg); }

  /* Dropdown */
  .nav-item { position: relative; }
  .nav-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    transform: translateY(-6px);
    min-width: 240px;
    background: #0a1230;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: var(--radius-sm);
    padding: 8px;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);
    opacity: 0; visibility: hidden;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    z-index: 200;
  }
  .nav-dropdown-wide { min-width: 320px; }
  .nav-dropdown-right { left: auto; right: 0; }
  .nav-item:hover .nav-dropdown,
  .nav-item:focus-within .nav-dropdown {
    opacity: 1; visibility: visible;
    transform: translateY(0);
  }
  .nav-dd-link {
    display: block;
    padding: 10px 14px;
    color: var(--text-light) !important;
    border-radius: 4px;
    transition: background 0.15s;
    text-decoration: none;
  }
  .nav-dd-link:hover { background: rgba(255, 255, 255, 0.06); }
  .nav-dd-title {
    display: block;
    font-size: 14px; font-weight: 600;
    color: white;
    line-height: 1.3;
  }
  .nav-dd-sub {
    display: block;
    font-size: 12px;
    color: var(--text-light-dim);
    margin-top: 2px;
    line-height: 1.4;
  }
  .nav-dd-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    margin: 6px 4px;
  }
  .nav-dd-all {
    display: block;
    padding: 10px 14px;
    color: var(--action-bright) !important;
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.08em;
    border-radius: 4px;
    transition: background 0.15s;
    text-decoration: none;
  }
  .nav-dd-all::after { content: "  →"; }
  .nav-dd-all:hover { background: rgba(74, 124, 224, 0.10); }
  .btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 11px 20px; border-radius: var(--radius-sm);
    font-size: 14px; font-weight: 500; line-height: 1;
    cursor: pointer; border: none;
    font-family: inherit;
    transition: all 0.15s ease;
    white-space: nowrap;
  }
  .btn-primary {
    background: var(--action); color: white;
    box-shadow: 0 0 0 0 var(--action-glow);
  }
  .btn-primary:hover {
    background: var(--action-hover);
    box-shadow: 0 0 0 4px var(--action-glow);
    transform: translateY(-1px);
  }
  .btn-ghost-light {
    background: transparent; color: white;
    border: 1px solid rgba(255,255,255,0.18);
  }
  .btn-ghost-light:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.32); }
  .btn-ghost-dark {
    background: transparent; color: var(--text-dark);
    border: 1px solid var(--border-light);
  }
  .btn-ghost-dark:hover { background: var(--bg-light-mid); }
  .btn-large { padding: 15px 26px; font-size: 15px; }
  .btn-arrow::after { content: "  →"; transition: transform 0.15s; display: inline-block; }
  .btn:hover .btn-arrow::after { transform: translateX(3px); }
  .btn-icon { flex-shrink: 0; display: block; }

  .header-actions { display: flex; align-items: center; gap: 12px; }

  /* Burger (mobile) */
  .burger {
    display: none;
    width: 40px; height: 40px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--radius-sm);
    cursor: pointer;
    padding: 0;
    position: relative;
    transition: border-color 0.15s;
  }
  .burger:hover { border-color: rgba(255, 255, 255, 0.32); }
  .burger-icon, .burger-icon::before, .burger-icon::after {
    width: 18px; height: 2px;
    background: white;
    display: block;
    position: absolute;
    left: 50%;
    transition: transform 0.22s ease, top 0.22s ease, background 0.18s, opacity 0.18s;
  }
  .burger-icon {
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .burger-icon::before, .burger-icon::after {
    content: "";
    transform: translateX(-50%);
  }
  .burger-icon::before { top: -6px; }
  .burger-icon::after { top: 6px; }
  .burger[aria-expanded="true"] .burger-icon { background: transparent; }
  .burger[aria-expanded="true"] .burger-icon::before {
    top: 0;
    transform: translateX(-50%) rotate(45deg);
  }
  .burger[aria-expanded="true"] .burger-icon::after {
    top: 0;
    transform: translateX(-50%) rotate(-45deg);
  }

  /* Mobile drawer */
  .mobile-drawer {
    display: none;
    position: fixed;
    top: 72px; left: 0; right: 0; bottom: 0;
    background: #000;
    z-index: 99;
    overflow-y: auto;
    padding: 16px 32px 96px;
  }
  .mobile-drawer.open { display: block; }
  .mobile-section {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .mobile-link, .mobile-dropdown-trigger {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 0;
    color: white;
    font-size: 17px; font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    background: transparent; border: none; width: 100%;
    font-family: inherit;
    text-align: left;
  }
  .mobile-dropdown-trigger::after {
    content: "+"; font-size: 22px; font-weight: 400;
    color: var(--text-light-muted);
    transition: transform 0.22s ease;
    line-height: 1;
  }
  .mobile-section.expanded .mobile-dropdown-trigger::after {
    transform: rotate(45deg);
    color: var(--action-bright);
  }
  .mobile-sublist {
    display: none;
    padding: 0 0 18px 0;
  }
  .mobile-section.expanded .mobile-sublist { display: block; }
  .mobile-sublist a {
    display: block;
    padding: 9px 0;
    color: var(--text-light-muted);
    font-size: 15px;
    line-height: 1.4;
    text-decoration: none;
    transition: color 0.15s;
  }
  .mobile-sublist a:hover { color: white; }
  .mobile-sublist .mobile-sub-meta {
    display: block;
    font-size: 12px;
    color: var(--text-light-dim);
    margin-top: 2px;
  }
  .mobile-cta {
    margin-top: 28px;
    width: 100%;
    justify-content: center;
  }

  /* Hero */
  .hero {
    background-color: var(--bg-foundation);
    background-image: url('assets/hero-bg.webp');
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    color: var(--text-light);
    padding: 120px 0 140px;
    position: relative;
    overflow: hidden;
  }
  .hero::before {
    /* Black overlay — strong on left for text readability, lighter on right to keep image UI visible */
    content: "";
    position: absolute; inset: 0;
    background:
      linear-gradient(90deg,
        rgba(0, 0, 0, 0.78) 0%,
        rgba(0, 0, 0, 0.62) 40%,
        rgba(0, 0, 0, 0.28) 75%,
        rgba(0, 0, 0, 0.40) 100%);
    pointer-events: none;
  }
  .hero::after {
    /* Bottom fade to black — section transition */
    content: "";
    position: absolute;
    bottom: 0; left: 0; right: 0; height: 140px;
    background: linear-gradient(180deg, transparent, #000);
    pointer-events: none;
  }
  .hero-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
    z-index: 1;
  }
  /* Compact hero for secondary pages — no image, no overlay, ~½ height */
  .page-hero {
    background: #000;
    color: var(--text-light);
    padding: 56px 0 64px;
    position: relative;
  }
  .page-hero .h1 { font-size: clamp(34px, 4.4vw, 56px); }
  .eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--action-bright);
    margin-bottom: 28px;
  }
  .eyebrow::before {
    content: ""; width: 24px; height: 1px; background: var(--action-bright);
  }
  .h1 {
    font-size: 88px; line-height: 0.98; font-weight: 700;
    letter-spacing: -0.035em;
    margin-bottom: 28px;
  }
  .h1 .accent-line {
    display: inline-block;
    color: var(--action-bright);
    position: relative;
  }
  .h1-sub {
    font-size: 22px; line-height: 1.45;
    color: var(--text-light);
    max-width: 620px;
    margin-bottom: 16px;
    font-weight: 400;
  }
  .h1-sub .strong { color: white; font-weight: 500; }
  .section-light .h1-sub { color: var(--text-dark-muted); }
  .section-light .h1-sub .strong { color: var(--text-dark); }
  .supporting {
    font-size: 14px;
    color: var(--text-light-muted);
    margin-bottom: 44px;
    display: flex; align-items: center; gap: 8px;
  }
  .supporting::before {
    content: ""; width: 4px; height: 4px;
    background: var(--action-bright); border-radius: 50%;
    display: inline-block;
  }
  .cta-row { display: flex; gap: 12px; margin-bottom: 56px; flex-wrap: wrap; }
  .trust-row {
    display: flex; gap: 0; flex-wrap: wrap;
    font-size: 13px; color: var(--text-light-muted);
    align-items: center;
    border-top: 1px solid var(--border-dark);
    padding-top: 24px;
  }
  .trust-label {
    text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px;
    color: var(--text-light-dim);
    margin-right: 24px;
  }
  .trust-row .trust-item {
    padding: 0 18px;
    border-right: 1px solid var(--border-dark);
    font-weight: 500;
    color: var(--text-light);
    letter-spacing: 0.02em;
  }
  .trust-row .trust-item:first-of-type { padding-left: 0; }
  .trust-row .trust-item:last-of-type { border-right: none; padding-right: 0; }

  /* Hero product-chips — 4 verticals */
  .product-chips {
    display: flex; gap: 10px; flex-wrap: wrap;
    border-top: 1px solid var(--border-dark);
    padding-top: 28px;
  }
  .product-chip {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 10px 18px 10px 14px;
    background: rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: var(--text-light);
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    border-radius: 999px;
    backdrop-filter: blur(16px) saturate(160%);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
    transition: all 0.18s ease;
    cursor: pointer;
    white-space: nowrap;
  }
  .product-chip::before {
    content: ""; width: 6px; height: 6px;
    background: var(--action-bright);
    transition: transform 0.18s ease;
  }
  .product-chip:hover {
    background: rgba(27, 70, 194, 0.30);
    border-color: var(--action-bright);
    transform: translateY(-1px);
  }
  .product-chip:hover::before {
    transform: scale(1.4) rotate(45deg);
  }

  /* Hero metrics tile — glass / black tint 50% */
  .metrics-tile {
    background: rgba(0, 0, 0, 0.50);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--radius);
    padding: 32px;
    position: relative;
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    box-shadow:
      0 24px 64px rgba(0, 0, 0, 0.45),
      inset 0 1px 0 rgba(255, 255, 255, 0.16),
      inset 0 -1px 0 rgba(255, 255, 255, 0.04);
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
  }
  .metrics-tile:hover {
    border-color: rgba(74, 124, 224, 0.45);
    box-shadow:
      0 28px 72px rgba(0, 0, 0, 0.55),
      0 0 80px rgba(74, 124, 224, 0.28),
      0 0 0 1px rgba(74, 124, 224, 0.20),
      inset 0 1px 0 rgba(255, 255, 255, 0.22),
      inset 0 -1px 0 rgba(255, 255, 255, 0.04);
    transform: translateY(-2px);
  }
  .metrics-tile::before {
    /* Growth shape — square */
    content: "";
    position: absolute;
    top: -1px; left: -1px;
    width: 40px; height: 40px;
    border-top: 2px solid var(--action-bright);
    border-left: 2px solid var(--action-bright);
    border-radius: var(--radius) 0 0 0;
  }
  .metrics-tile-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 20px;
    font-size: 11px; color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.12em;
    font-weight: 600;
  }
  .live-dot {
    display: inline-block; width: 6px; height: 6px;
    border-radius: 50%; background: var(--accent-success);
    margin-right: 8px;
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18);
    animation: pulse 2s infinite;
  }
  @keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
  }
  .metric-row {
    display: flex; justify-content: space-between; align-items: flex-end;
    padding: 18px 0;
    border-bottom: 1px solid var(--border-dark);
  }
  .metric-row:last-child { border-bottom: none; padding-bottom: 0; }
  .metric-row:first-child { padding-top: 0; }
  .metric-num {
    font-size: 40px; font-weight: 700; letter-spacing: -0.03em;
    color: white;
    font-feature-settings: "tnum";
  }
  .metric-label {
    font-size: 12px; color: var(--text-light-muted);
    text-align: right; max-width: 50%;
    text-transform: uppercase; letter-spacing: 0.06em;
    font-weight: 500;
  }

  /* Section base */
  .section { padding: 120px 0; }
  .section-light { background: var(--bg-light); color: var(--text-dark); }
  .section-dark { background: #000; color: var(--text-light); }
  .section-mid { background: #000; color: var(--text-light); }

  .section-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--action);
    margin-bottom: 20px;
  }
  .section-dark .section-eyebrow, .section-mid .section-eyebrow { color: var(--action-bright); }
  .section-eyebrow::before {
    content: ""; width: 24px; height: 1px; background: var(--action);
  }
  .section-dark .section-eyebrow::before, .section-mid .section-eyebrow::before { background: var(--action-bright); }

  .h2 {
    font-size: 56px; line-height: 1.05; font-weight: 700;
    letter-spacing: -0.025em;
    margin-bottom: 20px;
    max-width: 900px;
  }
  .h2 .accent { color: var(--action); }
  .section-dark .h2 .accent, .section-mid .h2 .accent { color: var(--action-bright); }
  .section-sub {
    font-size: 19px; line-height: 1.55;
    color: var(--text-dark-muted);
    max-width: 720px;
    margin-bottom: 64px;
  }
  .section-dark .section-sub, .section-mid .section-sub { color: var(--text-light-muted); }

  /* Latest news strip */
  .news-section {
    background: #000;
    color: var(--text-light);
    padding: 56px 0 64px;
    border-top: 1px solid var(--border-dark);
    border-bottom: 1px solid var(--border-dark);
  }
  .news-header {
    display: flex; align-items: flex-end; justify-content: space-between;
    margin-bottom: 32px;
    gap: 24px; flex-wrap: wrap;
  }
  .news-title-block .section-eyebrow { margin-bottom: 12px; }
  .news-title {
    font-size: 28px; font-weight: 700; letter-spacing: -0.02em;
    line-height: 1.15;
    color: white;
  }
  .news-title .accent { color: var(--action-bright); }
  .news-all-link {
    font-size: 12px; font-weight: 700; color: var(--action-bright);
    text-transform: uppercase; letter-spacing: 0.1em;
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 16px;
    border: 1px solid var(--border-dark);
    transition: all 0.15s;
  }
  .news-all-link::after { content: "→"; }
  .news-all-link:hover {
    border-color: var(--action-bright);
    background: rgba(74, 124, 224, 0.08);
  }
  .news-carousel {
    position: relative;
  }
  .news-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(360px, 1fr);
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-padding-left: 0;
    padding-bottom: 12px;
    margin: 0 -2px;
    padding-left: 2px;
    padding-right: 2px;
  }
  .news-track::-webkit-scrollbar { height: 4px; }
  .news-track::-webkit-scrollbar-track { background: rgba(255,255,255,0.04); }
  .news-track::-webkit-scrollbar-thumb {
    background: var(--border-dark); border-radius: 2px;
  }
  .news-track::-webkit-scrollbar-thumb:hover { background: var(--action); }
  .news-arrows {
    display: flex; gap: 8px; align-items: center;
  }
  .news-arrow {
    width: 40px; height: 40px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--border-dark);
    color: var(--text-light);
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer;
    font-size: 16px; font-weight: 700;
    font-family: inherit;
    transition: all 0.15s;
  }
  .news-arrow:hover:not(:disabled) {
    background: var(--action);
    border-color: var(--action);
    color: white;
  }
  .news-arrow:disabled {
    opacity: 0.32; cursor: not-allowed;
  }
  .news-card {
    background: var(--bg-foundation);
    padding: 28px;
    transition: background 0.15s;
    cursor: pointer;
    position: relative;
    display: flex; flex-direction: column;
    min-height: 220px;
    scroll-snap-align: start;
    border: 1px solid var(--border-dark);
  }
  .news-card:hover { background: var(--bg-foundation-soft); }
  .news-card::after {
    content: "→"; position: absolute;
    bottom: 24px; right: 28px;
    color: var(--action-bright); font-weight: 700; font-size: 18px;
    opacity: 0.4;
    transition: all 0.15s;
  }
  .news-card:hover::after { opacity: 1; transform: translateX(4px); }

  /* Coming-soon variant — visible placeholder, no link affordance */
  .news-card.is-coming-soon {
    cursor: default;
    opacity: 0.78;
  }
  .news-card.is-coming-soon:hover { background: var(--bg-foundation); }
  .news-card.is-coming-soon::after { content: none; }
  .news-coming-badge {
    margin-left: auto;
    padding: 3px 10px;
    background: var(--action-soft);
    color: var(--action-bright);
    border: 1px solid rgba(74, 124, 224, 0.45);
    border-radius: 999px;
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .section-light .news-card.is-coming-soon .news-coming-badge {
    background: rgba(27, 70, 194, 0.08);
    color: var(--action);
    border-color: rgba(27, 70, 194, 0.25);
  }
  .news-meta {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
  }
  .news-date {
    color: var(--text-light-dim);
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
  }
  .news-cat {
    padding: 4px 10px;
    background: var(--action-soft);
    color: var(--action-bright);
  }
  .news-cat.cat-press { background: rgba(74, 222, 128, 0.10); color: var(--accent-success); }
  .news-cat.cat-award { background: rgba(251, 191, 36, 0.10); color: var(--accent-warn); }
  .news-cat.cat-partner { background: rgba(167, 139, 250, 0.12); color: #c4b5fd; }
  .news-cat-chip {
    display: inline-flex; align-items: center;
    padding: 3px 8px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-light-muted);
    border: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 10px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.08em;
    text-decoration: none;
    transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
  }
  a.news-cat-chip:hover { background: rgba(255, 255, 255, 0.08); color: var(--text-light); border-color: rgba(255, 255, 255, 0.16); }

  /* /news filter bar — chips above the grid */
  .news-filter-bar {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-bottom: 28px;
  }
  .news-filter-chip {
    appearance: none; -webkit-appearance: none;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-light-muted);
    border: 1px solid rgba(255, 255, 255, 0.10);
    font-family: inherit;
    font-size: 12px; font-weight: 600;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
  }
  .news-filter-chip:hover { background: rgba(255, 255, 255, 0.08); color: var(--text-light); }
  .news-filter-chip.is-active {
    background: var(--action-soft);
    color: var(--action-bright);
    border-color: rgba(74, 124, 224, 0.45);
  }
  .news-empty-msg {
    color: var(--text-light-dim);
    font-size: 14px;
    text-align: center;
    margin-top: 24px;
  }
  .news-headline {
    font-size: 17px; font-weight: 600; line-height: 1.35;
    color: white;
    letter-spacing: -0.01em;
    margin-bottom: 14px;
    flex-grow: 1;
  }
  .news-excerpt {
    font-size: 13px; line-height: 1.5;
    color: var(--text-light-muted);
    padding-right: 32px;
  }

  /* Featured card + grid (hubs: blog / newsroom / whitepapers / events) */
  .news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .news-grid .news-card-featured {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 0;
    padding: 0;
    overflow: hidden;
  }
  .news-card-featured-side {
    background: linear-gradient(135deg, var(--bg-foundation) 0%, var(--bg-foundation-soft) 100%);
    padding: 48px 40px;
    display: flex; flex-direction: column; gap: 12px;
    justify-content: space-between;
    position: relative;
  }
  .news-card-featured-side::before {
    content: "Featured";
    position: absolute;
    top: 24px; right: 24px;
    font-size: 10px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.12em;
    color: var(--action-bright);
    padding: 5px 10px;
    background: rgba(74, 124, 224, 0.14);
    border-radius: 999px;
  }
  .news-card-featured-meta {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: var(--action-bright);
    font-family: "JetBrains Mono", monospace;
  }
  .news-card-featured-side .news-tag {
    display: inline-block;
    padding: 4px 10px;
    background: rgba(74, 124, 224, 0.14);
    color: var(--action-bright);
    border-radius: 4px;
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.08em;
    width: fit-content;
  }
  .news-card-featured-body {
    padding: 48px 40px;
    background: var(--bg-foundation-soft);
    display: flex; flex-direction: column;
    justify-content: center; gap: 16px;
  }
  .news-card-featured-body .news-title {
    font-size: 32px; font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.02em;
  }
  .news-card-featured-body .news-excerpt {
    font-size: 15px; line-height: 1.55;
    color: var(--text-light-muted);
  }
  .news-card-featured-body .news-read-more {
    font-size: 12px; font-weight: 700;
    color: var(--action-bright);
    text-transform: uppercase; letter-spacing: 0.1em;
    margin-top: 8px;
  }
  .news-card-featured-body .news-read-more::after {
    content: "  →"; transition: transform 0.15s;
  }
  .news-card-featured:hover .news-read-more::after { transform: translateX(4px); }

  /* Roadmap / timeline section */
  .roadmap {
    list-style: none;
    padding: 0;
    margin: 32px 0 0;
    border-top: 1px solid var(--border-light);
  }
  .section-dark .roadmap, .section-mid .roadmap { border-top-color: var(--border-dark); }
  .roadmap-item {
    display: grid;
    grid-template-columns: 140px 220px 1fr;
    gap: 32px;
    padding: 28px 0;
    border-bottom: 1px solid var(--border-light);
    align-items: baseline;
  }
  .section-dark .roadmap-item, .section-mid .roadmap-item { border-bottom-color: var(--border-dark); }
  .roadmap-status {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: var(--text-dark-muted);
    font-family: "JetBrains Mono", monospace;
  }
  .section-dark .roadmap-status, .section-mid .roadmap-status { color: var(--text-light-dim); }
  .roadmap-live .roadmap-status {
    color: var(--accent-success);
    display: inline-flex; align-items: center; gap: 6px;
  }
  .roadmap-live .roadmap-status::before {
    content: "";
    width: 7px; height: 7px;
    background: var(--accent-success);
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18);
    animation: pulse 2s infinite;
  }
  .roadmap-name {
    font-size: 22px; font-weight: 700;
    letter-spacing: -0.015em;
  }
  .section-dark .roadmap-name, .section-mid .roadmap-name { color: white; }
  .roadmap-body {
    font-size: 15px; line-height: 1.5;
    color: var(--text-dark-muted);
  }
  .section-dark .roadmap-body, .section-mid .roadmap-body { color: var(--text-light-muted); }

  /* Compare (two-column with/without) */
  .compare {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 32px;
  }
  .compare-col {
    border-radius: var(--radius);
    padding: 36px;
    border: 1px solid var(--border-dark);
  }
  .section-light .compare-col {
    background: white;
    border-color: var(--border-light);
  }
  .compare-bad { border-color: rgba(239, 68, 68, 0.28); }
  .compare-good {
    border-color: rgba(74, 124, 224, 0.40);
    background: rgba(74, 124, 224, 0.06);
  }
  .section-light .compare-good { background: rgba(74, 124, 224, 0.04); }
  .compare-head {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.1em;
    margin-bottom: 24px;
  }
  .compare-bad .compare-head { color: var(--accent-error); }
  .compare-good .compare-head { color: var(--action-bright); }
  .compare ul {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 14px;
  }
  .compare li {
    font-size: 15px; line-height: 1.5;
    display: flex; gap: 12px; align-items: flex-start;
  }
  .section-dark .compare li, .section-mid .compare li { color: var(--text-light); }
  .compare-bad li::before {
    content: "×"; color: var(--accent-error); font-weight: 700;
    flex-shrink: 0; width: 16px; line-height: 1.5;
  }
  .compare-good li::before {
    content: "✓"; color: var(--action-bright); font-weight: 700;
    flex-shrink: 0; width: 16px; line-height: 1.5;
  }

  /* Case Studies — compact grid */
  .cases-page-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .case-page-card {
    background: white;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: 32px;
    display: flex; flex-direction: column;
    gap: 18px;
    text-decoration: none;
    color: var(--text-dark);
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
    position: relative;
  }
  .case-page-card:hover {
    border-color: var(--action);
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(5, 10, 28, 0.08);
  }
  .case-page-meta {
    display: flex; align-items: center; gap: 12px;
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.08em;
  }
  .case-page-tag {
    padding: 5px 10px;
    background: var(--action-soft);
    color: var(--action);
    border-radius: 4px;
  }
  .case-page-date {
    color: var(--text-dark-muted);
    font-family: "JetBrains Mono", monospace;
    margin-left: auto;
  }
  .case-page-title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--text-dark);
    letter-spacing: -0.015em;
    margin: 0;
  }
  .case-page-title .accent { color: var(--action); }
  .case-page-stat {
    border-left: 3px solid var(--action);
    padding-left: 16px;
    display: flex; flex-direction: column; gap: 4px;
  }
  .case-page-stat-num {
    font-size: 26px; font-weight: 700;
    color: var(--text-dark);
    line-height: 1;
    letter-spacing: -0.02em;
    font-feature-settings: "tnum";
  }
  .case-page-stat-label {
    font-size: 12px;
    color: var(--text-dark-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
  }
  .case-page-excerpt {
    font-size: 14px;
    color: var(--text-dark-muted);
    line-height: 1.55;
    margin: 0;
  }
  .case-page-link {
    font-size: 12px; font-weight: 700;
    color: var(--action);
    text-transform: uppercase; letter-spacing: 0.08em;
    display: inline-flex; align-items: center; gap: 6px;
    margin-top: auto;
  }
  .case-page-link::after {
    content: "→";
    transition: transform 0.15s;
  }
  .case-page-card:hover .case-page-link::after {
    transform: translateX(4px);
  }
  .cases-page-filters {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-bottom: 40px;
  }
  .cases-page-filter {
    padding: 8px 16px;
    background: white;
    border: 1px solid var(--border-light);
    border-radius: 999px;
    font-size: 12px; font-weight: 600;
    color: var(--text-dark-muted);
    cursor: pointer;
    transition: all 0.15s;
    text-transform: uppercase; letter-spacing: 0.06em;
  }
  .cases-page-filter:hover {
    border-color: var(--action);
    color: var(--action);
  }
  .cases-page-filter.active {
    background: var(--action);
    color: white;
    border-color: var(--action);
  }

  /* Problem framing */
  .problem-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--bg-card-light);
  }
  .problem-card {
    padding: 40px;
    border-right: 1px solid var(--border-light);
    transition: background 0.15s;
    position: relative;
  }
  .problem-card:last-child { border-right: none; }
  .problem-card:hover { background: var(--bg-light); }
  .problem-they-say {
    font-size: 13px;
    color: var(--text-dark-muted);
    margin-bottom: 16px;
    font-style: italic;
    display: flex; align-items: center; gap: 8px;
  }
  .problem-they-say::before {
    content: "×"; font-style: normal; font-weight: 700; color: var(--accent-error);
    width: 18px; height: 18px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(239, 68, 68, 0.10);
    border-radius: 50%; font-size: 11px;
  }
  .problem-we-show {
    font-size: 26px; line-height: 1.2; font-weight: 700;
    letter-spacing: -0.015em;
    margin-bottom: 24px;
    display: flex; align-items: flex-start; gap: 10px;
  }
  .problem-we-show::before {
    content: "→"; color: var(--action); flex-shrink: 0;
    margin-top: 1px;
  }
  .card-link {
    font-size: 13px; color: var(--action); font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.06em;
    transition: gap 0.15s;
    display: inline-flex; gap: 6px; align-items: center;
  }
  .card-link::after { content: "→"; transition: transform 0.15s; }
  .card-link:hover::after { transform: translateX(3px); }

  /* Product modules */
  .products-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--border-dark);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    overflow: hidden;
  }
  .product-tile {
    background: var(--bg-card-dark);
    padding: 48px;
    transition: background 0.2s;
    position: relative;
    color: var(--text-light);
  }
  .product-tile:hover {
    background: var(--bg-card-darker);
  }
  .product-status {
    position: absolute;
    top: 24px; right: 24px;
    padding: 5px 10px;
    background: var(--action-bright);
    color: white;
    font-size: 10px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.12em;
    border-radius: 999px;
  }
  .product-tile-header {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 24px;
  }
  .product-icon {
    width: 40px; height: 40px;
    background: var(--action);
    color: white;
    display: flex; align-items: center; justify-content: center;
    border-radius: 4px;
  }
  .product-icon svg { width: 22px; height: 22px; display: block; }
  .product-name {
    font-size: 12px; font-weight: 700; color: var(--action-bright);
    text-transform: uppercase; letter-spacing: 0.12em;
  }
  .product-headline {
    font-size: 28px; line-height: 1.15; font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
    color: white;
  }
  .product-body {
    font-size: 16px; line-height: 1.55;
    color: var(--text-light-muted);
    margin-bottom: 28px;
    min-height: 50px;
  }
  .product-cta {
    font-size: 13px; font-weight: 600; color: white;
    text-transform: uppercase; letter-spacing: 0.08em;
    border-bottom: 1px solid var(--action-bright);
    padding-bottom: 4px;
    transition: gap 0.15s;
    display: inline-flex; align-items: center; gap: 8px;
  }
  .product-cta::after { content: "→"; color: var(--action-bright); }
  .product-tile:hover .product-cta::after { transform: translateX(3px); }

  /* Polybetting spotlight */
  .spotlight-section { padding: 0; background: #000; }
  .spotlight {
    background: var(--bg-card-light);
    color: var(--text-dark);
    padding: 100px;
    position: relative;
    overflow: hidden;
    margin: 80px auto;
    max-width: var(--container);
    border-radius: var(--radius-lg);
  }
  .spotlight::before {
    content: "";
    position: absolute; top: -50px; right: -50px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, var(--action-glow) 0%, transparent 65%);
    pointer-events: none;
    filter: blur(40px);
  }
  .spotlight-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 80px;
    align-items: center;
    position: relative;
  }
  .spotlight .h2 { color: var(--text-dark); font-size: 56px; }
  .spotlight-body {
    font-size: 19px; line-height: 1.6;
    color: var(--text-dark);
    margin-bottom: 36px;
    max-width: 580px;
  }
  .spotlight-trust {
    display: flex; gap: 0; flex-wrap: wrap;
    font-size: 12px; color: var(--text-dark-muted);
    margin-top: 32px;
    text-transform: uppercase; letter-spacing: 0.1em;
    font-weight: 600;
  }
  .spotlight-trust .trust-item {
    padding: 0 16px;
    border-right: 1px solid var(--border-light);
    color: var(--text-dark-muted);
  }
  .spotlight-trust .trust-item:first-child { padding-left: 0; }
  .spotlight-trust .trust-item:last-child { border-right: none; }

  .spotlight-tiles {
    display: grid; gap: 12px;
    grid-auto-rows: 1fr;
    align-self: stretch;
  }
  .spotlight-tile {
    background: var(--bg-light);
    border: 1px solid var(--border-light);
    padding: 24px 28px;
    display: flex; gap: 18px; align-items: center;
    transition: all 0.2s;
  }
  .spotlight-tile:hover {
    background: var(--bg-light-mid);
    border-color: var(--border-action);
    transform: translateX(4px);
  }
  .spotlight-tile-icon {
    width: 40px; height: 40px; flex-shrink: 0;
    background: var(--action);
    color: white;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 18px;
  }
  .spotlight-tile-text {
    font-size: 15px; font-weight: 500; line-height: 1.4;
    color: var(--text-dark);
  }

  /* Why us */
  .why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--border-light);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    overflow: hidden;
  }
  .why-item {
    padding: 40px;
    background: var(--bg-card-light);
    transition: background 0.15s;
    display: flex; gap: 24px;
  }
  .why-item:hover { background: var(--bg-light); }
  .why-num {
    width: 44px; height: 44px; flex-shrink: 0;
    background: var(--action);
    color: white;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 16px;
    font-feature-settings: "tnum";
  }
  .why-title {
    font-size: 22px; font-weight: 700; letter-spacing: -0.01em;
    margin-bottom: 12px;
    line-height: 1.2;
  }
  .why-body {
    font-size: 15px; line-height: 1.6;
    color: var(--text-dark-muted);
  }
  .why-item-feature {
    background: var(--bg-light-mid);
    align-items: center;
  }
  .why-item-feature:hover { background: var(--bg-light-mid); }
  .why-feature-content {
    display: grid;
    grid-template-columns: minmax(220px, 320px) 1fr;
    gap: 40px;
    align-items: center;
    flex: 1;
  }
  .why-item-feature .why-title { margin-bottom: 0; }
  .why-item-feature .why-body { font-size: 16px; }
  @media (max-width: 980px) {
    .why-feature-content { grid-template-columns: 1fr; gap: 12px; }
  }

  /* Numbers wall — square pad layout */
  .numbers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--border-dark);
    border: 1px solid var(--border-dark);
  }
  .number-cell {
    background: var(--bg-foundation-soft);
    padding: 48px 36px;
    transition: background 0.15s;
    position: relative;
  }
  .number-cell:hover { background: var(--bg-card-dark); }
  .number-cell::before {
    /* Arrow pointing up-right — growth */
    content: "↗";
    position: absolute;
    top: 24px; right: 28px;
    font-size: 18px; color: var(--action-bright);
    opacity: 0.4;
    font-weight: 600;
  }
  .number-big {
    font-size: 72px; font-weight: 700; line-height: 1;
    letter-spacing: -0.04em;
    color: white;
    margin-bottom: 16px;
    font-feature-settings: "tnum";
  }
  .number-big .accent { color: var(--action-bright); }
  .number-label {
    font-size: 13px; line-height: 1.4;
    color: var(--text-light-muted);
    text-transform: uppercase; letter-spacing: 0.08em;
    font-weight: 600;
  }

  /* Cases */
  .cases-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .case-card {
    background: var(--bg-card-light);
    border: 1px solid var(--border-light);
    padding: 36px;
    cursor: pointer;
    transition: all 0.2s;
    position: relative;
  }
  .case-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 32px; height: 2px;
    background: var(--action);
    transition: width 0.2s;
  }
  .case-card:hover {
    border-color: var(--action);
    transform: translateY(-4px);
    box-shadow: 0 24px 48px rgba(5, 10, 28, 0.08);
  }
  .case-card:hover::before { width: 100%; }
  .case-tags {
    display: flex; gap: 8px; margin-bottom: 24px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
    flex-wrap: wrap;
  }
  .tag {
    padding: 5px 10px;
    background: var(--action-soft); color: var(--action);
  }
  .tag.tag-neutral {
    background: var(--bg-light-mid); color: var(--text-dark-muted);
  }
  .case-logo {
    height: 32px; width: 130px;
    background: var(--bg-light-mid);
    margin-bottom: 28px;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; color: var(--text-dark-muted); font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.06em;
  }
  .case-quote {
    font-size: 20px; line-height: 1.3; font-weight: 700;
    letter-spacing: -0.015em;
    margin-bottom: 24px;
    min-height: 80px;
  }
  .case-card .case-quote {
    background: var(--action);
    color: #fff;
    padding: 22px 26px;
    margin: 16px 0 24px;
    border-radius: var(--radius);
    border-left: 3px solid var(--action-bright);
    min-height: 0;
  }
  .case-card .case-quote .accent { color: #cfdcff; }
  .case-link {
    font-size: 12px; font-weight: 700; color: var(--action);
    text-transform: uppercase; letter-spacing: 0.08em;
    display: inline-flex; gap: 6px; align-items: center;
  }
  .case-link::after { content: "→"; transition: transform 0.15s; }

  /* Voices */
  .voices-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .voice-card {
    background: var(--bg-card-darker);
    border: 1px solid var(--border-dark);
    padding: 48px;
    color: var(--text-light);
    position: relative;
  }
  .voice-quote {
    font-size: 22px; line-height: 1.45; font-weight: 500;
    letter-spacing: -0.01em;
    margin-bottom: 32px;
    color: white;
    padding-left: 22px;
    border-left: 2px solid var(--action-bright);
  }
  .voice-author {
    display: flex; align-items: center; gap: 14px;
    padding-top: 24px;
    border-top: 1px solid var(--border-dark);
  }
  .voice-avatar {
    width: 44px; height: 44px;
    background: var(--action);
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    color: white; font-weight: 700; font-size: 16px;
  }
  .voice-name { font-weight: 600; font-size: 14px; color: white; }
  .voice-role {
    font-size: 12px; color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.08em;
    font-weight: 600;
  }

  /* CTA wide */
  .cta-section {
    background: var(--bg-foundation);
    color: var(--text-light);
    padding: 120px 0;
    position: relative;
    overflow: hidden;
  }
  .cta-section::before {
    content: "";
    position: absolute; top: 50%; left: -10%;
    width: 50%; height: 80%;
    background: radial-gradient(circle, var(--action-glow) 0%, transparent 65%);
    pointer-events: none;
    filter: blur(50px);
    transform: translateY(-50%);
  }
  .cta-grid {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 80px;
    align-items: start;
    position: relative;
  }
  .cta-bullets {
    list-style: none;
    margin-top: 40px;
    display: grid; gap: 16px;
    border-top: 1px solid var(--border-dark);
    padding-top: 32px;
  }
  .cta-bullets li {
    font-size: 15px; color: var(--text-light);
    display: flex; gap: 14px; align-items: flex-start;
  }
  .cta-bullets li::before {
    content: ""; flex-shrink: 0;
    width: 6px; height: 6px;
    background: var(--action-bright);
    border-radius: 50%;
    margin-top: 9px;
  }
  .cta-form {
    background: var(--bg-card-dark);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    padding: 44px;
    position: relative;
  }
  .cta-form::before {
    content: "";
    position: absolute;
    top: -1px; left: -1px;
    width: 48px; height: 48px;
    border-top: 2px solid var(--action-bright);
    border-left: 2px solid var(--action-bright);
    border-radius: var(--radius) 0 0 0;
  }
  .form-row { margin-bottom: 18px; }
  .form-label {
    display: block; font-size: 12px; font-weight: 600;
    color: var(--text-light-muted);
    margin-bottom: 8px;
    text-transform: uppercase; letter-spacing: 0.08em;
  }
  .form-input, .form-select, .form-textarea {
    width: 100%;
    padding: 13px 16px;
    background: var(--bg-foundation);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius-sm);
    color: var(--text-light);
    font-size: 14px;
    font-family: inherit;
    transition: all 0.15s;
  }
  .form-input:focus, .form-select:focus, .form-textarea:focus {
    outline: none;
    border-color: var(--action-bright);
    box-shadow: 0 0 0 3px var(--action-glow);
  }
  .form-textarea { min-height: 90px; resize: vertical; }
  .form-submit {
    width: 100%; margin-top: 12px; justify-content: center;
  }
  .form-privacy {
    font-size: 11px; color: var(--text-light-dim);
    margin-top: 16px; text-align: center;
    text-transform: uppercase; letter-spacing: 0.08em;
  }

  /* Footer */
  .footer {
    background: #000; color: var(--text-light);
    padding: 100px 0 40px;
    border-top: 1px solid var(--border-dark);
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 2fr repeat(4, 1fr);
    gap: 48px;
    margin-bottom: 80px;
  }
  .footer-social {
    display: flex; gap: 12px;
    margin-top: 24px;
  }
  .footer-social a {
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--border-dark);
    color: var(--text-light-muted);
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.06em;
    transition: all 0.15s;
  }
  .footer-social a:hover {
    background: var(--action);
    border-color: var(--action);
    color: white;
  }
  .footer-brand .logo { margin-bottom: 20px; color: white; }
  .footer-tagline {
    font-size: 14px; color: var(--text-light-muted);
    line-height: 1.55;
    margin-bottom: 24px;
    max-width: 300px;
  }
  .footer-slogan {
    font-size: 12px; font-weight: 700;
    color: var(--action-bright);
    text-transform: uppercase; letter-spacing: 0.16em;
    display: flex; align-items: center; gap: 8px;
  }
  .footer-slogan::before {
    content: ""; width: 18px; height: 1px;
    background: var(--action-bright);
    display: inline-block;
  }
  .footer-col-title {
    font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--text-light-dim);
    margin-bottom: 20px;
  }
  .footer-col ul { list-style: none; }
  .footer-col li { margin-bottom: 12px; }
  .footer-col a {
    font-size: 14px; color: var(--text-light);
    transition: color 0.15s;
  }
  .footer-col a:hover { color: var(--action-bright); }
  .footer-bottom {
    border-top: 1px solid var(--border-dark);
    padding-top: 32px;
    display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px;
    font-size: 12px; color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.08em;
  }
  .footer-bottom a { color: var(--text-light-dim); }
  .footer-disclaimer {
    margin-top: 28px; padding: 24px 28px;
    background: rgba(255,255,255,0.02);
    border: 1px solid var(--border-dark);
    border-left: 3px solid var(--action-bright);
    font-size: 13px; color: var(--text-light-muted);
    line-height: 1.5;
  }

  /* Responsive */
  @media (max-width: 980px) {
    .h1 { font-size: 48px; }
    .h2 { font-size: 36px; }
    .spotlight .h2 { font-size: 38px; }
    .hero-grid, .spotlight-grid { grid-template-columns: 1fr; gap: 36px; }
    .cta-grid { grid-template-columns: 1fr; gap: 12px; }
    .cta-grid > .cta-form { order: -1; }

    /* Hero — reduce vertical white-space */
    .hero { padding: 40px 0 64px; }
    .hero .eyebrow { margin-bottom: 16px; }
    .hero .h1 { margin-bottom: 20px; }
    .hero .h1-sub { font-size: 18px; margin-bottom: 12px; }
    .hero .supporting { margin-bottom: 28px; }
    .hero .cta-row { margin-bottom: 32px; }
    .hero::after { height: 80px; }

    /* Sections — tighter padding */
    .section { padding: 56px 0; }
    .spotlight { padding: 48px 28px; margin: 32px 16px; }

    /* Footer + non-carousel grids stay 1-col */
    .footer-grid { grid-template-columns: 1fr; }
    .why-grid { grid-template-columns: 1fr; }
    .numbers-grid { grid-template-columns: repeat(2, 1fr); }

    /* Mobile-carousel pattern — shared base */
    .problem-cards, .products-grid, .cases-grid, .voices-grid {
      display: flex;
      flex-direction: row;
      gap: 12px;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x mandatory;
      scroll-padding-left: 32px;
      margin: 0 -32px;
      padding: 4px 32px 16px;
      background: transparent;
      border: none;
      border-radius: 0;
      grid-template-columns: unset;
    }
    .problem-cards::-webkit-scrollbar,
    .products-grid::-webkit-scrollbar,
    .cases-grid::-webkit-scrollbar,
    .voices-grid::-webkit-scrollbar { height: 3px; }
    .problem-cards::-webkit-scrollbar-thumb,
    .products-grid::-webkit-scrollbar-thumb,
    .cases-grid::-webkit-scrollbar-thumb,
    .voices-grid::-webkit-scrollbar-thumb { background: var(--border-light); border-radius: 2px; }
    .products-grid::-webkit-scrollbar-thumb,
    .voices-grid::-webkit-scrollbar-thumb { background: var(--border-dark); }

    /* Problem framing — carousel */
    .problem-card {
      flex: 0 0 78%;
      scroll-snap-align: start;
      border: 1px solid var(--border-light);
      border-radius: var(--radius);
      padding: 28px;
    }

    /* Products — carousel */
    .product-tile {
      flex: 0 0 80%;
      scroll-snap-align: start;
      border: 1px solid var(--border-dark);
      border-radius: var(--radius);
      padding: 32px;
    }

    /* Spotlight inner tiles — horizontal scroll */
    .spotlight-tiles {
      display: flex;
      flex-direction: row;
      gap: 10px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      margin: 0 -28px;
      padding: 4px 28px 12px;
    }
    .spotlight-tile {
      flex: 0 0 72%;
      scroll-snap-align: start;
    }

    /* Why us — compact list */
    .why-item { padding: 24px; gap: 14px; }
    .why-num { width: 32px; height: 32px; font-size: 13px; }
    .why-title { font-size: 18px; margin-bottom: 8px; }
    .why-body { font-size: 14px; line-height: 1.5; }
    .why-feature-content { gap: 12px; }
    .why-item-feature .why-body { font-size: 14px; }

    /* Cases — carousel */
    .case-card {
      flex: 0 0 80%;
      scroll-snap-align: start;
      padding: 28px;
    }

    /* Voices — carousel */
    .voice-card {
      flex: 0 0 88%;
      scroll-snap-align: start;
      padding: 32px;
    }
    .voice-quote { font-size: 19px; }

    /* News — hide arrows on mobile, narrower cards for peek */
    .news-arrows { display: none; }
    .news-track { grid-auto-columns: minmax(280px, 84%); }

    /* Case studies page — keep stacked on mobile */
    .cases-page-grid { grid-template-columns: 1fr; gap: 16px; }
    .case-page-card { padding: 24px; }
    .case-page-title { font-size: 19px; }
    .case-page-stat-num { font-size: 22px; }

    /* News grid + featured (hub pages) */
    .news-grid { grid-template-columns: 1fr; }
    .news-grid .news-card-featured { grid-template-columns: 1fr; }
    .news-card-featured-side, .news-card-featured-body { padding: 28px; }
    .news-card-featured-body .news-title { font-size: 24px; }

    /* Roadmap mobile */
    .roadmap-item { grid-template-columns: 1fr; gap: 4px; padding: 20px 0; }
    .roadmap-name { font-size: 18px; }

    /* Compare mobile */
    .compare { grid-template-columns: 1fr; }
    .compare-col { padding: 24px; }

    /* Footer accordion */
    .footer-grid { gap: 0; }
    .footer-col {
      border-top: 1px solid var(--border-dark);
    }
    .footer-col:last-child { border-bottom: 1px solid var(--border-dark); }
    .footer-col-title {
      display: flex; align-items: center; justify-content: space-between;
      padding: 18px 0;
      margin: 0;
      cursor: pointer;
      font-size: 13px;
      color: var(--text-light);
      transition: color 0.15s;
    }
    .footer-col-title::after {
      content: "+";
      font-size: 22px; line-height: 1;
      color: var(--text-light-muted);
      transition: transform 0.22s ease;
    }
    .footer-col.open .footer-col-title::after {
      transform: rotate(45deg);
      color: var(--action-bright);
    }
    .footer-col ul {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.25s ease, padding 0.25s ease;
    }
    .footer-col.open ul {
      max-height: 400px;
      padding-bottom: 16px;
    }
    .footer-col li { margin-bottom: 10px; }
    .footer-brand { padding-bottom: 16px; }

    /* Header — burger mode */
    .nav { display: none; }
    .header-cta {
      padding: 0;
      width: 40px; height: 40px;
      justify-content: center;
      gap: 0;
    }
    .header-cta span { display: none; }
    .header-cta .btn-icon { width: 16px; height: 16px; }
    .burger { display: inline-flex; }
    .number-big { font-size: 56px; }
  }
  /* ============================================================
     COSMOS — space-themed atmosphere & motion
     Additive layer. Activates with <body class="has-cosmos">.
     Honors prefers-reduced-motion.
     ============================================================ */
  :root {
    --cosmos-void: #000;
    --cosmos-deep: #03040d;
    --cosmos-indigo: #0a0c2a;
    --cosmos-violet: #1d0e3d;
    --cosmos-ember: rgba(255, 138, 76, 0.10);
    --cosmos-plasma: rgba(120, 162, 255, 0.18);
    --cosmos-supernova: #e8efff;

    --display-serif: "Instrument Serif", "Cormorant Garamond", "Times New Roman", Georgia, serif;
  }

  /* The cosmos layer — fixed behind everything */
  .cosmos {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    background:
      radial-gradient(ellipse 1100px 800px at 20% 0%, var(--cosmos-plasma), transparent 60%),
      radial-gradient(ellipse 900px 700px at 90% 100%, rgba(167, 139, 250, 0.10), transparent 60%),
      radial-gradient(ellipse 1400px 900px at 70% 35%, rgba(74, 124, 224, 0.06), transparent 65%),
      var(--cosmos-void);
  }
  .cosmos::before,
  .cosmos::after {
    content: "";
    position: absolute;
    inset: -30% -30%;
    background-repeat: repeat;
    will-change: transform;
  }
  /* Far stars — small, dim, slow drift */
  .cosmos::before {
    background-image:
      radial-gradient(1px 1px at 23px 47px, rgba(255,255,255,0.7), transparent 50%),
      radial-gradient(1px 1px at 88px 130px, rgba(255,255,255,0.55), transparent 50%),
      radial-gradient(1px 1px at 162px 60px, rgba(180,210,255,0.6), transparent 50%),
      radial-gradient(1px 1px at 220px 200px, rgba(255,255,255,0.45), transparent 50%),
      radial-gradient(1.5px 1.5px at 290px 90px, rgba(220,230,255,0.7), transparent 50%),
      radial-gradient(1px 1px at 340px 250px, rgba(255,255,255,0.4), transparent 50%),
      radial-gradient(1px 1px at 400px 30px, rgba(180,210,255,0.6), transparent 50%),
      radial-gradient(1px 1px at 60px 280px, rgba(255,255,255,0.5), transparent 50%),
      radial-gradient(1.2px 1.2px at 470px 160px, rgba(255,255,255,0.6), transparent 50%),
      radial-gradient(1px 1px at 530px 230px, rgba(200,220,255,0.45), transparent 50%);
    background-size: 600px 320px;
    opacity: 0.85;
    animation: cosmosDriftSlow 240s linear infinite;
  }
  /* Near stars — slightly brighter, faster, with twinkle */
  .cosmos::after {
    background-image:
      radial-gradient(1.6px 1.6px at 80px 120px, rgba(255,255,255,0.95), transparent 60%),
      radial-gradient(2px 2px at 240px 80px, rgba(220,235,255,0.85), transparent 60%),
      radial-gradient(1.4px 1.4px at 360px 220px, rgba(255,255,255,0.9), transparent 60%),
      radial-gradient(2.2px 2.2px at 510px 120px, rgba(255,238,210,0.85), transparent 60%),
      radial-gradient(1.8px 1.8px at 140px 260px, rgba(255,255,255,0.8), transparent 60%),
      radial-gradient(2px 2px at 600px 280px, rgba(180,210,255,0.85), transparent 60%);
    background-size: 720px 380px;
    opacity: 0.75;
    animation: cosmosDriftFast 140s linear infinite, cosmosTwinkle 6s ease-in-out infinite;
  }

  @keyframes cosmosDriftSlow {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-600px, -160px, 0); }
  }
  @keyframes cosmosDriftFast {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-720px, 190px, 0); }
  }
  @keyframes cosmosTwinkle {
    0%, 100% { opacity: 0.75; }
    50%      { opacity: 0.45; }
  }

  /* Slow drifting nebula — additional decorative layer */
  .cosmos-nebula {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
  }
  .cosmos-nebula::before {
    content: "";
    position: absolute;
    width: 70vw; height: 70vw;
    top: -20vw; left: -20vw;
    background: radial-gradient(circle, rgba(74, 124, 224, 0.18) 0%, rgba(74, 124, 224, 0) 60%);
    filter: blur(40px);
    animation: nebulaFloatA 60s ease-in-out infinite alternate;
  }
  .cosmos-nebula::after {
    content: "";
    position: absolute;
    width: 60vw; height: 60vw;
    bottom: -15vw; right: -15vw;
    background: radial-gradient(circle, rgba(167, 139, 250, 0.14) 0%, rgba(167, 139, 250, 0) 60%);
    filter: blur(50px);
    animation: nebulaFloatB 75s ease-in-out infinite alternate;
  }
  @keyframes nebulaFloatA {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to   { transform: translate3d(8vw, 5vw, 0) scale(1.15); }
  }
  @keyframes nebulaFloatB {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to   { transform: translate3d(-6vw, -8vw, 0) scale(1.12); }
  }

  /* Shooting star — sweeps once a minute */
  .shooting-star {
    position: fixed;
    z-index: -1;
    top: 12%; left: -5%;
    width: 200px; height: 1px;
    background: linear-gradient(90deg, transparent, #fff 40%, #c4d2ff 60%, transparent);
    box-shadow: 0 0 8px 1px rgba(255,255,255,0.6);
    transform: rotate(20deg);
    opacity: 0;
    pointer-events: none;
    animation: shoot 14s ease-in 6s infinite;
    will-change: transform, opacity;
  }
  @keyframes shoot {
    0%   { transform: translate(0, 0) rotate(20deg);    opacity: 0; }
    1%   { opacity: 1; }
    8%   { transform: translate(110vw, 40vh) rotate(20deg); opacity: 0.95; }
    9%, 100% { opacity: 0; transform: translate(110vw, 40vh) rotate(20deg); }
  }

  /* Make the body show the cosmos for sections that should NOT cover it */
  body.has-cosmos { background: #000; }
  body.has-cosmos .section-dark,
  body.has-cosmos .section-mid,
  body.has-cosmos .news-section,
  body.has-cosmos .footer,
  body.has-cosmos .cta-section,
  body.has-cosmos .spotlight-section { background: transparent; }
  body.has-cosmos .footer { border-top-color: rgba(255,255,255,0.06); }

  /* Light sections stay opaque so cosmos doesn't bleed through */
  body.has-cosmos .section-light { position: relative; z-index: 1; }

  /* Hero — new cosmic image + cinematic vignette */
  body.has-cosmos .hero {
    background-color: #000;
    background-image:
      radial-gradient(ellipse 80% 70% at 78% 45%, transparent 0%, rgba(0,0,0,0.62) 70%, #000 100%),
      url('assets/hero-cosmic.webp');
    background-size: cover, cover;
    background-position: center, center;
  }
  body.has-cosmos .hero::before {
    background:
      linear-gradient(90deg,
        rgba(0, 0, 0, 0.92) 0%,
        rgba(0, 0, 0, 0.78) 35%,
        rgba(0, 0, 0, 0.42) 65%,
        rgba(0, 0, 0, 0.55) 100%),
      radial-gradient(ellipse 50% 60% at 75% 50%, rgba(120,162,255,0.10), transparent 60%);
  }

  /* Display serif italic for the H1 accent — supernova bloom */
  .h1 .accent-line {
    font-family: var(--display-serif);
    font-style: italic;
    font-weight: 400;
    color: var(--cosmos-supernova);
    letter-spacing: -0.015em;
    background: linear-gradient(180deg, #ffffff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow:
      0 0 30px rgba(196, 210, 255, 0.45),
      0 0 60px rgba(120, 162, 255, 0.30);
    padding-right: 0.06em;
  }
  /* For browsers that ignore -webkit-text-fill-color, the color above still reads */

  /* Section H2 accent — same display-serif italic, tinted to context */
  .h2 .accent {
    font-family: var(--display-serif);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.012em;
  }
  .section-light .h2 .accent { color: var(--action); }
  .section-dark .h2 .accent,
  .section-mid .h2 .accent { color: var(--cosmos-supernova); }
  .news-title .accent,
  .spotlight .h2 .accent { font-family: var(--display-serif); font-style: italic; font-weight: 400; }

  /* Hero supernova flare behind the H1 — only on cosmos pages */
  body.has-cosmos .hero .h1 {
    position: relative;
  }
  body.has-cosmos .hero .h1::before {
    content: "";
    position: absolute;
    left: -8%; top: 30%;
    width: 320px; height: 320px;
    background: radial-gradient(circle, rgba(196, 210, 255, 0.18) 0%, transparent 60%);
    filter: blur(30px);
    pointer-events: none;
    z-index: -1;
  }

  /* Subtle nebula glow behind dark sections */
  body.has-cosmos .section-dark,
  body.has-cosmos .section-mid {
    position: relative;
    overflow: hidden;
  }
  body.has-cosmos .section-dark::before,
  body.has-cosmos .section-mid::before {
    content: "";
    position: absolute;
    top: -20%; right: -10%;
    width: 50vw; height: 80%;
    background: radial-gradient(ellipse at center, rgba(120, 162, 255, 0.08) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
  }
  body.has-cosmos .section-dark > .container,
  body.has-cosmos .section-mid > .container { position: relative; z-index: 1; }

  /* Lift dark cards so cosmos doesn't bleed through their content */
  body.has-cosmos .product-tile,
  body.has-cosmos .news-card,
  body.has-cosmos .voice-card,
  body.has-cosmos .number-cell,
  body.has-cosmos .cta-form {
    background: rgba(8, 10, 24, 0.78);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  body.has-cosmos .product-tile:hover { background: rgba(15, 18, 38, 0.85); }
  body.has-cosmos .news-card:hover    { background: rgba(15, 18, 38, 0.85); }
  body.has-cosmos .number-cell:hover  { background: rgba(15, 18, 38, 0.82); }

  /* Spotlight stays a bright island — keep it solid */
  body.has-cosmos .spotlight {
    box-shadow: 0 30px 80px rgba(0,0,0,0.55), 0 0 0 1px rgba(120,162,255,0.10);
  }

  /* Hero metrics tile — push the supernova-glow harder */
  body.has-cosmos .metrics-tile {
    background: rgba(0, 0, 0, 0.55);
    border-color: rgba(120, 162, 255, 0.22);
    box-shadow:
      0 30px 80px rgba(0, 0, 0, 0.55),
      0 0 60px rgba(120, 162, 255, 0.10),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
  }

  /* Floating chip orbit — decorative, hero-only */
  .chip-orbit {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
  }
  .chip-orbit .chip {
    position: absolute;
    width: 28px; height: 28px;
    border-radius: 50%;
    background:
      radial-gradient(circle at 50% 40%, #f4f5fa 0%, #b7bcd1 40%, #4a4f66 75%, #1a1d2c 100%);
    box-shadow:
      inset 0 -2px 4px rgba(0,0,0,0.55),
      inset 0 2px 3px rgba(255,255,255,0.45),
      0 4px 18px rgba(120, 162, 255, 0.22);
    opacity: 0.55;
    will-change: transform;
  }
  .chip-orbit .chip::before {
    content: "";
    position: absolute; inset: 26%;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 40%, #f8f9fc 0%, #c5cad9 60%, #6a7088 100%);
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.4);
  }
  .chip-orbit .chip:nth-child(1) { left: 4%;  top: 22%; animation: orbit1 28s linear infinite; }
  .chip-orbit .chip:nth-child(2) { left: 88%; top: 70%; width: 22px; height: 22px; animation: orbit2 36s linear infinite; }
  .chip-orbit .chip:nth-child(3) { left: 18%; top: 78%; width: 18px; height: 18px; animation: orbit3 22s linear infinite; opacity: 0.4; }
  .chip-orbit .chip:nth-child(4) { left: 70%; top: 18%; width: 24px; height: 24px; animation: orbit1 32s linear infinite reverse; opacity: 0.5; }
  @keyframes orbit1 {
    0%   { transform: translate3d(0, 0, 0) rotate(0deg); }
    50%  { transform: translate3d(40px, -25px, 0) rotate(180deg); }
    100% { transform: translate3d(0, 0, 0) rotate(360deg); }
  }
  @keyframes orbit2 {
    0%   { transform: translate3d(0, 0, 0) rotate(0deg); }
    50%  { transform: translate3d(-30px, 30px, 0) rotate(-180deg); }
    100% { transform: translate3d(0, 0, 0) rotate(-360deg); }
  }
  @keyframes orbit3 {
    0%   { transform: translate3d(0, 0, 0) rotate(0deg); }
    50%  { transform: translate3d(20px, -18px, 0) rotate(180deg); }
    100% { transform: translate3d(0, 0, 0) rotate(360deg); }
  }

  /* Hero entrance — staggered reveal, single orchestrated moment */
  body.has-cosmos .hero .eyebrow,
  body.has-cosmos .hero .h1,
  body.has-cosmos .hero .h1-sub,
  body.has-cosmos .hero .supporting,
  body.has-cosmos .hero .cta-row,
  body.has-cosmos .hero .product-chips,
  body.has-cosmos .metrics-tile {
    opacity: 0;
    transform: translateY(14px);
    animation: heroRise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
  }
  body.has-cosmos .hero .eyebrow      { animation-delay: 0.05s; }
  body.has-cosmos .hero .h1           { animation-delay: 0.15s; }
  body.has-cosmos .hero .h1-sub       { animation-delay: 0.30s; }
  body.has-cosmos .hero .supporting   { animation-delay: 0.40s; }
  body.has-cosmos .hero .cta-row      { animation-delay: 0.50s; }
  body.has-cosmos .hero .product-chips{ animation-delay: 0.60s; }
  body.has-cosmos .metrics-tile       { animation-delay: 0.45s; }

  @keyframes heroRise {
    to { opacity: 1; transform: translateY(0); }
  }

  /* Scroll cue */
  .scroll-cue {
    position: absolute;
    bottom: 28px; left: 50%;
    transform: translateX(-50%);
    width: 22px; height: 36px;
    border: 1px solid rgba(255,255,255,0.30);
    border-radius: 12px;
    z-index: 2;
    opacity: 0.7;
  }
  .scroll-cue::after {
    content: "";
    position: absolute;
    left: 50%; top: 8px;
    width: 2px; height: 6px;
    background: var(--cosmos-supernova);
    border-radius: 1px;
    transform: translateX(-50%);
    animation: scrollCue 1.8s ease-in-out infinite;
  }
  @keyframes scrollCue {
    0%   { transform: translate(-50%, 0);    opacity: 1; }
    70%  { transform: translate(-50%, 12px); opacity: 0; }
    100% { transform: translate(-50%, 0);    opacity: 0; }
  }

  /* Reduced motion — kill all animations */
  @media (prefers-reduced-motion: reduce) {
    .cosmos::before,
    .cosmos::after,
    .cosmos-nebula::before,
    .cosmos-nebula::after,
    .shooting-star,
    .chip-orbit .chip,
    .scroll-cue::after {
      animation: none !important;
    }
    body.has-cosmos .hero .eyebrow,
    body.has-cosmos .hero .h1,
    body.has-cosmos .hero .h1-sub,
    body.has-cosmos .hero .supporting,
    body.has-cosmos .hero .cta-row,
    body.has-cosmos .hero .product-chips,
    body.has-cosmos .metrics-tile {
      opacity: 1; transform: none; animation: none;
    }
  }

  /* Mobile — keep cosmos light, hide chip-orbit (perf + visual clutter) */
  @media (max-width: 980px) {
    .cosmos::before { animation-duration: 360s; opacity: 0.7; }
    .cosmos::after  { animation-duration: 220s; opacity: 0.6; }
    .chip-orbit { display: none; }
    .scroll-cue { display: none; }
    body.has-cosmos .hero {
      background-position: 70% center, 70% center;
    }
    body.has-cosmos .hero::before {
      background:
        linear-gradient(180deg,
          rgba(0,0,0,0.85) 0%,
          rgba(0,0,0,0.65) 50%,
          rgba(0,0,0,0.85) 100%);
    }
  }

  /* ============================================================
     ARTICLE — /news/[slug] page
     ============================================================ */

  .article-hero {
    padding: 80px 0 40px;
    color: var(--text-light);
    position: relative;
  }
  .article-hero-inner {
    max-width: 820px;
  }
  .article-back {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 600;
    color: var(--text-light-muted);
    text-transform: uppercase; letter-spacing: 0.1em;
    margin-bottom: 28px;
    transition: color 0.15s, gap 0.15s;
  }
  .article-back:hover { color: var(--text-light); gap: 12px; }

  .article-meta {
    display: flex; align-items: center; gap: 14px;
    margin-bottom: 24px;
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
  }
  .article-meta .news-tag {
    padding: 5px 10px;
    background: var(--action-soft);
    color: var(--action-bright);
    font-size: 11px;
  }
  .article-meta .news-tag.tag-partnership { background: rgba(167, 139, 250, 0.14); color: #c4b5fd; }
  .article-meta .news-tag.tag-awards { background: rgba(251, 191, 36, 0.12); color: var(--accent-warn); }
  .article-meta .news-tag.tag-press { background: rgba(74, 222, 128, 0.12); color: var(--accent-success); }
  .article-meta .news-tag.tag-compliance { background: rgba(74, 222, 128, 0.12); color: var(--accent-success); }
  .article-meta .news-tag.tag-company { background: rgba(255, 255, 255, 0.08); color: var(--text-light); }
  .article-meta .article-date {
    color: var(--text-light-dim);
    font-family: "JetBrains Mono", monospace;
    font-weight: 500; letter-spacing: 0.04em;
  }

  .article-h1 {
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1.04;
    letter-spacing: -0.025em;
    margin-bottom: 24px;
  }
  .article-h1 .accent {
    font-family: var(--display-serif);
    font-style: italic;
    font-weight: 400;
    color: var(--cosmos-supernova);
    background: linear-gradient(180deg, #ffffff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .article-lede {
    font-size: 22px; line-height: 1.5;
    color: var(--text-light);
    max-width: 740px;
    font-weight: 400;
  }

  .article-body {
    padding: 48px 0 96px;
    color: var(--text-light);
  }
  .article-container {
    max-width: 820px;
  }

  .article-graphic {
    margin: 0 0 56px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid rgba(120, 162, 255, 0.18);
    border-radius: var(--radius);
    padding: 32px 36px 28px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    position: relative;
    overflow: hidden;
  }
  .article-graphic::before {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(74, 124, 224, 0.18), transparent 70%);
    pointer-events: none;
  }
  .article-graphic-inner {
    position: relative;
    width: 100%;
    overflow-x: auto;
  }
  .article-graphic-inner svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
  }
  .article-graphic figcaption {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 12px;
    color: var(--text-light-dim);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    line-height: 1.5;
    position: relative;
  }

  .prose {
    font-size: 18px;
    line-height: 1.7;
    color: var(--text-light);
  }
  .prose > * + * { margin-top: 22px; }
  .prose p {
    color: rgba(255, 255, 255, 0.86);
  }
  .prose strong {
    color: white;
    font-weight: 600;
    letter-spacing: -0.005em;
  }
  .prose a {
    color: var(--action-bright);
    text-decoration: underline;
    text-decoration-color: rgba(74, 124, 224, 0.4);
    text-underline-offset: 3px;
    transition: text-decoration-color 0.15s;
  }
  .prose a:hover { text-decoration-color: var(--action-bright); }
  .prose ul, .prose ol { padding-left: 28px; }
  .prose li + li { margin-top: 8px; }
  .prose blockquote {
    margin: 32px 0;
    padding: 4px 0 4px 24px;
    border-left: 2px solid var(--action-bright);
    color: white;
    font-size: 22px;
    line-height: 1.45;
    font-weight: 500;
    letter-spacing: -0.01em;
  }

  .article-share {
    margin-top: 56px;
    padding-top: 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  }
  .article-share-label {
    font-size: 11px; font-weight: 700;
    color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.12em;
  }
  .article-share-link {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--border-dark);
    color: var(--text-light);
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.08em;
    border-radius: 999px;
    transition: all 0.15s;
  }
  .article-share-link:hover {
    background: var(--action-soft);
    border-color: var(--action-bright);
    color: var(--action-bright);
  }

  .article-nav {
    padding: 56px 0 96px;
    border-top: 1px solid var(--border-dark);
  }
  .article-nav-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .article-nav-card {
    display: flex; flex-direction: column; gap: 10px;
    padding: 28px 32px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    color: var(--text-light);
    text-decoration: none;
    transition: all 0.2s;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .article-nav-card:hover {
    border-color: rgba(120, 162, 255, 0.45);
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(120, 162, 255, 0.18);
  }
  .article-nav-empty { visibility: hidden; }
  .article-nav-prev { text-align: left; }
  .article-nav-next { text-align: right; align-items: flex-end; }
  .article-nav-eyebrow {
    font-size: 11px; font-weight: 700;
    color: var(--action-bright);
    text-transform: uppercase; letter-spacing: 0.12em;
  }
  .article-nav-title {
    font-size: 18px; font-weight: 600;
    color: white;
    line-height: 1.3;
    letter-spacing: -0.01em;
  }
  .article-nav-title .accent {
    font-family: var(--display-serif);
    font-style: italic;
    font-weight: 400;
    color: var(--cosmos-supernova);
  }
  .article-nav-date {
    font-size: 11px;
    color: var(--text-light-dim);
    font-family: "JetBrains Mono", monospace;
    text-transform: uppercase; letter-spacing: 0.08em;
  }

  @media (max-width: 980px) {
    .article-hero { padding: 40px 0 24px; }
    .article-h1 { font-size: clamp(28px, 7vw, 40px); }
    .article-lede { font-size: 18px; }
    .article-body { padding: 32px 0 64px; }
    .prose { font-size: 16px; line-height: 1.65; }
    .article-graphic { padding: 20px 18px 16px; margin-bottom: 36px; }
    .article-nav { padding: 32px 0 64px; }
    .article-nav-inner { grid-template-columns: 1fr; }
    .article-nav-next { text-align: left; align-items: flex-start; }
  }

  /* ============================================================
     METRICS TILE — hover choreography
     - Sweep highlight travels across each row, staggered
     - Live-dot pulses faster
     - Numbers monospace-tabular so count-up doesn't jitter widths
     ============================================================ */
  .metrics-tile .metric-num {
    font-variant-numeric: tabular-nums;
    transition: text-shadow 0.3s ease;
  }
  .metrics-tile .metric-row {
    position: relative;
    overflow: hidden;
  }
  .metrics-tile .metric-row::after {
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    background: linear-gradient(90deg,
      transparent 0%,
      rgba(196, 210, 255, 0.06) 35%,
      rgba(120, 162, 255, 0.22) 50%,
      rgba(196, 210, 255, 0.06) 65%,
      transparent 100%);
    transform: translateX(-110%);
    pointer-events: none;
    opacity: 0;
  }
  .metrics-tile:hover .metric-row::after {
    animation: metricSweep 1100ms cubic-bezier(0.22, 0.7, 0.2, 1) forwards;
    opacity: 1;
  }
  .metrics-tile:hover .metric-row:nth-child(2)::after { animation-delay: 0ms; }
  .metrics-tile:hover .metric-row:nth-child(3)::after { animation-delay: 130ms; }
  .metrics-tile:hover .metric-row:nth-child(4)::after { animation-delay: 260ms; }
  @keyframes metricSweep {
    0%   { transform: translateX(-110%); }
    100% { transform: translateX(110%); }
  }
  .metrics-tile:hover .metric-num {
    text-shadow: 0 0 24px rgba(196, 210, 255, 0.45);
  }
  .metrics-tile:hover .live-dot {
    animation-duration: 0.9s;
  }

  @media (prefers-reduced-motion: reduce) {
    .metrics-tile:hover .metric-row::after { animation: none; opacity: 0; }
    .metrics-tile:hover .metric-num { text-shadow: none; }
  }

  /* ============================================================
     CASE STUDY — listing + article page
     ============================================================ */

  /* Tag color modifiers used by article-meta + case-card-meta */
  .article-meta .news-tag.tag-tier-1 { background: rgba(74, 124, 224, 0.18); color: var(--action-bright); }
  .article-meta .news-tag.tag-tier-2 { background: rgba(167, 139, 250, 0.16); color: #c4b5fd; }
  .article-meta .news-tag.tag-polybetting { background: rgba(74, 222, 128, 0.12); color: var(--accent-success); }
  .article-meta .news-tag.tag-crypto-native { background: rgba(251, 191, 36, 0.12); color: var(--accent-warn); }
  .article-meta .article-operator {
    color: var(--text-light-dim);
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-left: auto;
  }

  /* Listing grid (scoped — don't collide with homepage .cases-grid > .case-card) */
  .case-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .case-grid > .case-card {
    display: flex; flex-direction: column;
    gap: 18px;
    padding: 36px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    color: var(--text-light);
    text-decoration: none;
    transition: all 0.22s;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: relative;
    overflow: hidden;
  }
  .case-grid > .case-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 32px; height: 2px;
    background: var(--action-bright);
    transition: width 0.25s ease;
  }
  .case-grid > .case-card:hover {
    border-color: rgba(120, 162, 255, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(120, 162, 255, 0.18);
  }
  .case-grid > .case-card:hover::before { width: 100%; }

  .case-card-meta {
    display: flex; align-items: center; gap: 12px;
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.08em;
  }
  .case-card-meta .news-tag {
    padding: 5px 10px;
    background: var(--action-soft);
    color: var(--action-bright);
    font-size: 11px;
  }
  .case-card-meta .news-tag.tag-tier-1 { background: rgba(74, 124, 224, 0.18); color: var(--action-bright); }
  .case-card-meta .news-tag.tag-tier-2 { background: rgba(167, 139, 250, 0.16); color: #c4b5fd; }
  .case-card-meta .news-tag.tag-polybetting { background: rgba(74, 222, 128, 0.12); color: var(--accent-success); }
  .case-card-meta .news-tag.tag-crypto-native { background: rgba(251, 191, 36, 0.12); color: var(--accent-warn); }
  .case-card-date {
    color: var(--text-light-dim);
    font-family: "JetBrains Mono", monospace;
    margin-left: auto;
    font-size: 11px;
  }

  .case-card-stat {
    display: flex; align-items: baseline; gap: 14px;
    padding: 18px 0 4px;
    border-bottom: 1px solid var(--border-dark);
  }
  .case-card-stat-num {
    font-size: 40px; font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
    color: white;
    font-feature-settings: "tnum";
    background: linear-gradient(180deg, #ffffff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .case-card-stat-label {
    font-size: 12px;
    color: var(--text-light-muted);
    text-transform: uppercase; letter-spacing: 0.06em;
    font-weight: 600;
    line-height: 1.4;
  }
  .case-card-title {
    font-size: 22px; font-weight: 700; line-height: 1.25;
    letter-spacing: -0.015em;
    color: white;
    margin: 0;
  }
  .case-card-title .accent {
    font-family: var(--display-serif);
    font-style: italic;
    font-weight: 400;
    color: var(--cosmos-supernova);
    background: linear-gradient(180deg, #ffffff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .case-card-excerpt {
    font-size: 14px; line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
    flex-grow: 1;
  }
  .case-card-cta {
    font-size: 12px; font-weight: 700;
    color: var(--action-bright);
    text-transform: uppercase; letter-spacing: 0.08em;
    transition: gap 0.15s;
  }

  /* Hero stat band on the case page */
  .case-hero-stat {
    padding: 0 0 24px;
    color: var(--text-light);
  }
  .case-stat-tile {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 32px;
    max-width: 820px;
    padding: 28px 32px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid rgba(120, 162, 255, 0.22);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    position: relative;
    overflow: hidden;
  }
  .case-stat-tile::before {
    content: "";
    position: absolute;
    top: -1px; left: -1px;
    width: 48px; height: 48px;
    border-top: 2px solid var(--action-bright);
    border-left: 2px solid var(--action-bright);
    border-radius: var(--radius) 0 0 0;
  }
  .case-stat-num {
    font-size: clamp(48px, 8vw, 84px);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 0.95;
    color: white;
    font-feature-settings: "tnum";
    background: linear-gradient(180deg, #ffffff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 60px rgba(120, 162, 255, 0.18);
  }
  .case-stat-label {
    font-size: 15px;
    color: var(--text-light-muted);
    line-height: 1.5;
    max-width: 340px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
  }

  /* Body sections */
  .case-section {
    margin-bottom: 56px;
  }
  .case-section:last-child { margin-bottom: 0; }
  .case-section-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 600;
    color: var(--action-bright);
    text-transform: uppercase; letter-spacing: 0.12em;
    margin-bottom: 18px;
  }
  .case-section-eyebrow::before {
    content: ""; width: 24px; height: 1px;
    background: var(--action-bright);
  }
  .case-section-h {
    font-size: 32px; font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: white;
    margin: 0 0 16px;
    max-width: 720px;
  }
  .case-section-body {
    font-size: 17px; line-height: 1.65;
    color: rgba(255, 255, 255, 0.86);
    max-width: 720px;
  }
  .case-results {
    list-style: none; padding: 0; margin: 0;
    display: grid; gap: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 24px;
  }
  .case-results li {
    font-size: 17px; line-height: 1.5;
    color: white;
    display: flex; gap: 14px; align-items: flex-start;
    padding-left: 0;
  }
  .case-results li::before {
    content: "→";
    flex-shrink: 0;
    color: var(--action-bright);
    font-weight: 700;
    margin-top: 1px;
  }

  /* Inline graphic gets a slight bottom margin */
  .case-graphic { margin-bottom: 56px; }

  /* Quote block (case-study article — figure wrapper only) */
  figure.case-quote {
    margin: 16px 0 56px;
    padding: 36px 40px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-left: 3px solid var(--action-bright);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  figure.case-quote blockquote {
    margin: 0 0 24px;
    padding: 0;
    border: none;
    font-size: 24px; line-height: 1.4; font-weight: 500;
    color: white;
    letter-spacing: -0.012em;
  }
  figure.case-quote blockquote::before { content: "\201C"; margin-right: 4px; color: var(--action-bright); }
  figure.case-quote blockquote::after  { content: "\201D"; margin-left: 4px; color: var(--action-bright); }
  figure.case-quote figcaption {
    display: flex; align-items: center; gap: 14px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
  .case-quote-avatar {
    width: 40px; height: 40px;
    background: var(--action);
    color: white;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 14px;
    border-radius: 6px;
  }
  .case-quote-name {
    display: block;
    font-size: 14px; font-weight: 600;
    color: white;
  }
  .case-quote-role {
    display: block;
    font-size: 12px;
    color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.08em;
    margin-top: 2px;
  }

  /* Homepage cases-grid stat row (replaces .case-logo) */
  .case-stat-row {
    display: flex; align-items: baseline; gap: 12px;
    padding: 14px 0 0;
    border-top: 1px solid var(--border-light);
  }
  .case-stat-row-num {
    font-size: 32px; font-weight: 700;
    line-height: 1;
    letter-spacing: -0.025em;
    color: var(--action);
    font-feature-settings: "tnum";
  }
  .case-stat-row-label {
    font-size: 11px;
    color: var(--text-dark-muted);
    text-transform: uppercase; letter-spacing: 0.08em;
    font-weight: 600;
    line-height: 1.4;
  }

  @media (max-width: 980px) {
    .case-grid { grid-template-columns: 1fr; }
    .case-card { padding: 24px; }
    .case-card-stat-num { font-size: 32px; }
    .case-card-title { font-size: 18px; }
    .case-stat-tile { grid-template-columns: 1fr; gap: 14px; padding: 22px 24px; }
    .case-stat-label { max-width: none; }
    .case-section-h { font-size: 24px; }
    .case-section-body { font-size: 16px; }
    .case-results li { font-size: 16px; }
    figure.case-quote { padding: 24px; }
    figure.case-quote blockquote { font-size: 19px; }
    .article-meta .article-operator { display: block; margin-left: 0; width: 100%; margin-top: 6px; }
  }

  /* ============================================================
     PRODUCT PAGES — shared layout + animated graphics
     Used by /products/, /sportsbook/, /product-polybetting/, /t-hub/
     ============================================================ */

  /* HERO with constellation diagram */
  .product-page-hero {
    padding: 96px 0 80px;
    color: var(--text-light);
    position: relative;
    overflow: hidden;
  }
  .product-page-hero-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 80px;
    align-items: center;
  }
  .product-page-hero-copy .h1 {
    font-size: clamp(44px, 5.6vw, 76px);
    line-height: 1;
    letter-spacing: -0.03em;
    margin-bottom: 24px;
  }
  .product-page-hero-copy .h1-sub {
    color: rgba(255,255,255,0.86);
    margin-bottom: 32px;
  }
  .product-page-hero-copy .cta-row { margin-bottom: 36px; }

  .hero-pills {
    list-style: none; margin: 0; padding: 0;
    display: flex; gap: 8px; flex-wrap: wrap;
    border-top: 1px solid var(--border-dark);
    padding-top: 24px;
  }
  .hero-pills li {
    padding: 8px 14px;
    background: rgba(0,0,0,0.32);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 999px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: var(--text-light);
    display: inline-flex; align-items: center; gap: 8px;
  }
  .hero-pills li::before {
    content: "";
    width: 5px; height: 5px;
    background: var(--action-bright);
    border-radius: 50%;
    box-shadow: 0 0 8px var(--action-bright);
  }

  /* CONSTELLATION SVG */
  .constellation {
    position: relative;
    width: 100%;
    aspect-ratio: 600 / 540;
    display: block;
  }
  .constellation svg {
    width: 100%; height: 100%; display: block;
  }
  .constellation .orbits circle {
    transform-origin: 300px 270px;
    animation: spinSlow 80s linear infinite;
  }
  .constellation .orbits circle:nth-child(2) { animation-direction: reverse; animation-duration: 110s; }
  .constellation .orbits circle:nth-child(3) { animation-duration: 60s; }

  .constellation .core {
    transform-origin: 300px 270px;
    animation: corePulse 4s ease-in-out infinite;
  }
  @keyframes corePulse {
    0%, 100% { filter: url(#soft-glow) drop-shadow(0 0 12px rgba(196, 210, 255, 0.35)); }
    50%      { filter: url(#soft-glow) drop-shadow(0 0 28px rgba(196, 210, 255, 0.65)); }
  }

  .constellation .node circle {
    animation: nodeBreathe 3.6s ease-in-out infinite;
    transform-box: fill-box;
    transform-origin: center;
  }
  .constellation .node-casino circle { animation-delay: 0s;   }
  .constellation .node-poly   circle { animation-delay: 0.9s; }
  .constellation .node-sport  circle { animation-delay: 1.8s; }
  .constellation .node-thub   circle { animation-delay: 2.7s; }
  @keyframes nodeBreathe {
    0%, 100% { transform: scale(1);    filter: brightness(1); }
    50%      { transform: scale(1.06); filter: brightness(1.25); }
  }

  .constellation .spoke {
    stroke-dashoffset: 0;
    animation: dashFlow 2.4s linear infinite;
  }
  .constellation .spoke-2 { animation-delay: 0.3s; }
  .constellation .spoke-3 { animation-delay: 0.6s; }
  .constellation .spoke-4 { animation-delay: 0.9s; }
  @keyframes dashFlow {
    from { stroke-dashoffset: 0; }
    to   { stroke-dashoffset: -24; }
  }

  /* Pulse dots that travel from core to nodes */
  .constellation .pulse {
    animation-duration: 4s;
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
  }
  .constellation .pulse-1 {
    animation-name: pulseUp;
  }
  .constellation .pulse-2 {
    animation-name: pulseRight;
    animation-delay: 1s;
  }
  .constellation .pulse-3 {
    animation-name: pulseDown;
    animation-delay: 2s;
  }
  .constellation .pulse-4 {
    animation-name: pulseLeft;
    animation-delay: 3s;
  }
  @keyframes pulseUp {
    0%   { transform: translate(300px, 270px); opacity: 0; }
    20%  { opacity: 1; }
    80%  { opacity: 1; }
    100% { transform: translate(300px, 60px); opacity: 0; }
  }
  @keyframes pulseRight {
    0%   { transform: translate(300px, 270px); opacity: 0; }
    20%  { opacity: 1; }
    80%  { opacity: 1; }
    100% { transform: translate(510px, 270px); opacity: 0; }
  }
  @keyframes pulseDown {
    0%   { transform: translate(300px, 270px); opacity: 0; }
    20%  { opacity: 1; }
    80%  { opacity: 1; }
    100% { transform: translate(300px, 480px); opacity: 0; }
  }
  @keyframes pulseLeft {
    0%   { transform: translate(300px, 270px); opacity: 0; }
    20%  { opacity: 1; }
    80%  { opacity: 1; }
    100% { transform: translate(90px, 270px); opacity: 0; }
  }

  @keyframes spinSlow {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
  }

  /* STATS BAND */
  .product-stats-band {
    background: rgba(8, 10, 24, 0.72);
    border-top: 1px solid var(--border-dark);
    border-bottom: 1px solid var(--border-dark);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 28px 0;
  }
  .product-stats-row {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 0; padding: 0;
  }
  .product-stats-row li {
    border-right: 1px solid var(--border-dark);
    padding: 0 28px;
    display: flex; flex-direction: column; gap: 6px;
  }
  .product-stats-row li:first-child { padding-left: 0; }
  .product-stats-row li:last-child { border-right: none; padding-right: 0; }
  .product-stats-row .stat-num {
    font-size: 38px; font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1;
    color: white;
    font-feature-settings: "tnum";
    background: linear-gradient(180deg, #fff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .product-stats-row .stat-label {
    font-size: 11px;
    color: var(--text-light-muted);
    text-transform: uppercase; letter-spacing: 0.08em;
    font-weight: 600;
    line-height: 1.4;
  }

  /* MODULE GRID */
  .product-modules-section { padding: 96px 0; }
  .module-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .module-card {
    position: relative;
    display: flex; flex-direction: column;
    gap: 18px;
    padding: 40px 36px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    color: var(--text-light);
    text-decoration: none;
    transition: all 0.25s ease;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
  }
  .module-card::before {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 240px; height: 240px;
    background: radial-gradient(circle, currentColor, transparent 65%);
    opacity: 0.10;
    pointer-events: none;
    transform: translate(60%, -60%);
    transition: transform 0.4s ease, opacity 0.4s ease;
  }
  .module-card:hover {
    transform: translateY(-3px);
    border-color: rgba(120, 162, 255, 0.45);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(120, 162, 255, 0.18);
  }
  .module-card:hover::before {
    transform: translate(40%, -40%);
    opacity: 0.18;
  }
  .module-casino { color: var(--action-bright); }
  .module-poly   { color: #c4b5fd; }
  .module-sport  { color: #86efac; }
  .module-thub   { color: #fbbf24; }

  .module-card-glyph {
    width: 60px; height: 60px;
    color: inherit;
    margin-bottom: 4px;
  }
  .module-card-glyph svg {
    width: 100%; height: 100%; display: block;
    transition: transform 0.4s ease;
  }
  .module-card:hover .module-card-glyph svg {
    transform: rotate(8deg) scale(1.05);
  }
  .module-casino .module-card-glyph svg circle:first-child {
    transform-origin: center;
    transform-box: fill-box;
    animation: spinSlow 24s linear infinite;
  }
  .module-card-tag {
    font-size: 11px; font-weight: 700;
    color: currentColor;
    text-transform: uppercase; letter-spacing: 0.12em;
  }
  .module-card-title {
    font-size: 32px; font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.05;
    color: white;
    margin: 0;
  }
  .module-card-body {
    font-size: 15px; line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
  }
  .module-card-bullets {
    list-style: none; padding: 0; margin: 0;
    display: grid; gap: 8px;
    border-top: 1px solid var(--border-dark);
    padding-top: 18px;
  }
  .module-card-bullets li {
    font-size: 13px; line-height: 1.5;
    color: var(--text-light);
    display: flex; gap: 10px; align-items: flex-start;
  }
  .module-card-bullets li::before {
    content: "→";
    color: currentColor;
    flex-shrink: 0;
    font-weight: 700;
    margin-top: 0;
  }
  .module-casino .module-card-bullets li::before { color: var(--action-bright); }
  .module-poly   .module-card-bullets li::before { color: #c4b5fd; }
  .module-sport  .module-card-bullets li::before { color: #86efac; }
  .module-thub   .module-card-bullets li::before { color: #fbbf24; }
  .module-card-cta {
    margin-top: auto;
    font-size: 12px; font-weight: 700;
    color: currentColor;
    text-transform: uppercase; letter-spacing: 0.1em;
    padding-top: 14px;
    transition: gap 0.15s, letter-spacing 0.15s;
  }
  .module-card:hover .module-card-cta {
    letter-spacing: 0.14em;
  }

  /* CROSS-SELL FLOW */
  .crosssell-section { padding: 96px 0; }
  .crosssell-canvas {
    margin: 48px 0 32px;
    background: rgba(8, 10, 24, 0.6);
    border: 1px solid rgba(120, 162, 255, 0.18);
    border-radius: var(--radius);
    padding: 24px 28px 8px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
  }
  .crosssell-canvas svg {
    width: 100%; height: auto; display: block;
  }
  .crosssell-canvas .cs-bal {
    opacity: 0;
    animation: fadeUp 0.7s ease-out forwards;
  }
  .crosssell-canvas .cs-bal-1 { animation-delay: 0.4s; }
  .crosssell-canvas .cs-bal-2 { animation-delay: 1.4s; }
  .crosssell-canvas .cs-bal-3 { animation-delay: 2.4s; }
  .crosssell-canvas .cs-bal-4 { animation-delay: 3.4s; }
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .crosssell-canvas .cs-path {
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
    animation: drawPath 1.2s ease-out forwards;
  }
  .crosssell-canvas .cs-path-1 { animation-delay: 0.2s; }
  .crosssell-canvas .cs-path-2 { animation-delay: 1.2s; }
  .crosssell-canvas .cs-path-3 { animation-delay: 2.2s; }
  .crosssell-canvas .cs-path-4 { animation-delay: 3.2s; }
  @keyframes drawPath {
    to { stroke-dashoffset: 0; }
  }

  .crosssell-callout {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .crosssell-callout-stat {
    padding: 24px 28px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex; flex-direction: column; gap: 6px;
  }
  .crosssell-stat-num {
    font-size: 40px; font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1;
    color: white;
    font-feature-settings: "tnum";
    background: linear-gradient(180deg, #fff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .crosssell-stat-label {
    font-size: 12px;
    color: var(--text-light-muted);
    line-height: 1.5;
    font-weight: 500;
  }

  /* CAPABILITIES MATRIX */
  .capabilities-section { padding: 96px 0; }
  .cap-matrix {
    margin-top: 48px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    overflow: hidden;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .cap-row {
    display: grid;
    grid-template-columns: 1.6fr repeat(4, 1fr);
    border-bottom: 1px solid var(--border-dark);
    transition: background 0.18s;
  }
  .cap-row:last-child { border-bottom: none; }
  .cap-row:hover:not(.cap-head) { background: rgba(120, 162, 255, 0.04); }
  .cap-cell {
    padding: 16px 20px;
    font-size: 14px;
    color: var(--text-light);
    display: flex; align-items: center;
    border-right: 1px solid var(--border-dark);
    line-height: 1.4;
  }
  .cap-cell:last-child { border-right: none; }
  .cap-cell-feature {
    color: white;
    font-weight: 500;
  }
  .cap-row.cap-head {
    background: rgba(0,0,0,0.4);
    border-bottom: 1px solid rgba(120, 162, 255, 0.30);
  }
  .cap-row.cap-head .cap-cell {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.12em;
    color: var(--text-light-muted);
  }
  .cap-row.cap-head [data-product="casino"] { color: var(--action-bright); }
  .cap-row.cap-head [data-product="poly"]   { color: #c4b5fd; }
  .cap-row.cap-head [data-product="sport"]  { color: #86efac; }
  .cap-row.cap-head [data-product="thub"]   { color: #fbbf24; }
  .cap-on {
    color: var(--action-bright) !important;
    font-size: 18px !important;
    font-weight: 700;
    justify-content: center;
  }
  .cap-row [data-product="poly"].cap-on  { color: #c4b5fd !important; }
  .cap-row [data-product="sport"].cap-on { color: #86efac !important; }
  .cap-row [data-product="thub"].cap-on  { color: #fbbf24 !important; }
  .cap-off, .cap-na {
    color: var(--text-light-dim) !important;
    justify-content: center;
  }
  .cap-soon {
    font-size: 11px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent-warn) !important;
    justify-content: center;
  }

  /* TIER RECOMMENDATIONS */
  .tiers-section { padding: 96px 0 120px; }
  .tier-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .tier-card {
    padding: 28px 28px 24px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    color: var(--text-light);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex; flex-direction: column; gap: 16px;
    transition: all 0.22s;
    position: relative;
    overflow: hidden;
  }
  .tier-card:hover {
    border-color: rgba(120, 162, 255, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  }
  .tier-card-header {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px;
  }
  .tier-card-eyebrow {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.12em;
    color: var(--text-light-muted);
  }
  .tier-card-pill {
    font-size: 10px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.1em;
    padding: 4px 8px;
    background: var(--action-soft);
    color: var(--action-bright);
    border-radius: 999px;
  }
  .tier-card-mini {
    display: flex; gap: 8px;
    padding: 14px 0;
    border-top: 1px solid var(--border-dark);
    border-bottom: 1px solid var(--border-dark);
  }
  .tier-mini-node {
    width: 32px; height: 32px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    font-size: 11px; font-weight: 700;
    border: 1px solid;
    transition: all 0.2s;
  }
  .tier-mini-on {
    background: rgba(74, 124, 224, 0.18);
    border-color: rgba(74, 124, 224, 0.55);
    color: var(--action-bright);
    box-shadow: 0 0 12px rgba(74, 124, 224, 0.30);
  }
  .tier-mini-on:nth-child(2) {
    background: rgba(167,139,250,0.16);
    border-color: rgba(167,139,250,0.55);
    color: #c4b5fd;
    box-shadow: 0 0 12px rgba(167,139,250,0.30);
  }
  .tier-mini-on:nth-child(3) {
    background: rgba(74,222,128,0.12);
    border-color: rgba(74,222,128,0.55);
    color: #86efac;
    box-shadow: 0 0 12px rgba(74,222,128,0.30);
  }
  .tier-mini-on:nth-child(4) {
    background: rgba(251,191,36,0.12);
    border-color: rgba(251,191,36,0.55);
    color: #fbbf24;
    box-shadow: 0 0 12px rgba(251,191,36,0.30);
  }
  .tier-mini-dim {
    background: rgba(255, 255, 255, 0.02);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--text-light-dim);
  }
  .tier-card-title {
    font-size: 22px; font-weight: 700;
    letter-spacing: -0.015em;
    line-height: 1.15;
    color: white;
    margin: 0;
  }
  .tier-card-body {
    font-size: 14px; line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
    flex-grow: 1;
  }
  .tier-card-link {
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: var(--action-bright);
    text-decoration: none;
    margin-top: 4px;
  }
  .tier-card-link:hover { color: white; }

  /* RESPONSIVE */
  @media (max-width: 980px) {
    .product-page-hero { padding: 56px 0 48px; }
    .product-page-hero-grid { grid-template-columns: 1fr; gap: 36px; }
    .product-page-hero-copy .h1 { font-size: clamp(36px, 9vw, 52px); }
    .constellation { max-width: 480px; margin: 0 auto; }

    .product-stats-row { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .product-stats-row li { border-right: none; border-bottom: 1px solid var(--border-dark); padding: 12px 0; }
    .product-stats-row li:nth-child(odd)  { padding-right: 12px; border-right: 1px solid var(--border-dark); }
    .product-stats-row li:nth-last-child(-n+2) { border-bottom: none; }
    .product-stats-row .stat-num { font-size: 30px; }

    .module-grid { grid-template-columns: 1fr; gap: 12px; }
    .module-card { padding: 28px 24px; }
    .module-card-title { font-size: 26px; }
    .product-modules-section { padding: 56px 0; }

    .crosssell-section { padding: 56px 0; }
    .crosssell-callout { grid-template-columns: 1fr; gap: 12px; }
    .crosssell-canvas { padding: 12px 14px; overflow-x: auto; }
    .crosssell-canvas svg { min-width: 700px; }

    .capabilities-section { padding: 56px 0; }
    .cap-matrix { overflow-x: auto; }
    .cap-row { grid-template-columns: 1.6fr repeat(4, minmax(70px, 1fr)); min-width: 600px; }

    .tiers-section { padding: 56px 0 80px; }
    .tier-grid { grid-template-columns: 1fr; }
  }

  /* Reduce motion — kill all product page animations */
  @media (prefers-reduced-motion: reduce) {
    .constellation .orbits circle,
    .constellation .core,
    .constellation .node circle,
    .constellation .spoke,
    .constellation .pulse,
    .module-casino .module-card-glyph svg circle:first-child,
    .crosssell-canvas .cs-bal,
    .crosssell-canvas .cs-path,
    .crosssell-canvas .cs-pulse {
      animation: none !important;
    }
    .crosssell-canvas .cs-bal { opacity: 1; }
    .crosssell-canvas .cs-path { stroke-dashoffset: 0; }
  }

  /* ============================================================
     TURBO SPORT — page-specific
     ============================================================ */

  /* Hero — same grid but slightly different tag colors */
  .sport-hero-grid { grid-template-columns: 1fr 1.15fr; }
  .hero-pills-sport li::before { background: #86efac; box-shadow: 0 0 8px #86efac; }

  /* LIVE ODDS TICKER */
  .ticker-panel {
    background: rgba(8, 10, 24, 0.85);
    border: 1px solid rgba(120, 162, 255, 0.22);
    border-radius: var(--radius);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(120, 162, 255, 0.08);
  }
  .ticker-panel-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-dark);
    background: rgba(0, 0, 0, 0.4);
  }
  .ticker-pill {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 11px; font-weight: 700;
    color: #86efac;
    text-transform: uppercase; letter-spacing: 0.16em;
  }
  .ticker-pill-dot {
    width: 8px; height: 8px;
    background: #4ade80; border-radius: 50%;
    box-shadow: 0 0 10px #4ade80;
    animation: pulse 1.4s ease-in-out infinite;
  }
  .ticker-pill-mono {
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    color: var(--text-light-dim);
  }
  .ticker-list {
    list-style: none; margin: 0; padding: 0;
  }
  .ticker-row {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border-dark);
    transition: background 0.2s;
  }
  .ticker-row:last-child { border-bottom: none; }
  .ticker-row:hover { background: rgba(120, 162, 255, 0.06); }
  .ticker-meta {
    display: flex; flex-direction: column; gap: 3px;
    font-size: 10px;
    color: var(--text-light-dim);
  }
  .ticker-sport {
    font-weight: 700; letter-spacing: 0.1em;
    color: var(--text-light-muted);
    text-transform: uppercase;
  }
  .ticker-mins {
    font-family: "JetBrains Mono", monospace;
    color: #86efac;
  }
  .ticker-teams {
    display: flex; flex-direction: column; gap: 2px;
    font-size: 13px;
    line-height: 1.25;
  }
  .ticker-teams strong { color: white; font-weight: 600; }
  .ticker-teams em { color: var(--text-light-muted); font-style: normal; font-size: 12px; }

  .ticker-odds {
    display: flex; gap: 6px;
  }
  .ticker-cell {
    position: relative;
    min-width: 56px;
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius-sm);
    font-family: "JetBrains Mono", monospace;
    font-size: 13px; font-weight: 600;
    color: white;
    text-align: center;
    transition: all 0.25s;
  }
  .ticker-cell-wide { min-width: 120px; text-align: left; padding-left: 14px; }
  .ticker-cell.tg-up {
    color: #4ade80;
    border-color: rgba(74, 222, 128, 0.45);
    background: rgba(74, 222, 128, 0.08);
  }
  .ticker-cell.tg-down {
    color: #f87171;
    border-color: rgba(248, 113, 113, 0.4);
    background: rgba(248, 113, 113, 0.08);
  }
  .ticker-cell i {
    position: absolute;
    top: -3px; right: -3px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
    animation: oddsBlink 1.6s ease-in-out infinite;
  }
  .ticker-row:nth-child(2) .ticker-cell i { animation-delay: 0.4s; }
  .ticker-row:nth-child(3) .ticker-cell i { animation-delay: 0.8s; }
  .ticker-row:nth-child(4) .ticker-cell i { animation-delay: 1.2s; }
  .ticker-row:nth-child(5) .ticker-cell i { animation-delay: 1.6s; }
  .ticker-row:nth-child(6) .ticker-cell i { animation-delay: 2s; }
  @keyframes oddsBlink {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50%      { opacity: 1;   transform: scale(1.4); }
  }

  .ticker-panel-foot {
    display: flex; justify-content: space-between;
    padding: 14px 20px;
    border-top: 1px solid var(--border-dark);
    background: rgba(0, 0, 0, 0.4);
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    color: var(--text-light-dim);
  }

  /* TRADING ENGINE FLOW */
  .engine-section { padding: 96px 0; }
  .engine-flow {
    margin: 48px 0 32px;
    background: rgba(8, 10, 24, 0.6);
    border: 1px solid rgba(120, 162, 255, 0.18);
    border-radius: var(--radius);
    padding: 24px 28px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
  }
  .engine-flow svg { width: 100%; height: auto; display: block; }

  .engine-flow .feed-line {
    opacity: 0;
    animation: fadeUp 0.5s ease-out forwards;
  }
  .engine-flow .feed-line-1 { animation-delay: 0.2s; }
  .engine-flow .feed-line-2 { animation-delay: 0.4s; }
  .engine-flow .feed-line-3 { animation-delay: 0.6s; }
  .engine-flow .feed-line-4 { animation-delay: 0.8s; }
  .engine-flow .feed-line-5 { animation-delay: 1.0s; }

  .engine-flow .ai-net circle:first-child,
  .engine-flow .ai-net circle:nth-child(2),
  .engine-flow .ai-net circle:nth-child(3),
  .engine-flow .ai-net circle:nth-child(4) {
    animation: aiPulse 2.4s ease-in-out infinite;
    transform-box: fill-box;
    transform-origin: center;
  }
  .engine-flow .ai-net circle:nth-child(2) { animation-delay: 0.4s; }
  .engine-flow .ai-net circle:nth-child(3) { animation-delay: 0.8s; }
  .engine-flow .ai-net circle:nth-child(4) { animation-delay: 1.2s; }
  @keyframes aiPulse {
    0%, 100% { transform: scale(1);   filter: brightness(1); }
    50%      { transform: scale(1.5); filter: brightness(1.4); }
  }

  .engine-flow .m-odd {
    animation: oddFlash 4s ease-in-out infinite;
  }
  .engine-flow .m-odd-1 { animation-delay: 0s; }
  .engine-flow .m-odd-2 { animation-delay: 1.3s; }
  .engine-flow .m-odd-3 { animation-delay: 2.6s; }
  @keyframes oddFlash {
    0%, 90%, 100% { opacity: 1; }
    92%           { opacity: 0.3; }
  }

  .engine-flow .bar {
    transform-origin: left;
    animation: barRise 0.8s ease-out forwards;
    transform: scaleX(0);
  }
  .engine-flow .bar-1 { animation-delay: 0.2s; }
  .engine-flow .bar-2 { animation-delay: 0.4s; }
  .engine-flow .bar-3 { animation-delay: 0.6s; }
  @keyframes barRise {
    to { transform: scaleX(1); }
  }

  .engine-flow .set-line {
    opacity: 0;
    animation: fadeUp 0.5s ease-out forwards;
  }
  .engine-flow .set-line-1 { animation-delay: 1.4s; }
  .engine-flow .set-line-2 { animation-delay: 1.6s; }
  .engine-flow .set-line-3 { animation-delay: 1.8s; }
  .engine-flow .set-line-4 { animation-delay: 2.0s; }
  .engine-flow .set-line-5 { animation-delay: 2.2s; }

  .engine-flow .eng-arrow {
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    animation: drawPath 0.6s ease-out forwards;
  }
  .engine-flow .eng-arrow-1 { animation-delay: 0.1s; }
  .engine-flow .eng-arrow-2 { animation-delay: 0.3s; }
  .engine-flow .eng-arrow-3 { animation-delay: 0.5s; }
  .engine-flow .eng-arrow-4 { animation-delay: 0.7s; }

  .engine-flow .eng-dot {
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
    animation-duration: 2.4s;
  }
  .engine-flow .eng-dot-1 { animation-name: engDot1; }
  .engine-flow .eng-dot-2 { animation-name: engDot2; animation-delay: 0.6s; }
  .engine-flow .eng-dot-3 { animation-name: engDot3; animation-delay: 1.2s; }
  .engine-flow .eng-dot-4 { animation-name: engDot4; animation-delay: 1.8s; }
  @keyframes engDot1 {
    0%   { transform: translate(224px, 180px); opacity: 0; }
    20%, 80% { opacity: 1; }
    100% { transform: translate(276px, 180px); opacity: 0; }
  }
  @keyframes engDot2 {
    0%   { transform: translate(484px, 180px); opacity: 0; }
    20%, 80% { opacity: 1; }
    100% { transform: translate(536px, 180px); opacity: 0; }
  }
  @keyframes engDot3 {
    0%   { transform: translate(744px, 180px); opacity: 0; }
    20%, 80% { opacity: 1; }
    100% { transform: translate(796px, 180px); opacity: 0; }
  }
  @keyframes engDot4 {
    0%   { transform: translate(1004px, 180px); opacity: 0; }
    20%, 80% { opacity: 1; }
    100% { transform: translate(1056px, 180px); opacity: 0; }
  }

  .engine-callouts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 16px;
  }
  .engine-callout {
    padding: 22px 24px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-size: 14px;
    line-height: 1.55;
    color: rgba(255,255,255,0.86);
  }
  .engine-callout strong { color: white; font-weight: 600; }

  /* CAPABILITIES — 2 col x 3 row, numbered */
  .sport-cap-section { padding: 96px 0; }
  .sport-cap-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .sport-cap-card {
    padding: 32px 28px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    transition: all 0.22s;
    position: relative;
  }
  .sport-cap-card:hover {
    border-color: rgba(134, 239, 172, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  }
  .sport-cap-num {
    display: inline-block;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    color: #86efac;
    margin-bottom: 16px;
    letter-spacing: 0.1em;
  }
  .sport-cap-card h3 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: white;
    margin: 0 0 12px;
    line-height: 1.2;
  }
  .sport-cap-card p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
  }

  /* COVERAGE SPORT GRID */
  .sport-coverage-section { padding: 96px 0; }
  .sport-grid {
    list-style: none; margin: 48px 0 0; padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
    background: var(--border-dark);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    overflow: hidden;
  }
  .sport-grid li {
    display: flex; align-items: center; gap: 12px;
    padding: 18px 20px;
    background: rgba(8, 10, 24, 0.78);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    font-size: 13px;
    transition: all 0.18s;
  }
  .sport-grid li:hover {
    background: rgba(134, 239, 172, 0.06);
    color: white;
  }
  .sport-icon {
    font-size: 20px;
    width: 28px;
    text-align: center;
  }
  .sport-grid-more {
    color: var(--text-light-dim) !important;
    font-style: italic;
  }
  .sport-grid-more .sport-icon {
    font-size: 18px;
    color: #86efac;
    font-style: normal;
    font-weight: 700;
  }

  /* CROSS-SELL */
  .sport-crosssell-section { padding: 96px 0 120px; }
  .sport-crosssell-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
  }
  .sport-crosssell-stats {
    list-style: none; padding: 0; margin: 0;
    display: grid; gap: 16px;
  }
  .sport-crosssell-stats li {
    padding: 24px 28px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-left: 3px solid #86efac;
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex; flex-direction: column; gap: 6px;
  }
  .sport-crosssell-stats .stat-num {
    font-size: 40px; font-weight: 700;
    letter-spacing: -0.025em; line-height: 1;
    color: white; font-feature-settings: "tnum";
    background: linear-gradient(180deg, #fff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .sport-crosssell-stats .stat-label {
    font-size: 13px;
    color: var(--text-light-muted);
    line-height: 1.5;
  }

  @media (max-width: 980px) {
    .sport-hero-grid { grid-template-columns: 1fr; }
    .ticker-row { grid-template-columns: 90px 1fr auto; padding: 12px 14px; gap: 10px; }
    .ticker-cell { min-width: 48px; padding: 6px 8px; font-size: 12px; }

    .engine-section { padding: 56px 0; }
    .engine-flow { padding: 12px 14px; overflow-x: auto; }
    .engine-flow svg { min-width: 1100px; }
    .engine-callouts { grid-template-columns: 1fr; }

    .sport-cap-section { padding: 56px 0; }
    .sport-cap-grid { grid-template-columns: 1fr; }

    .sport-coverage-section { padding: 56px 0; }
    .sport-grid { grid-template-columns: repeat(2, 1fr); }

    .sport-crosssell-section { padding: 56px 0 72px; }
    .sport-crosssell-grid { grid-template-columns: 1fr; gap: 32px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ticker-pill-dot,
    .ticker-cell i,
    .engine-flow .feed-line,
    .engine-flow .ai-net circle,
    .engine-flow .m-odd,
    .engine-flow .bar,
    .engine-flow .set-line,
    .engine-flow .eng-arrow,
    .engine-flow .eng-dot {
      animation: none !important;
    }
    .engine-flow .feed-line,
    .engine-flow .set-line { opacity: 1; }
    .engine-flow .bar { transform: scaleX(1); }
    .engine-flow .eng-arrow { stroke-dashoffset: 0; }
  }

  /* ============================================================
     POLYBETTING — page-specific
     ============================================================ */
  .poly-hero-grid { grid-template-columns: 1fr 1.1fr; }
  .hero-pills-poly li::before { background: #c4b5fd; box-shadow: 0 0 8px #c4b5fd; }

  /* Topology */
  .poly-topo {
    position: relative;
    width: 100%;
    aspect-ratio: 600 / 540;
  }
  .poly-topo svg { width: 100%; height: 100%; display: block; }
  .poly-topo .poly-norm { animation: corePulse 4s ease-in-out infinite; }
  .poly-topo .poly-venue circle {
    transform-box: fill-box;
    transform-origin: center;
    animation: nodeBreathe 3.6s ease-in-out infinite;
  }
  .poly-topo .poly-venue-2 circle { animation-delay: 0.4s; }
  .poly-topo .poly-venue-3 circle { animation-delay: 0.8s; }
  .poly-topo .poly-venue-4 circle { animation-delay: 1.2s; }
  .poly-topo .poly-in path,
  .poly-topo .poly-out path {
    stroke-dasharray: 6 6;
    animation: dashFlow 2.4s linear infinite;
  }
  .poly-topo .poly-out-1 { animation-delay: 0.2s; }
  .poly-topo .poly-out-2 { animation-delay: 0.4s; }
  .poly-topo .poly-out-3 { animation-delay: 0.6s; }
  .poly-topo .poly-out-4 { animation-delay: 0.8s; }
  .poly-topo .poly-out-5 { animation-delay: 1.0s; }

  /* ORDER BOOK CONSOLIDATION */
  .poly-book-section { padding: 96px 0; }
  .poly-book-grid {
    margin-top: 48px;
    display: grid;
    grid-template-columns: 1fr 60px 1.6fr;
    gap: 16px;
    align-items: stretch;
  }
  .poly-book-eyebrow {
    font-size: 11px; font-weight: 700;
    color: var(--text-light-muted);
    text-transform: uppercase; letter-spacing: 0.16em;
    margin-bottom: 12px;
  }
  .poly-book-side { display: flex; flex-direction: column; gap: 10px; }
  .poly-book-mini {
    padding: 14px 16px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius-sm);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .poly-book-mini[data-venue="poly"]    { border-color: rgba(167,139,250,0.45); }
  .poly-book-mini[data-venue="kalshi"]  { border-color: rgba(167,139,250,0.32); }
  .poly-book-mini[data-venue="manifold"]{ border-color: rgba(167,139,250,0.28); }
  .poly-book-mini[data-venue="onchain"] { border-color: rgba(255,255,255,0.10); border-style: dashed; }
  .poly-book-mini-head {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 10px;
    font-size: 13px;
    color: white;
    font-weight: 600;
  }
  .poly-book-mini-head .mono {
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    color: var(--text-light-muted);
    font-weight: 400;
  }
  .poly-book-bars {
    display: grid; gap: 3px;
  }
  .ladder {
    display: flex; gap: 2px; align-items: center;
  }
  .ladder i {
    height: 6px;
    border-radius: 2px;
    display: inline-block;
  }
  .ladder-bid i { background: rgba(74, 222, 128, 0.65); }
  .ladder-ask i { background: rgba(248, 113, 113, 0.65); }
  .poly-book-bars-dim .ladder i { opacity: 0.45; }

  .poly-book-arrow {
    display: flex; align-items: center; justify-content: center;
  }
  .poly-book-arrow svg {
    width: 100%; height: auto;
    filter: drop-shadow(0 0 8px rgba(196, 181, 253, 0.55));
    animation: pulse 2.6s ease-in-out infinite;
  }

  .poly-book-consolidated {
    background: rgba(8, 10, 24, 0.85);
    border: 1px solid rgba(167, 139, 250, 0.45);
    border-radius: var(--radius);
    padding: 22px 26px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(167, 139, 250, 0.18);
    display: flex; flex-direction: column;
  }
  .poly-book-big-head {
    display: flex; justify-content: space-between; align-items: baseline;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border-dark);
  }
  .poly-book-big-head strong { color: white; font-size: 16px; font-weight: 600; }
  .poly-book-big-head .mono {
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    color: #c4b5fd;
    font-weight: 600;
    flex-shrink: 0;
  }
  .poly-book-big-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 16px;
    align-items: stretch;
  }
  .poly-book-side-col { display: flex; flex-direction: column; gap: 6px; }
  .poly-book-side-label {
    font-size: 10px; font-weight: 700;
    color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.14em;
    margin-bottom: 4px;
  }
  .poly-book-rows {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 2px;
  }
  .poly-book-rows li {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 8px;
    align-items: center;
    padding: 6px 8px;
    border-radius: 3px;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    transition: background 0.18s;
  }
  .poly-book-rows li:hover { background: rgba(255, 255, 255, 0.04); }
  .poly-book-rows .px {
    color: white; font-weight: 600;
  }
  .poly-book-rows .vol {
    position: relative;
    color: var(--text-light-muted);
    text-align: right;
    padding: 2px 8px;
    overflow: hidden;
  }
  .poly-book-rows .vol::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(74, 222, 128, 0.12);
    width: var(--w);
    z-index: -1;
    border-radius: 2px;
  }
  .poly-book-asks .vol::before { background: rgba(248, 113, 113, 0.12); }

  .poly-book-spread {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 0 12px;
    border-left: 1px dashed rgba(120, 162, 255, 0.28);
    border-right: 1px dashed rgba(120, 162, 255, 0.28);
    text-align: center;
    color: var(--text-light-muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
  }
  .poly-book-spread strong {
    display: block;
    font-size: 22px;
    color: white;
    font-weight: 700;
    font-family: "JetBrains Mono", monospace;
    margin-top: 4px;
  }

  /* LICENCE GRID */
  .poly-licence-section { padding: 96px 0; }
  .poly-licence-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .poly-lic {
    padding: 28px 28px 24px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    transition: all 0.22s;
    display: flex; flex-direction: column; gap: 16px;
    position: relative;
    overflow: hidden;
  }
  .poly-lic:hover {
    transform: translateY(-3px);
    border-color: rgba(167, 139, 250, 0.45);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  }
  .poly-lic-curacao   { border-left: 3px solid #4ade80; }
  .poly-lic-mga       { border-left: 3px solid #c4b5fd; }
  .poly-lic-anjouan   { border-left: 3px solid #fbbf24; }
  .poly-lic-top {
    display: flex; align-items: center; gap: 14px;
  }
  .poly-lic-flag {
    font-size: 30px;
    line-height: 1;
  }
  .poly-lic-name {
    font-size: 22px; font-weight: 700;
    color: white;
    letter-spacing: -0.015em;
  }
  .poly-lic-status {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 12px;
    background: rgba(74, 222, 128, 0.10);
    border: 1px solid rgba(74, 222, 128, 0.28);
    border-radius: 999px;
    color: #86efac;
    font-size: 11px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    align-self: flex-start;
  }
  .poly-lic-status-warn {
    background: rgba(251, 191, 36, 0.10);
    border-color: rgba(251, 191, 36, 0.28);
    color: var(--accent-warn);
  }
  .poly-lic-mga .poly-lic-status {
    background: rgba(196, 181, 253, 0.10);
    border-color: rgba(196, 181, 253, 0.28);
    color: #c4b5fd;
  }
  .poly-lic-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
    animation: pulse 1.8s ease-in-out infinite;
  }
  .poly-lic-body {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
    flex-grow: 1;
  }
  .poly-lic-bullets {
    list-style: none; padding: 0; margin: 0;
    display: grid; gap: 6px;
    border-top: 1px solid var(--border-dark);
    padding-top: 14px;
  }
  .poly-lic-bullets li {
    font-size: 13px; line-height: 1.4;
    color: var(--text-light);
    display: flex; gap: 10px; align-items: flex-start;
  }
  .poly-lic-bullets li::before {
    content: "→";
    color: #c4b5fd;
    font-weight: 700;
  }

  /* CROSS-SELL FUNNEL */
  .poly-crosssell-section { padding: 96px 0; }
  .poly-funnel {
    margin: 48px 0 32px;
    background: rgba(8, 10, 24, 0.6);
    border: 1px solid rgba(167, 139, 250, 0.18);
    border-radius: var(--radius);
    padding: 24px 28px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    overflow: hidden;
  }
  .poly-funnel svg { width: 100%; height: auto; display: block; }
  .poly-funnel .ltv-bar {
    transform-origin: bottom;
    animation: barGrow 1.4s ease-out forwards;
    transform: scaleY(0);
  }
  @keyframes barGrow {
    to { transform: scaleY(1); }
  }
  .poly-crosssell-callout {
    margin-top: 8px;
    text-align: center;
  }

  /* CAPABILITIES */
  .poly-cap-section { padding: 96px 0 120px; }
  .poly-cap-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .poly-cap-card {
    padding: 36px 32px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    transition: all 0.22s;
  }
  .poly-cap-card:hover {
    border-color: rgba(167, 139, 250, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  }
  .poly-cap-num {
    display: inline-block;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    color: #c4b5fd;
    margin-bottom: 16px;
    letter-spacing: 0.1em;
  }
  .poly-cap-card h3 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: white;
    margin: 0 0 12px;
    line-height: 1.2;
  }
  .poly-cap-card p {
    font-size: 15px;
    line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
  }

  @media (max-width: 980px) {
    .poly-hero-grid { grid-template-columns: 1fr; }
    .poly-topo { max-width: 480px; margin: 0 auto; }

    .poly-book-section { padding: 56px 0; }
    .poly-book-grid { grid-template-columns: 1fr; }
    .poly-book-arrow { transform: rotate(90deg); margin: 8px 0; }
    .poly-book-arrow svg { width: 60px; }
    .poly-book-big-grid { grid-template-columns: 1fr; }
    .poly-book-spread { border-left: none; border-right: none; border-top: 1px dashed rgba(120,162,255,0.28); border-bottom: 1px dashed rgba(120,162,255,0.28); flex-direction: row; padding: 8px; gap: 8px; }

    .poly-licence-section { padding: 56px 0; }
    .poly-licence-grid { grid-template-columns: 1fr; }

    .poly-crosssell-section { padding: 56px 0; }
    .poly-funnel { padding: 12px 14px; overflow-x: auto; }
    .poly-funnel svg { min-width: 1000px; }

    .poly-cap-section { padding: 56px 0 80px; }
    .poly-cap-grid { grid-template-columns: 1fr; }
  }

  @media (prefers-reduced-motion: reduce) {
    .poly-topo .poly-norm,
    .poly-topo .poly-venue circle,
    .poly-topo .poly-in path,
    .poly-topo .poly-out path,
    .poly-book-arrow svg,
    .poly-lic-dot,
    .poly-funnel .ltv-bar {
      animation: none !important;
    }
    .poly-funnel .ltv-bar { transform: scaleY(1); }
  }

  /* ============================================================
     T-HUB — page-specific
     ============================================================ */
  .thub-hero-grid { grid-template-columns: 1fr 1.1fr; }
  .hero-pills-thub li::before { background: #fbbf24; box-shadow: 0 0 8px #fbbf24; }

  /* GAME TILE MOSAIC */
  .thub-mosaic {
    position: relative;
    aspect-ratio: 600 / 540;
    width: 100%;
  }
  .thub-mosaic-frame {
    position: absolute;
    inset: 0;
    background: rgba(8, 10, 24, 0.85);
    border: 1px solid rgba(251, 191, 36, 0.22);
    border-radius: var(--radius);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  }
  .thub-mosaic-grid {
    position: absolute;
    inset: 16px;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-auto-rows: 1fr;
    gap: 4px;
  }
  .mt {
    position: relative;
    aspect-ratio: 1;
    border-radius: 4px;
    overflow: hidden;
    opacity: 0;
    animation: mtIn 0.7s ease-out forwards, mtShimmer 6s ease-in-out infinite 1s;
  }
  @keyframes mtIn {
    from { opacity: 0; transform: scale(0.9); }
    to   { opacity: 1; transform: scale(1); }
  }
  @keyframes mtShimmer {
    0%, 90%, 100% { filter: brightness(1); }
    93%           { filter: brightness(1.6); }
  }
  .mt-a { background: linear-gradient(135deg, #1b46c2, #0a1230); }
  .mt-b { background: linear-gradient(135deg, #4a7ce0, #0a1230 70%); }
  .mt-c { background: linear-gradient(135deg, #a78bfa, #1d0e3d); }
  .mt-d { background: linear-gradient(135deg, #fbbf24, #4a2d00); }
  .mt-e { background: linear-gradient(135deg, #ef4444, #2c0a0a); }
  .mt-f { background: linear-gradient(135deg, #4ade80, #0a2c10); }
  .mt-g { background: linear-gradient(135deg, #06b6d4, #082c30); }
  .mt-h { background: linear-gradient(135deg, #ec4899, #2c0a18); }
  .mt::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.20), transparent 60%);
    pointer-events: none;
  }
  .mt-ex {
    box-shadow: 0 0 0 1px #fbbf24, 0 0 12px rgba(251, 191, 36, 0.45);
  }
  .mt-ex::before {
    content: "★";
    position: absolute;
    top: 2px; right: 4px;
    font-size: 9px;
    color: #fbbf24;
    z-index: 2;
  }
  .thub-mosaic-overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 18px 22px 16px;
    background: linear-gradient(180deg, transparent, rgba(8, 10, 24, 0.95));
    pointer-events: none;
  }
  .thub-mosaic-counter {
    display: flex; align-items: baseline; gap: 14px;
    color: var(--text-light);
  }
  .thub-mosaic-counter .mono {
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    color: #fbbf24;
    letter-spacing: 0.16em;
  }
  .thub-mosaic-counter strong {
    font-size: 36px;
    font-weight: 700;
    color: white;
    letter-spacing: -0.025em;
    font-feature-settings: "tnum";
  }
  .thub-mosaic-counter span:last-child {
    font-size: 12px;
    color: var(--text-light-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
  }

  /* INTEGRATION TAX BEFORE/AFTER */
  .thub-tax-section { padding: 96px 0; }
  .thub-tax-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 48px;
  }
  .thub-tax-card {
    padding: 28px 32px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .thub-tax-before { border-color: rgba(248, 113, 113, 0.32); }
  .thub-tax-after  { border-color: rgba(74, 222, 128, 0.45); }
  .thub-tax-card header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 14px;
    gap: 12px;
  }
  .thub-tax-pill {
    font-size: 11px; font-weight: 700;
    padding: 5px 10px;
    border-radius: 999px;
    text-transform: uppercase; letter-spacing: 0.12em;
  }
  .thub-tax-pill-bad {
    background: rgba(248, 113, 113, 0.10);
    color: #f87171;
  }
  .thub-tax-pill-good {
    background: rgba(74, 222, 128, 0.10);
    color: #86efac;
  }
  .thub-tax-amount {
    font-size: 14px; font-weight: 600;
    color: white;
  }
  .thub-tax-stage {
    background: rgba(0, 0, 0, 0.4);
    border-radius: var(--radius-sm);
    padding: 8px;
    margin-bottom: 16px;
  }
  .thub-tax-stage svg { width: 100%; height: auto; display: block; }
  .thub-mesh-bad path {
    stroke-dasharray: 5 5;
    animation: dashFlow 4s linear infinite;
  }
  .thub-mesh-good path {
    stroke-dasharray: 5 5;
    animation: dashFlow 1.6s linear infinite;
  }
  .thub-mesh-good path:nth-child(2) { animation-delay: 0.1s; }
  .thub-mesh-good path:nth-child(3) { animation-delay: 0.2s; }
  .thub-mesh-good path:nth-child(4) { animation-delay: 0.3s; }
  .thub-mesh-good path:nth-child(5) { animation-delay: 0.4s; }
  .thub-mesh-good path:nth-child(6) { animation-delay: 0.5s; }
  .thub-mesh-good path:nth-child(7) { animation-delay: 0.6s; }
  .thub-mesh-good path:nth-child(8) { animation-delay: 0.7s; }
  .thub-tax-list {
    list-style: none; padding: 0; margin: 0;
    display: grid; gap: 8px;
  }
  .thub-tax-list li {
    font-size: 14px; line-height: 1.5;
    color: var(--text-light);
    display: flex; gap: 10px; align-items: flex-start;
  }
  .thub-tax-before .thub-tax-list li::before {
    content: "✕";
    color: #f87171;
    font-weight: 700;
    flex-shrink: 0;
  }
  .thub-tax-after .thub-tax-list li::before {
    content: "✓";
    color: #86efac;
    font-weight: 700;
    flex-shrink: 0;
  }

  /* STUDIOS ORBIT */
  .thub-studios-section { padding: 96px 0; }
  .thub-studios-orbit {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 7;
    margin: 56px 0 48px;
    background: rgba(8, 10, 24, 0.6);
    border: 1px solid rgba(251, 191, 36, 0.18);
    border-radius: var(--radius);
    overflow: hidden;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .thub-studio-core {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 140px; height: 140px;
    background: rgba(251, 191, 36, 0.10);
    border: 1.5px solid rgba(251, 191, 36, 0.55);
    border-radius: 50%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    color: #fbbf24;
    font-weight: 700;
    text-align: center;
    box-shadow: 0 0 40px rgba(251, 191, 36, 0.20);
    animation: corePulse 4s ease-in-out infinite;
    z-index: 3;
  }
  .thub-studio-core span {
    font-size: 22px;
    letter-spacing: 0.12em;
  }
  .thub-studio-core em {
    font-size: 10px;
    color: rgba(251, 191, 36, 0.72);
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    margin-top: 4px;
    line-height: 1.3;
    max-width: 100px;
  }
  .thub-studio-ring {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
  }
  .thub-studio-ring::before {
    content: "";
    position: absolute;
    inset: 50px;
    border: 1px dashed rgba(251, 191, 36, 0.18);
    border-radius: 50%;
    pointer-events: none;
  }
  .thub-studio-ring-2::before {
    inset: 14px;
    border-color: rgba(251, 191, 36, 0.10);
  }
  .thub-studio-ring-1 { animation: spinSlow 60s linear infinite; }
  .thub-studio-ring-2 { animation: spinSlow 90s linear infinite reverse; }
  .thub-studio-ring .thub-studio-tag {
    position: absolute;
    top: 50%; left: 50%;
    padding: 6px 12px;
    background: rgba(8, 10, 24, 0.92);
    border: 1px solid rgba(251, 191, 36, 0.32);
    border-radius: 999px;
    color: var(--text-light);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    transform-origin: center;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  /* Inner ring positioning — radius 32% */
  .thub-studio-ring-1 .thub-studio-tag:nth-child(1) { transform: translate(-50%, -50%) rotate(0deg)   translate(180px) rotate(0deg); }
  .thub-studio-ring-1 .thub-studio-tag:nth-child(2) { transform: translate(-50%, -50%) rotate(60deg)  translate(180px) rotate(-60deg); }
  .thub-studio-ring-1 .thub-studio-tag:nth-child(3) { transform: translate(-50%, -50%) rotate(120deg) translate(180px) rotate(-120deg); }
  .thub-studio-ring-1 .thub-studio-tag:nth-child(4) { transform: translate(-50%, -50%) rotate(180deg) translate(180px) rotate(-180deg); }
  .thub-studio-ring-1 .thub-studio-tag:nth-child(5) { transform: translate(-50%, -50%) rotate(240deg) translate(180px) rotate(-240deg); }
  .thub-studio-ring-1 .thub-studio-tag:nth-child(6) { transform: translate(-50%, -50%) rotate(300deg) translate(180px) rotate(-300deg); }
  /* Outer ring */
  .thub-studio-ring-2 .thub-studio-tag:nth-child(1) { transform: translate(-50%, -50%) rotate(0deg)   translate(310px) rotate(0deg); }
  .thub-studio-ring-2 .thub-studio-tag:nth-child(2) { transform: translate(-50%, -50%) rotate(51deg)  translate(310px) rotate(-51deg); }
  .thub-studio-ring-2 .thub-studio-tag:nth-child(3) { transform: translate(-50%, -50%) rotate(102deg) translate(310px) rotate(-102deg); }
  .thub-studio-ring-2 .thub-studio-tag:nth-child(4) { transform: translate(-50%, -50%) rotate(153deg) translate(310px) rotate(-153deg); }
  .thub-studio-ring-2 .thub-studio-tag:nth-child(5) { transform: translate(-50%, -50%) rotate(204deg) translate(310px) rotate(-204deg); }
  .thub-studio-ring-2 .thub-studio-tag:nth-child(6) { transform: translate(-50%, -50%) rotate(255deg) translate(310px) rotate(-255deg); }
  .thub-studio-ring-2 .thub-studio-tag:nth-child(7) { transform: translate(-50%, -50%) rotate(306deg) translate(310px) rotate(-306deg); }

  /* CONTENT CATEGORIES */
  .thub-categories {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background: var(--border-dark);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    overflow: hidden;
  }
  .thub-categories article {
    background: rgba(8, 10, 24, 0.78);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 22px 18px;
    display: flex; flex-direction: column; gap: 4px;
    transition: all 0.18s;
  }
  .thub-categories article:hover {
    background: rgba(251, 191, 36, 0.06);
  }
  .thub-categories article > span:first-child {
    font-size: 10px; font-weight: 700;
    color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.12em;
  }
  .thub-categories strong {
    font-size: 28px; font-weight: 700;
    color: white;
    letter-spacing: -0.02em;
    line-height: 1;
    font-feature-settings: "tnum";
  }
  .thub-categories em {
    font-size: 11px;
    color: var(--text-light-muted);
    font-style: normal;
    margin-top: 2px;
  }
  .thub-cat-feature { background: rgba(251, 191, 36, 0.08) !important; border: 1px solid rgba(251, 191, 36, 0.45); }
  .thub-cat-feature strong { color: #fbbf24; }
  .thub-cat-feature > span:first-child { color: #fbbf24; }

  /* PAYMENT CASCADE */
  .thub-pay-section { padding: 96px 0; }
  .thub-pay-flow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-top: 48px;
  }
  .thub-cascade {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 12px;
  }
  .cs-step {
    position: relative;
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius-sm);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    animation: fadeUp 0.5s ease-out forwards;
  }
  .cs-step:nth-child(1) { animation-delay: 0.1s; }
  .cs-step:nth-child(2) { animation-delay: 0.5s; }
  .cs-step:nth-child(3) { animation-delay: 0.9s; }
  .cs-step:nth-child(4) { animation-delay: 1.3s; }
  .cs-step:nth-child(5) { animation-delay: 1.7s; }
  .cs-step + .cs-step::before {
    content: "";
    position: absolute;
    top: -12px; left: 33px;
    width: 1px; height: 12px;
    background: var(--border-dark);
  }
  .cs-step.cs-step-fail { border-color: rgba(248, 113, 113, 0.32); }
  .cs-step.cs-step-ok   { border-color: rgba(74, 222, 128, 0.45); }
  .cs-step.cs-step-fail + .cs-step::before { background: rgba(248, 113, 113, 0.45); }
  .cs-step-num {
    width: 28px; height: 28px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 50%;
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    color: var(--text-light-muted);
    font-weight: 700;
  }
  .cs-step-fail .cs-step-num { background: rgba(248, 113, 113, 0.18); color: #f87171; }
  .cs-step-ok .cs-step-num { background: rgba(74, 222, 128, 0.18); color: #86efac; }
  .cs-step-body { display: flex; flex-direction: column; gap: 2px; }
  .cs-step-label { font-size: 14px; font-weight: 600; color: white; }
  .cs-step-meta { font-size: 11px; color: var(--text-light-muted); font-family: "JetBrains Mono", monospace; }
  .cs-step-status {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.1em;
    padding: 4px 10px;
    border-radius: 999px;
  }
  .cs-status-attempt { background: rgba(196, 210, 255, 0.10); color: #c4d2ff; }
  .cs-status-fail    { background: rgba(248, 113, 113, 0.14); color: #f87171; }
  .cs-status-ok      { background: rgba(74, 222, 128, 0.14); color: #86efac; }

  .thub-pay-summary {
    display: flex; flex-direction: column;
    gap: 14px;
    align-self: center;
  }
  .thub-pay-stat {
    padding: 24px 28px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-left: 3px solid #fbbf24;
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex; flex-direction: column; gap: 6px;
  }
  .thub-pay-num {
    font-size: 36px; font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1;
    color: white;
    font-feature-settings: "tnum";
    background: linear-gradient(180deg, #fff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .thub-pay-label {
    font-size: 13px;
    color: var(--text-light-muted);
    line-height: 1.5;
  }

  /* CAPABILITIES */
  .thub-cap-section { padding: 96px 0 120px; }
  .thub-cap-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .thub-cap-card {
    padding: 32px 28px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    transition: all 0.22s;
  }
  .thub-cap-card:hover {
    border-color: rgba(251, 191, 36, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  }
  .thub-cap-num {
    display: inline-block;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    color: #fbbf24;
    margin-bottom: 16px;
    letter-spacing: 0.1em;
  }
  .thub-cap-card h3 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: white;
    margin: 0 0 12px;
    line-height: 1.2;
  }
  .thub-cap-card p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
  }

  @media (max-width: 980px) {
    .thub-hero-grid { grid-template-columns: 1fr; }
    .thub-mosaic { aspect-ratio: 1; max-width: 480px; margin: 0 auto; }
    .thub-mosaic-grid { grid-template-columns: repeat(8, 1fr); }
    .thub-mosaic-counter strong { font-size: 28px; }

    .thub-tax-section { padding: 56px 0; }
    .thub-tax-grid { grid-template-columns: 1fr; }

    .thub-studios-section { padding: 56px 0; }
    .thub-studios-orbit { aspect-ratio: 4 / 5; }
    .thub-studio-core { width: 110px; height: 110px; }
    .thub-studio-core span { font-size: 18px; }
    .thub-studio-ring-1 .thub-studio-tag { transform: translate(-50%, -50%) rotate(var(--r,0)) translate(120px) rotate(calc(-1 * var(--r,0))); font-size: 9px; padding: 4px 8px; }
    .thub-studio-ring-2 .thub-studio-tag { transform: translate(-50%, -50%) rotate(var(--r,0)) translate(190px) rotate(calc(-1 * var(--r,0))); font-size: 9px; padding: 4px 8px; }
    .thub-categories { grid-template-columns: repeat(2, 1fr); }

    .thub-pay-section { padding: 56px 0; }
    .thub-pay-flow { grid-template-columns: 1fr; gap: 20px; }

    .thub-cap-section { padding: 56px 0 80px; }
    .thub-cap-grid { grid-template-columns: 1fr; }
  }

  @media (prefers-reduced-motion: reduce) {
    .mt,
    .thub-mesh-bad path,
    .thub-mesh-good path,
    .thub-studio-core,
    .thub-studio-ring-1,
    .thub-studio-ring-2,
    .cs-step {
      animation: none !important;
    }
    .mt { opacity: 1; }
    .cs-step { opacity: 1; }
  }

  /* ============================================================
     TURBO STARS (CASINO FLAGSHIP) — page-specific
     ============================================================ */
  .casino-hero-grid { grid-template-columns: 1fr 1.05fr; }
  .hero-pills-casino li::before { background: var(--action-bright); box-shadow: 0 0 8px var(--action-bright); }

  /* PLATFORM LAYER CAKE */
  .casino-stack {
    position: relative;
    width: 100%;
    aspect-ratio: 600 / 540;
    perspective: 800px;
  }
  .stack-layer {
    position: absolute;
    left: 4%; right: 4%;
    height: 9.4%;
    background: rgba(8, 10, 24, 0.85);
    border: 1px solid rgba(120, 162, 255, 0.22);
    border-radius: 6px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: flex; align-items: center; gap: 14px;
    padding: 0 22px;
    color: var(--text-light);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
    transform: translateZ(0);
    transition: transform 0.4s ease, border-color 0.4s ease;
  }
  .stack-layer-1 { top: 2%;   transform: translateZ(0)    rotateX(8deg); }
  .stack-layer-2 { top: 13%;  transform: translateZ(0)    rotateX(8deg); }
  .stack-layer-3 { top: 24%;  transform: translateZ(0)    rotateX(8deg); border-color: rgba(74, 222, 128, 0.45); }
  .stack-layer-4 { top: 35%;  transform: translateZ(0)    rotateX(8deg); border-color: rgba(74, 222, 128, 0.45); }
  .stack-layer-5 { top: 46%;  transform: translateZ(0)    rotateX(8deg); border-color: rgba(196, 210, 255, 0.45); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), 0 0 20px rgba(196, 210, 255, 0.12); }
  .stack-layer-6 { top: 57%;  transform: translateZ(0)    rotateX(8deg); }
  .stack-layer-7 { top: 68%;  transform: translateZ(0)    rotateX(8deg); }
  .stack-layer-8 { top: 79%;  transform: translateZ(0)    rotateX(8deg); border-color: rgba(251, 191, 36, 0.45); }

  .casino-stack:hover .stack-layer { transform: translateZ(0) rotateX(0deg); }

  .stack-label {
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.16em;
    color: white;
  }
  .stack-meta {
    font-size: 11px;
    color: var(--text-light-muted);
    margin-left: auto;
    text-align: right;
  }
  .stack-ai {
    margin-left: 8px;
    padding: 3px 8px;
    background: rgba(74, 222, 128, 0.18);
    border: 1px solid rgba(74, 222, 128, 0.55);
    border-radius: 999px;
    color: #86efac;
    font-size: 9px; font-weight: 700;
    letter-spacing: 0.14em;
  }

  /* AI-layer subtle pulse */
  .stack-layer[data-ai] { animation: aiLayerPulse 4s ease-in-out infinite; }
  .stack-layer-3 { animation-delay: 0s; }
  .stack-layer-4 { animation-delay: 1.2s; }
  @keyframes aiLayerPulse {
    0%, 100% { box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35); }
    50%      { box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), 0 0 24px rgba(74, 222, 128, 0.32); }
  }

  /* Vertical data flow lines between layers */
  .stack-flow {
    position: absolute;
    top: 4%; bottom: 6%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(120, 162, 255, 0.45), transparent);
    pointer-events: none;
  }
  .stack-flow-1 { left: 22%;  animation: flowMove 3s ease-in-out infinite; }
  .stack-flow-2 { left: 50%;  animation: flowMove 3s ease-in-out infinite 1s; }
  .stack-flow-3 { right: 22%; animation: flowMove 3s ease-in-out infinite 2s; }
  @keyframes flowMove {
    0%, 100% { opacity: 0.2; }
    50%      { opacity: 0.85; }
  }

  /* AI SIGNALS GRID */
  .casino-ai-section { padding: 96px 0; }
  .casino-ai-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .ai-card {
    padding: 28px 28px 24px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    transition: all 0.22s;
    display: flex; flex-direction: column; gap: 12px;
  }
  .ai-card:hover {
    border-color: rgba(120, 162, 255, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  }
  .ai-card header {
    display: flex; justify-content: space-between; align-items: center;
  }
  .ai-card-num {
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    color: var(--action-bright);
    letter-spacing: 0.1em;
  }
  .ai-card-tag {
    font-size: 11px; font-weight: 700;
    color: var(--text-light-muted);
    text-transform: uppercase; letter-spacing: 0.1em;
  }
  .ai-card h3 {
    font-size: 20px; font-weight: 700;
    letter-spacing: -0.015em;
    color: white;
    margin: 0;
    line-height: 1.2;
  }
  .ai-card p {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
    flex-grow: 1;
  }
  .ai-mini {
    margin-top: 8px;
    padding: 14px 16px;
    background: rgba(0, 0, 0, 0.35);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-dark);
  }
  .ai-mini svg { width: 100%; height: auto; display: block; }

  .ai-mini .ai-curve {
    stroke-dasharray: 280;
    stroke-dashoffset: 280;
    animation: drawPath 1.6s ease-out forwards;
  }
  .ai-mini-bars rect {
    transform-origin: bottom;
    transform: scaleY(0);
    animation: barRise 0.8s ease-out forwards;
  }
  .ai-mini-bars rect:nth-child(1) { animation-delay: 0.1s; }
  .ai-mini-bars rect:nth-child(2) { animation-delay: 0.18s; }
  .ai-mini-bars rect:nth-child(3) { animation-delay: 0.26s; }
  .ai-mini-bars rect:nth-child(4) { animation-delay: 0.34s; }
  .ai-mini-bars rect:nth-child(5) { animation-delay: 0.42s; }
  .ai-mini-bars rect:nth-child(6) { animation-delay: 0.50s; }
  .ai-mini-bars rect:nth-child(7) { animation-delay: 0.58s; }
  .ai-mini-bars rect:nth-child(8) { animation-delay: 0.66s; }
  .ai-mini-bars rect:nth-child(9) { animation-delay: 0.74s; }

  .ai-mini-grid rect { animation: cellPulse 4s ease-in-out infinite; }
  .ai-mini-grid rect:nth-child(2)  { animation-delay: 0.1s; }
  .ai-mini-grid rect:nth-child(3)  { animation-delay: 0.2s; }
  .ai-mini-grid rect:nth-child(4)  { animation-delay: 0.3s; }
  .ai-mini-grid rect:nth-child(5)  { animation-delay: 0.4s; }
  .ai-mini-grid rect:nth-child(6)  { animation-delay: 0.5s; }
  .ai-mini-grid rect:nth-child(7)  { animation-delay: 0.6s; }
  .ai-mini-grid rect:nth-child(8)  { animation-delay: 0.7s; }
  .ai-mini-grid rect:nth-child(9)  { animation-delay: 0.8s; }
  .ai-mini-grid rect:nth-child(10) { animation-delay: 0.9s; }
  .ai-mini-grid rect:nth-child(11) { animation-delay: 1.0s; }
  .ai-mini-grid rect:nth-child(12) { animation-delay: 1.1s; }
  .ai-mini-grid rect:nth-child(13) { animation-delay: 1.2s; }
  .ai-mini-grid rect:nth-child(14) { animation-delay: 1.3s; }
  @keyframes cellPulse {
    0%, 90%, 100% { filter: brightness(1); }
    93%           { filter: brightness(1.6); }
  }

  .ai-mini-chips {
    display: flex; gap: 6px; flex-wrap: wrap;
    padding: 10px 12px;
    background: rgba(0, 0, 0, 0.35);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-dark);
  }
  .ai-chip {
    padding: 4px 10px;
    background: rgba(74, 222, 128, 0.14);
    color: #86efac;
    border: 1px solid rgba(74, 222, 128, 0.32);
    border-radius: 999px;
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    font-weight: 600;
  }
  .ai-chip-warn {
    background: rgba(248, 113, 113, 0.14);
    color: #f87171;
    border-color: rgba(248, 113, 113, 0.32);
  }

  .ai-mini-flow .cs-flow {
    stroke-dasharray: 4 4;
    animation: dashFlow 2s linear infinite;
  }
  .ai-mini-flow .cs-flow-2 { animation-delay: 0.5s; }

  /* LIVE OPS DASHBOARD */
  .casino-ops-section { padding: 96px 0; }
  .ops-dashboard {
    margin-top: 48px;
    background: rgba(8, 10, 24, 0.85);
    border: 1px solid rgba(120, 162, 255, 0.32);
    border-radius: var(--radius);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  }
  .ops-dash-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 22px;
    border-bottom: 1px solid var(--border-dark);
    background: rgba(0, 0, 0, 0.4);
    flex-wrap: wrap;
    gap: 12px;
  }
  .ops-dash-brand {
    display: inline-flex; align-items: center; gap: 12px;
    font-size: 11px; font-weight: 700;
    color: white;
    text-transform: uppercase; letter-spacing: 0.16em;
  }
  .ops-dot {
    width: 8px; height: 8px;
    background: #4ade80;
    border-radius: 50%;
    box-shadow: 0 0 10px #4ade80;
    animation: pulse 1.4s ease-in-out infinite;
  }
  .ops-mono {
    font-family: "JetBrains Mono", monospace;
    color: var(--text-light-dim);
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0.04em;
    margin-left: 6px;
  }
  .ops-dash-tabs {
    display: flex; gap: 4px;
  }
  .ops-tab {
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--border-dark);
    border-radius: 999px;
    color: var(--text-light-muted);
    font-size: 11px; font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    font-family: inherit;
  }
  .ops-tab:hover { color: white; }
  .ops-tab-on {
    background: var(--action-soft);
    color: var(--action-bright);
    border-color: rgba(74, 124, 224, 0.55);
  }
  .ops-dash-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    grid-auto-rows: auto;
    gap: 1px;
    background: var(--border-dark);
  }
  .ops-tile {
    padding: 22px 24px;
    background: rgba(8, 10, 24, 0.6);
    display: flex; flex-direction: column; gap: 6px;
    min-height: 130px;
  }
  .ops-tile-big {
    grid-column: span 2; grid-row: span 2;
    min-height: auto;
  }
  .ops-tile-region {
    grid-column: span 2; grid-row: span 2;
    min-height: auto;
  }
  .ops-tile-label {
    font-size: 10px; font-weight: 700;
    color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.14em;
  }
  .ops-tile-num {
    font-size: 32px; font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1;
    color: white;
    font-feature-settings: "tnum";
    background: linear-gradient(180deg, #fff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: 4px;
  }
  .ops-tile-big .ops-tile-num { font-size: 44px; }
  .ops-tile-delta {
    font-size: 11px;
    font-family: "JetBrains Mono", monospace;
    color: var(--text-light-muted);
  }
  .ops-up { color: #86efac; }
  .ops-spark {
    margin-top: 12px;
    width: 100%;
    height: auto;
  }
  .ops-spark path {
    animation: drawPath 1.4s ease-out forwards;
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
  }
  .ops-spark path:first-child { animation: none; stroke-dashoffset: 0; }
  .ops-region-list {
    list-style: none; padding: 0; margin: 8px 0 0;
    display: grid; gap: 6px;
  }
  .ops-region-list li {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 10px;
    align-items: center;
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
  }
  .ops-region-list li > span:first-child { color: white; font-family: "Geist", sans-serif; font-weight: 500; }
  .ops-region-list li i {
    height: 6px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.06);
    display: block;
    overflow: hidden;
    position: relative;
  }
  .ops-region-list li i::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #4a7ce0, #c4d2ff);
    width: var(--w);
    transform-origin: left;
    transform: scaleX(0);
    animation: barRise 1s ease-out forwards;
  }
  .ops-region-list li:nth-child(2) i::before { animation-delay: 0.15s; }
  .ops-region-list li:nth-child(3) i::before { animation-delay: 0.30s; }
  .ops-region-list li:nth-child(4) i::before { animation-delay: 0.45s; }
  .ops-region-list li b {
    color: white;
    font-weight: 600;
    text-align: right;
  }

  /* MULTI-TENANT */
  .casino-tenant-section { padding: 96px 0; }
  .tenant-grid {
    margin-top: 48px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    position: relative;
  }
  .tenant-brand {
    padding: 24px 24px 22px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex; flex-direction: column; gap: 8px;
    color: var(--text-light);
    position: relative;
  }
  .tenant-brand::after {
    content: "";
    position: absolute;
    bottom: -28px; left: 50%;
    width: 1px; height: 28px;
    background: linear-gradient(180deg, rgba(120, 162, 255, 0.45), transparent);
  }
  .tenant-brand-a { border-top: 3px solid var(--action-bright); }
  .tenant-brand-b { border-top: 3px solid #c4b5fd; }
  .tenant-brand-c { border-top: 3px solid #fbbf24; }
  .tenant-brand-eyebrow {
    font-size: 10px; font-weight: 700;
    color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.14em;
  }
  .tenant-brand-name {
    font-size: 22px;
    font-weight: 700;
    color: white;
    letter-spacing: -0.015em;
    line-height: 1.15;
  }
  .tenant-brand-meta {
    font-size: 11px;
    color: var(--text-light-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }
  .tenant-brand ul {
    list-style: none; padding: 0; margin: 8px 0 0;
    display: grid; gap: 6px;
    border-top: 1px solid var(--border-dark);
    padding-top: 12px;
    font-size: 13px;
    color: var(--text-light);
  }
  .tenant-brand ul li {
    display: flex; gap: 8px; align-items: flex-start;
  }
  .tenant-brand ul li::before {
    content: "·";
    color: var(--action-bright);
    font-weight: 700;
  }

  .tenant-shared {
    grid-column: 1 / -1;
    margin-top: 32px;
    padding: 24px 28px;
    background: rgba(8, 10, 24, 0.85);
    border: 1px solid rgba(120, 162, 255, 0.45);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(120, 162, 255, 0.18);
  }
  .tenant-shared-eyebrow {
    font-size: 11px; font-weight: 700;
    color: var(--action-bright);
    text-transform: uppercase; letter-spacing: 0.16em;
    margin-bottom: 16px;
    display: block;
  }
  .tenant-shared-list {
    list-style: none; padding: 0; margin: 0;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 1px;
    background: var(--border-dark);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius-sm);
    overflow: hidden;
  }
  .tenant-shared-list li {
    padding: 16px 14px;
    background: rgba(8, 10, 24, 0.6);
    color: white;
    font-size: 12px; font-weight: 600;
    text-align: center;
    transition: background 0.18s;
  }
  .tenant-shared-list li:hover {
    background: rgba(120, 162, 255, 0.10);
  }

  /* CAPABILITIES */
  .casino-cap-section { padding: 96px 0 120px; }
  .casino-cap-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .casino-cap-card {
    padding: 32px 28px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    transition: all 0.22s;
  }
  .casino-cap-card:hover {
    border-color: rgba(120, 162, 255, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  }
  .casino-cap-num {
    display: inline-block;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    color: var(--action-bright);
    margin-bottom: 16px;
    letter-spacing: 0.1em;
  }
  .casino-cap-card h3 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: white;
    margin: 0 0 12px;
    line-height: 1.2;
  }
  .casino-cap-card p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
  }

  @media (max-width: 980px) {
    .casino-hero-grid { grid-template-columns: 1fr; }
    .casino-stack { max-width: 480px; margin: 0 auto; }
    .stack-meta { display: none; }
    .stack-layer { padding: 0 14px; }

    .casino-ai-section { padding: 56px 0; }
    .casino-ai-grid { grid-template-columns: 1fr; }

    .casino-ops-section { padding: 56px 0; }
    .ops-dash-grid { grid-template-columns: 1fr 1fr; }
    .ops-tile-big { grid-column: span 2; grid-row: auto; }
    .ops-tile-region { grid-column: span 2; grid-row: auto; }
    .ops-dash-tabs { flex-wrap: wrap; }

    .casino-tenant-section { padding: 56px 0; }
    .tenant-grid { grid-template-columns: 1fr; }
    .tenant-brand::after { display: none; }
    .tenant-shared-list { grid-template-columns: repeat(2, 1fr); }

    .casino-cap-section { padding: 56px 0 80px; }
    .casino-cap-grid { grid-template-columns: 1fr; }
  }

  @media (prefers-reduced-motion: reduce) {
    .stack-layer,
    .stack-flow,
    .ai-mini .ai-curve,
    .ai-mini-bars rect,
    .ai-mini-grid rect,
    .ai-mini-flow .cs-flow,
    .ops-dot,
    .ops-region-list li i::before {
      animation: none !important;
    }
    .ai-mini-bars rect { transform: scaleY(1); }
    .ops-region-list li i::before { transform: scaleX(1); }
  }

  /* ============================================================
     SOLUTIONS — listing + detail pages
     ============================================================ */
  .solutions-hero-grid { grid-template-columns: 1fr 1.05fr; }
  .hero-pills-solutions li::before { background: #c4d2ff; box-shadow: 0 0 8px #c4d2ff; }

  /* Quad-persona constellation */
  .quad-personas {
    position: relative;
    width: 100%;
    aspect-ratio: 600 / 540;
  }
  .quad-personas svg { width: 100%; height: 100%; display: block; }
  .quad-personas .quad-core {
    animation: corePulse 4s ease-in-out infinite;
  }
  .quad-personas .qline {
    animation: dashFlow 2s linear infinite;
  }
  .quad-personas .qline-2 { animation-delay: 0.3s; }
  .quad-personas .qline-3 { animation-delay: 0.6s; }
  .quad-personas .qline-4 { animation-delay: 0.9s; }
  .quad-personas .quad-persona rect {
    transition: stroke-width 0.2s;
  }

  /* SOLUTION LISTING — large operator cards */
  .solution-cards-section { padding: 96px 0; }
  .solution-cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .solution-card {
    display: flex; flex-direction: column;
    gap: 18px;
    padding: 36px 32px 30px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    text-decoration: none;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
  }
  .solution-card::before {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 220px; height: 220px;
    background: radial-gradient(circle, currentColor, transparent 65%);
    opacity: 0.08;
    pointer-events: none;
    transform: translate(60%, -60%);
    transition: transform 0.4s ease, opacity 0.4s ease;
  }
  .solution-card:hover {
    transform: translateY(-3px);
    border-color: rgba(120, 162, 255, 0.45);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(120, 162, 255, 0.18);
  }
  .solution-card:hover::before {
    transform: translate(40%, -40%);
    opacity: 0.16;
  }
  .sc-tier-1   { color: var(--action-bright); }
  .sc-tier-2   { color: #c4b5fd; }
  .sc-startups { color: #86efac; }
  .sc-crypto   { color: #fbbf24; }

  .solution-card-meta {
    display: flex; justify-content: space-between; align-items: center;
    gap: 12px;
    flex-wrap: wrap;
  }
  .solution-card-pill {
    padding: 6px 12px;
    background: currentColor;
    color: #0a1230 !important;
    font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.12em;
    border-radius: 999px;
    opacity: 0.92;
  }
  .solution-card-stat {
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    color: var(--text-light-dim);
    font-weight: 600;
    letter-spacing: 0.04em;
  }
  .solution-card-title {
    font-size: 26px; font-weight: 700;
    letter-spacing: -0.02em;
    color: white;
    margin: 0;
    line-height: 1.15;
  }
  .solution-card-title .accent {
    font-family: var(--display-serif);
    font-style: italic;
    font-weight: 400;
    color: var(--cosmos-supernova);
    background: linear-gradient(180deg, #fff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .solution-card-body {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
  }
  .solution-card-graphic {
    margin: 4px 0;
    padding: 14px 16px;
    background: rgba(0, 0, 0, 0.35);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-dark);
  }
  .solution-card-graphic svg { width: 100%; height: auto; display: block; }
  .solution-card-graphic .sc-st-curve {
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
    animation: drawPath 1.6s ease-out forwards;
  }
  .solution-card-bullets {
    list-style: none; padding: 0; margin: 0;
    display: grid; gap: 8px;
    border-top: 1px solid var(--border-dark);
    padding-top: 16px;
  }
  .solution-card-bullets li {
    font-size: 13px; line-height: 1.5;
    color: var(--text-light);
    display: flex; gap: 10px; align-items: flex-start;
  }
  .solution-card-bullets li::before {
    content: "→";
    color: currentColor;
    font-weight: 700;
    flex-shrink: 0;
  }
  .solution-card-cta {
    margin-top: 6px;
    font-size: 12px; font-weight: 700;
    color: currentColor;
    text-transform: uppercase; letter-spacing: 0.1em;
    transition: letter-spacing 0.15s;
  }
  .solution-card:hover .solution-card-cta {
    letter-spacing: 0.14em;
  }

  /* COMPARISON MATRIX (reuses .cap-matrix) */
  .solutions-matrix-section { padding: 96px 0 120px; }
  .solution-matrix .cap-row {
    grid-template-columns: 1.4fr repeat(4, 1fr);
  }
  .solution-matrix .cap-cell { font-size: 13px; }
  .solution-matrix .cap-cell a {
    color: var(--action-bright);
    text-decoration: underline;
    text-decoration-color: rgba(74, 124, 224, 0.45);
    text-underline-offset: 3px;
  }
  .solution-matrix .cap-cell a:hover { text-decoration-color: var(--action-bright); }

  /* ===== SOLUTION DETAIL PAGES — shared layout ===== */
  .solution-page-grid { grid-template-columns: 1fr 1.1fr; }
  .solution-page-grid .article-back {
    margin-bottom: 16px;
  }

  .solution-graphic {
    position: relative;
    width: 100%;
    aspect-ratio: 600 / 540;
  }
  .solution-graphic svg { width: 100%; height: 100%; display: block; }

  /* TIER-1 active-active animations */
  .solution-graphic .t1-region rect {
    transition: stroke-width 0.2s;
  }
  .solution-graphic .t1-link {
    animation: dashFlow 2.4s linear infinite;
  }
  .solution-graphic .t1-link-2 { animation-delay: 0.4s; }
  .solution-graphic .t1-link-3 { animation-delay: 0.8s; }
  .solution-graphic .t1-link-4 { animation-delay: 1.2s; }
  .solution-graphic .t1-link-5 { animation-delay: 1.6s; }
  .solution-graphic .t1-link-6 { animation-delay: 2.0s; }
  .solution-graphic .t1-core {
    animation: corePulse 4s ease-in-out infinite;
  }
  .solution-graphic .t1-region circle {
    animation: pulse 1.8s ease-in-out infinite;
  }

  /* TIER-2 timeline */
  .solution-graphic .t2-phase {
    transform-origin: left;
    transform: scaleX(0);
    animation: barRise 0.7s ease-out forwards;
  }
  .solution-graphic .t2-phase-1 { animation-delay: 0.2s; }
  .solution-graphic .t2-phase-2 { animation-delay: 0.4s; }
  .solution-graphic .t2-phase-3 { animation-delay: 0.6s; }
  .solution-graphic .t2-phase-4 { animation-delay: 0.8s; }
  .solution-graphic .t2-phase-5 { animation-delay: 1.0s; }
  .solution-graphic .t2-phase-6 {
    animation-delay: 1.2s;
    /* extra glow on the success bar */
    filter: drop-shadow(0 0 8px rgba(74, 222, 128, 0.55));
  }

  /* STARTUPS pricing curve */
  .solution-graphic .st-curve {
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
    animation: drawPath 2s ease-out forwards;
  }

  /* CRYPTO-NATIVE flow */
  .solution-graphic .cn-flow line {
    animation: dashFlow 2s linear infinite;
  }
  .solution-graphic .cn-flow line:nth-child(2) { animation-delay: 0.4s; }
  .solution-graphic .cn-flow line:nth-child(3) { animation-delay: 0.8s; }
  .solution-graphic .cn-flow line:nth-child(4) { animation-delay: 1.2s; }

  /* WHAT CHANGES needs list */
  .solution-changes-section { padding: 96px 0 64px; }
  .solution-needs-list {
    list-style: none; padding: 0; margin: 32px 0 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
  .solution-needs-list li {
    padding: 16px 20px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius-sm);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-size: 14.5px;
    line-height: 1.5;
    color: white;
    display: flex; gap: 12px; align-items: flex-start;
  }
  .solution-needs-list li::before {
    content: "✓";
    color: var(--action-bright);
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 1px;
  }

  /* WHY US numbered cards */
  .solution-why-section { padding: 64px 0 96px; }
  .solution-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 48px;
  }
  .solution-why-card {
    padding: 32px 32px 28px;
    background: rgba(8, 10, 24, 0.78);
    border: 1px solid var(--border-dark);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    transition: all 0.22s;
  }
  .solution-why-card:hover {
    border-color: rgba(120, 162, 255, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
  }
  .solution-why-num {
    display: inline-block;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    color: var(--action-bright);
    margin-bottom: 14px;
    letter-spacing: 0.1em;
  }
  .solution-why-card h3 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: white;
    margin: 0 0 12px;
    line-height: 1.2;
  }
  .solution-why-card p {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--text-light-muted);
    margin: 0;
  }

  /* RECOMMENDED CASE CARD */
  .solution-case-section { padding: 0 0 120px; }
  .solution-case-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "meta title  cta"
      "stat body   cta";
    gap: 24px 32px;
    padding: 40px;
    background: rgba(8, 10, 24, 0.85);
    border: 1px solid rgba(120, 162, 255, 0.32);
    border-radius: var(--radius);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text-light);
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    align-items: center;
  }
  .solution-case-card:hover {
    border-color: rgba(120, 162, 255, 0.55);
    transform: translateY(-2px);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(120, 162, 255, 0.22);
  }
  .solution-case-meta {
    grid-area: meta;
    display: flex; flex-direction: column; gap: 8px;
    align-items: flex-start;
    min-width: 160px;
  }
  .solution-case-meta .news-tag {
    padding: 5px 10px;
    font-size: 11px;
    background: var(--action-soft);
    color: var(--action-bright);
  }
  .solution-case-date {
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    color: var(--text-light-dim);
    text-transform: uppercase; letter-spacing: 0.12em;
  }
  .solution-case-stat {
    grid-area: stat;
    padding-top: 12px;
    border-top: 1px solid var(--border-dark);
    display: flex; flex-direction: column; gap: 4px;
  }
  .solution-case-stat-num {
    font-size: 36px; font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1;
    color: white;
    font-feature-settings: "tnum";
    background: linear-gradient(180deg, #fff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .solution-case-stat-label {
    font-size: 11px;
    color: var(--text-light-muted);
    text-transform: uppercase; letter-spacing: 0.08em;
    font-weight: 600;
    line-height: 1.4;
  }
  .solution-case-title {
    grid-area: title;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: white;
    margin: 0;
  }
  .solution-case-title .accent {
    font-family: var(--display-serif);
    font-style: italic;
    font-weight: 400;
    color: var(--cosmos-supernova);
    background: linear-gradient(180deg, #fff 0%, #c4d2ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .solution-case-body {
    grid-area: body;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--text-light-muted);
    margin: 0;
  }
  .solution-case-cta {
    grid-area: cta;
    align-self: center;
    font-size: 12px; font-weight: 700;
    color: var(--action-bright);
    text-transform: uppercase; letter-spacing: 0.1em;
    white-space: nowrap;
    transition: letter-spacing 0.15s;
  }
  .solution-case-card:hover .solution-case-cta { letter-spacing: 0.14em; }

  @media (max-width: 980px) {
    .solutions-hero-grid { grid-template-columns: 1fr; }
    .quad-personas { max-width: 480px; margin: 0 auto; }

    .solution-cards-section { padding: 56px 0; }
    .solution-cards-grid { grid-template-columns: 1fr; }
    .solution-card { padding: 24px; }
    .solution-card-title { font-size: 20px; }

    .solutions-matrix-section { padding: 56px 0 80px; }

    .solution-page-grid { grid-template-columns: 1fr; }
    .solution-graphic { max-width: 480px; margin: 0 auto; }

    .solution-changes-section { padding: 48px 0 32px; }
    .solution-needs-list { grid-template-columns: 1fr; }

    .solution-why-section { padding: 32px 0 56px; }
    .solution-why-grid { grid-template-columns: 1fr; }

    .solution-case-section { padding: 0 0 80px; }
    .solution-case-card {
      grid-template-columns: 1fr;
      grid-template-areas:
        "meta"
        "title"
        "stat"
        "body"
        "cta";
      padding: 24px;
      gap: 16px;
    }
    .solution-case-meta { flex-direction: row; flex-wrap: wrap; }
    .solution-case-stat { padding-top: 0; border-top: none; }
    .solution-case-title { font-size: 20px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .quad-personas .quad-core,
    .quad-personas .qline,
    .solution-card-graphic .sc-st-curve,
    .solution-graphic .t1-region circle,
    .solution-graphic .t1-link,
    .solution-graphic .t1-core,
    .solution-graphic .t2-phase,
    .solution-graphic .st-curve,
    .solution-graphic .cn-flow line {
      animation: none !important;
    }
    .solution-graphic .t2-phase { transform: scaleX(1); }
    .solution-graphic .st-curve { stroke-dashoffset: 0; }
  }

/* ===== Language switcher (Header) ===== */
.lang-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.lang-switcher-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,0.18);
  background: transparent;
  color: rgba(255,255,255,0.78);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: 6px;
  cursor: pointer;
  transition: color 120ms, border-color 120ms, background-color 120ms;
}
.lang-switcher-trigger:hover,
.lang-switcher-trigger[aria-expanded="true"] {
  color: #fff;
  border-color: rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.04);
}
.lang-switcher-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 160px;
  background: rgba(8,10,24,0.96);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px;
  padding: 6px;
  box-shadow: 0 12px 36px rgba(0,0,0,0.45);
  display: none;
  flex-direction: column;
  z-index: 60;
}
.lang-switcher.is-open .lang-switcher-menu {
  display: flex;
}
.lang-switcher-link {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 8px 10px;
  color: rgba(255,255,255,0.7);
  border-radius: 6px;
  text-decoration: none;
  font-size: 13px;
}
.lang-switcher-link:hover {
  background: rgba(255,255,255,0.06);
  color: #fff;
}
.lang-switcher-link.is-current {
  background: rgba(120,162,255,0.12);
  color: #fff;
}
.lang-switcher-link .lang-code {
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: 11px;
  color: rgba(196,210,255,0.85);
  width: 24px;
}
.lang-switcher-link .lang-name {
  font-size: 13px;
}
@media (max-width: 880px) {
  .lang-switcher { display: none; }
}

/* ─── Cookie consent banner ────────────────────────────────────────────
   Bottom-right card on desktop, bottom-full-width on mobile. The banner
   is hidden by default; the inline script in BaseLayout reveals it when
   the `ts_consent` cookie is missing. Style mirrors the rest of the
   site (cosmic dark + soft border + Geist type). */
.ts-cookie-banner {
  position: fixed;
  z-index: 9999;
  right: 24px; bottom: 24px;
  max-width: 380px;
  background: rgba(11, 14, 24, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--text-light);
}
.ts-cookie-banner[hidden] { display: none; }
.ts-cookie-banner-inner {
  padding: 18px 20px 16px;
  display: flex; flex-direction: column; gap: 14px;
}
.ts-cookie-banner-title {
  font-size: 13px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--text-light);
}
.ts-cookie-banner-body {
  font-size: 13.5px; line-height: 1.5;
  color: var(--text-light-muted);
  margin: 6px 0 0;
}
.ts-cookie-banner-actions {
  display: flex; gap: 8px; justify-content: flex-end;
}
.ts-cookie-btn {
  appearance: none; -webkit-appearance: none;
  padding: 9px 16px;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px; font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}
.ts-cookie-btn-reject {
  background: transparent;
  color: var(--text-light-muted);
  border: 1px solid rgba(255, 255, 255, 0.16);
}
.ts-cookie-btn-reject:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-light);
  border-color: rgba(255, 255, 255, 0.28);
}
.ts-cookie-btn-accept {
  background: var(--action-bright);
  color: #0b0e18;
  border: 1px solid var(--action-bright);
}
.ts-cookie-btn-accept:hover {
  filter: brightness(1.1);
}
[data-ts-cookie-settings] { cursor: pointer; }

@media (max-width: 540px) {
  .ts-cookie-banner {
    left: 12px; right: 12px; bottom: 12px;
    max-width: none;
  }
  .ts-cookie-banner-actions { justify-content: stretch; }
  .ts-cookie-btn { flex: 1; }
}
