/* =============================================================================
   Kivo — Responsive (tablette & mobile) + modale métier mobile
   ============================================================================= */

/* ---- Tablette ---- */
@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; text-align: center; }
  .hero .lead { margin-inline: auto; }
  .hero-cta, .hero-proof { justify-content: center; }
  .inline-selector { justify-content: center; }
  .hero-orb-wrap { order: -1; min-height: 280px; }

  .demo-split { grid-template-columns: 1fr; }
  .scrolly { grid-template-columns: 1fr; }
  .scrolly-sticky { position: relative; top: 0; margin-bottom: 1.5rem; }

  .steps-row { grid-template-columns: 1fr; }
  .stats-row { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
  .price-card.featured { transform: none; order: -1; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

/* ---- Mobile ---- */
@media (max-width: 720px) {
  :root { --header-h: 64px; }

  .main-nav, .header-actions .btn-ghost, .view-pill .vp-change { display: none; }
  .burger { display: block; }
  .header-actions { gap: .5rem; }

  /* Menu mobile plein écran */
  .mobile-nav {
    display: flex; flex-direction: column; gap: .4rem;
    position: fixed; inset: var(--header-h) 0 0 0; z-index: 99;
    background: var(--bg-800); padding: 1.5rem var(--gutter);
    transform: translateX(100%); transition: transform var(--t) var(--ease);
    overflow-y: auto;
  }
  .mobile-nav.open { transform: none; }
  .mobile-nav a, .mobile-nav button.m-sector {
    padding: 1rem; border-radius: var(--r-md); font-size: var(--step-1);
    font-family: var(--font-title); text-align: left; border: 1px solid var(--border);
    background: var(--surface);
  }
  .mobile-nav .btn { margin-top: .5rem; }

  body.menu-open { overflow: hidden; }

  /* CTA flottant bas d'écran */
  .mobile-cta {
    display: flex; gap: .6rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    padding: .7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom));
    background: rgba(9, 13, 26, .92); backdrop-filter: blur(12px);
    border-top: 1px solid var(--border);
  }
  .mobile-cta .btn { flex: 1; }
  body { padding-bottom: 78px; }

  .sim-grid { grid-template-columns: 1fr 1fr; }
  .vsum-grid { grid-template-columns: 1fr; }
  .sector-cards { grid-template-columns: 1fr 1fr; }

  .channels-hub { width: 92vw; }
  .channel-node .cn-ico { width: 48px; height: 48px; }

  h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
}

/* ---- Très petit ---- */
@media (max-width: 420px) {
  .sim-grid, .sector-cards { grid-template-columns: 1fr; }
  .selector-menu { width: calc(100vw - 2 * var(--gutter)); }
}

/* Réduction d'animations (renfort) */
@media (prefers-reduced-motion: reduce) {
  .orb-core, .orb-halo, .orb-ring, .channels-svg .flow,
  .waveform .bar, .typing span, .voice-card.is-live .vs-dot { animation: none !important; }
  .night-step { opacity: 1 !important; transform: none !important; }
  .scrolly-sticky { position: relative; top: 0; }
}
