@media (max-width: 1024px) {
  .hero__inner { grid-template-columns: 1fr; gap: var(--space-4); }
  .hero__art { order: -1; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
  .cols-4, .tile-grid, .steps { grid-template-columns: repeat(2, 1fr); }
  .cols-3 { grid-template-columns: repeat(2, 1fr); }
  .product__body { grid-template-columns: 1fr; }
  .split { grid-template-columns: 1fr; gap: var(--space-4); }
}

@media (max-width: 900px) {
  .nav__toggle { display: inline-flex; }
  .nav__actions .btn { display: none; }

  .site-header { background: #fff; backdrop-filter: none; }
  .nav__actions { position: relative; z-index: 101; }

  .nav__menu {
    position: fixed; inset: 0 0 0 auto; width: min(84vw, 360px);
    flex-direction: column; align-items: stretch; gap: 0;
    background: #fff; box-shadow: var(--shadow-lg);
    padding: calc(var(--header-h) + var(--space-3)) var(--space-3) var(--space-3);
    transform: translateX(100%); transition: transform 0.3s ease;
    overflow-y: auto; z-index: 99;
  }
  body.nav-open .nav__menu { transform: translateX(0); }

  .nav__menu > .nav__item { border-bottom: 1px solid var(--border); }
  .nav__link { display: flex; justify-content: space-between; align-items: center; padding: 15px 6px; font-size: 1.05rem; }
  .nav__link::after { display: none; }

  .nav__sub {
    position: static; transform: none; opacity: 1; visibility: visible;
    box-shadow: none; border: 0; background: var(--bg-alt); border-radius: var(--radius-sm);
    max-height: 0; overflow: hidden; padding: 0 8px; transition: max-height 0.3s ease, padding 0.3s ease;
    min-width: 0;
  }
  .nav__item--has-sub.open .nav__sub { max-height: 420px; padding: 8px; }
  .nav__item--has-sub > .nav__link .caret { transition: transform var(--transition); }
  .nav__item--has-sub.open > .nav__link .caret { transform: rotate(180deg); }
  .nav__sub a { padding: 11px 12px; }

  .nav__menu .nav__cta { display: block; margin-top: var(--space-3); }
  .nav__menu .nav__cta .btn { width: 100%; }

  .nav-overlay {
    position: fixed; inset: 0; background: rgba(15, 30, 51, 0.5); z-index: 98;
    opacity: 0; visibility: hidden; transition: opacity var(--transition), visibility var(--transition);
  }
  body.nav-open .nav-overlay { opacity: 1; visibility: visible; }
  body.nav-open { overflow: hidden; }
}

@media (max-width: 640px) {
  :root { --header-h: 66px; }
  .section { padding-block: var(--space-5); }
  h1 { font-size: var(--fs-xl); }
  .cols-2, .cols-3, .cols-4, .tile-grid, .steps { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .hero__actions .btn { width: 100%; }
  .cta-band { padding: var(--space-4); }
  .btn { padding: 13px 22px; }
  .brand__tag { display: none; }
}

@media (max-width: 380px) {
  .container { padding-inline: var(--space-2); }
}
@media (min-width: 1600px) {
  :root { --maxw: 1320px; }
}

@media print {
  .site-header, .site-footer, .nav-overlay, .cta-band, .hero__art { display: none !important; }
  body { color: #000; }
  .page-hero { background: none !important; color: #000 !important; padding-top: 0; }
  .page-hero h1, .page-hero p { color: #000 !important; }
}
