/* =========================================================
   NOVIBU.COM — Responsive
   Desktop-first overrides for tablet and mobile
   ========================================================= */

/* ---------------------------------------------------------
   Large desktop refinement
   --------------------------------------------------------- */
@media (max-width: 1320px) {
  .container { padding: 0 28px; }
}

/* ---------------------------------------------------------
   Tablet — 1024px
   --------------------------------------------------------- */
@media (max-width: 1024px) {
  .site-nav { display: none; }

  .why-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }

  .fit-grid { grid-template-columns: repeat(3, 1fr); }
  .fit-card:nth-child(4), .fit-card:nth-child(5) { grid-column: span 1; }

  .features-grid { grid-template-columns: repeat(3, 1fr); }

  .score-cards { grid-template-columns: repeat(3, 1fr); }
  .score-table th, .score-table td { padding: 16px 20px; }

  .offer__inner { grid-template-columns: 1fr; gap: 48px; }
  .section-head--left { text-align: center; margin-left: auto; margin-right: auto; }
  .section-desc { margin-left: auto; margin-right: auto; }

  .hero { padding: 140px 0 90px; }
  .section { padding: 110px 0; }
}

/* ---------------------------------------------------------
   Small tablet / large phone — 768px
   --------------------------------------------------------- */
@media (max-width: 768px) {
  .container { padding: 0 22px; }

  .site-header__inner { gap: 14px; }
  .nav-cta { padding: 10px 16px; font-size: 0.82rem; }

  .hero { padding: 130px 0 80px; min-height: auto; }
  .hero__desc { font-size: 1.02rem; }
  .hero__actions { flex-direction: column; width: 100%; }
  .hero__actions .btn { width: 100%; }

  .plate__row { gap: 14px; row-gap: 20px; }
  .plate__stat { min-width: 60px; }
  .plate__divider:nth-of-type(2) { display: none; }

  .why-grid { grid-template-columns: 1fr; }
  .fit-grid { grid-template-columns: repeat(2, 1fr); }
  .features-grid { grid-template-columns: repeat(2, 1fr); }
  .score-cards { grid-template-columns: repeat(2, 1fr); }
  .score-table th, .score-table td { padding: 14px 16px; font-size: 0.88rem; }

  .section { padding: 90px 0; }
  .section-head { margin-bottom: 44px; }

  .process-step { gap: 20px; padding: 28px 4px; }
  .process-step__body h3 { font-size: 1.18rem; }

  .field-row { grid-template-columns: 1fr; gap: 0; }
  .offer-form-wrap { padding: 28px 22px; }

  .site-footer__inner { padding: 0 6px; }
}

/* ---------------------------------------------------------
   Phone — 480px
   --------------------------------------------------------- */
@media (max-width: 480px) {
  .hero__title { letter-spacing: -0.03em; }
  .hero__plate { padding: 0 2px; }
  .plate { padding: 22px 14px; border-radius: var(--radius-m); }
  .plate__row { gap: 10px; }
  .plate__stat { min-width: 46%; }
  .plate__divider { display: none; }

  .fit-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .fit-card { padding: 22px 16px; }

  .features-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .feature { padding: 24px 14px; }

  .why-card { padding: 28px 22px; }

  .score-cards { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .score-card { padding: 22px 12px; }
  .score-card__value { font-size: 1.7rem; }
  .score-table-wrap { overflow-x: auto; }


  .section-title { font-size: clamp(1.7rem, 7vw, 2.1rem); }

  .offer-form-wrap { padding: 24px 16px; }
}

/* ---------------------------------------------------------
   Height-constrained short viewports (landscape phones)
   --------------------------------------------------------- */
@media (max-height: 620px) and (orientation: landscape) {
  .hero { min-height: auto; padding: 120px 0 60px; }
  .scroll-hint { display: none; }
}
