/* ==========================================================================
   responsive.css: breakpoint overrides
   Tested widths: 1920 · 1440 · 1200 · 992 · 768 · 576 · 390 · 360
   ========================================================================== */

/* ---------- ≥ 1600px: give large screens more room ---------- */
@media (min-width: 1600px) {
  .container { max-width: 1440px; }
}

/* ---------- ≤ 1399px ---------- */
@media (max-width: 1399.98px) {
  .nav__menu { gap: clamp(.9rem, 1.4vw, 1.5rem); }
  .footer__cols { grid-template-columns: repeat(4, 1fr) 1.6fr; }
}

/* ---------- ≤ 1199px: switch to burger navigation ---------- */
@media (max-width: 1199.98px) {
  .nav__menu, .nav__cta { display: none; }
  .burger { display: inline-flex; }
  .svc-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .type-grid { grid-template-columns: repeat(2, 1fr); }
  .model__grid { grid-template-columns: repeat(2, 1fr); }
  .model__item { min-height: 0; }
  .footer__cols { grid-template-columns: repeat(4, 1fr); }
  .footer__col--contact { grid-column: 1 / -1; }
  .footer__contact { grid-template-columns: repeat(2, 1fr); }
  .channel-tab { min-height: 280px; padding: 2rem 1.4rem 1.75rem; }
  .retail__inset { right: -.5rem; }
}

/* ---------- ≤ 991px: tablets ---------- */
@media (max-width: 991.98px) {
  :root { --section-y: clamp(4.5rem, 10vw, 6rem); }
  .sec-head--split { grid-template-columns: 1fr; gap: 1rem; }
  .sec-head__text { max-width: 620px; }

  .cat-grid { grid-template-columns: repeat(2, 1fr); }
  .cat-card--offset { margin-top: 0; }
  .cat-card:last-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
  .p-grid { grid-template-columns: repeat(2, 1fr); }
  .channel-tabs { grid-template-columns: repeat(2, 1fr); }
  .partner-cards { grid-template-columns: 1fr; }
  .partner-cards:not(.partner-cards--stack) .partner-card { display: flex; gap: 1.25rem; align-items: flex-start; }
  .partner-cards:not(.partner-cards--stack) .partner-card h3 { margin-top: .2rem; }
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
  .net-wrap { max-width: 380px; }

  .bento { grid-template-columns: repeat(3, 1fr); }
  .bento__item--lg { grid-column: span 2; grid-row: span 2; }

  .why__sticky, .legal__toc { position: static; }
  .portal__side { position: relative; top: auto; }
  .q-grid { grid-template-columns: repeat(2, 1fr); }
  .process, .steps { grid-template-columns: repeat(2, 1fr); }
  .trio { grid-template-columns: 1fr; }
  .buyer-grid { grid-template-columns: repeat(3, 1fr); }
  .mini-cats { grid-template-columns: repeat(2, 1fr); }
  .values__grid { grid-template-columns: repeat(2, 1fr); }
  .concept-grid { grid-template-columns: repeat(2, 1fr); }
  .ing-grid { grid-template-columns: repeat(2, 1fr); }
  .vm__grid { grid-template-columns: 1fr; }
  .vm__card { min-height: 0; }
  .df-row { grid-template-columns: 1fr; gap: 2rem; }
  .df-row--rev .df-row__media { order: 0; }
  .df-row__media { max-width: 560px; justify-self: start; }
  .df-row--rev .df-row__n { right: auto; left: -1rem; }

  .t-carousel__track { grid-auto-columns: calc((100% - 1.5rem) / 2); }
  .newsletter__box { grid-template-columns: 1fr; gap: 2rem; }

  .split { grid-template-columns: 1fr; min-height: 0; }
  .split__left-inner { margin-left: 0; }
  .split__right { padding-top: 3rem; }
  .float-card { max-width: 680px; }

  .footer__top { grid-template-columns: 1fr; }
  .footer__cols { grid-template-columns: repeat(2, 1fr); gap: 2.25rem 2rem; }

  .catalog__bar { border-radius: 20px; top: 76px; }
  .catalog__search { flex: 1 1 220px; }
  .catalog__search input { width: 100%; }

  .showcase__media { padding-right: 0; max-width: 560px; margin-inline: auto; }
  .showcase__tag { right: -.5rem; }
  .retail__media { max-width: 640px; margin-inline: auto; }
  .bev-hero__visual { max-width: 480px; }

  .legal__toc { padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
}

/* ---------- ≤ 767px: large phones ---------- */
@media (max-width: 767.98px) {
  :root { --announce-h: 34px; --nav-h: 68px; }
  html { scroll-padding-top: 84px; }
  body { padding-bottom: 0; }
  .announce__link { display: none; }
  .announce__inner { justify-content: center; }
  .announce__text { font-size: .62rem; letter-spacing: .14em; }
  .brand__logo { height: 40px; }
  .site-header.is-scrolled .nav, .header-solid .site-header .nav { height: 64px; }

  .hero { padding: calc(var(--header-h) + 2rem) 0 3rem; }
  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(12, 36, 27, .9) 0%, rgba(12, 36, 27, .72) 45%, rgba(12, 36, 27, .55) 70%, rgba(12, 36, 27, .92) 100%);
  }
  .hero__inner { justify-content: flex-end; }
  .hero__badge { font-size: .6rem; letter-spacing: .14em; padding: .5rem .85rem; gap: .55rem; margin-bottom: 1.25rem; }
  .hero__lead { margin: 1.25rem 0 1.75rem; }
  .hero__cats { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem 1rem; margin-top: 2.5rem; }
  .hero__cats a { padding: .35rem 0; font-size: .82rem; }
  .scroll-cue { display: none; }

  .page-hero { min-height: 0; padding-top: calc(var(--header-h) + 3rem); }
  .page-hero__overlay { background: linear-gradient(180deg, rgba(12, 36, 27, .82) 0%, rgba(12, 36, 27, .9) 100%); }
  .crumbs ol { margin-bottom: 1.5rem; }

  .reach__pin text { display: none; }
  .reach__origin-label { font-size: 16px; }
  .reach__list { display: flex; }
  .reach__intro { margin-top: -1rem; }

  .m-cta { display: flex; }
  .to-top { display: none; }
  .footer { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px)); }

  .num-list { grid-template-columns: 1fr; }
  .feature-grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .spec-list li { grid-template-columns: 1fr; gap: .25rem; }

  .retail__badge { width: 98px; height: 98px; left: -.25rem; top: -1rem; font-size: 1.05rem; }
  .retail__inset { width: 44%; right: .5rem; }
  .showcase__tag { right: .5rem; bottom: 1.5rem; padding: .75rem 1rem; }

  .bev-hero { padding-top: calc(var(--header-h) + 1.5rem); }
}

