/* Responsive rules — desktop-first overrides, tested at 1440 / 1280 / 1024 / 768 / 480 / 360 */
@media (min-width:1500px){
  .container{width:min(1320px,100% - 4rem)}
}
@media (max-width:1100px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-inner{gap:2rem}
  .float-chip.c1{left:-2%}
  .float-chip.c2{right:-2%}
}
@media (max-width:960px){
  :root{--header-h:68px}
  .site-header{backdrop-filter:none;background:#fff}
  .menu-toggle{display:inline-flex}
  .nav{position:fixed;inset:var(--header-h) 0 0 0;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:1rem;padding:1.2rem 1.25rem 2rem;overflow-y:auto;opacity:0;transform:translateY(-14px);visibility:hidden;transition:transform .45s var(--ease),opacity .35s,visibility .45s}
  .nav.is-open{opacity:1;transform:none;visibility:visible}
  .nav-list{flex-direction:column;align-items:stretch;gap:.2rem}
  .nav-link{width:100%;justify-content:space-between;padding:.95rem .9rem;font-size:1.05rem;border-bottom:1px solid var(--line);border-radius:0}
  .nav-link::after{display:none}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 .6rem;min-width:0;max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
  .has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible}
  .has-sub.is-open .submenu{max-height:600px}
  .nav .btn{width:100%}
  .hero-inner,.page-hero-inner,.split,.contact-grid{grid-template-columns:1fr}
  .hero-visual{order:-1}
  .hero-card{width:min(240px,60%)}
  .float-chip{font-size:.72rem;padding:.4rem .65rem}
  .float-chip.c1{top:0;left:6%}
  .float-chip.c2{bottom:8%;right:4%}
  .float-chip.c3{display:none}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .split{gap:2.2rem}
  body.menu-open{overflow:hidden}
}
@media (max-width:640px){
  .container{width:calc(100% - 2rem)}
  .grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}
  .grid{gap:1.2rem}
  .brand img{width:44px;height:44px}
  .brand-text strong{font-size:.95rem}
  .brand-text span{font-size:.58rem;letter-spacing:.24em}
  .btn-row .btn{width:100%}
  .card{padding:1.4rem}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .cta-band{flex-direction:column;align-items:flex-start;border-radius:20px}
  .cta-band .btn{width:100%}
  .dialog-body{padding:1.2rem 1.2rem 1.6rem}
  .wa-float{width:52px;height:52px}
  .to-top{bottom:80px;right:20px}
  .filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem;margin-inline:-1rem;padding-inline:1rem;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filter-btn{white-space:nowrap}
  .form-card{padding:1.3rem}
}
@media (max-width:380px){
  h1{font-size:1.95rem}
  .brand-text span{display:none}
}
@media (hover:none){
  .card:hover{transform:none}
}
@media print{
  .site-header,.site-footer,.wa-float,.to-top,.cta-band{display:none}
}

/* Larger, more useful hero service photography on tablet and mobile layouts. */
@media (max-width:960px){
  .hero-card{width:min(500px,100%);aspect-ratio:1.22}
  .hero-visual{width:100%;max-width:560px;margin-inline:auto}
}
@media (max-width:640px){
  .hero-card{width:100%;aspect-ratio:1.12}
  .hero-inner{padding-top:2.5rem}
}
