/* Dedicated phone/tablet rules; desktop above 1180px keeps its reviewed layout. */
@media (max-width: 1180px) {
  .zzz-home .hero__banner { aspect-ratio: 2048 / 885; max-height: none; }
  .zzz-home .hero__banner img { object-fit: contain; }
  .zzz-home .series { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: auto; width: min(100% - 2 * var(--gutter), var(--wrap)); margin-inline: auto; padding: 0; overflow: visible; }
  .zzz-home .series a { aspect-ratio: auto; min-width: 0; }
  .zzz-home .series img { width: 100%; height: auto; object-fit: contain; }
  .zzz-home .series a:hover, .zzz-home .card:hover .card__media img, .zzz-home .tile:hover .tile__media img, .zzz-home .promo a:hover img { transform: none; }
  .zzz-home .masthead { margin-top: 40px; gap: 18px 24px; }
  .zzz-home .sec { margin-top: 56px; }
  .zzz-home .sh { gap: 10px 16px; }
  .zzz-home .sh__title { line-height: 1; }
  .zzz-home .card__media img { object-fit: contain; }
  .zzz-home .card__price { line-height: 1.35; }
  .zzz-home .card__name { overflow-wrap: anywhere; }
  .zzz-home .promo { gap: 24px; }
  .zzz-home .promo__media { aspect-ratio: auto; }
  .zzz-home .promo__media img { height: auto; object-fit: contain; }
  .zzz-home .promo__meta { min-width: 0; }
  .zzz-home .promo__meta .mono { overflow-wrap: anywhere; line-height: 1.5; }
  .zzz-home .tile__label { max-width: 100%; }
  .zzz-home .tile__name { min-width: 0; }
  .zzz-home .service > *, .zzz-home .guides { min-width: 0; }
  
  
}
@media (max-width: 1120px) {
  
  
  
  
  
  
}
@media (max-width: 640px) {
  .zzz-home { --gutter: 16px; }
  .zzz-home .series { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; scroll-snap-type: none; }
  .zzz-home .series a:first-child { grid-column: 1 / -1; }
  .zzz-home .masthead { margin-top: 32px; padding-block: 22px; gap: 14px; }
  .zzz-home .masthead h1 { font-size: 28px; line-height: 1.05; }
  .zzz-home .masthead p { font-size: 13px; line-height: 1.65; }
  .zzz-home .masthead .note { font-size: 11.5px; }
  .zzz-home .sec { margin-top: 44px; }
  .zzz-home .sh { column-gap: 10px; row-gap: 8px; }
  .zzz-home .sh__title { font-size: clamp(26px, 7.5vw, 32px); }
  .zzz-home .sh .link { font-size: 11.5px; }
  .zzz-home .card__name { font-size: 12.5px; margin-top: 10px; }
  .zzz-home .card__price { font-size: 13px; margin-top: 5px; }
  .zzz-home .tag { padding: 4px 5px; font-size: 8px; letter-spacing: .04em; }
  .zzz-home .tile__label { padding: 8px; }
  .zzz-home .tile__name { font-size: 17px; }
  .zzz-home .promo { gap: 28px; margin-top: 20px; }
  .zzz-home .promo__title { font-size: 24px; }
  .zzz-home .promo__meta .link { font-size: 12px; }
  .zzz-home .official-controls, .zzz-home .collection-controls { margin-top: 22px; gap: 10px; }
  .zzz-home .service > * { padding: 18px; }
  
  
  
  
}
@media (max-width: 359px) {
  .zzz-home .sh { grid-template-columns: minmax(0, 1fr); }
  .zzz-home .sh > .link, .zzz-home .sh > .new-actions { justify-self: start; margin: 0; }
}