/* ---------- ≤ 575px: phones (390 / 360) ---------- */
@media (max-width: 575.98px) {
  .container { padding-left: 1.25rem; padding-right: 1.25rem; }
  .container .row { --bs-gutter-x: 1.5rem; }
  .announce__lead { display: none; }
  .t-display { font-size: clamp(2.35rem, 10.5vw, 3rem); }
  .t-display--page { font-size: clamp(2.15rem, 9.5vw, 2.8rem); }
  .t-h2 { font-size: clamp(1.85rem, 8.4vw, 2.3rem); }
  .t-h2--xl { font-size: clamp(2.1rem, 9.5vw, 2.6rem); }
  .eyebrow { font-size: .68rem; letter-spacing: .18em; }

  .hero__actions, .page-hero__actions, .cta-band__actions { flex-direction: column; align-items: stretch; }
  .hero__actions .btn-lux, .page-hero__actions .btn-lux, .cta-band__actions .btn-lux { width: 100%; }
  .btn-lux { white-space: normal; text-align: center; }

  .cat-grid { grid-template-columns: 1fr; }
  .cat-card, .cat-card:last-child { aspect-ratio: 4 / 4.6; }
  .p-grid { grid-template-columns: 1fr; }
  /* Featured products become a swipeable rail on phones */
  .p-grid[data-featured] { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -1.25rem; padding: .25rem 1.25rem 1.25rem; scroll-padding: 0 1.25rem; scrollbar-width: none; }
  .p-grid[data-featured]::-webkit-scrollbar { display: none; }
  .p-grid[data-featured] > .p-card { scroll-snap-align: start; }
  .channel-tabs { grid-template-columns: 1fr; }
  .channel-tab { min-height: 0; }
  .svc-grid, .svc-grid--4 { grid-template-columns: 1fr; }
  .q-grid { grid-template-columns: 1fr; }
  .process, .steps, .col-lg-6 .steps { grid-template-columns: 1fr; }
  .type-grid { grid-template-columns: 1fr; }
  .buyer-grid { grid-template-columns: repeat(2, 1fr); }
  .buyer-grid li { padding: 1.25rem 1.1rem; font-size: 1.1rem; }
  .mini-cats { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .mini-cat span { font-size: 1.2rem; left: 1rem; bottom: .9rem; }
  .model__grid, .values__grid { grid-template-columns: 1fr; }
  .concept-grid, .ing-grid, .pillar-grid, .biz-list { grid-template-columns: 1fr; }
  .ing { display: grid; grid-template-columns: 84px 1fr; gap: 0 1rem; text-align: left; align-items: center; padding: 1.25rem; }
  .ing img { width: 84px; height: 84px; margin: 0; grid-row: span 2; border-width: 3px; }

  .bento { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
  .bento__item--lg { grid-column: span 2; grid-row: span 1; aspect-ratio: 16 / 11; }
  .bento__label { font-size: 1.1rem; left: .9rem; bottom: .8rem; }

  .partner-cards:not(.partner-cards--stack) .partner-card, .partner-cards--stack .partner-card { flex-direction: column; gap: 1rem; }
  .partner-card { padding: 1.6rem 1.4rem; }

  .why__list li { grid-template-columns: 44px 1fr; }
  .counter { padding: 1.25rem 1rem; }

  .t-carousel__track { grid-auto-columns: 88%; gap: 1rem; }
  .t-card { padding: 1.75rem 1.5rem; }
  .t-card__text p { font-size: 1.08rem; }

  .newsletter__box { border-radius: 18px; padding: 2rem 1.25rem; }
  .news-form__row { flex-direction: column; border-radius: 18px; padding: .5rem; }
  .news-form__row .btn-lux { width: 100%; }
  .news-form__input { padding: 0 .75rem; }

  .footer__cols { grid-template-columns: repeat(2, 1fr); }
  .footer__contact { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; }

  .df-index ul { columns: 1; }
  .df-row__n { font-size: 3.6rem; top: -1.25rem; left: -.25rem; }
  .df-row--rev .df-row__n { left: -.25rem; }

  .catalog__bar { position: static; padding: .75rem; }
  .filters { overflow-x: auto; flex-wrap: nowrap; margin: 0 -.25rem; padding: 0 .25rem .25rem; scrollbar-width: none; }
  .filters::-webkit-scrollbar { display: none; }
  .filter { flex-shrink: 0; }

  .lux-form { padding: 1.5rem 1.15rem; }
  .lux-form__legend { font-size: 1.35rem; }
  .lux-form__foot .btn-lux { width: 100%; }
  .float-card { padding: 1.5rem 1.15rem; border-radius: 18px; }
  .split__left { padding: calc(var(--header-h) + 2rem) 1.25rem 3rem; }
  .split__right { padding: 2rem .75rem 3rem; }
  .portal__side { padding: 1.75rem 1.4rem; }

  .custom-src__actions { width: 100%; flex-direction: column; }
  .custom-src__actions .btn-lux { width: 100%; }
  .bev-biz__box { border-radius: 22px; }
  .reach__caption { font-size: .78rem; align-items: flex-start; text-align: left; }
  .media__caption { left: .75rem; right: .75rem; bottom: .75rem; font-size: .8rem; }
}

/* ---------- ≤ 375px: small phones (360) ---------- */
@media (max-width: 375.98px) {
  .container { padding-left: 1rem; padding-right: 1rem; }
  .announce__text { font-size: .58rem; letter-spacing: .1em; }
  .announce__text span[aria-hidden] { margin: 0 .55em; }
  .brand__logo { height: 36px; }
  .p-grid[data-featured] { margin: 0 -1rem; padding-inline: 1rem; scroll-padding: 0 1rem; }
  .hero__cats a { font-size: .76rem; }
  .buyer-grid li { font-size: 1rem; }
  .chip span { padding: .5rem .9rem; font-size: .85rem; }
}

/* ---------- Touch devices: no hover-only effects ---------- */
@media (hover: none) {
  .p-card:hover, .type-card:hover, .svc:hover, .partner-card:hover, .t-card:hover { transform: none; }
}
