.ct-hero {
      position: relative;
      min-height: 100vh;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      padding-top: 72px;
    }

    /* Full-bleed background image */
    .ct-hero-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      z-index: 0;
    }

    /* Gradient overlay — light-blue → light-orange, brand-aligned */
    .ct-hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        135deg,
        rgba(219, 234, 254, 0.82) 0%,
        rgba(239, 246, 255, 0.60) 35%,
        rgba(255, 247, 237, 0.72) 70%,
        rgba(254, 215, 170, 0.55) 100%
      );
      z-index: 1;
    }

    /* Decorative blobs (matches hero blobs in style.css) */
    .ct-blob {
      position: absolute;
      border-radius: 50%;
      filter: blur(90px);
      pointer-events: none;
      z-index: 1;
    }
    .ct-blob-1 { width: 550px; height: 550px; top: -120px; right: -80px;  background: rgba(59,130,246,.18); animation: blobFloat 14s ease-in-out infinite; }
    .ct-blob-2 { width: 420px; height: 420px; bottom: -80px;  left: -60px;  background: rgba(249,115,22,.14); animation: blobFloat 10s ease-in-out infinite -4s; }
    .ct-blob-3 { width: 280px; height: 280px; top: 50%; left: 50%;         background: rgba(245,158,11,.09); animation: blobFloat 18s ease-in-out infinite -9s; }

    /* Hero text block */
    .ct-hero-content {
      position: relative;
      z-index: 2;
      text-align: center;
      max-width: 820px;
      padding: 0 24px;
    }

    .ct-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 16px 6px 8px;
      border-radius: 100px;
      background: rgba(255,255,255,.82);
      border: 1.5px solid rgba(249,115,22,.35);
      box-shadow: 0 2px 12px rgba(10,15,30,.08);
      font-size: .75rem;
      font-weight: 700;
      color: var(--indigo-deep);
      letter-spacing: .04em;
      text-transform: uppercase;
      margin-bottom: 28px;
      backdrop-filter: blur(8px);
    }
    .ct-badge-dot {
      width: 8px; height: 8px; border-radius: 50%;
      background: var(--indigo);
      animation: blink 2s infinite;
    }

    .ct-title {
      font-family: var(--font-h);
      font-size: clamp(2.8rem, 5.5vw, 5rem);
      font-weight: 300;
      line-height: 1.07;
      letter-spacing: -.025em;
      color: var(--text);
      margin-bottom: 20px;
    }
    .ct-title strong { font-weight: 700; display: block; }
    .ct-title em {
      font-style: italic;
      background: linear-gradient(135deg, var(--teal-deep), var(--indigo));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .ct-sub {
      font-size: 1.05rem;
      color: var(--text-3);
      line-height: 1.8;
      max-width: 580px;
      margin: 0 auto 40px;
    }

    .ct-hero-actions {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
    }

    /* Scroll-down cue */
    .ct-scroll-cue {
      position: absolute;
      bottom: 36px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 3;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--text-3);
      opacity: .75;
      animation: fadeUpDown 2.4s ease-in-out infinite;
    }
    .ct-scroll-cue svg { width: 20px; height: 20px; }
    @keyframes fadeUpDown {
      0%,100% { transform: translateX(-50%) translateY(0); opacity:.75; }
      50%      { transform: translateX(-50%) translateY(7px); opacity:.4; }
    }

    /* ── Stats strip ────────────────────────────────────── */
    .ct-stats {
      background: #fff;
      border-bottom: 1px solid var(--border);
      padding: 36px 0;
    }
    .ct-stats-row {
      display: flex;
      justify-content: center;
      gap: 0;
      flex-wrap: wrap;
    }
    .ct-stat {
      flex: 1;
      min-width: 160px;
      text-align: center;
      padding: 20px 24px;
      border-right: 1px solid var(--border);
    }
    .ct-stat:last-child { border-right: none; }
    .ct-stat-n {
      font-family: var(--font-h);
      font-size: 2.4rem;
      font-weight: 600;
      letter-spacing: -.03em;
      background: linear-gradient(135deg, var(--indigo-deep), var(--indigo));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      line-height: 1;
    }
    .ct-stat-l {
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--text-4);
      margin-top: 6px;
    }

    /* ── Features section ──────────────────────────────── */
    .ct-features { padding: 96px 0; background: var(--bg); }
    .ct-features-header { margin-bottom: 56px; }
    .ct-feat-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 22px;
    }
    .ct-feat-card {
      background: #fff;
      border-radius: var(--radius-lg);
      border: 1.5px solid var(--border);
      padding: 30px 26px;
      box-shadow: var(--shadow);
      transition: all .35s var(--ease);
      position: relative;
      overflow: hidden;
    }
    .ct-feat-card::before {
      content: '';
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 3px;
      transform: scaleX(0);
      transition: transform .35s var(--ease);
      border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    }
    .ct-feat-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: rgba(249,115,22,.4); }
    .ct-feat-card:hover::before { transform: scaleX(1); }
    .ct-fc-orange::before { background: linear-gradient(90deg, var(--indigo-deep), var(--indigo)); }
    .ct-fc-blue::before   { background: linear-gradient(90deg, var(--teal-deep), var(--teal)); }

    .ct-feat-icon {
      width: 52px; height: 52px;
      border-radius: 14px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.4rem;
      margin-bottom: 20px;
    }
    .cfi-orange { background: var(--indigo-dim); }
    .cfi-blue   { background: var(--teal-dim); }
    .cfi-amber  { background: var(--rose-dim); }

    .ct-feat-card h3 { font-size: .97rem; font-weight: 700; color: var(--text); margin-bottom: 9px; }
    .ct-feat-card p  { font-size: .83rem; color: var(--text-3); line-height: 1.7; }

    /* ── CTA strip ─────────────────────────────────────── */
    .ct-cta {
      padding: 80px 0;
      background: linear-gradient(135deg, #dbeafe 0%, #eff6ff 40%, #fff7ed 100%);
      position: relative;
      overflow: hidden;
    }
    .ct-cta::before {
      content: '';
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 50% 70% at 10% 50%, rgba(59,130,246,.1), transparent),
        radial-gradient(ellipse 40% 60% at 90% 50%, rgba(249,115,22,.12), transparent);
    }
    .ct-cta-inner {
      position: relative; z-index: 1;
      text-align: center;
    }
    .ct-cta-h {
      font-family: var(--font-h);
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 300;
      line-height: 1.1;
      letter-spacing: -.02em;
      color: var(--text);
      margin-bottom: 14px;
    }
    .ct-cta-h strong { font-weight: 700; }
    .ct-cta-h em {
      font-style: italic;
      background: linear-gradient(135deg, var(--teal-deep), var(--indigo));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .ct-cta-p {
      font-size: .95rem;
      color: var(--text-3);
      line-height: 1.8;
      max-width: 500px;
      margin: 0 auto 36px;
    }
    .ct-cta-btns {
      display: flex;
      justify-content: center;
      gap: 14px;
      flex-wrap: wrap;
    }

    /* ── Responsive ─────────────────────────────────────── */
    @media (max-width: 768px) {
      .ct-feat-grid  { grid-template-columns: 1fr; }
      .ct-stat       { border-right: none; border-bottom: 1px solid var(--border); }
      .ct-stat:last-child { border-bottom: none; }
    }
    @media (max-width: 1024px) {
      .ct-feat-grid { grid-template-columns: 1fr 1fr; }
    }