/* ═══════════════════════════════════════════
   QHSE CONTROL — RESPONSIVE
═══════════════════════════════════════════ */

/* ── TABLET (≤1024px) ── */
@media (max-width: 1024px) {
  nav { padding: 0 20px; }
  .nav-links { display: none; }
  .nav-r .nbtn-ghost { display: none; }
  .nbtn-cta { font-size: 12px; padding: 7px 13px; white-space: nowrap; }
  .nbtn-tool { font-size: 12px; padding: 7px 13px; }

  section { padding: 72px 28px; }
  .hero { padding: 104px 28px 64px; }
  .hero-btns { justify-content: center; }
  .proof-row { flex-wrap: wrap; }
  .proof-item { flex: 1 1 140px; }
  .kpi-float { display: none; }

  .problem .wrap { grid-template-columns: 1fr; gap: 48px; }
  .cost-box { position: static; }

  .duerp .wrap { grid-template-columns: 1fr; gap: 48px; }

  .ss .wrap, .ss .wrap.rev { grid-template-columns: 1fr; gap: 40px; }
  .ss .wrap.rev .ss-txt { order: 1; }
  .ss .wrap.rev .ss-img { order: 2; }
  .img-wrap { transform: none !important; }

  .feat-grid { grid-template-columns: 1fr 1fr; gap: 2px; }

  .p-pillars { grid-template-columns: 1fr; gap: 14px; }
  .incl-grid { grid-template-columns: 1fr; gap: 14px; }

  .rdv-grid { grid-template-columns: 1fr 1fr; }
  .rdv-body, .rdv-top { padding: 24px 28px; }

  .ft-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  footer { padding: 48px 28px 28px; }

  .cta { padding: 64px 28px 52px; }
  .cta-stat { min-width: 120px; padding: 18px 12px; }
  .cta-stat-val { font-size: 34px; }

  .demo-section { padding: 72px 28px; }
  .app-kpi-row { grid-template-columns: 1fr 1fr; }
  .app-sidebar { display: none; }

  .duerp-preview { flex-direction: column; gap: 12px; }
  .duerp-card.secondary { margin-top: 0; }
}

/* ── MOBILE (≤640px) ── */
@media (max-width: 640px) {
  nav { padding: 0 16px; height: 56px; }
  .nbtn-cta { padding: 7px 12px; font-size: 11px; }
  .nbtn-tool { display: none; }

  section { padding: 56px 18px; }

  .hero { padding: 84px 18px 52px; }
  .hero h1 { font-size: clamp(40px, 11vw, 58px); letter-spacing: -2px; line-height: 1.0; }
  .hero-lead { font-size: 15px; margin-bottom: 30px; }
  .hero-btns { flex-direction: column; align-items: center; gap: 10px; }
  .btn-primary, .btn-soft, .btn-teal { width: 100%; max-width: 320px; justify-content: center; padding: 14px 24px; font-size: 14px; }
  .proof-row { border-radius: 11px; }
  .proof-item { flex: 1 1 50%; padding: 16px 14px; }
  .pv { font-size: 26px; }
  .pl { font-size: 10px; }
  .scroll-hint { display: none; }

  .prob-card { padding: 16px 18px; }
  .feat-grid { grid-template-columns: 1fr; gap: 2px; }
  .feat-card { padding: 22px; }

  .duerp .wrap { gap: 36px; }
  .duerp-btns { flex-direction: column; }

  .ss-txt h2 { font-size: clamp(30px, 9vw, 42px); letter-spacing: -1px; }

  .comp-table { border-radius: 11px; }
  .cc { padding: 10px 14px; font-size: 11px; }
  .comp-head-row .cc { font-size: 9px; padding: 10px 14px; }

  .rdv-grid { grid-template-columns: 1fr; gap: 12px; }
  .rdv-wrap { border-radius: 16px; }
  .rdv-top { padding: 22px 20px; }
  .rdv-title { font-size: 19px; }
  .rdv-body { padding: 22px 20px; }
  .ri { font-size: 16px; }

  .demo-section { padding: 56px 18px; }
  .demo-tabs { flex-wrap: wrap; width: 100%; }
  .demo-tab { flex: 1; justify-content: center; font-size: 11px; padding: 8px 10px; }
  .app-form-row { grid-template-columns: 1fr; }
  .app-kpi-row { grid-template-columns: 1fr 1fr; gap: 8px; }

  .cta { padding: 52px 18px 44px; }
  .cta h2 { font-size: clamp(34px, 9vw, 50px) !important; }
  .cta .lead { font-size: 14px !important; }
  .cta-btns { flex-direction: column; align-items: center; gap: 10px; }
  .btn-w { width: 100%; max-width: 320px; justify-content: center; font-size: 14px; padding: 15px; }
  .btn-wo { width: 100%; max-width: 320px; text-align: center; padding: 13px; font-size: 13px; }
  .cta-stat { flex: 1 1 50%; min-width: 0; padding: 16px 10px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .cta-stat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.08); }
  .cta-stat-val { font-size: 30px; }

  .ft-grid { grid-template-columns: 1fr; gap: 30px; }
  footer { padding: 40px 18px 24px; }

  .faq-q { padding: 18px 20px; }
  .faq-a { padding: 0 20px 18px; }
  .faq-cta-box { flex-direction: column; }
}

/* ── VERY SMALL (≤380px) ── */
@media (max-width: 380px) {
  .hero h1 { font-size: 36px; }
  .proof-item { flex: 1 1 100%; border-right: none; border-bottom: 1px solid var(--border); }
  .proof-item:last-child { border-bottom: none; }
}
