@layer reset, tokens, base, components, pages, utilities;

@layer pages {

  /* Cube spin duration override: landing has more GPU layers, needs slower rate to match */
  body[data-page="landing"] {
    --cv-spin-duration: 4200ms;
  }

  body[data-page="landing"] {
    /* ===== Panel scheme ===== */
    --panel-1: #030a18;
    --panel-2: #ffffff;
    --panel-2b: #f7f2e8;
    /* pale cream for "How it works" */
    --panel-3: #030a18;
    /* constellation section */
    --panel-4: #071225;
    /* horizontal section backdrop */
    --panel-5: #f4efe8;
    /* offwhite */
    --panel-6: #06142a;
    /* footer */

    --text-dark: #0b1220;
    --muted-dark: rgba(15, 23, 42, 0.75);

  }

  body[data-page="landing"] * {
    box-sizing: border-box !important;
  }

  body[data-page="landing"] {
    scroll-behavior: smooth;
  }

  body[data-page="landing"] {
    margin: 0;
    font-family: var(--sans);
    color: var(--text-light);
    background: var(--panel-1);
    overflow-x: clip;
    overflow-y: visible;
  }

  body[data-page="landing"].zooming {
    overflow: hidden;
  }

  html,
  body {
    max-width: 100%;
  }

  html {
    overflow-x: clip;
  }

  /* === Accessibility baseline: always-visible keyboard focus ===
       Landing uses a standalone stylesheet, so we provide focus styling here too.
       This ensures keyboard users always see where they are.
    */
  body[data-page="landing"] :is(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 2px solid var(--gold) !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px rgba(255, 200, 110, 0.18) !important;
  }


  /* ===== Fixed top nav ===== */

  /* === CVD-WEB-0019 topbar determinism: lock background base === */
  body[data-page="landing"] .brand-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.05;
  }

  /* tagline removed (and now also removed from logo markup) */
  body[data-page="landing"] .navlinks a {
    pointer-events: auto;
  }

  /* ===== Sections ===== */
  body[data-page="landing"] section {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 88px 22px 48px !important;
    position: relative;
  }

  body[data-page="landing"] #section1 {
    background: var(--panel-1);
    min-height: 50vh;
    padding-top: 118px;
  }

  body[data-page="landing"] #section2 {
    background: var(--panel-2);
    color: var(--text-dark);
  }

  body[data-page="landing"] #section2b {
    background: var(--panel-2b);
    color: var(--text-dark);
    padding-top: 42px !important;
  }

  body[data-page="landing"] #section3 {
    background: var(--panel-3);
  }

  body[data-page="landing"] #section4 {
    background: var(--panel-4);
    padding: 0;
    --arc-img-h: clamp(388px, 58vh, 678px);
  }

  body[data-page="landing"] #section5 {
    background: var(--panel-5);
    color: var(--text-dark);
  }

  body[data-page="landing"] #section6 {
    background: var(--panel-6);
    padding: 22px 22px;
  }

  body[data-page="landing"] .section-inner {
    width: min(1180px, 94vw);
  }

  body[data-page="landing"] h1,
  body[data-page="landing"] h2 {
    margin: 0 0 12px 0;
    letter-spacing: -0.02em;
    font-family: var(--serif);
  }

  body[data-page="landing"] p {
    margin: 0;
    font-family: var(--sans);
    line-height: 1.60;
    max-width: 80ch;
  }

  /* ===== Section 1 hero layout ===== */
  body[data-page="landing"] .hero-grid {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 28px;
    align-items: center;
  }

  body[data-page="landing"] .hero-kicker {
    font-family: var(--serif);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 12px;
    color: rgba(246, 213, 138, 0.92);
    margin-bottom: 10px;
  }

  body[data-page="landing"] .hero-title {
    font-family: var(--serif);
    font-size: clamp(44px, 5.2vw, 70px);
    line-height: 1.05;
    margin: 0 0 10px 0;
    letter-spacing: -0.02em;
    color: rgba(241, 241, 251, 0.98);
  }

  body[data-page="landing"] .hero-tagline {
    font-family: var(--sans);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: rgba(170, 220, 215, 0.92);
    margin-top: 10px;
  }

  body[data-page="landing"] .hero-cta-row {
    margin-top: 18px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
  }

  body[data-page="landing"] .cta:active {
    transform: translateY(6px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45) inset;
  }

  body[data-page="landing"] .hero-image {
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
    background: rgba(255, 255, 255, 0.03);
    user-select: none;
    -webkit-user-select: none;
  }

  body[data-page="landing"] .hero-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    user-select: none;
    -webkit-user-select: none;
    pointer-events: none;
    -webkit-user-drag: none;
  }

  /* ===== Section 2 cards ===== */
  body[data-page="landing"] .s2-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
    margin-top: 16px;
    align-items: start;
  }

  body[data-page="landing"] .feature-card {
    background: rgba(15, 23, 42, 0.03);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    padding: 18px 18px 16px !important;
  }

  body[data-page="landing"] .feature-card h3 {
    margin: 0 0 8px;
    font-family: var(--serif);
    letter-spacing: 0.06em;
    font-size: 14px;
    text-transform: uppercase;
    color: rgba(15, 23, 42, 0.88);
  }

  body[data-page="landing"] .feature-card p {
    color: var(--muted-dark);
    font-size: 15.5px;
  }

  body[data-page="landing"] .section-title {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  body[data-page="landing"] .section-title p {
    color: var(--muted-dark);
    font-size: 16px;
    max-width: 90ch;
  }

  /* ===== hero text box moved into section 2 ===== */
  body[data-page="landing"] .hero-moved-card {
    background: rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 18px;
    padding: 18px 18px 16px !important;
    margin-top: 14px;
  }

  body[data-page="landing"] .hero-moved-card h3 {
    margin: 0 0 10px;
    font-family: var(--serif);
    letter-spacing: 0.06em;
    font-size: 14px;
    text-transform: uppercase;
    color: rgba(15, 23, 42, 0.88);
  }

  body[data-page="landing"] .hero-moved-card p {
    color: var(--muted-dark);
    font-size: 15.5px;
    margin: 0 0 10px;
  }

  body[data-page="landing"] .hero-moved-card p:last-child {
    margin-bottom: 0;
  }

  /* ===== Section 2b "How it works" ===== */
  body[data-page="landing"] .how-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 26px;
    align-items: start;
    margin-top: 18px;
  }

  body[data-page="landing"] .how-card {
    background: rgba(15, 23, 42, 0.03);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    padding: 18px 18px 16px;
  }

  body[data-page="landing"] .how-card h3 {
    margin: 0 0 8px;
    font-family: var(--serif);
    letter-spacing: 0.06em;
    font-size: 14px;
    text-transform: uppercase;
    color: rgba(15, 23, 42, 0.88);
  }

  body[data-page="landing"] .how-card p {
    color: var(--muted-dark);
    font-size: 15.5px;
  }

  body[data-page="landing"] .how-steps {
    margin: 0;
    padding-left: 18px;
    color: var(--muted-dark);
    font-size: 15.5px;
    line-height: 1.65;
  }

  body[data-page="landing"] .how-steps li {
    margin: 10px 0;
  }

  body[data-page="landing"] .workflow {
    margin-top: 12px;
    padding: 14px 14px 12px;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(15, 23, 42, 0.08);
  }

  body[data-page="landing"] .workflow strong {
    font-family: var(--serif);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 13px;
    color: rgba(15, 23, 42, 0.86);
  }

  body[data-page="landing"] .workflow p {
    margin-top: 8px;
    color: var(--muted-dark);
    font-size: 15.25px;
  }

  /* How It Works: ivory windows + white text (+1px font) */
  body[data-page="landing"] #section2b .how-card {
    /* Ivory base with a subtle dark glaze (keeps premium contrast while staying “ivory”) */
    background:
      linear-gradient(180deg, rgba(3, 10, 24, 0.62), rgba(3, 10, 24, 0.62)),
      #f6f1e6;
    border: 1px solid rgba(246, 213, 138, 0.22);
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.38);
  }

  body[data-page="landing"] #section2b .how-card h3 {
    color: rgba(255, 255, 255, 0.96);
  }

  body[data-page="landing"] #section2b .how-card p {
    color: rgba(255, 255, 255, 0.84);
    font-size: 16.5px;
    /* +1px vs 15.5px */
  }

  body[data-page="landing"] #section2b .how-steps {
    color: rgba(255, 255, 255, 0.84);
    font-size: 16.5px;
    /* +1px vs 15.5px */
  }

  body[data-page="landing"] #section2b .how-steps strong {
    color: rgba(246, 213, 138, 0.96);
    font-weight: 800;
  }

  body[data-page="landing"] #section2b .workflow {
    background:
      linear-gradient(180deg, rgba(3, 10, 24, 0.58), rgba(3, 10, 24, 0.58)),
      #f6f1e6;
    border: 1px solid rgba(255, 255, 255, 0.14);
  }

  body[data-page="landing"] #section2b .workflow strong {
    color: rgba(246, 213, 138, 0.96);
  }

  body[data-page="landing"] #section2b .workflow p {
    color: rgba(255, 255, 255, 0.82);
    font-size: 16.25px;
    /* +1px vs 15.25px */
  }


  /* ===== SECTION 3 constellation container ===== */
  body[data-page="landing"] .constellation-wrap {
    margin-top: 16px;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: var(--shadow);
    background: rgba(0, 0, 0, 0.18);
    width: min(1680px, 98vw);
    margin-left: auto;
    margin-right: auto;
  }

  body[data-page="landing"] .constellation-scene {
    width: 100%;
    height: clamp(520px, 78vh, 760px);
    border-radius: 0;
    overflow: hidden;
    background:
      radial-gradient(circle at 35% 18%, rgba(255, 255, 255, 0.06), transparent 40%),
      radial-gradient(circle at 70% 55%, rgba(185, 140, 255, 0.10), transparent 45%),
      linear-gradient(180deg, #04040a, #000);
    border: none;
    user-select: none;
    position: relative;
  }

  body[data-page="landing"] #constellationCanvas {
    width: 100%;
    height: 100%;
    display: block;
    cursor: default;
  }

  /* ===== SECTION 4: horizontal scroll area ===== */
  body[data-page="landing"] .h-scroll-spacer {
    width: 100%;
    height: 350vh;
    position: relative;
  }

  body[data-page="landing"] .h-sticky {
    position: sticky;
    top: 0;
    height: 69vh;
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
  }

  body[data-page="landing"] .h-window {
    width: 100%;
    height: 100%;
    width: 100%;
    height: 100%;
    border-radius: 24px;
    overflow: hidden;
    background:
      radial-gradient(circle at 35% 18%, rgba(255, 255, 255, 0.06), transparent 40%),
      radial-gradient(circle at 70% 55%, rgba(185, 140, 255, 0.10), transparent 45%),
      linear-gradient(180deg, #04040a, #000);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: var(--shadow);
    position: relative;
  }

  body[data-page="landing"] .h-track {
    height: 100%;
    display: flex;
    will-change: transform;
    transform: translate3d(0, 0, 0);
  }

  body[data-page="landing"] .h-panel {
    flex: 0 0 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
  }

  body[data-page="landing"] .panel-card {
    width: min(990px, 96%);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(8px);
  }

  /* Section 4 panels (no card wrapper) */
  body[data-page="landing"] .h-panel {
    flex: 0 0 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 3.2vw, 44px);
    position: relative;
  }

  body[data-page="landing"] .h-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.06), transparent 48%),
      radial-gradient(circle at 78% 70%, rgba(185, 140, 255, 0.08), transparent 55%);
    opacity: 0.55;
    pointer-events: none;
  }

  /* Section 4 panels: text left, image right */
  body[data-page="landing"] .panel-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 22px;
    align-items: center;
    width: min(1280px, 96%);
    position: relative;
    z-index: 1;
  }

  body[data-page="landing"] .panel-copy {
    min-width: 0;
  }

  body[data-page="landing"] .panel-media {
    min-width: 0;
  }

  body[data-page="landing"] .panel-media .panel-image {
    margin-bottom: 0;
  }

  @media (max-width: 980px) {
    body[data-page="landing"] .panel-grid {
      grid-template-columns: 1fr;
    }

    body[data-page="landing"] .panel-media {
      order: -1;
    }

    /* image first on mobile */
  }


  body[data-page="landing"] .panel-card h2 {
    font-size: 26px;
    font-weight: 900;
    margin-bottom: 10px;
    color: rgba(255, 255, 255, 0.92);
    font-family: var(--serif);
  }

  body[data-page="landing"] .panel-card p {
    margin-top: 0;
    font-size: 13.5px;
    color: rgba(241, 241, 251, 0.74);
  }

  body[data-page="landing"] .panel-image {
    width: 100%;
    height: auto;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    margin-bottom: 14px;

    background: rgba(0, 0, 0, 0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    height: 450px;
  }

  /* 3D tilt for section panels (subtle) */
  body[data-page="landing"] .panel-image {
    perspective: 900px;
    overflow: hidden;
  }

  body[data-page="landing"] .panel-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    filter: contrast(1.08) saturate(1.1);
    transform: rotateY(-6deg) rotateX(2deg) translateZ(0);
    transform-origin: 50% 50%;
    transition: transform 240ms ease, filter 240ms ease;
    will-change: transform;
  }



  /* Zoom overlay (after 1s hover): enlarges window + fits full image */
  body[data-page="landing"] .panel-image.zoom {
    position: fixed;
    inset: 8vh 8vw;
    width: auto;
    height: auto;
    padding: 18px;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(10px);
    z-index: 9999;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.75);
  }

  body[data-page="landing"] .panel-image.zoom img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: none !important;
    filter: contrast(1.05) saturate(1.10);
    cursor: zoom-out;
  }

  /* Zoom (after 1s hover) */
  body[data-page="landing"] .panel-image {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
  }

  body[data-page="landing"] .panel-image img {
    transition: transform 240ms ease, filter 240ms ease;
    will-change: transform;
  }

  body[data-page="landing"] .panel-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 0;
    background: rgba(185, 140, 255, 0.10);
    border: 1px solid rgba(185, 140, 255, 0.24);
    font-weight: 900;
    font-size: 13px;
    color: rgba(185, 140, 255, 0.98);
    margin-bottom: 12px;
  }

  body[data-page="landing"] .dot {
    width: 8px;
    height: 8px;
    border-radius: 99px;
    background: rgba(185, 140, 255, 0.9);
    box-shadow: 0 0 10px rgba(185, 140, 255, 0.45);
  }



  /* ===== Section 5 high-intent CTA window ===== */
  body[data-page="landing"] .s5-window {
    margin-top: 18px;
    background: rgb(3, 7, 8);
    border: 1px solid rgba(246, 213, 138, 0.22);
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.45);
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 18px;
    overflow: hidden;
  }

  body[data-page="landing"] .s5-window h2 {
    margin: 0 0 8px;
    font-family: var(--serif);
    color: rgba(241, 241, 251, 0.96);
    font-size: 28px;
    letter-spacing: -0.02em;
  }

  body[data-page="landing"] .s5-window p {
    color: rgba(241, 241, 251, 0.78);
    font-size: 15.5px;
    margin: 0;
    max-width: none;
  }

  body[data-page="landing"] .s5-bullets {
    margin: 14px 0 0;
    padding-left: 18px;
    color: rgba(241, 241, 251, 0.76);
    font-size: 15.25px;
    line-height: 1.65;
  }

  body[data-page="landing"] .s5-bullets li {
    margin: 8px 0;
  }

  body[data-page="landing"] .s5-bullets strong {
    color: rgba(246, 213, 138, 0.96);
  }

  body[data-page="landing"] .s5-right {
    border-radius: 16px;
    padding: 18px;
    background:
      radial-gradient(circle at 25% 20%, rgba(246, 213, 138, 0.10), transparent 52%),
      radial-gradient(circle at 70% 75%, rgba(185, 140, 255, 0.10), transparent 55%),
      rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.10);
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    align-items: flex-start;
  }

  body[data-page="landing"] .s5-badge {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(246, 213, 138, 0.10);
    border: 1px solid rgba(246, 213, 138, 0.24);
    color: rgba(246, 213, 138, 0.96);
    font-weight: 900;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  body[data-page="landing"] .s5-metric {
    margin-top: 6px;
    padding: 12px 12px 10px;
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.10);
    width: 100%;
  }

  body[data-page="landing"] .s5-metric-label {
    font-family: var(--serif);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 12px;
    color: rgba(241, 241, 251, 0.74);
    margin-bottom: 6px;
  }

  body[data-page="landing"] .s5-metric-value {
    font-family: var(--serif);
    font-size: 20px;
    color: rgba(241, 241, 251, 0.94);
    letter-spacing: -0.01em;
  }

  body[data-page="landing"] .s5-cta {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    border-radius: 12px;
    background: rgba(246, 213, 138, 0.16);
    border: 1px solid rgba(246, 213, 138, 0.36);
    color: rgba(246, 213, 138, 0.96);
    text-decoration: none;
    font-weight: 900;
    letter-spacing: 0.02em;
    width: 100%;
    transition: transform 180ms ease, box-shadow 180ms ease;
  }

  body[data-page="landing"] .s5-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.42);
  }

  body[data-page="landing"] .s5-cta:active {
    transform: translateY(6px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45) inset;
  }

  body[data-page="landing"] .s5-sub {
    font-size: 12.5px;
    color: rgba(241, 241, 251, 0.66);
    text-align: left;
    width: 100%;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .topbar-inner {
      grid-template-columns: 1fr;
      gap: 10px;
    }

    body[data-page="landing"] .topbar {
      flex-wrap: wrap;
      gap: 10px;
    }

    body[data-page="landing"] .hero-grid {
      grid-template-columns: 1fr;
    }

    body[data-page="landing"] #section1 {
      min-height: auto;
      padding-bottom: 56px;
    }

    body[data-page="landing"] .constellation-wrap {
      width: 100%;
    }

    body[data-page="landing"] .s2-grid {
      grid-template-columns: 1fr;
    }

    body[data-page="landing"] .how-grid {
      grid-template-columns: 1fr;
    }

    body[data-page="landing"] .footer-inner {
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
    }

    body[data-page="landing"] .footer-left {
      white-space: normal;
    }
  }


  /* ===== Footer ===== */
  body[data-page="landing"] .footer-inner {
    width: min(1180px, 94vw);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: rgba(241, 241, 251, 0.88);
    font-family: var(--sans);
  }

  body[data-page="landing"] .footer-left {
    font-size: 13.5px;
    opacity: 0.9;
    white-space: nowrap;
  }

  body[data-page="landing"] .footer-links {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }

  body[data-page="landing"] .footer-links a {
    color: rgba(241, 241, 251, 0.80);
    text-decoration: underline;
    font-size: 13.5px;
    padding: 6px 0;
    transform: translateY(0);
    transition: transform 2000ms ease;
  }

  body[data-page="landing"] .footer-links a:hover {
    transform: translateY(-2px);
  }

  body[data-page="landing"] .to-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(241, 241, 251, 0.90);
    text-decoration: none;
    font-size: 18px;
    line-height: 1;
    transform: translateY(0);
    transition: transform 180ms ease, box-shadow 180ms ease;
  }

  body[data-page="landing"] .to-top:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
  }

  body[data-page="landing"] .to-top:active {
    transform: translateY(6px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.40) inset;
  }

  @media (max-width: 1080px) {}

  /* Section 4 panels: fully static (no hover transitions/animations) */
  body[data-page="landing"] #section4 .panel-image,
  body[data-page="landing"]

  /* Static per-panel image scaling */
  #section4 .h-track .h-panel:nth-of-type(1) .panel-image img {
    transform: scale(1.5);
    transform-origin: center;
  }

  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(3) .panel-image img {
    transform: scale(1.5);
    transform-origin: center;
  }

  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(5) .panel-image img {
    transform: scale(1.2);
    transform-origin: center;
  }


  /* Increase image window size by ~20% for panels 1, 3, 5 */
  /* base 220px -> +20% */
  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(1) .panel-grid {
    grid-template-columns: 0.75fr 1.25fr;
  }

  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(3) .panel-grid {
    grid-template-columns: 0.75fr 1.25fr;
  }

  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(5) .panel-grid {
    grid-template-columns: 0.75fr 1.25fr;
  }


  /* Section 4 (horizontal panels): light cream background */
  body[data-page="landing"] #section4 {
    background: #fbf7ef;
    --arc-img-h: clamp(388px, 58vh, 678px);
  }

  body[data-page="landing"] #section4 .h-window {
    background: rgba(255, 255, 255, 0.0);
    border: 1px solid rgba(15, 23, 42, 0.10);
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.18);
  }


  /* Panel 1: disable any hover visuals on container/window/image */
  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(1) * {
    transition: none !important;
    animation: none !important;
  }

  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(1) .panel-image:hover,
  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(1) .panel-image:hover img,
  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(1):hover .panel-image,
  body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(1):hover .panel-image img {
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
  }


  /* Section 4: force black text */
  body[data-page="landing"] #section4,
  body[data-page="landing"] #section4 h1,
  body[data-page="landing"] #section4 h2,
  body[data-page="landing"] #section4 h3,
  body[data-page="landing"] #section4 p,
  body[data-page="landing"] #section4 li,
  body[data-page="landing"] #section4 strong,
  body[data-page="landing"] #section4 em {
    color: rgba(10, 18, 32, 0.90);
    text-shadow: none !important;
  }

  body[data-page="landing"] #section4 .panel-card p,
  body[data-page="landing"] #section4 .panel-card ul,
  body[data-page="landing"] #section4 .panel-card li {
    color: rgba(10, 18, 32, 0.82);
  }

  body[data-page="landing"] #section4 .panel-card h2 {
    color: rgba(10, 18, 32, 0.94);
  }

  /* Section 4: remove hover/transition effects on the section/window/panels (keep scrolling JS) */
  body[data-page="landing"] #section4 .h-window,
  body[data-page="landing"] #section4 .h-panel,
  body[data-page="landing"] #section4 .panel-card,
  body[data-page="landing"] #section4 .panel-grid,
  body[data-page="landing"] #section4 .panel-media,
  body[data-page="landing"] #section4 .panel-image,
  body[data-page="landing"] #section4 .panel-image img,
  body[data-page="landing"] #section4 .progress-dots span {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }

  body[data-page="landing"] #section4 .h-window:hover,
  body[data-page="landing"] #section4 .h-panel:hover,
  body[data-page="landing"] #section4 .panel-card:hover,
  body[data-page="landing"] #section4 .panel-grid:hover,
  body[data-page="landing"] #section4 .panel-image:hover,
  body[data-page="landing"] #section4 .panel-image:hover img {
    transform: none !important;
    filter: none !important;
    box-shadow: inherit !important;
  }


  /* Section 4: panel image containers fully transparent */
  /* Section 4: panel-image container fits the image dimensions */
  /* Section 1 hero image: integrate with section background (remove window chrome) */
  body[data-page="landing"] #section1 {
    /* will be auto-set from image via JS if possible */
    background: var(--panel-1);
  }

  body[data-page="landing"] .hero-image {
    background: transparent;
    border: none;
    box-shadow: none !important;
  }


  /* Footer: single-line layout with to-top aligned to right edge of content width */
  body[data-page="landing"] .footer-inner {
    width: min(1180px, 94vw);
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 18px;
  }

  body[data-page="landing"] .footer-links {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
  }

  body[data-page="landing"] .to-top {
    justify-self: end;
    /* far right of content width */
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .footer-inner {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
    }

    body[data-page="landing"] .footer-links {
      justify-content: flex-start;
      flex-wrap: wrap;
      white-space: normal;
    }

    body[data-page="landing"] .to-top {
      align-self: flex-end;
    }
  }


  /* Section 4: make progress dots visible on light background */
  body[data-page="landing"] #section4 .progress-dots {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(15, 23, 42, 0.14);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10);
  }

  body[data-page="landing"] #section4 .progress-dots span {
    background: rgba(15, 23, 42, 0.22);
    border: 1px solid rgba(15, 23, 42, 0.18);
    opacity: 0.9;
  }

  body[data-page="landing"] #section4 .progress-dots span.active {
    background: rgba(185, 140, 255, 0.96);
    border-color: rgba(185, 140, 255, 0.38);
    transform: scale(1.25);
    opacity: 1;
  }


  /* Section 4 dots visibility fix: restore dot sizing + stacking */
  body[data-page="landing"] #section4 .progress-dots {
    position: absolute;
    z-index: 80;
  }

  body[data-page="landing"] #section4 .progress-dots span {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 999px;
  }


  /* Horizontal scroll chevrons (Section 4) */
  body[data-page="landing"] #section4 .h-window {
    cursor: grab;
  }

  body[data-page="landing"] #section4 .scroll-hints {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 90;
  }

  body[data-page="landing"] #section4 .scroll-hint {
    pointer-events: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(10px);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.14);
    display: grid;
    place-items: center;
    color: rgba(15, 23, 42, 0.72);
    font-size: 22px;
    line-height: 1;
    opacity: 0.0;
    transition: opacity 220ms ease, transform 220ms ease;
    user-select: none;
  }

  body[data-page="landing"] #section4 .scroll-hint.left {
    left: 14px;
  }

  body[data-page="landing"] #section4 .scroll-hint.right {
    right: 14px;
  }

  body[data-page="landing"] #section4 .h-window:hover .scroll-hint {
    opacity: 1;
    transform: translateY(-50%) scale(1.02);
  }

  body[data-page="landing"] #section4 .scroll-hint:active {
    transform: translateY(-50%) scale(0.96);
  }

  /* How It Works (Section 2b): dark blue windows */
  body[data-page="landing"] #section2b .how-card {
    background: rgb(10, 12, 15);
    border: 1px solid rgba(255, 255, 255, 0.10);
  }

  body[data-page="landing"] #section2b .how-card h3,
  body[data-page="landing"] #section2b .how-card p,
  body[data-page="landing"] #section2b .how-steps,
  body[data-page="landing"] #section2b .how-steps li,
  body[data-page="landing"] #section2b .workflow strong,
  body[data-page="landing"] #section2b .workflow p {
    color: rgba(241, 241, 251, 0.92);
  }

  body[data-page="landing"] #section2b .workflow {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
  }


  /* How It Works (Section 2b): match Section 1 background + light-blue bold text */
  body[data-page="landing"] #section2b .how-card {
    background: var(--panel-1);
    border: 1px solid rgba(255, 255, 255, 0.10);
  }

  body[data-page="landing"] #section2b strong {
    color: rgba(173, 216, 255, 0.95);
    /* very light blue */
  }

  /* Gold-line icons (What Sets Us Apart) */
  body[data-page="landing"] .icon-gold {
    width: 60px;
    height: 60px;
    stroke: var(--gold);
    fill: none;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.35));
    opacity: 0.95;
    margin-bottom: 10px;
    flex: 0 0 auto;
  }

  body[data-page="landing"] #section2 .feature-card {
    position: relative;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .icon-gold {
      width: 52px;
      height: 52px;
    }
  }


  body[data-page="landing"] #section2 .icon-gold {
    filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.18));
  }


  /* Section 2 card uniformity: keep layouts consistent without crowding */
  body[data-page="landing"] .s2-grid {
    align-items: stretch;
  }

  body[data-page="landing"] .feature-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .feature-card {
      height: auto;
    }
  }


  /* Section 2 top row: card + visual (Option A: radar/signal) */
  body[data-page="landing"] .s2-toprow {
    display: grid;
    grid-template-columns: 1fr 0.92fr;
    gap: 26px;
    align-items: stretch;
    margin-top: 14px;
  }

  body[data-page="landing"] #section2 .hero-moved-card {
    margin-top: 0;
    /* now controlled by .s2-toprow */
    max-width: none;
    /* grid controls width */
    height: 100%;
  }

  body[data-page="landing"] .s2-visual {
    background: rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 18px;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    position: relative;
    overflow: hidden;
  }

  body[data-page="landing"] .s2-visual::after {
    content: "";
    position: absolute;
    inset: -2px;
    background:
      radial-gradient(circle at 30% 25%, rgba(246, 213, 138, 0.16), transparent 55%),
      radial-gradient(circle at 70% 70%, rgba(185, 140, 255, 0.10), transparent 60%);
    opacity: 0.55;
    pointer-events: none;
  }

  body[data-page="landing"] .radar-icon {
    width: min(360px, 92%);
    height: auto;
    position: relative;
    z-index: 1;
  }

  body[data-page="landing"] .radar-icon .glow {
    filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.22));
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .s2-toprow {
      grid-template-columns: 1fr;
    }

    body[data-page="landing"] .s2-visual {
      min-height: 220px;
    }
  }


  /* Section 2: top card + background radar visual */
  body[data-page="landing"] #section2 .section-inner {
    position: relative;
  }

  body[data-page="landing"] #section2 .hero-moved-card {
    max-width: 600px;
    /* narrower so right side has room */
    position: relative;
    z-index: 2;
  }

  body[data-page="landing"] #section2 .s2-topwrap {
    position: relative;
    min-height: 320px;
    margin-top: 14px;
    padding-right: 0;
    /* reserve space for background visual */
  }

  body[data-page="landing"] #section2 .s2-radar-bg {
    position: absolute;
    right: -40px;
    top: -40px;
    width: 520px;
    height: 520px;
    opacity: 0.30;
    pointer-events: none;
    z-index: 1;
    /* behind the card (z=2) */
    filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.18));
  }

  body[data-page="landing"] #section2 .s2-radar-bg .stroke {
    stroke: rgba(246, 213, 138, 0.95);
  }

  body[data-page="landing"] #section2 .s2-radar-bg .stroke-soft {
    stroke: rgba(246, 213, 138, 0.30);
  }

  /* If an old right-column visual exists, hide it */
  body[data-page="landing"] #section2 .s2-visual {
    display: none !important;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] #section2 .s2-topwrap {
      padding-right: 0;
      min-height: auto;
    }

    body[data-page="landing"] #section2 .s2-radar-bg {
      display: none;
    }

    body[data-page="landing"] #section2 .hero-moved-card {
      max-width: none;
    }
  }


  /* Section 2 radar background tweaks: smaller + stronger */
  body[data-page="landing"] #section2 .s2-radar-bg {
    width: 416px;
    height: 416px;
    opacity: 0.55;
    right: -10px;
    top: -18px;
    filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.22));
  }

  body[data-page="landing"] #section2 .s2-radar-bg .stroke {
    stroke: rgba(215, 165, 80, 1);
  }

  body[data-page="landing"] #section2 .s2-radar-bg .stroke-soft {
    stroke: rgba(215, 165, 80, 0.45);
  }


  /* Section 2 alternating layout (cards + large side icons) */
  body[data-page="landing"] #section2 .s2-alt {
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-top: 18px;
  }

  body[data-page="landing"] #section2 .s2-row {
    display: grid;
    grid-template-columns: minmax(520px, 700px) 280px;
    justify-content: space-between;
    align-items: center;
    gap: 26px;
  }

  body[data-page="landing"] #section2 .s2-row.right {
    grid-template-columns: 280px minmax(520px, 700px);
  }

  body[data-page="landing"] #section2 .s2-card .feature-card {
    height: 100%;
    border-radius: 18px;
  }

  body[data-page="landing"] #section2 .s2-sideicon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
  }

  body[data-page="landing"] #section2 .s2-bigicon {
    width: 170px;
    height: 170px;
    stroke: rgba(215, 165, 80, 1);
    fill: none;
    stroke-width: 2.35;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.16));
    opacity: 0.98;
  }

  @media (max-width: 1080px) {

    body[data-page="landing"] #section2 .s2-row,
    body[data-page="landing"] #section2 .s2-row.right {
      grid-template-columns: 1fr;
    }

    body[data-page="landing"] #section2 .s2-sideicon {
      order: -1;
      min-height: auto;
      justify-content: flex-start;
    }

    body[data-page="landing"] #section2 .s2-bigicon {
      width: 120px;
      height: 120px;
    }
  }


  /* Section 2: top card icon to the left (target) */
  body[data-page="landing"] #section2 .s2-hero-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 18px;
    align-items: start;
    position: relative;
    z-index: 2;
  }

  body[data-page="landing"] #section2 .s2-hero-icon {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 6px;
  }

  body[data-page="landing"] #section2 .s2-hero-icon svg {
    width: 85px;
    /* ~50% of large side icons */
    height: 85px;
    stroke: rgba(215, 165, 80, 1);
    fill: none;
    stroke-width: 2.35;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.16));
    opacity: 0.98;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] #section2 .s2-hero-row {
      grid-template-columns: 1fr;
    }

    body[data-page="landing"] #section2 .s2-hero-icon {
      justify-content: flex-start;
    }

    body[data-page="landing"] #section2 .s2-hero-icon svg {
      width: 72px;
      height: 72px;
    }
  }


  /* Section 2 top area: treat radar as a large icon like the others */
  body[data-page="landing"] #section2 .s2-topwrap {
    display: grid;
    grid-template-columns: 280px minmax(520px, 700px);
    gap: 26px;
    align-items: start;
    margin-top: 14px;
    padding-right: 0 !important;
    min-height: auto;
  }

  body[data-page="landing"] #section2 .s2-topicon {
    min-height: 220px;
    align-items: flex-start;
    justify-content: center;
    padding-top: 6px;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] #section2 .s2-topwrap {
      grid-template-columns: 1fr;
    }

    body[data-page="landing"] #section2 .s2-topicon {
      justify-content: flex-start;
      min-height: auto;
    }
  }


  /* Section 2 top card: remove the internal small icon so the large left icon is the hero */
  body[data-page="landing"] #section2 .s2-hero-icon {
    display: none;
  }


  /* Section 2 top area: ensure top window is on the RIGHT, icon on the LEFT */
  body[data-page="landing"] #section2 .s2-topwrap {
    display: grid;
    grid-template-columns: 1fr minmax(520px, 700px);
    gap: 26px;
    align-items: start;
    margin-top: 14px;
    padding-right: 0 !important;
    min-height: auto;
  }

  body[data-page="landing"] #section2 .s2-topicon {
    justify-content: flex-end;
    /* push icon towards the card */
    min-height: auto;
    padding-top: 6px;
  }

  /* keep the top card snug to the right side of the content column */
  body[data-page="landing"] #section2 .hero-moved-card {
    width: 100%;
    margin-left: auto;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] #section2 .s2-topicon {
      justify-content: flex-start;
    }
  }


  /* Section 2: unify window widths, spacing, and icon alignment */
  body[data-page="landing"] #section2 {
    --s2-card-w: 560px;
    /* ~20% narrower than prior max */
    --s2-icon-col: 340px;
    --s2-vgap: 28px;
  }

  /* Top window row */
  body[data-page="landing"] #section2 .s2-topwrap {
    display: grid;
    grid-template-columns: var(--s2-icon-col) var(--s2-card-w);
    gap: 26px;
    justify-content: center;
    align-items: stretch;
    margin-top: 14px;
    margin-bottom: var(--s2-vgap) !important;
  }

  body[data-page="landing"] #section2 .hero-moved-card {
    width: min(100%, var(--s2-card-w));
    margin-left: 0;
    margin-right: 0;
    height: 100%;
    justify-self: center;
  }

  body[data-page="landing"] #section2 .s2-topicon {
    align-self: stretch;
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Alternating windows */
  body[data-page="landing"] #section2 .s2-alt {
    margin-top: var(--s2-vgap);
    gap: var(--s2-vgap);
  }

  body[data-page="landing"] #section2 .s2-row {
    display: grid;
    grid-template-columns: var(--s2-card-w) var(--s2-icon-col);
    gap: 26px;
    justify-content: center;
    align-items: stretch;
  }

  body[data-page="landing"] #section2 .s2-row.right {
    grid-template-columns: var(--s2-icon-col) var(--s2-card-w);
  }

  body[data-page="landing"] #section2 .s2-card {
    width: min(100%, var(--s2-card-w));
    justify-self: center;
    align-self: stretch;
  }

  body[data-page="landing"] #section2 .s2-card .feature-card {
    height: 100%;
  }

  /* Icon sizing + alignment to visually match window height */
  body[data-page="landing"] #section2 .s2-sideicon {
    align-self: stretch;
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: auto;
    /* override older mins */
  }

  body[data-page="landing"] #section2 .s2-bigicon {
    height: 100%;
    width: auto;
    max-height: 100%;
    max-width: 300px;
  }

  /* Keep layout sane on smaller screens */
  @media (max-width: 1080px) {
    body[data-page="landing"] #section2 .s2-topwrap {
      grid-template-columns: 1fr;
      justify-content: stretch;
      margin-bottom: 22px;
    }

    body[data-page="landing"] #section2 .hero-moved-card {
      width: 100%;
    }

    body[data-page="landing"] #section2 .s2-row,
    body[data-page="landing"] #section2 .s2-row.right {
      grid-template-columns: 1fr;
      justify-content: stretch;
    }

    body[data-page="landing"] #section2 .s2-card {
      width: 100%;
    }

    body[data-page="landing"] #section2 .s2-bigicon {
      height: auto;
      width: 140px;
      max-width: 140px;
    }
  }


  /* Section 2: align left-column windows with the "What Sets Us Apart?" heading */
  body[data-page="landing"] #section2 .s2-topwrap,
  body[data-page="landing"] #section2 .s2-row,
  body[data-page="landing"] #section2 .s2-row.right {
    justify-content: start;
    /* left align within section-inner */
  }

  body[data-page="landing"] #section2 .s2-topwrap {
    grid-template-columns: var(--s2-icon-col) var(--s2-card-w);
  }

  /* Left-side window rows: card in first column should be flush with heading left edge */
  body[data-page="landing"] #section2 .s2-row.left {
    grid-template-columns: var(--s2-card-w) var(--s2-icon-col);
  }

  body[data-page="landing"] #section2 .s2-row.left .s2-card {
    justify-self: start;
  }

  body[data-page="landing"] #section2 .s2-row.left .s2-sideicon {
    justify-self: start;
  }

  /* Top window (card) sits in the right column; keep the whole block starting at heading left edge */
  body[data-page="landing"] #section2 .hero-moved-card {
    justify-self: start;
  }

  /* Keep existing center alignment on mobile */
  @media (max-width: 1080px) {

    body[data-page="landing"] #section2 .s2-topwrap,
    body[data-page="landing"] #section2 .s2-row,
    body[data-page="landing"] #section2 .s2-row.right {
      justify-content: stretch;
    }

    body[data-page="landing"] #section2 .s2-row.left .s2-card,
    body[data-page="landing"] #section2 .s2-row.left .s2-sideicon,
    body[data-page="landing"] #section2 .hero-moved-card {
      justify-self: stretch;
    }
  }


  /* Section 2 tagline under header */
  body[data-page="landing"] .section-tagline {
    font-family: var(--sans);
    font-size: 13.5px;
    font-weight: 800;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: rgba(15, 23, 42, 0.62);
    margin-top: 6px;
  }


  /* ===== Premium Vertical Flow (Section 2b: How It Works) ===== */
  body[data-page="landing"] .flow-premium {
    margin-top: 18px;
    display: flex;
    justify-content: center;
  }

  body[data-page="landing"] .flow-card {
    width: min(980px, 94vw);
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    padding: 26px 24px;
    background: rgba(3, 7, 18, 0.96);
    border: 1px solid rgba(246, 213, 138, 0.18);
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.32);
  }

  body[data-page="landing"] .flow-card::before {
    content: "";
    position: absolute;
    inset: -40%;
    background:
      radial-gradient(circle at 30% 25%, rgba(246, 213, 138, 0.10), transparent 52%),
      radial-gradient(circle at 70% 62%, rgba(185, 140, 255, 0.10), transparent 55%),
      radial-gradient(circle at 45% 85%, rgba(170, 220, 215, 0.08), transparent 55%);
    opacity: 0.75;
    pointer-events: none;
    transform: translateZ(0);
  }

  body[data-page="landing"] .flow-steps {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 18px;
    z-index: 1;
  }

  /* timeline spine */
  body[data-page="landing"] .flow-steps::before {
    content: "";
    position: absolute;
    left: 62px;
    top: 14px;
    bottom: 14px;
    width: 2px;
    background: linear-gradient(180deg,
        rgba(246, 213, 138, 0.00),
        rgba(246, 213, 138, 0.40),
        rgba(185, 140, 255, 0.26),
        rgba(246, 213, 138, 0.12),
        rgba(246, 213, 138, 0.00));
    opacity: 0.9;
    pointer-events: none;
    filter: drop-shadow(0 0 18px rgba(246, 213, 138, 0.12));
  }

  body[data-page="landing"] .flow-step {
    display: grid;
    grid-template-columns: 124px 1fr;
    gap: 18px;
    align-items: center;
    min-height: 120px;
    padding: 10px 10px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.28);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
  }

  body[data-page="landing"] .flow-step:hover {
    transform: translateY(-2px);
    border-color: rgba(246, 213, 138, 0.18);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
  }

  body[data-page="landing"] .flow-iconwrap {
    width: 124px;
    height: 124px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }

  body[data-page="landing"] .flow-iconwrap::after {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 999px;
    background: rgba(246, 213, 138, 0.06);
    filter: blur(0px);
    box-shadow: 0 0 26px rgba(246, 213, 138, 0.10);
    opacity: 0.95;
    pointer-events: none;
  }

  body[data-page="landing"] .flow-icon {
    width: 92px;
    height: 92px;
    stroke: rgba(246, 213, 138, 0.95);
    fill: none;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.30));
    position: relative;
    z-index: 1;
  }

  body[data-page="landing"] .flow-label {
    font-family: var(--serif);
    letter-spacing: 0.06em;
    font-size: 18px;
    color: rgba(241, 241, 251, 0.95);
    line-height: 1.15;
  }

  body[data-page="landing"] .flow-connector {
    display: grid;
    grid-template-columns: 124px 1fr;
    gap: 18px;
    align-items: center;
    height: 54px;
    margin-top: -6px;
    margin-bottom: -6px;
    pointer-events: none;
  }

  body[data-page="landing"] .flow-connector .flow-arrowwrap {
    grid-column: 1 / 2;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body[data-page="landing"] .flow-arrow {
    width: 42px;
    height: 42px;
    stroke: rgba(246, 213, 138, 0.72);
    fill: none;
    stroke-width: 2.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.92;
    filter: drop-shadow(0 0 14px rgba(246, 213, 138, 0.10));
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .flow-card {
      padding: 18px 16px;
    }

    body[data-page="landing"] .flow-step {
      grid-template-columns: 108px 1fr;
      gap: 14px;
      min-height: 104px;
    }

    body[data-page="landing"] .flow-iconwrap {
      width: 108px;
      height: 108px;
    }

    body[data-page="landing"] .flow-icon {
      width: 80px;
      height: 80px;
    }

    body[data-page="landing"] .flow-label {
      font-size: 16px;
    }

    body[data-page="landing"] .flow-connector {
      grid-template-columns: 108px 1fr;
      height: 46px;
    }

    body[data-page="landing"] .flow-steps::before {
      left: 54px;
    }
  }


  /* ===== Premium Flow refinements: icon-only window, text outside, centered ===== */
  body[data-page="landing"] .flow-premium {
    justify-content: center;
  }

  body[data-page="landing"] .flow-card {
    width: min(820px, 94vw);
    /* narrower */
    margin-left: auto;
    margin-right: auto;
  }

  /* Remove the large step window: keep only an icon window */
  body[data-page="landing"] .flow-step {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 6px 0;
    min-height: auto;
    grid-template-columns: 124px 1fr;
  }

  body[data-page="landing"] .flow-iconwrap {
    width: 124px;
    height: 124px;
  }

  body[data-page="landing"] .flow-iconcard {
    width: 124px;
    height: 124px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.28);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }

  body[data-page="landing"] .flow-iconcard::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 999px;
    background: rgba(246, 213, 138, 0.06);
    box-shadow: 0 0 26px rgba(246, 213, 138, 0.10);
    opacity: 0.95;
    pointer-events: none;
  }

  /* Remove old iconwrap halo so the icon window owns the effect */
  body[data-page="landing"] .flow-iconwrap::after {
    display: none;
  }

  body[data-page="landing"] .flow-icon {
    position: relative;
    z-index: 1;
  }

  body[data-page="landing"] .flow-label {
    padding-right: 10px;
  }

  /* Align spine to icon window center */
  body[data-page="landing"] .flow-steps::before {
    left: 62px;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .flow-card {
      width: min(760px, 94vw);
    }

    body[data-page="landing"] .flow-step {
      grid-template-columns: 108px 1fr;
    }

    body[data-page="landing"] .flow-iconcard {
      width: 108px;
      height: 108px;
    }
  }


  /* ===== Flow: remove big window (flow-card), keep icon subwindows ===== */
  body[data-page="landing"] .flow-card {
    width: auto;
    max-width: none;
    background: transparent;
    border: none;
    box-shadow: none !important;
    padding: 0;
    border-radius: 0;
    overflow: visible !important;
  }

  body[data-page="landing"] .flow-card::before {
    display: none !important;
  }

  /* Keep flow centered in section */
  body[data-page="landing"] .flow-premium {
    justify-content: center;
  }

  /* Make spine subtler on light background */
  body[data-page="landing"] .flow-steps::before {
    opacity: 0.55;
    filter: none;
    background: linear-gradient(180deg,
        rgba(246, 213, 138, 0.00),
        rgba(246, 213, 138, 0.28),
        rgba(185, 140, 255, 0.18),
        rgba(246, 213, 138, 0.10),
        rgba(246, 213, 138, 0.00));
  }

  /* Slightly tighten spacing now that there's no container padding */
  body[data-page="landing"] .flow-steps {
    gap: 14px;
  }


  /* ===== Icon subwindows: match icon width + golden-brown background ===== */
  body[data-page="landing"] .flow-iconwrap {
    width: 92px;
    /* match the icon size */
    height: 92px;
  }

  body[data-page="landing"] .flow-iconcard {
    width: 92px;
    height: 92px;
    border-radius: 16px;
    background: rgba(150, 112, 52, 0.22);
    /* golden-brown-ish */
    border: 1px solid rgba(150, 112, 52, 0.30);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18) !important;
  }

  body[data-page="landing"] .flow-iconcard::before {
    inset: 8px !important;
    background: rgba(246, 213, 138, 0.10);
    box-shadow: 0 0 22px rgba(246, 213, 138, 0.14) !important;
  }

  body[data-page="landing"] .flow-icon {
    width: 78px;
    height: 78px;
  }

  /* Re-align grid columns to icon window width */
  body[data-page="landing"] .flow-step {
    grid-template-columns: 92px 1fr;
  }

  body[data-page="landing"] .flow-connector {
    grid-template-columns: 92px 1fr;
  }

  body[data-page="landing"] .flow-steps::before {
    left: 46px;
    /* center of 92px icon window */
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .flow-iconwrap {
      width: 80px !important;
      height: 80px !important;
    }

    body[data-page="landing"] .flow-iconcard {
      width: 80px !important;
      height: 80px !important;
    }

    body[data-page="landing"] .flow-icon {
      width: 70px !important;
      height: 70px !important;
    }

    body[data-page="landing"] .flow-step {
      grid-template-columns: 80px 1fr !important;
    }

    body[data-page="landing"] .flow-connector {
      grid-template-columns: 80px 1fr !important;
    }

    body[data-page="landing"] .flow-steps::before {
      left: 40px !important;
    }
  }


  /* ===== How It Works: icon-only centered flow (no text) ===== */
  body[data-page="landing"] #section2b {
    background: #fbf7ee;
    /* keep very light cream / pale yellow */
    color: var(--text-dark);
  }

  /* Remove any spine line for the icon-only version */
  body[data-page="landing"] .flow-steps::before {
    display: none !important;
  }

  /* Center the entire flow in the section */
  body[data-page="landing"] .flow-premium {
    justify-content: center;
  }

  /* Steps: single-column, centered */
  body[data-page="landing"] .flow-steps {
    align-items: center;
    gap: 18px;
  }

  body[data-page="landing"] .flow-step {
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: center;
    background: transparent;
    border: none;
    box-shadow: none !important;
    padding: 0;
    min-height: auto;
  }

  body[data-page="landing"] .flow-connector {
    grid-template-columns: 1fr;
    justify-items: center;
    height: 54px;
    margin: 0;
  }

  body[data-page="landing"] .flow-connector .flow-arrowwrap {
    grid-column: 1 / 2 !important;
  }

  /* Icon subwindows (#2 to #6): square, charcoal-ivory tone */
  body[data-page="landing"] .flow-iconcard {
    width: 108px;
    height: 108px;
    border-radius: 0;
    /* square */
    background:
      linear-gradient(180deg,
        rgba(32, 34, 36, 0.98),
        rgba(24, 26, 28, 0.98)) !important;
    /* dark charcoal */
    border: 1px solid rgba(244, 239, 232, 0.16);
    /* ivory edge */
    box-shadow:
      0 16px 46px rgba(0, 0, 0, 0.18),
      inset 0 0 0 1px rgba(246, 213, 138, 0.08) !important;
    /* subtle gold inner line */
  }

  body[data-page="landing"] .flow-iconcard::before {
    border-radius: 0;
    background: rgba(244, 239, 232, 0.06);
    /* faint ivory glow */
    box-shadow: 0 0 22px rgba(246, 213, 138, 0.10) !important;
  }

  /* Make icon lines golden */
  body[data-page="landing"] .flow-icon {
    stroke: rgba(246, 213, 138, 0.95);
    width: 82px;
    height: 82px;
  }

  /* Arrow styling stays premium */
  body[data-page="landing"] .flow-arrow {
    stroke: rgba(246, 213, 138, 0.78);
    filter: drop-shadow(0 0 14px rgba(246, 213, 138, 0.10));
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .flow-iconcard {
      width: 96px !important;
      height: 96px !important;
    }

    body[data-page="landing"] .flow-icon {
      width: 74px !important;
      height: 74px !important;
    }

    body[data-page="landing"] .flow-connector {
      height: 46px;
    }
  }


  /* ===== How It Works: premium 3D icon windows + side micro-windows ===== */

  /* Make icon windows feel 3D + premium */
  body[data-page="landing"] .flow-iconcard {
    background:
      radial-gradient(circle at 30% 25%, rgba(244, 239, 232, 0.10), transparent 52%),
      radial-gradient(circle at 70% 70%, rgba(246, 213, 138, 0.10), transparent 58%),
      linear-gradient(180deg, rgba(40, 42, 45, 0.98), rgba(16, 17, 18, 0.98)) !important;
    border: 1px solid rgba(244, 239, 232, 0.20);
    box-shadow:
      0 24px 70px rgba(0, 0, 0, 0.26),
      0 8px 18px rgba(0, 0, 0, 0.14),
      inset 0 1px 0 rgba(255, 255, 255, 0.06),
      inset 0 -10px 20px rgba(0, 0, 0, 0.30) !important;
    position: relative;
    transform: translateZ(0);
  }

  body[data-page="landing"] .flow-iconcard::before {
    background: linear-gradient(180deg, rgba(246, 213, 138, 0.10), rgba(244, 239, 232, 0.04));
    opacity: 0.90;
  }

  body[data-page="landing"] .flow-iconcard::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: 0;
    /* square */
    box-shadow:
      inset 0 0 0 1px rgba(246, 213, 138, 0.10),
      inset 0 0 0 2px rgba(0, 0, 0, 0.10);
    opacity: 0.95;
  }

  /* Give icons a crisp gold line with subtle glow */
  body[data-page="landing"] .flow-icon {
    stroke: rgba(246, 213, 138, 0.98);
    filter:
      drop-shadow(0 10px 18px rgba(0, 0, 0, 0.35)) drop-shadow(0 0 14px rgba(246, 213, 138, 0.10));
  }

  /* Make arrow more premium */
  body[data-page="landing"] .flow-arrow {
    stroke: rgba(246, 213, 138, 0.82);
    filter:
      drop-shadow(0 0 16px rgba(246, 213, 138, 0.14)) drop-shadow(0 10px 22px rgba(0, 0, 0, 0.18));
    opacity: 0.95;
  }

  /* Ensure connectors are a single centered column (and allow absolute side windows) */
  body[data-page="landing"] .flow-connector {
    width: 108px;
    position: relative;
    overflow: visible;
    padding: 0;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .flow-connector {
      width: 96px;
    }
  }

  /* Side micro-windows between icons */
  body[data-page="landing"] .flow-sidecard {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 150px;
    height: 56px;
    border-radius: 14px;
    background:
      radial-gradient(circle at 30% 30%, rgba(244, 239, 232, 0.10), transparent 60%),
      linear-gradient(180deg, rgba(40, 42, 45, 0.98), rgba(16, 17, 18, 0.98));
    border: 1px solid rgba(244, 239, 232, 0.18);
    box-shadow:
      0 20px 60px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.05),
      inset 0 -10px 18px rgba(0, 0, 0, 0.30);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    /* purely decorative */
  }

  body[data-page="landing"] .flow-sidecard::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px rgba(246, 213, 138, 0.10);
    pointer-events: none;
    opacity: 0.95;
  }

  body[data-page="landing"] .flow-side-left {
    right: calc(100% + 24px);
  }

  body[data-page="landing"] .flow-side-right {
    left: calc(100% + 24px);
  }

  body[data-page="landing"] .flow-sideglyph {
    width: 22px;
    height: 22px;
    stroke: rgba(246, 213, 138, 0.95);
    fill: none;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 14px rgba(246, 213, 138, 0.12));
    opacity: 0.95;
  }

  @media (max-width: 1080px) {

    /* On smaller screens, hide side micro-windows to avoid crowding */
    body[data-page="landing"] .flow-sidecard {
      display: none;
    }
  }


  /* ===== How It Works: title + orthogonal branch arrows to micro-windows ===== */
  body[data-page="landing"] #section2b .howitworks-title {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    margin-top: 6px;
    text-align: center;
  }

  body[data-page="landing"] #section2b .howitworks-title h1 {
    margin: 0;
    font-family: var(--serif);
    letter-spacing: -0.02em;
    font-size: clamp(30px, 3.2vw, 42px);
    color: rgba(15, 23, 42, 0.92);
  }

  body[data-page="landing"] .flow-branch {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 64px;
    pointer-events: none;
    opacity: 0.95;
  }

  body[data-page="landing"] .flow-branch path {
    fill: none;
    stroke: rgb(1, 3, 12);
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: filter 220ms ease, opacity 220ms ease;
    filter: drop-shadow(0 0 14px rgba(246, 213, 138, 0.12));
  }

  /* Position branches so they reach the side micro-window */
  body[data-page="landing"] .flow-branch-left {
    left: -200px;
    width: 308px;
  }

  body[data-page="landing"] .flow-branch-right {
    left: 0px;
    width: 220px;
  }

  /* Add glow when the connector (arrow area) is hovered */
  body[data-page="landing"] .flow-connector:hover .flow-branch path {
    filter:
      drop-shadow(0 0 18px rgba(246, 213, 138, 0.30)) drop-shadow(0 0 34px rgba(246, 213, 138, 0.18));
    opacity: 1;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .flow-branch {
      display: none;
    }
  }


  /* ===== Flow adjustments: top micro-window, no vertical arrows, bolder branch arrows ===== */
  /* Increase gap between title and first micro-window */
  body[data-page="landing"] #section2b .howitworks-title {
    margin-bottom: 22px;
  }

  /* Remove vertical arrows between icons */
  body[data-page="landing"] .flow-arrowwrap {
    display: none !important;
  }

  body[data-page="landing"] .flow-connector {
    height: 72px;
    /* gives breathing room for side micro-windows */
  }

  body[data-page="landing"] .flow-arrow {
    display: none !important;
  }

  /* Make remaining branch arrows bolder + higher contrast */
  body[data-page="landing"] .flow-branch path {
    stroke: rgb(1, 3, 12);
    stroke-width: 3.8;
    filter:
      drop-shadow(0 0 18px rgba(246, 213, 138, 0.22)) drop-shadow(0 0 34px rgba(246, 213, 138, 0.10));
    opacity: 1;
  }

  body[data-page="landing"] .flow-connector:hover .flow-branch path {
    filter:
      drop-shadow(0 0 22px rgba(246, 213, 138, 0.40)) drop-shadow(0 0 44px rgba(246, 213, 138, 0.22));
  }

  /* Top micro-window (above first icon) */
  body[data-page="landing"] .flow-topmicro {
    width: 160px;
    height: 64px;
    border-radius: 14px;
    background:
      radial-gradient(circle at 30% 30%, rgba(244, 239, 232, 0.10), transparent 60%),
      linear-gradient(180deg, rgba(40, 42, 45, 0.98), rgba(16, 17, 18, 0.98));
    border: 1px solid rgba(244, 239, 232, 0.18);
    box-shadow:
      0 20px 60px rgba(0, 0, 0, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.05),
      inset 0 -10px 18px rgba(0, 0, 0, 0.30);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    /* space before first icon */
    pointer-events: none;
    position: relative;
  }

  body[data-page="landing"] .flow-topmicro::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px rgba(246, 213, 138, 0.10);
    pointer-events: none;
    opacity: 0.95;
  }

  body[data-page="landing"] .flow-topmicro .flow-sideglyph {
    width: 22px;
    height: 22px;
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .flow-topmicro {
      display: none;
    }

    body[data-page="landing"] .flow-connector {
      height: 54px;
    }
  }


  /* ===== Special orthogonal arrow: Icon 1 -> Micro-window 2 ===== */
  body[data-page="landing"] .flow-steps {
    position: relative;
  }

  body[data-page="landing"] .flow-special-arrow {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    /* behind cards */
  }

  body[data-page="landing"] .flow-special-arrow path {
    fill: none;
    stroke: rgb(1, 3, 12);
    stroke-width: 4.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter:
      drop-shadow(0 0 22px rgba(246, 213, 138, 0.28)) drop-shadow(0 0 46px rgba(246, 213, 138, 0.16));
    opacity: 0.98;
  }


  /* ===== Panel section titles ===== */
  body[data-page="landing"] .panel-arc-title {
    grid-column: 1 / -1;
    margin: 0 0 14px 0;
    font-family: var(--serif);
    letter-spacing: -0.02em;
    font-size: clamp(28px, 3.0vw, 40px);
    color: rgba(15, 23, 42, 0.92);
    text-align: left;
    width: min(1280px, 96%);
    padding: 0 6px;
  }

  body[data-page="landing"] .panel-mini {
    font-family: var(--serif);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    color: rgba(15, 23, 42, 0.66);
    margin-bottom: 8px;
  }

  /* On dark backgrounds, keep mini title readable */
  body[data-page="landing"] #section4 .panel-mini {
    color: rgba(15, 23, 42, 0.62);
  }


  /* ===== Flow side windows (per icon) ===== */
  body[data-page="landing"] .flow-steps {
    position: relative;
  }

  body[data-page="landing"] .flow-step {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body[data-page="landing"] .flow-iconcard {
    position: relative;
    z-index: 2;
  }

  body[data-page="landing"] .flow-sidewin {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(360px, 42vw);
    height: 78px;
    border-radius: 16px;
    background:
      radial-gradient(circle at 30% 30%, rgba(244, 239, 232, 0.10), transparent 60%),
      linear-gradient(180deg, rgba(40, 42, 45, 0.98), rgba(16, 17, 18, 0.98));
    border: 1px solid rgba(244, 239, 232, 0.18);
    box-shadow:
      0 22px 70px rgba(0, 0, 0, 0.20),
      inset 0 1px 0 rgba(255, 255, 255, 0.05),
      inset 0 -10px 18px rgba(0, 0, 0, 0.30);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    pointer-events: none;
  }

  body[data-page="landing"] .flow-sidewin::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px;
    box-shadow: inset 0 0 0 1px rgba(246, 213, 138, 0.10);
    pointer-events: none;
    opacity: 0.95;
  }

  body[data-page="landing"] .flow-sidewin-inner {
    font-family: var(--serif);
    letter-spacing: 0.06em;
    font-size: 16px;
    color: rgba(241, 241, 251, 0.92);
    padding: 0 18px;
    text-align: center;
    line-height: 1.25;
  }

  body[data-page="landing"] .flow-sidewin-left {
    right: calc(100% + 22px);
  }

  body[data-page="landing"] .flow-sidewin-right {
    left: calc(100% + 22px);
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] .flow-sidewin {
      display: none;
    }
  }


  /* ===== Flow side windows refinements: distance, arrows, fit width ===== */

  /* Top micro window: text pill */
  body[data-page="landing"] .flow-topmicro {
    width: fit-content;
    height: auto;
    padding: 14px 18px;
    margin: 0 auto 22px;
  }

  body[data-page="landing"] .flow-topmicro-inner {
    font-family: var(--serif);
    letter-spacing: 0.06em;
    font-size: 16px;
    color: rgba(241, 241, 251, 0.92);
    text-align: center;
    line-height: 1.25;
    white-space: nowrap;
  }

  /* Side windows: shrink-to-text */
  body[data-page="landing"] .flow-sidewin {
    width: fit-content;
    max-width: 56vw;
    height: auto;
    padding: 16px 18px;
  }

  body[data-page="landing"] .flow-sidewin-inner {
    padding: 0;
    white-space: nowrap;
  }

  /* Increase distance from icon */
  body[data-page="landing"] .flow-sidewin-left {
    right: calc(100% + 108px) !important;
  }

  body[data-page="landing"] .flow-sidewin-right {
    left: calc(100% + 108px) !important;
  }

  /* Remove old inset pseudo element so we can use ::after for arrowheads */
  body[data-page="landing"] .flow-sidewin::after {
    content: none !important;
  }

  /* Add bold arrows from side window to icon (orthogonal: horizontal only) */
  body[data-page="landing"] .flow-sidewin-left::before,
  body[data-page="landing"] .flow-sidewin-right::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 54px;
    /* matches the gap */
    height: 0;
    border-top: 5px solid rgba(246, 213, 138, 0.98);
    filter:
      drop-shadow(0 0 18px rgba(246, 213, 138, 0.26)) drop-shadow(0 0 34px rgba(246, 213, 138, 0.14));
    opacity: 1;
    pointer-events: none;
  }

  body[data-page="landing"] .flow-sidewin-left::before {
    right: -54px;
  }

  body[data-page="landing"] .flow-sidewin-right::before {
    left: -54px;
  }

  body[data-page="landing"] .flow-sidewin-left::after,
  body[data-page="landing"] .flow-sidewin-right::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    pointer-events: none;
    filter:
      drop-shadow(0 0 18px rgba(246, 213, 138, 0.26)) drop-shadow(0 0 34px rgba(246, 213, 138, 0.14));
  }

  /* Arrowheads */
  body[data-page="landing"] .flow-sidewin-left::after {
    right: -54px;
    border-left: 14px solid rgba(246, 213, 138, 0.98);
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    margin-right: -2px;
  }

  body[data-page="landing"] .flow-sidewin-right::after {
    left: -54px;
    border-right: 14px solid rgba(246, 213, 138, 0.98);
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    margin-left: -2px;
  }

  @media (max-width: 1080px) {

    body[data-page="landing"] .flow-topmicro-inner,
    body[data-page="landing"] .flow-sidewin-inner {
      white-space: normal;
    }

    body[data-page="landing"] .flow-sidewin {
      max-width: 78vw;
    }

    body[data-page="landing"] .flow-sidewin-left::before,
    body[data-page="landing"] .flow-sidewin-right::before,
    body[data-page="landing"] .flow-sidewin-left::after,
    body[data-page="landing"] .flow-sidewin-right::after {
      display: none;
    }
  }


  /* ===== Flow arrows via SVG overlay (replaces pseudo arrows) ===== */
  body[data-page="landing"] .flow-topmicro {
    margin: 0 auto 40px !important;
  }

  /* more space before first icon */

  /* Turn off old pseudo-arrow decorations (we'll draw precise arrows with SVG) */
  body[data-page="landing"] .flow-sidewin::before,
  body[data-page="landing"] .flow-sidewin::after {
    display: none !important;
  }


  body[data-page="landing"] .flow-arrowsvg {
    position: absolute;
    top: -18px;
    bottom: -18px;
    left: -620px;
    /* expand horizontally to cover side windows */
    right: -620px;
    /* expand horizontally to cover side windows */
    width: auto;
    height: auto;
    pointer-events: none;
    z-index: 6;
    /* above windows for clarity */
    overflow: visible;
  }

  body[data-page="landing"] .flow-arrowsvg path {
    fill: none;
    stroke: rgb(1, 3, 12);
    stroke-width: 3.0;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter:
      drop-shadow(0 0 18px rgba(1, 3, 12, 0.26)) drop-shadow(0 0 40px rgba(1, 3, 12, 0.14));
    opacity: 1;
  }


  body[data-page="landing"] .flow-sidewin-inner {
    white-space: nowrap !important;
  }


  /* ===== Flow chart arrows: expanded SVG overlay to reach side windows ===== */
  body[data-page="landing"] #section2b .flow-steps {
    position: relative;
  }

  body[data-page="landing"] #section2b .flow-arrowsvg {
    position: absolute;
    top: -22px;
    left: -760px;
    width: calc(100% + 1520px);
    height: calc(100% + 44px);
    pointer-events: none;
    z-index: 25;
    overflow: visible;
  }


  /* Flow icons: subtle premium hover glow */
  body[data-page="landing"] #section2b .flow-iconcard {
    transition: box-shadow 220ms ease, transform 220ms ease, border-color 220ms ease;
  }

  body[data-page="landing"] #section2b .flow-iconcard:hover {
    border-color: rgba(246, 213, 138, 0.55);
    box-shadow:
      0 18px 44px rgba(0, 0, 0, 0.22),
      0 0 0 1px rgba(246, 213, 138, 0.12),
      0 0 26px rgba(246, 213, 138, 0.16);
    transform: translateY(-1px);
  }


  body[data-page="landing"] #section2b .section-inner {
    position: relative;
  }

  /* Aristotle quote block (Section 2b) */
  body[data-page="landing"] #section2b .flow-quote {
    position: relative;
    width: min(360px, 32vw);
    padding: 16px 16px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(15, 23, 42, 0.10);
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(8px);
    color: rgba(15, 23, 42, 0.92);
    align-self: start;
  }

  body[data-page="landing"] #section2b .flow-quote .q-title {
    font-family: var(--serif);
    letter-spacing: 0.10em;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    color: rgba(15, 23, 42, 0.70);
    margin-bottom: 10px;
  }

  body[data-page="landing"] #section2b .flow-quote .q-greek {
    font-family: "Noto Serif", var(--serif);
    font-size: 18px;
    line-height: 1.45;
    margin: 0 0 10px 0;
    color: rgba(15, 23, 42, 0.94);
  }

  body[data-page="landing"] #section2b .flow-quote .q-translation {
    font-family: var(--sans);
    font-size: 14.5px;
    line-height: 1.55;
    margin: 0 0 10px 0;
    color: rgba(15, 23, 42, 0.82);
    font-style: italic;
  }

  body[data-page="landing"] #section2b .flow-quote .q-attrib {
    font-family: var(--sans);
    font-size: 12.5px;
    letter-spacing: 0.02em;
    color: rgba(15, 23, 42, 0.62);
  }

  @media (max-width: 1080px) {
    body[data-page="landing"] #section2b .flow-quote {
      width: 100%;
    }
  }


  body[data-page="landing"] .footer-links a {
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }


  /* ===== Premium hero (Section 1) background to match the top bar ===== */
  body[data-page="landing"] #section1 {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(1400px 640px at -12% 10%, rgba(120, 180, 255, 0.16), rgba(120, 180, 255, 0.00) 58%),
      radial-gradient(1200px 700px at 112% 0%, rgba(120, 180, 255, 0.14), rgba(120, 180, 255, 0.00) 62%),
      linear-gradient(180deg, rgba(14, 16, 26, 1.00) 0%, rgba(8, 9, 12, 1.00) 100%);
  }

  body[data-page="landing"] #section1::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.00) 55%),
      radial-gradient(900px 360px at 12% -30%, rgba(120, 180, 255, 0.14), rgba(120, 180, 255, 0.00) 66%);
    opacity: 0.65;
  }

  body[data-page="landing"] #section1::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    /* micro-texture (no images) for a premium feel */
    background:
      repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.020) 0px, rgba(255, 255, 255, 0.020) 1px, rgba(0, 0, 0, 0.00) 2px, rgba(0, 0, 0, 0.00) 6px),
      repeating-linear-gradient(90deg, rgba(120, 180, 255, 0.018) 0px, rgba(120, 180, 255, 0.018) 1px, rgba(0, 0, 0, 0.00) 2px, rgba(0, 0, 0, 0.00) 7px);
    opacity: 0.30;
    mix-blend-mode: overlay;
  }

  body[data-page="landing"] #section1 .section-inner {
    position: relative;
    z-index: 1;
  }









  /* Secondary kicker spacing stays the same as prior intent */
  body[data-page="landing"] .hero-kicker-secondary {
    margin-top: 10px;
  }


  /* === CVD-LND-0013: Hero line control + image nudge (no size change) === */
  @media (min-width: 980px) {

    /* Keep hero headline and kicker to the intended 2 lines (br-controlled) */
    body[data-page="landing"] #section1 .hero-title,
    body[data-page="landing"] #section1 .hero-kicker {
      white-space: nowrap;
    }

    /* Nudge the hero image 2mm to the right without resizing */
    body[data-page="landing"] #section1 .hero-image {
      transform: translateX(2mm);
    }
  }


  /* === CVD-LND-0016: Enlarge Section 4 dashboard panel image (4th image) === */
  body[data-page="landing"] #section4 .panel-image:not(.zoom) img[src*="panel4_dashboard"] {
    /* Requested: +20% width, +120% height. Applied as element size increase (cropped within frame). */
    width: 120%;
    height: 220%;
    max-width: none;
    max-height: none !important;
    object-fit: cover;
    /* preserve the panel tilt styling */
    transform: rotateY(-6deg) rotateX(2deg) translateZ(0);
    transform-origin: 50% 50%;
  }



  /* === CVD-WEB-0005 landing nav active no-flicker === */
  body[data-page="landing"] #section1 .navlinks a:active {
    transform: none;
  }


  /* === CVD-WEB-0006 landing nav active matches hover (prevents click-jump) === */
  body[data-page="landing"] #section1 .navlinks a:hover {
    transform: none;
  }

  body[data-page="landing"] #section1 .navlinks a:active {
    transform: none;
  }


  /* === CVD-WEB-0007 landing cta active matches hover (prevents click-jump) === */
  body[data-page="landing"] #section1 .cta:hover {
    transform: translateY(-2px);
  }

  body[data-page="landing"] #section1 .cta:active {
    transform: translateY(-2px) !important;
  }


  /* === CVD-WEB-0013 landing no-transform-transition (eliminates rare hover-load flicker) === */
  body[data-page="landing"] #section1 .navlinks a {
    transition: box-shadow 180ms ease, color 180ms ease, opacity 180ms ease, background-color 180ms ease, border-color 180ms ease !important;
  }

  body[data-page="landing"] #section1 .cta {
    transition: box-shadow 180ms ease, color 180ms ease, opacity 180ms ease, background-color 180ms ease, border-color 180ms ease !important;
  }


  /* === CVD-WEB-0014 landing no-hover-lift-no-press === */
  body[data-page="landing"] #section1 .navlinks a:hover,
  body[data-page="landing"] #section1 .navlinks a:active,
  body[data-page="landing"] #section1 .navlinks a:focus-visible {
    transform: none;
  }

  body[data-page="landing"] #section1 .cta:hover,
  body[data-page="landing"] #section1 .cta:active,
  body[data-page="landing"] #section1 .cta:focus-visible {
    transform: none !important;
  }



  /* === CVD-WEB-0015 nav-only no-hover-lift (topbar links never move) === */
  /* Scope strictly to the navigation bar links inside the topbar. */
  body[data-page="landing"] .topbar .navlinks a:hover,
  body[data-page="landing"] .topbar .navlinks a:active,
  body[data-page="landing"] .topbar .navlinks a:focus-visible {
    transform: none;
  }

  /* Section 4 (horizontal training arc): proportional screenshots & consistent sizing */
  /* Zoom specific panels (1 and 4): double width/height of the rendered screenshot */
  /* Panel 5: double height, and frame width just wide enough for the screenshot (no side blanks) */
  /* Section 4 (horizontal training arc): make image + window match (no letterboxing) */
  /* Section 4 (horizontal training arc): full screenshots visible, no internal blank space */
  body[data-page="landing"] #section4 .panel-image {
    display: inline-flex;
    justify-self: start;
    align-self: center;
    overflow: hidden;
    border-radius: 16px;
    background: transparent;
  }

  body[data-page="landing"] #section4 .panel-image img {
    display: block;
    height: var(--arc-img-h);
    width: auto;
    object-fit: contain;
  }

  /* Panel 1: keep the wider layout */
  body[data-page="landing"] #section4 .arc-p1 .panel-grid {
    grid-template-columns: 0.75fr 1.25fr;
    width: min(1500px, 98%);
  }

  /* Panels 2 & 3: default layout; the window shrink-wraps to the image automatically */


  /* Panel 1 (Editor screenshot): enlarge ≈35% and keep exact aspect ratio (no cropping)
   Applies to BOTH landing variants (panel position based).
*/
  body[data-page="landing"] #section4 .h-track>.h-panel:nth-child(1) {
    padding: 16px;
    /* reduce padding so the screenshot can occupy more space */
  }

  body[data-page="landing"] #section4 .h-track>.h-panel:nth-child(1) .panel-grid {
    width: min(2075px, 99%);
    /* ≈ +35% vs 1536px cap */
    grid-template-columns: 0.55fr 1.45fr;
    /* give the screenshot column more space */
    gap: 18px;
  }

  body[data-page="landing"] #section4 .h-track>.h-panel:nth-child(1) .panel-image {
    aspect-ratio: 2887 / 1139;
    /* match panel1_editor.jpg exactly */
  }

  /* Panel 4 (Dashboard screenshot): enlarge ≥20% and keep exact aspect ratio (no cropping)
   Applies to BOTH landing variants:
   - landing.html (has arc-p1..arc-p5)
   - codivium-landing-0004.html (no arc-* classes)
*/
  body[data-page="landing"] #section4 .h-track>.h-panel:nth-child(4) {
    padding: 18px;
    /* was 28px */
  }

  body[data-page="landing"] #section4 .h-track>.h-panel:nth-child(4) .panel-grid {
    width: min(1840px, 98%);
    /* ≈ +20% vs 1536px cap */
    grid-template-columns: 0.60fr 1.40fr;
    /* give media a lot more space */
    gap: 18px;
  }

  body[data-page="landing"] #section4 .h-track>.h-panel:nth-child(4) .panel-image {
    aspect-ratio: 2694 / 1150;
    /* match the dashboard screenshot exactly */
  }

  body[data-page="landing"] #section4 .h-track>.h-panel:nth-child(4) .panel-image img {
    transform: none !important;
    /* avoid any squeeze from tilt */
  }

  /* Panel 5 stays as previously tuned */

  /* Hero visual: sharp corners + subtle zoom-in on the image */
  body[data-page="landing"] .hero-image {
    border-radius: 0;
    overflow: hidden;
  }

  body[data-page="landing"] .hero-image img {
    transform: scale(1.2);
    transform-origin: 50% 50%;
  }


  /* ===== Section 4 horizontal panels: screenshots fully visible + larger =====
   - Remove clipping caused by 3D transforms + fixed-height containers
   - Increase effective screenshot size (≈ +20% width target, +10% height target via taller sticky window)
   - Preserve each image's intrinsic aspect ratio (no cropping)
*/
  /* Robust explicit sizing for the Section 4 horizontal track
   Prevents the track from collapsing to a single visible panel when these
   pages are integrated into a larger stylesheet bundle. */
  body[data-page="landing"] #section4 .h-track {
    width: max-content;
    min-width: 100%;
    flex-wrap: nowrap;
  }

  body[data-page="landing"] #section4 .h-track>.h-panel {
    width: 100%;
    min-width: 100%;
  }

  body[data-page="landing"] #section4 .h-sticky {
    height: 76vh;
    /* was 69vh */
  }

  body[data-page="landing"] #section4 .panel-grid {
    width: min(1536px, 96%);
    /* was min(1280px, 96%) */
    grid-template-columns: 0.85fr 1.15fr;
    /* give media more space */
  }

  @media (max-width: 980px) {
    body[data-page="landing"] #section4 .panel-grid {
      width: min(980px, 96%);
      grid-template-columns: 1fr;
    }

    /* Ensure the dashboard panel also stacks correctly on small screens */
    body[data-page="landing"] #section4 .h-track>.h-panel:nth-child(4) .panel-grid {
      width: min(980px, 96%);
      grid-template-columns: 1fr;
      gap: 18px;
    }
  }

  /* Screenshot window should match the screenshot (no padding/tilt clipping) */

  /* Section 4 screenshots: sharp corners (no rounding) */
  body[data-page="landing"] #section4 .panel-image,
  body[data-page="landing"] #section4 .panel-image.zoom {
    border-radius: 0 !important;
  }

  body[data-page="landing"] #section4 .panel-image img {
    border-radius: 0 !important;
  }

  body[data-page="landing"] #section4 .panel-image {
    padding: 0 !important;
    height: auto !important;
    display: block !important;
    align-items: initial !important;
    justify-content: initial !important;
  }

  body[data-page="landing"] #section4 .panel-image picture {
    display: block;
  }

  body[data-page="landing"] #section4 .panel-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain;
    transform: none !important;
    /* stop 3D tilt squeezing/cropping */
  }


}

