/* ==========================================================================
   BTE responsive layers (mobile-first: min-width queries only)
   640 = large phone / small tablet   900 = tablet   1100 = small desktop   1180 = full navigation
   ========================================================================== */

@media (min-width: 640px) {
  .hero__cue { display: block; }
  .strip__inner { grid-template-columns: repeat(4, 1fr); }
  .strip__inner p { border-top: 0; padding: 32px 24px 32px 0; border-left: 0; }
  .strip__inner p + p { padding-left: 24px; border-left: 1px solid var(--line-dark); }
  .grid--3, .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .brand-grid { grid-template-columns: repeat(3, 1fr); }
  .field-row { grid-template-columns: 1fr 1fr; }
  .benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .spec-grid { grid-template-columns: repeat(2, 1fr); }
  .check-grid { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .divisions { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 900px) {
  .divisions { grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 48px); }
  .grid--3 { grid-template-columns: repeat(3, 1fr); }
  .split { grid-template-columns: 1fr 1fr; }
  .split--reverse .split__media { order: 2; }
  .split-head { grid-template-columns: 1.2fr 1fr; gap: 64px; }
  .intro { grid-template-columns: 1.25fr 1fr; gap: 80px; align-items: end; }
  .prose-split { grid-template-columns: 1fr 1.6fr; gap: 80px; }
  .overview { grid-template-columns: 1.7fr 1fr; gap: 80px; }
  .glance { position: sticky; top: calc(var(--header-h) + 24px); }
  .two-col { grid-template-columns: 1fr 1fr; gap: 80px; }
  .editorial { grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: start; }
  .rows__row { grid-template-columns: 90px 1fr 1.5fr; gap: 32px; align-items: baseline; padding: 30px 0; }
  .duo { grid-template-columns: repeat(2, 1fr); gap: clamp(32px, 5vw, 80px); }
  .brand-grid { grid-template-columns: repeat(5, 1fr); }
  .why { grid-template-columns: repeat(4, 1fr); gap: 32px; border-top: 0; }
  .why li { border-top: 1px solid var(--ink); border-bottom: 0; padding: 24px 0 0; }
  .service-list { grid-template-columns: repeat(4, 1fr); gap: 32px; border-top: 0; }
  .service-list li { border-top: 1px solid rgba(255, 255, 255, .4); border-bottom: 0; padding: 24px 0 0; }
  .steps { grid-template-columns: repeat(4, 1fr); }
  .index-list__link { grid-template-columns: 64px 1fr 260px 48px; gap: 32px; padding: 26px 0; }
  .index-list__media, .index-list__go { display: block; }
  .index-list__media .media { aspect-ratio: 3/2; }
  .index-list__go { justify-self: end; }
  .profile { grid-template-columns: 1fr 1.15fr; gap: clamp(40px, 6vw, 96px); align-items: start; }
  .profile--flip .profile__side { order: 2; }
  .cta__inner { grid-template-columns: 1.4fr 1fr; align-items: center; gap: 64px; }
  .cta__actions { justify-content: flex-end; }
  .footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 48px; }
  .contact { grid-template-columns: 1fr 1.15fr; align-items: start; }
  .contact__form { position: sticky; top: calc(var(--header-h) + 24px); }
  .legal { grid-template-columns: 260px minmax(0, 1fr); gap: 72px; }
  .legal__toc { display: block; position: sticky; top: calc(var(--header-h) + 32px); align-self: start; }
  .cookie { left: auto; right: 24px; bottom: 24px; }
}

@media (min-width: 1100px) {
  .grid--4 { grid-template-columns: repeat(4, 1fr); }
  .spec-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 1180px) {
  .nav, .header-tel, .header-cta { display: flex; }
  .burger { display: none; }
  .drawer { display: none !important; }
  .mega { display: block; }
}
@media (max-width: 1179px) {
  .mega { display: none !important; }
}

@media (max-width: 480px) {
  .cookie { left: 10px; right: 10px; bottom: 10px; padding: 18px; }
  .cookie__actions .btn { flex: 1 1 auto; }
  .btn--lg { width: 100%; }
  .hero__actions .btn, .cta__actions .btn { width: 100%; }
  .search { padding-top: 8vh; }
}
