/* ==========================================================================
   Responsive — designed per breakpoint, not just scaled down
   ========================================================================== */

/* ---- Large laptop / small desktop ------------------------------------------ */
@media (max-width:1320px){
  .services__grid{grid-template-columns:repeat(5,1fr)}
  .svc__name{font-size:clamp(1.5rem,2.1vw,2rem)}
  .about__media{min-height:560px}
}

/* ---- Tablet landscape & below: switch to burger navigation ------------------- */
@media (max-width:1100px){
  .site-header__inner{grid-template-columns:1fr auto}
  .site-nav,.site-header__cta .btn{display:none}
  .menu-toggle{display:block}
  html:not(.js) .site-nav{display:block;grid-column:1/-1}
  html:not(.js) .menu-toggle{display:none}

  /* Hero */
  .trust{grid-template-columns:repeat(2,1fr)}
  .trust li{padding:18px 20px 18px 0}
  .trust li + li{padding-left:0;border-left:0}
  .trust li:nth-child(even){padding-left:20px;border-left:1px solid var(--line-dark)}
  .trust li:nth-child(n+3){border-top:1px solid var(--line-dark)}

  /* About */
  .about__grid{grid-template-columns:1fr}
  .about__media,.about__body{grid-column:1/-1}
  .about__body{padding-left:0}
  .about__media{min-height:0;aspect-ratio:4/3}

  /* Services */
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .svc{min-height:240px}

  /* Performance */
  .perf{padding-bottom:clamp(220px,40vw,360px)}
  .perf__inner{grid-template-columns:1fr}
  .perf__copy,.perf__list{grid-column:1/-1}
  .perf__list{max-width:560px}

  /* Vehicles */
  .vgrid{grid-template-columns:repeat(2,1fr)}

  /* Why */
  .why__grid{grid-template-columns:1fr}
  .why__intro,.why__points{grid-column:1/-1}
  .why__intro{position:static}

  /* Location */
  .location{grid-template-columns:1fr 1fr}
  .location__info{padding-right:var(--gutter);padding-left:var(--gutter)}
  .location__map{grid-column:1/-1;order:3;min-height:420px}
  .location__cta{padding-left:clamp(28px,4vw,56px);padding-right:var(--gutter)}

  /* CTA band */
  .cta-band__inner{grid-template-columns:1fr;align-items:start}

  /* Footer */
  .footer__cols{grid-template-columns:1fr 1fr}
  .footer__col--contact{grid-column:1/-1}

  /* Services page */
  .svcpage{grid-template-columns:1fr}
  .svcpage__index,.svcpage__list{grid-column:1/-1}
  .svcpage__index{position:static}
  .svcpage__index ol{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}

  /* About page */
  .principles{grid-template-columns:1fr}
  .principle{min-height:0}
  .split{grid-template-columns:1fr}
  .split__media,.split__body{grid-column:1/-1}

  /* Vehicle detail */
  .vdetail__grid{grid-template-columns:1fr}
  .vpanel{position:static}
  .vdesc__text,.vdesc__feat{grid-column:1/-1}

  /* Contact */
  .contact__info,.form{grid-column:1/-1}
  .contact__info{grid-template-columns:1fr 1fr;column-gap:32px}
}

/* ---- Tablet portrait ------------------------------------------------------------- */
@media (max-width:768px){
  .section-head{grid-template-columns:1fr}
  .section-head__action{justify-self:start}
  .about__media{aspect-ratio:1/1}
  .location{grid-template-columns:1fr}
  .location__map{grid-column:auto;order:0;min-height:360px}
  .location__info{order:-1}
  .location__cta{padding:clamp(32px,8vw,56px) var(--gutter)}
  .footer__top{flex-direction:column;align-items:flex-start}
  .form{grid-template-columns:1fr}
  .contact__info{grid-template-columns:1fr}
  .svcpage__index ol{grid-template-columns:1fr}
  .svcrow{grid-template-columns:1fr}
  .svcrow__num{font-size:4.5rem}
}

/* ---- Phones ---------------------------------------------------------------------------- */
@media (max-width:640px){
  :root{--gutter:20px;--section-y:72px}
  body{font-size:1rem}

  .hero{padding-top:calc(var(--header-h) + 24px)}
  .hero__title{font-size:clamp(3.6rem,20.5vw,7.5rem);line-height:.84}
  .hero__title .mask-line{white-space:nowrap}
  .hero__cta{flex-direction:column}
  .hero__cta .btn{width:100%}
  .hero__img{object-position:68% 50%}
  .trust li{gap:12px;font-size:.75rem;letter-spacing:.12em}
  .trust .icon{width:26px;height:26px}

  /* Services become a technical menu list: number | icon | name | arrow */
  .services__grid{grid-template-columns:1fr}
  .svc{min-height:0;flex-direction:row;align-items:center;gap:16px;padding:16px 4px 16px 0;border-left:0}
  .services__grid{border-left:0}
  .svc__num{order:0;width:2.2ch;font-size:1.15rem}
  .svc__icon{order:1;margin:0;width:38px;height:38px}
  .svc__foot{order:2;flex:1;align-items:center}
  .svc__name{font-size:1.65rem}
  .svc:hover,.svc:focus-visible{transform:none;box-shadow:inset 3px 0 0 var(--red)}

  .perf__title{font-size:clamp(4rem,21vw,7rem)}
  .perf__list li{font-size:1.9rem}

  /* Home vehicle cards: swipeable row */
  .vgrid--scroller{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter) 22px;scroll-padding-left:var(--gutter);scrollbar-width:thin;scrollbar-color:#000 transparent;-webkit-overflow-scrolling:touch}
  .vgrid--scroller > *{flex:0 0 82%;scroll-snap-align:start}
  .vgrid--listing{grid-template-columns:1fr}
  .vcard:hover{transform:none}

  .stat{grid-template-columns:1fr;gap:6px}
  .about__media{aspect-ratio:4/5}
  .about__tag p{font-size:clamp(3rem,15vw,4.5rem)}

  .why__points{grid-template-columns:1fr}
  .why__point{min-height:0}

  .location__actions{max-width:none}
  .footer__cols{grid-template-columns:1fr;gap:36px}
  .footer__bottom{flex-direction:column}

  .form__group{grid-template-columns:1fr}
  .photos__grid{grid-template-columns:repeat(2,1fr)}
  .gallery__thumbs{grid-template-columns:repeat(4,1fr)}
  .vpanel__price{font-size:3.5rem}
  .btn{padding-inline:1.4rem}
  .btn-row .btn{flex:1 1 100%}
}

/* Touch devices: no sticky hover lifts */
@media (hover:none){
  .svc:hover,.vcard:hover{transform:none}
}