body[data-page="landing"] .hero-title-offset {
  margin-top: 16px;
}

body[data-page="landing"] .panel-copy-gap {
  margin-top: 10px;
}

body[data-page="landing"] .panel-copy-muted {
  color: rgba(241, 241, 251, 0.74);
}

body[data-page="landing"] .panel-copy-wide {
  max-width: 86ch;
}

body[data-page="landing"] .bullets-muted {
  color: rgba(241, 241, 251, 0.74);
}

body[data-page="landing"] .q-translation-muted {
  color: var(--muted-dark);
}


/* Final patch: Section 4 images are fully static; no hover interaction */
body[data-page="landing"] #section4 .panel-image,
body[data-page="landing"] #section4 .panel-image img {
  pointer-events: none !important;
}

body[data-page="landing"] #section4 .panel-image,
body[data-page="landing"] #section4 .panel-image.zoom,
body[data-page="landing"] #section4 .panel-image:hover,
body[data-page="landing"] #section4 .panel-image:hover img,
body[data-page="landing"] #section4 .h-panel:hover .panel-image,
body[data-page="landing"] #section4 .h-panel:hover .panel-image img {
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
}


/* Final execution patch: keep Section 4 images static and size panel 5 to match panel 2 height */
body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(5) .panel-image {
  height: clamp(340px, 48vh, 520px) !important;
}

