/* Homepage below-the-fold CSS - extracted from homepage-final.html inline <style>
   for faster Largest Contentful Paint. Loaded via deferred-stylesheet pattern.
   Above-fold sections (nav, hero, upload card, fonts, tokens, RTL) remain inline. */

    /* ========== MOBILE DRAWER (matches production /) ========== */
    .mobile-drawer-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.7);
      opacity: 0;
      visibility: hidden;
      z-index: 10000;
      transition: opacity 0.3s ease, visibility 0.3s ease;
      pointer-events: none;
    }
    .mobile-drawer-backdrop.is-open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }
    .mobile-drawer {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      width: 85vw;
      max-width: 320px;
      height: 100vh;
      height: 100dvh;
      background: #12121a;
      border-left: 1px solid rgba(123, 47, 216, 0.2);
      box-shadow: -8px 0 40px rgba(0, 0, 0, 0.5);
      transform: translateX(100%);
      z-index: 10001;
      transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      display: flex;
      flex-direction: column;
    }
    .mobile-drawer.is-open { transform: translateX(0); }
    .mobile-drawer-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 20px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      flex-shrink: 0;
    }
    .mobile-drawer-logo {
      height: 32px;
      width: auto;
    }
    .mobile-drawer-close {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      min-width: 44px;
      min-height: 44px;
      padding: 0;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 12px;
      color: #fff;
      font-size: 24px;
      cursor: pointer;
      touch-action: manipulation;
      -webkit-tap-highlight-color: rgba(255, 255, 255, 0.1);
    }
    .mobile-drawer-close:active { transform: scale(0.95); background: rgba(255, 255, 255, 0.15); }
    .mobile-drawer-close i { pointer-events: none; }
    .mobile-drawer-nav {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 16px;
      flex: 1;
    }
    .mobile-nav-link {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 16px 20px;
      min-height: 48px;
      color: rgba(255, 255, 255, 0.8);
      text-decoration: none;
      border-radius: 12px;
      touch-action: manipulation;
      cursor: pointer;
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid rgba(255, 255, 255, 0.05);
      transition: all 0.2s ease;
      font-weight: 500;
      font-size: 0.95rem;
    }
    .mobile-nav-link i { font-size: 1.15rem; color: rgba(123, 47, 216, 0.8); pointer-events: none; }
    .mobile-nav-link span { pointer-events: none; }
    .mobile-nav-link:active { background: rgba(123, 47, 216, 0.15); transform: scale(0.98); }
    .mobile-drawer-cta {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin: 12px 16px;
      padding: 12px 16px;
      min-height: 44px;
      background: var(--gradient-cta);
      color: #fff;
      font-weight: 600;
      font-size: 0.875rem;
      text-decoration: none;
      border-radius: 12px;
      box-shadow: 0 4px 20px rgba(123, 47, 216, 0.35);
      touch-action: manipulation;
      white-space: nowrap;
      overflow: hidden;
    }
    .mobile-drawer-cta:active { transform: scale(0.98); }
    .mobile-drawer-cta i { pointer-events: none; }
    .mobile-drawer-footer {
      padding: 16px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      flex-shrink: 0;
    }
    .mobile-lang-switch {
      display: flex;
      gap: 10px;
      margin-bottom: 12px;
    }
    .mobile-lang-btn {
      flex: 1;
      padding: 12px 16px;
      text-align: center;
      font-size: 0.85rem;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.7);
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 10px;
      text-decoration: none;
      touch-action: manipulation;
      transition: all 0.2s ease;
    }
    .mobile-lang-btn.is-active {
      color: #fff;
      background: rgba(123, 47, 216, 0.15);
      border-color: rgba(123, 47, 216, 0.3);
    }
    .mobile-footer-links {
      display: flex;
      gap: 16px;
      justify-content: center;
    }
    .mobile-footer-link {
      font-size: 0.8rem;
      color: var(--text-muted);
      text-decoration: none;
    }
    .mobile-footer-link:hover { color: var(--text-secondary); }


    /* ========== SOCIAL PROOF BAR ========== */
    .proof-bar {
      background: var(--bg-main);
      border-top: 1px solid var(--border-section);
      border-bottom: 1px solid var(--border-section);
      padding: 16px 24px;
      text-align: center;
    }
    .proof-bar__inner {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 0.9rem;
      font-weight: 500;
      color: var(--text-secondary);
    }
    .pulse-dot {
      width: 8px;
      height: 8px;
      background: var(--green);
      border-radius: 50%;
      position: relative;
    }
    .pulse-dot::after {
      content: '';
      position: absolute;
      inset: -4px;
      border-radius: 50%;
      background: var(--green);
      opacity: 0.4;
      animation: pulse 2s ease-in-out infinite;
    }
    @keyframes pulse {
      0%, 100% { transform: scale(1); opacity: 0.4; }
      50% { transform: scale(1.8); opacity: 0; }
    }

    /* ========== WAVEFORM DIVIDER ========== */
    .waveform-divider {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      gap: 3px;
      height: 60px;
      padding: 0 24px;
      background: var(--bg-main);
      overflow: hidden;
    }
    .waveform-divider__bar {
      width: 3px;
      border-radius: 2px;
      background: var(--gradient-cta);
      transform-origin: bottom;
      animation: waveBar 1.5s ease-in-out forwards;
      opacity: 0;
    }
    @keyframes waveBar {
      0% { transform: scaleY(0); opacity: 0; }
      60% { opacity: 1; }
      100% { transform: scaleY(1); opacity: 0.7; }
    }

    /* ========== FEATURES ========== */
    .features {
      background: var(--bg-main);
      border-top: 1px solid var(--border-section);
      padding: var(--section-pad) 0;
    }
    .features__header { text-align: center; margin-bottom: 80px; }
    .features__header p { color: var(--text-secondary); margin-top: 12px; font-size: 1.1rem; }
    .feature-block {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
      margin-bottom: 80px;
    }
    .feature-block:last-of-type { margin-bottom: 0; }
    .feature-block:nth-child(even) .feature-block__text { order: 2; }
    .feature-block:nth-child(even) .feature-mockup { order: 1; }
    .feature-block__text h3 { margin-bottom: 12px; }
    .feature-block__text p { color: var(--text-secondary); max-width: 44ch; font-size: 1rem; line-height: 1.7; }
    .badge-pro {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px 10px;
      background: rgba(245, 158, 11, 0.12);
      color: var(--amber);
      border: 1px solid rgba(245, 158, 11, 0.25);
      border-radius: 100px;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      margin-left: 8px;
      vertical-align: middle;
    }

    /* Feature Mockup Cards */
    .feature-mockup {
      background: var(--bg-card);
      border: 1px solid var(--border-card);
      border-radius: var(--radius-lg);
      padding: 28px;
      min-height: 220px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    /* Mockup 1: Waveform comparison */
    .mock-wave__label {
      font-size: 0.7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--text-muted);
      margin-bottom: 8px;
    }
    .mock-wave__bars {
      display: flex;
      gap: 3px;
      align-items: flex-end;
      height: 40px;
      margin-bottom: 6px;
    }
    .mock-wave__bars span {
      flex: 1;
      border-radius: 2px;
      min-width: 4px;
    }
    .mock-wave__arrow {
      text-align: center;
      color: var(--text-muted);
      font-size: 1.2rem;
      margin: 10px 0;
    }

    /* Mockup 2: Slider */
    .mock-slider__track {
      height: 6px;
      background: rgba(255, 255, 255, 0.08);
      border-radius: 3px;
      position: relative;
      margin: 20px 0 12px;
    }
    .mock-slider__fill {
      position: absolute;
      top: 0;
      left: 0;
      width: 75%;
      height: 100%;
      background: var(--gradient-cta);
      border-radius: 3px;
    }
    .mock-slider__dot {
      position: absolute;
      top: 50%;
      left: 75%;
      transform: translate(-50%, -50%);
      width: 16px;
      height: 16px;
      background: var(--purple);
      border: 2px solid #fff;
      border-radius: 50%;
      box-shadow: 0 2px 8px rgba(123, 47, 216, 0.4);
    }
    .mock-slider__labels {
      display: flex;
      justify-content: space-between;
      font-size: 0.75rem;
      color: var(--text-muted);
    }
    .mock-slider__labels span:last-child { color: var(--purple-light); font-weight: 700; }
    .mock-slider__waves {
      display: flex;
      gap: 16px;
      margin-top: 16px;
    }
    .mock-slider__wave-strip {
      flex: 1;
      height: 24px;
      border-radius: 4px;
      display: flex;
      gap: 2px;
      align-items: flex-end;
      overflow: hidden;
    }
    .mock-slider__wave-strip span {
      flex: 1;
      border-radius: 1px;
    }

    /* Mockup 3: Subtitles */
    .mock-subs__frame {
      background: #0a0a0a;
      border-radius: var(--radius-md);
      padding: 40px 24px 20px;
      position: relative;
      min-height: 160px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
    }
    .mock-subs__dot-row {
      position: absolute;
      top: 12px;
      left: 16px;
      display: flex;
      gap: 6px;
    }
    .mock-subs__dot-row span {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.15);
    }
    .mock-subs__text {
      background: rgba(0, 0, 0, 0.75);
      padding: 8px 16px;
      border-radius: 6px;
      font-size: 0.85rem;
      color: #fff;
      text-align: center;
      font-weight: 600;
    }
    .mock-subs__text .speaker { color: var(--cyan-light); }
    .mock-subs__pill {
      display: inline-block;
      margin-top: 10px;
      padding: 4px 10px;
      background: rgba(123, 47, 216, 0.15);
      color: var(--purple-light);
      border-radius: 100px;
      font-size: 0.7rem;
      font-weight: 700;
      text-align: center;
    }

    /* Mockup 4: Upload */
    .mock-upload__zone {
      border: 1px dashed rgba(255, 255, 255, 0.12);
      border-radius: var(--radius-sm);
      padding: 16px;
      text-align: center;
      margin-bottom: 12px;
    }
    .mock-upload__zone i { color: var(--cyan); font-size: 1.5rem; margin-bottom: 4px; }
    .mock-upload__file {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 10px 12px;
      background: rgba(255, 255, 255, 0.04);
      border-radius: 6px;
      font-size: 0.8rem;
    }
    .mock-upload__file i { color: var(--purple-light); }
    .mock-upload__file .name { color: var(--text-primary); font-weight: 600; }
    .mock-upload__file .size { color: var(--text-muted); }
    .mock-upload__file .check { margin-left: auto; color: var(--green); font-weight: 700; }

    /* Mockup 5: Progress */
    .mock-progress__label {
      font-size: 0.8rem;
      color: var(--text-secondary);
      font-weight: 600;
      margin-bottom: 10px;
    }
    .mock-progress__bar {
      height: 10px;
      background: rgba(255, 255, 255, 0.06);
      border-radius: 5px;
      overflow: hidden;
      margin-bottom: 8px;
    }
    .mock-progress__fill {
      height: 100%;
      width: 100%;
      background: var(--gradient-cta);
      border-radius: 5px;
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .mock-progress__fill.animated { transform: scaleX(0.73); }
    .mock-progress__meta {
      display: flex;
      justify-content: space-between;
      font-size: 0.75rem;
      color: var(--text-muted);
    }
    .mock-progress__meta span:first-child { color: var(--purple-light); font-weight: 700; }

    /* Mockup 6: Detection ring */
    .mock-detect {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }
    .mock-detect__ring {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 12px;
    }
    .mock-detect__ring svg {
      position: absolute;
      inset: 0;
      transform: rotate(-90deg);
    }
    .mock-detect__ring svg circle {
      fill: none;
      stroke-width: 6;
      stroke-linecap: round;
    }
    .mock-detect__ring svg circle.bg { stroke: rgba(255, 255, 255, 0.06); }
    .mock-detect__ring svg circle.fg {
      stroke: var(--purple);
      stroke-dasharray: 339.292;
      stroke-dashoffset: 44.1;
      transition: stroke-dashoffset 1.5s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .mock-detect__pct {
      font-family: 'Bricolage Grotesque', sans-serif;
      font-weight: 800;
      font-size: 1.75rem;
      position: relative;
      z-index: 1;
    }
    .mock-detect__label {
      font-size: 0.8rem;
      color: var(--text-muted);
      font-weight: 600;
    }

    /* Feature pills row */
    .feature-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
      margin-top: 80px;
    }
    .feature-pills span {
      padding: 8px 18px;
      border: 1px solid var(--border-card);
      border-radius: 100px;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--text-secondary);
      transition: border-color 0.2s, color 0.2s;
    }
    .feature-pills span:hover {
      border-color: var(--purple);
      color: var(--purple-light);
    }

    /* ========== HOW IT WORKS ========== */
    .how {
      background: var(--bg-alt);
      border-top: 1px solid var(--border-section);
      padding: var(--section-pad) 0;
    }
    .how__header { text-align: center; margin-bottom: 60px; }
    .how__header p { color: var(--text-secondary); margin-top: 10px; }
    .how__flow {
      display: flex;
      align-items: stretch;
      gap: 0;
      max-width: 1080px;
      margin: 0 auto;
    }
    .how__card {
      flex: 1;
      background: var(--bg-elevated);
      border: 1px solid var(--border-card);
      border-radius: var(--radius-lg);
      padding: 28px;
      position: relative;
    }
    .how__step-num {
      font-family: 'Bricolage Grotesque', sans-serif;
      font-weight: 800;
      font-size: 3rem;
      color: var(--purple);
      opacity: 0.15;
      position: absolute;
      top: 16px;
      right: 20px;
      line-height: 1;
    }
    .how__mini-mockup {
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid rgba(255, 255, 255, 0.06);
      border-radius: var(--radius-sm);
      padding: 16px;
      margin-bottom: 16px;
      font-size: 0.8rem;
    }
    .how__card h3 {
      font-size: 1.1rem;
      font-weight: 700;
      margin-bottom: 6px;
    }
    .how__card p {
      font-size: 0.9rem;
      color: var(--text-muted);
      line-height: 1.6;
    }
    .how__arrow {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      flex-shrink: 0;
    }
    .how__arrow::before {
      content: '';
      width: 100%;
      height: 0;
      border-top: 2px dashed rgba(123, 47, 216, 0.35);
    }
    .how__arrow::after { display: none; }

    /* How mini mockups */
    .how-mock__file {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 0.8rem;
      margin-top: 8px;
    }
    .how-mock__file i { color: var(--purple-light); }
    .how-mock__file span { color: var(--text-secondary); }
    .how-mock__file .meta { color: var(--text-muted); }
    .how-mock__progress-bar {
      height: 6px;
      background: rgba(255, 255, 255, 0.06);
      border-radius: 3px;
      overflow: hidden;
      margin-bottom: 6px;
    }
    .how-mock__progress-fill {
      height: 100%;
      width: 73%;
      background: var(--gradient-cta);
      border-radius: 3px;
    }
    .how-mock__eta {
      font-size: 0.75rem;
      color: var(--text-muted);
    }
    .how-mock__tracks {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .how-mock__track {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.8rem;
      color: var(--text-secondary);
    }
    .how-mock__track i.dl-icon {
      margin-left: auto;
      color: var(--cyan);
      font-size: 0.9rem;
    }

    /* ========== CREATORS ========== */
    .creators {
      background: var(--bg-main);
      border-top: 1px solid var(--border-section);
      padding: var(--section-pad) 0;
    }
    .creators__header { text-align: center; margin-bottom: 60px; }
    .creators__header p { color: var(--text-secondary); margin-top: 10px; }
    .creators__grid {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      justify-content: center;
      max-width: 1100px;
      margin: 0 auto;
    }
    .creator-card {
      flex: 1 1 200px;
      max-width: 240px;
      background: rgba(26, 28, 46, 0.85);
      border: 1px solid var(--glass-border);
      border-radius: var(--radius-xl);
      padding: 28px;
      position: relative;
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease-out, background 0.3s ease-out;
    }
    .creator-card::before {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: var(--radius-xl);
      padding: 1px;
      background: var(--gradient-cta);
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      opacity: 0;
      transition: opacity 0.4s;
      pointer-events: none;
    }
    .creator-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 16px 48px rgba(123, 47, 216, 0.15);
      background: rgba(26, 28, 46, 0.6);
    }
    .creator-card:hover::before { opacity: 1; }
    .creator-card__icon {
      width: 48px;
      height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--gradient-cta);
      border-radius: var(--radius-md);
      font-size: 1.25rem;
      color: #fff;
      margin-bottom: 16px;
    }
    .creator-card h3 {
      font-size: 1.1rem;
      font-weight: 700;
      margin-bottom: 6px;
    }
    .creator-card p {
      font-size: 0.9rem;
      color: var(--text-secondary);
      line-height: 1.5;
    }
    .creators__note {
      text-align: center;
      margin-top: 40px;
      font-size: 0.85rem;
      color: var(--text-muted);
    }

    /* ========== USE CASES ========== */
    .use-cases {
      background: var(--bg-alt);
      padding: var(--section-pad) 24px;
      border-top: 1px solid var(--border-section);
    }
    .use-cases__header {
      text-align: center;
      margin-bottom: 48px;
    }
    .use-cases__header p {
      color: var(--text-secondary);
      font-size: 1.1rem;
      margin-top: 12px;
    }
    .use-cases__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
      max-width: 960px;
      margin: 0 auto;
    }
    .use-case-card {
      background: rgba(22, 24, 40, 0.9);
      border: 1px solid var(--border-card);
      border-radius: var(--radius-xl);
      padding: 32px;
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease-out, background 0.3s ease-out;
      position: relative;
      overflow: hidden;
    }
    .use-case-card::before {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: calc(var(--radius-xl) + 1px);
      padding: 1px;
      background: linear-gradient(135deg, var(--purple), var(--cyan));
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
      opacity: 0;
      transition: opacity 0.4s ease-out;
      pointer-events: none;
    }
    .use-case-card:hover::before { opacity: 1; }
    .use-case-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 50px rgba(123, 47, 216, 0.12);
      background: rgba(26, 28, 46, 0.6);
    }
    .use-case-card__icon {
      width: 52px;
      height: 52px;
      border-radius: 14px;
      background: linear-gradient(135deg, rgba(136,52,224,0.15), rgba(36,158,192,0.1));
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
      color: var(--purple-light);
      margin-bottom: 20px;
    }
    .use-case-card h3 {
      font-size: 1.15rem;
      margin-bottom: 10px;
    }
    .use-case-card p {
      font-size: 0.95rem;
      color: var(--text-secondary);
      line-height: 1.65;
    }

    /* ========== PRICING CTA BANNER ========== */
    .pricing-cta {
      background: var(--bg-deep);
      border-top: 1px solid var(--border-section);
      padding: var(--section-pad) 0;
      position: relative;
      overflow: hidden;
    }
    .pricing-cta::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 500px;
      height: 400px;
      transform: translate(-50%, -50%);
      background: radial-gradient(circle, rgba(123, 47, 216, 0.12), transparent 65%);
      pointer-events: none;
    }
    .pricing-cta h2 { position: relative; z-index: 1; margin-bottom: 16px; }
    .pricing-cta p {
      position: relative;
      z-index: 1;
      color: var(--text-secondary);
      margin-bottom: 32px;
      font-size: 1.1rem;
    }
    .btn--cta {
      position: relative;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 16px 40px;
      background: var(--gradient-cta);
      color: #fff;
      font-weight: 700;
      font-size: 1.05rem;
      border-radius: var(--radius-full);
      border: none;
      box-shadow: var(--glow-cta);
      transition: box-shadow 0.3s ease-out, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), outline-color 0.2s;
      overflow: hidden;
    }
    .btn--cta::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(255,255,255,0.13) 0%, transparent 55%);
      border-radius: inherit;
      pointer-events: none;
    }
    .btn--cta:hover {
      box-shadow: 0 12px 36px rgba(123, 47, 216, 0.5), 0 6px 16px rgba(32, 164, 212, 0.25);
      transform: translateY(-2px);
      outline: 1.5px solid rgba(123, 47, 216, 0.4);
      outline-offset: 2px;
    }

    /* ========== FAQ ========== */
    .faq {
      padding: var(--section-pad) 0;
      background: var(--bg-main);
    }
    .faq__header { text-align: center; margin-bottom: 48px; }
    .faq__header p { color: var(--text-secondary); margin-top: 12px; font-size: 1.05rem; }
    .faq__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      max-width: 900px;
      margin: 0 auto;
    }
    .faq__item {
      background: var(--bg-elevated);
      border: 1px solid var(--border-card);
      border-radius: var(--radius-md);
      overflow: hidden;
    }
    .faq__question {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      width: 100%;
      padding: 20px 24px;
      background: none;
      border: none;
      color: var(--text-primary);
      font-size: 0.95rem;
      font-weight: 600;
      font-family: inherit;
      text-align: inherit;
      cursor: pointer;
      transition: color 0.2s;
    }
    .faq__question:hover { color: var(--purple-light); }
    .faq__question i {
      font-size: 1.1rem;
      color: var(--text-muted);
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      flex-shrink: 0;
    }
    .faq__item.is-open .faq__question i { transform: rotate(45deg); }
    .faq__answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1), padding 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .faq__item.is-open .faq__answer { max-height: 300px; }
    .faq__answer-inner {
      padding: 0 24px 20px;
      font-size: 0.9rem;
      color: var(--text-secondary);
      line-height: 1.7;
    }
    @media (max-width: 768px) {
      .faq__grid { grid-template-columns: 1fr; }
    }

    /* ========== PRE-FOOTER CTA ========== */
    .cta-section {
      background: var(--bg-alt);
      border-top: 1px solid var(--border-section);
      position: relative;
      padding: 140px 0;
      text-align: center;
      overflow: hidden;
    }
    .cta-section::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 500px;
      height: 500px;
      transform: translate(-50%, -50%);
      background: radial-gradient(circle, rgba(123, 47, 216, 0.20), transparent 65%);
      pointer-events: none;
    }
    .cta-section h2 { position: relative; z-index: 1; margin-bottom: 16px; }
    .cta-section p {
      position: relative;
      z-index: 1;
      color: var(--text-muted);
      margin-bottom: 36px;
      font-size: 1.1rem;
    }
    .btn--cta-final {
      position: relative;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 18px 44px;
      background: var(--gradient-cta);
      color: #fff;
      font-weight: 700;
      font-size: 1.1rem;
      border-radius: 14px;
      border: none;
      box-shadow: var(--glow-cta);
      transition: box-shadow 0.3s ease-out, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), outline-color 0.2s;
      overflow: hidden;
    }
    .btn--cta-final::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(255,255,255,0.13) 0%, transparent 55%);
      border-radius: inherit;
      pointer-events: none;
    }
    .btn--cta-final:hover {
      box-shadow: 0 12px 36px rgba(123, 47, 216, 0.5), 0 6px 16px rgba(32, 164, 212, 0.25);
      transform: translateY(-2px);
      outline: 1.5px solid rgba(123, 47, 216, 0.4);
      outline-offset: 2px;
    }

    /* ========== FOOTER (cst.gov.sa style) ========== */
    .footer {
      background: #07070D;
      border-top: 1px solid var(--border-section);
    }
    /* Top bar: logo + contact */
    .footer__topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 24px 0;
      border-bottom: 1px solid var(--border-section);
    }
    .footer__topbar-logo img { height: 36px; width: auto; display: block; }
    .footer__topbar-contact {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 20px;
      border: 1px solid var(--border-accent);
      border-radius: var(--radius-full);
      color: var(--text-secondary);
      font-size: 0.85rem;
      font-weight: 600;
      text-decoration: none;
      transition: border-color 0.2s, color 0.2s;
    }
    .footer__topbar-contact:hover { border-color: var(--purple-light); color: var(--text-primary); }
    .footer__topbar-contact i { font-size: 1.1rem; }

    /* Middle section: grid with address, link cols, credentials */
    .footer__middle {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1fr;
      gap: 40px;
      padding: 48px 0;
      border-bottom: 1px solid var(--border-section);
    }
    .footer__about p {
      font-size: 0.85rem;
      color: var(--text-muted);
      line-height: 1.7;
      max-width: 36ch;
    }
    .footer__about-label {
      font-size: 0.7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--text-muted);
      margin-bottom: 12px;
    }
    .footer__col h4 {
      font-size: 0.7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--text-muted);
      margin-bottom: 16px;
    }
    .footer__col a {
      display: block;
      font-size: 0.85rem;
      color: var(--text-secondary);
      padding: 4px 0;
      transition: color 0.2s;
    }
    .footer__col a:hover { color: var(--purple-light); }
    .footer__credentials {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .footer__credential {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: 0.8rem;
      color: var(--text-muted);
      line-height: 1.5;
    }
    .footer__credential i { font-size: 1.1rem; color: var(--purple-light); opacity: 0.8; flex-shrink: 0; margin-top: 2px; }
    .footer__credential-label { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); opacity: 0.7; }

    /* Bottom bar: last updated + social icons */
    .footer__bottombar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px 0;
      border-bottom: 1px solid var(--border-section);
      flex-wrap: wrap;
      gap: 16px;
    }
    .footer__updated {
      font-size: 0.75rem;
      color: var(--text-muted);
      opacity: 0.7;
    }
    .footer__socials {
      display: flex;
      gap: 8px;
    }
    .footer__socials a {
      font-size: 1.1rem;
      color: var(--text-muted);
      opacity: 0.6;
      transition: opacity 0.2s, color 0.2s;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-sm);
      border: 1px solid var(--border-section);
    }
    .footer__socials a:hover { opacity: 1; color: var(--text-primary); border-color: var(--border-accent); }

    /* Trust signals row */
    .footer__trust {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 8px 20px;
      padding: 20px 0;
      border-bottom: 1px solid var(--border-section);
    }
    .footer__trust-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.72rem;
      color: var(--text-muted);
      opacity: 0.7;
      text-decoration: none;
      transition: opacity 0.2s;
      white-space: nowrap;
    }
    .footer__trust-badge:hover { opacity: 1; }
    .footer__trust-badge i { font-size: 0.9rem; color: var(--purple-light); opacity: 0.8; }
    .footer__trust-sep { color: var(--text-muted); opacity: 0.25; font-size: 0.6rem; }
    .footer__payment-icons {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .footer__payment-icons span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 20px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 3px;
      font-size: 0.55rem;
      font-weight: 700;
      color: var(--text-muted);
      letter-spacing: 0.02em;
    }

    /* Very bottom: company + copyright */
    .footer__copyright {
      text-align: center;
      padding: 20px 0;
      font-size: 0.75rem;
      color: var(--text-muted);
      opacity: 0.6;
    }
    .footer__copyright span { opacity: 0.5; margin: 0 8px; }
    .footer__feedback-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 12px;
      border: 1px solid var(--border-card);
      border-radius: var(--radius-sm);
      background: transparent;
      color: var(--text-muted);
      font-size: 0.8rem;
      cursor: pointer;
      transition: color 0.2s ease-out, border-color 0.2s ease-out;
    }
    .footer__feedback-btn:hover {
      color: var(--text-secondary);
      border-color: var(--text-muted);
    }


    /* ========== WHAT'S NEXT (teaser) ========== */
    .teaser {
      padding: var(--section-pad) 0;
      background: var(--bg-deep);
      border-top: 1px solid var(--border-section);
      position: relative;
      overflow: hidden;
    }
    .teaser::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 600px;
      height: 500px;
      transform: translate(-50%, -50%);
      background: radial-gradient(circle, rgba(32, 164, 212, 0.10), transparent 70%);
      pointer-events: none;
    }
    .teaser__card {
      position: relative;
      z-index: 1;
      max-width: 680px;
      margin: 0 auto;
      padding: 48px 40px;
      background: linear-gradient(135deg, rgba(123,47,216,0.08), rgba(32,164,212,0.05));
      border: 1px solid var(--glass-border);
      border-radius: var(--radius-lg, 20px);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      text-align: center;
    }
    .teaser__pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 14px;
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(32, 164, 212, 0.30);
      border-radius: 999px;
      font-size: 0.75rem;
      font-weight: 600;
      color: var(--text);
      letter-spacing: 0.04em;
      text-transform: uppercase;
      margin-bottom: 20px;
    }
    .teaser__title {
      font-size: clamp(1.5rem, 3vw, 2.1rem);
      margin: 0 0 16px;
      line-height: 1.25;
      letter-spacing: -0.01em;
    }
    .teaser__sub {
      color: var(--text-secondary);
      font-size: 1.05rem;
      line-height: 1.65;
      margin: 0 0 28px;
      max-width: 52ch;
      margin-inline: auto;
    }
    .teaser__form {
      display: flex;
      flex-direction: column;
      gap: 14px;
      max-width: 520px;
      margin: 0 auto;
    }
    .teaser__row {
      display: flex;
      gap: 10px;
      align-items: stretch;
    }
    .teaser__row input[type="email"] {
      flex: 1;
      padding: 14px 16px;
      background: rgba(255,255,255,0.04);
      border: 1px solid var(--border-card);
      border-radius: var(--radius-full, 999px);
      color: var(--text);
      font-size: 0.95rem;
      font-family: inherit;
      outline: none;
      transition: border-color 0.2s, background 0.2s;
      min-width: 0;
    }
    .teaser__row input[type="email"]::placeholder { color: var(--text-muted); }
    .teaser__row input[type="email"]:focus {
      border-color: rgba(123, 47, 216, 0.55);
      background: rgba(255,255,255,0.06);
    }
    .btn--teaser {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 22px;
      background: var(--gradient-cta);
      color: #fff;
      font-weight: 700;
      font-size: 0.95rem;
      border-radius: var(--radius-full, 999px);
      border: none;
      cursor: pointer;
      transition: box-shadow 0.25s, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 6px 20px rgba(123, 47, 216, 0.25);
      white-space: nowrap;
      font-family: inherit;
    }
    .btn--teaser:hover {
      box-shadow: 0 10px 28px rgba(123, 47, 216, 0.40);
      transform: translateY(-1px);
    }
    .btn--teaser:disabled {
      opacity: 0.6;
      cursor: not-allowed;
      transform: none;
    }
    .teaser__nda {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      text-align: start;
      font-size: 0.825rem;
      line-height: 1.55;
      color: var(--text-secondary);
      cursor: pointer;
      padding: 4px;
    }
    .teaser__nda input[type="checkbox"] {
      flex-shrink: 0;
      margin-top: 3px;
      width: 16px;
      height: 16px;
      accent-color: var(--purple, #7B2FD8);
      cursor: pointer;
    }
    .teaser__nda a {
      color: var(--cyan, #20A4D4);
      text-decoration: underline;
      text-decoration-color: rgba(32, 164, 212, 0.4);
      text-underline-offset: 2px;
    }
    .teaser__nda a:hover { text-decoration-color: var(--cyan, #20A4D4); }
    .teaser__error {
      margin: 8px 0 0;
      padding: 10px 14px;
      background: rgba(220, 38, 38, 0.10);
      border: 1px solid rgba(220, 38, 38, 0.30);
      border-radius: 8px;
      color: #fca5a5;
      font-size: 0.85rem;
      text-align: start;
    }
    .teaser__success {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 24px;
      background: rgba(34, 197, 94, 0.10);
      border: 1px solid rgba(34, 197, 94, 0.35);
      border-radius: var(--radius-full, 999px);
      color: #86efac;
      font-weight: 600;
      font-size: 0.95rem;
    }
    .teaser__success i { font-size: 1.15rem; }
    .teaser__fineprint {
      margin: 18px 0 0;
      font-size: 0.8rem;
      color: var(--text-muted);
    }

    /* Pre-alpha platform pillars (Desktop + Mobile) inside the teaser card. */
    .teaser__pillars {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin: 0 auto 28px;
      max-width: 520px;
    }
    .teaser__pillar {
      padding: 18px 16px;
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid var(--border-card);
      border-radius: 12px;
      text-align: center;
    }
    .teaser__pillar-icon {
      font-size: 1.5rem;
      color: var(--cyan, #20A4D4);
      margin-bottom: 6px;
      display: block;
    }
    .teaser__pillar-name {
      font-weight: 700;
      font-size: 0.95rem;
      color: var(--text);
    }
    .teaser__pillar-sub {
      font-size: 0.75rem;
      color: var(--text-muted);
      margin-top: 2px;
    }
    .teaser__pillar-status {
      font-size: 0.7rem;
      color: var(--cyan, #20A4D4);
      font-weight: 600;
      margin-top: 8px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    .teaser__interests {
      display: flex;
      gap: 8px;
      justify-content: center;
      flex-wrap: wrap;
      border: none;
      padding: 0;
      margin: 0;
    }
    .teaser__interest {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 14px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid var(--border-card);
      border-radius: 999px;
      font-size: 0.825rem;
      cursor: pointer;
      color: var(--text-secondary);
      transition: background 0.2s, border-color 0.2s, color 0.2s;
    }
    .teaser__interest input { accent-color: var(--purple, #7B2FD8); }
    /* :has() is widely supported (all modern browsers, 2023+); falls back to
       no highlight on older browsers — both still functional. */
    .teaser__interest:has(input:checked) {
      background: rgba(123, 47, 216, 0.10);
      border-color: rgba(123, 47, 216, 0.45);
      color: var(--text);
    }
    @media (max-width: 640px) {
      .teaser__pillars { grid-template-columns: 1fr; }
    }

    /* RTL: flip the submit-button arrow like the rest of the page does */
    [dir="rtl"] .btn--teaser .btn-arrow { transform: scaleX(-1); }
    @media (max-width: 640px) {
      .teaser__card { padding: 32px 20px; }
      .teaser__row { flex-direction: column; }
      .btn--teaser { justify-content: center; }
    }

    /* ========== RESPONSIVE: 1024px ========== */
    @media (max-width: 1024px) {
      .hero__grid { grid-template-columns: 1fr; text-align: center; gap: 28px; }
      .upload-card { max-width: 420px; margin: 0 auto; }
      .hero__sub { margin: 0 auto 28px; }
      .feature-block { grid-template-columns: 1fr; gap: 28px; }
      .feature-block:nth-child(even) .feature-block__text,
      .feature-block:nth-child(even) .feature-mockup { order: unset; }
      .creators__grid { justify-content: center; }
      .creator-card { flex: 1 1 180px; max-width: 220px; }
    }

    /* ========== RESPONSIVE: 768px ========== */
    @media (max-width: 768px) {
      h1 { font-size: 1.875rem !important; }
      h2 { font-size: 1.5rem !important; }
      h3 { font-size: 1.125rem !important; }
      body { font-size: 1rem; }

      .nav { height: 60px; }
      .nav__links, .nav__login { display: none; }
      .nav__hamburger { display: flex; }

      .hero { min-height: auto; padding: 80px 0 48px; }
      .hero__grid { text-align: center; gap: 24px; }
      .hero__text { display: flex; flex-direction: column; align-items: center; }
      .hero__sub { font-size: 1rem; margin-bottom: 20px; }
      .hero__trust { text-align: center; width: 100%; }
      .hero__card-wrap { width: 100%; }
      .upload-card { max-width: 100%; animation: none; border: 1px solid rgba(123, 47, 216, 0.25); box-shadow: 0 8px 32px rgba(123, 47, 216, 0.15), 0 0 0 1px rgba(123, 47, 216, 0.08); }
      .upload-card::before { opacity: 1; }
      .btn--hero { padding: 14px 28px; font-size: 0.95rem; margin: 0 auto; }

      section, .features, .how, .creators, .pricing-cta, .cta-section, .teaser { padding: 56px 24px; }

      .feature-mockup { max-height: 180px; overflow: hidden; }

      .how { overflow: hidden; }
      .how__flow { flex-direction: column; gap: 0; }
      .how__card { padding: 20px; overflow: hidden; }
      .how__arrow {
        width: auto;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .how__arrow::before {
        content: '';
        width: 0;
        height: 100%;
        border-left: 2px dashed rgba(123, 47, 216, 0.35);
        border-top: none;
      }

      .creator-card { flex: 1 1 calc(50% - 12px); max-width: 100%; padding: 20px; }

      .footer__middle { grid-template-columns: 1fr 1fr; gap: 24px; }
      .footer__topbar { flex-wrap: wrap; gap: 12px; }

      .use-cases__grid { grid-template-columns: 1fr; }

      .particle { display: none; }
      .hero::before { animation: none; }
      .waveform-divider { display: none; }
    }

    /* ========== RESPONSIVE: 480px ========== */
    @media (max-width: 480px) {
      h1 { font-size: 1.625rem !important; }

      .hero { padding: 72px 0 40px; }
      section, .features, .how, .creators, .pricing-cta, .cta-section, .teaser { padding: 48px 0; }

      .upload-card { max-width: 100%; padding: 20px; }
      .dropzone { padding: 28px 16px; }

      .how__card { padding: 16px; }
      .how__step-num { font-size: 2rem; }

      .creator-card { flex: 1 1 100%; }
      .creators__grid { gap: 12px; }

      .use-case-card { padding: 24px; }

      .footer__middle { grid-template-columns: 1fr; gap: 24px; }
      .footer__bottombar { flex-direction: column; text-align: center; gap: 12px; }
      .footer__topbar { flex-direction: column; text-align: center; gap: 12px; }
    }