body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(5) .panel-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transform: none !important;
}

body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(2) .panel-image {
  height: clamp(340px, 48vh, 520px) !important;
}

body[data-page="landing"] #section4 .h-track .h-panel:nth-of-type(2) .panel-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

body[data-page="landing"] #section4 .panel-image,
body[data-page="landing"] #section4 .panel-image img {
  pointer-events: none !important;
}


/* ===== Final patch: Section 3 constellation/title centered in the viewport ===== */
body[data-page="landing"] #section3 {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 88px 22px 48px;
}

body[data-page="landing"] #section3 .section-inner {
  width: min(1760px, 98vw);
  min-height: calc(100vh - 136px);
  margin: 0 auto;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 14px;
  text-align: center;
}

body[data-page="landing"] #section3 h1,
body[data-page="landing"] #section3 p {
  text-align: center;
}

body[data-page="landing"] #section3 p {
  max-width: 84ch;
  margin-inline: auto;
}

body[data-page="landing"] #section3 codivium-constellation {
  width: 100%;
  display: block;
  justify-self: center;
}


/* ===== Final patch v7: reduce final horizontal-panel image by 15% ===== */
body[data-page="landing"] #section4 .h-track>.h-panel:nth-child(5) .panel-image {
  width: 85% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* ===== Final patch v14: hero title/tagline line breaks + force hero image visible ===== */
body[data-page="landing"] .hero-grid {
  grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1.2fr) !important;
}

body[data-page="landing"] .hero-grid>div:last-child {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-page="landing"] .hero-image {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 120px;
}

body[data-page="landing"] .hero-image picture,
body[data-page="landing"] .hero-image img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body[data-page="landing"] .hero-kicker {
  max-width: 44ch;
}


/* ===== Final patch v15: shift hero image right and set exact two-line hero title ===== */
body[data-page="landing"] .hero-grid {
  grid-template-columns: minmax(0, 0.84fr) minmax(520px, 1.16fr) !important;
  align-items: center !important;
}

body[data-page="landing"] .hero-grid>div:first-child {
  position: relative;
  z-index: 2;
}

body[data-page="landing"] .hero-grid>div:last-child {
  position: relative;
  padding-left: 96px !important;
  /* approx 1 inch */
  z-index: 1;
}

body[data-page="landing"] .hero-image {
  transform: translateX(96px) !important;
  /* approx 1 inch */
}

body[data-page="landing"] .hero-title {
  max-width: 12ch;
}