@media(max-width:1024px){.g3,.g4{grid-template-columns:repeat(2,1fr)}.trust{grid-template-columns:repeat(2,1fr)}.hero-photo{width:42%}.detail{grid-template-columns:1fr}.panel{position:static}}
@media(max-width:820px){
 .burger{display:block}
 .menu{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:18px 4%;gap:14px;box-shadow:0 12px 20px rgba(0,0,0,.1);display:none}
 .menu.open{display:flex}.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
 .hero{padding:44px 0 92px}.hero-text{max-width:none}
 .hero-photo{position:relative;top:auto;right:auto;width:94%;height:auto;aspect-ratio:4/3;max-height:420px;margin:30px auto 0;border:4px solid var(--green);border-radius:22px;transform:none}
 .hero-photo img{object-position:center 30%}
 .hero .container{display:flex;flex-direction:column}.hero-wave{height:56px}.tb-loc{display:none}
}
@media(max-width:600px){.g2,.g3,.g4,.trust,.fgrid,form .row{grid-template-columns:1fr}.section{padding:56px 0}.topbar .container{font-size:.85rem}.btn{width:100%;justify-content:center}.nav-cta{width:auto}.fl{width:54px;height:54px}}
@media(max-width:820px){.hero-dots{bottom:12px;padding-left:0}}
@media(max-width:900px){.sx-grid{grid-template-columns:1fr;gap:36px}.sx-visual{min-height:420px}}
@media(max-width:600px){.sx{padding:56px 0}.sx-visual{min-height:360px;padding:28px}.sx-item{padding-right:50px}}

/* ===== Mobile / tablet polish ===== */
body{overflow-x:clip}
@media(min-width:821px) and (max-width:1024px){.hero-text{max-width:54%}.hero h1{font-size:clamp(2rem,4.2vw,2.6rem)}}
@media(max-width:820px){
 .sec-head{margin-bottom:34px}
 .sec-head h2{font-size:clamp(1.7rem,6.4vw,2.3rem)}
 .sec-head p{font-size:1.02rem}
 .sx-top h2{font-size:clamp(1.7rem,6.4vw,2.2rem)}
 .why-txt h2{font-size:clamp(1.6rem,6vw,2.1rem)}
 .cta-banner{padding:52px 0}.cta-banner h2{font-size:clamp(1.5rem,6vw,2rem)}
 .page-hero{padding:48px 0 70px}.page-hero h1{font-size:clamp(1.6rem,6.4vw,2.3rem);line-height:1.2}
 .page-hero p{font-size:1rem}
}
@media(max-width:600px){
 .topbar{font-size:.78rem}.topbar .container{flex-wrap:wrap;justify-content:center;gap:2px 16px;padding:6px 0;text-align:center}
 .hero{padding:34px 0 86px}
 .hero-kicker{font-size:.95rem;margin-bottom:8px}
 .hero h1{font-size:clamp(1.6rem,7.4vw,1.95rem);line-height:1.22;margin-bottom:14px}
 .hero p{font-size:1rem;line-height:1.6;margin-bottom:22px}
 .hero-btns{gap:10px}
 .btn{padding:13px 20px;font-size:1rem}
 .hero-photo{margin-top:26px;border-radius:18px}
 .sec-head h2{letter-spacing:0}
 .section{padding:48px 0}
 .svc-b h3{font-size:1.2rem}.svc-b{padding:44px 10px 12px}.svc-btn{min-width:0;width:100%}
 .svc-ic{width:52px;height:52px;font-size:1.3rem;bottom:-26px}
 .sx-head{font-size:1rem}.sx-body p{font-size:.92rem}
 .sx-chip{left:14px;bottom:14px;padding:9px 14px;font-size:.9rem;max-width:calc(100% - 28px)}
 .why-img img{border-radius:16px}
 .checks li{font-size:1rem}
 .trust{margin-top:-40px;gap:12px}.trust div{padding:16px}
 .card-b{padding:18px}.card-b h3{font-size:1.15rem}
 .page-hero .hero-wave{height:40px}
 .fl{width:50px;height:50px;font-size:1.4rem}
}
@media(max-width:380px){
 .hero h1{font-size:1.55rem}
 .logo .logo-txt{font-size:1rem}
}

/* Mobile: hide the services photo box, make testimonials an accordion */
@media(max-width:820px){
 .sx-visual{display:none}
 .sx-grid{gap:0}
 .t-grid{grid-template-columns:1fr;gap:12px}
 .t-card{padding:0;gap:0;overflow:hidden}
 .t-card:hover{transform:none}
 .t-head{cursor:pointer;padding:14px 18px}
 .t-head>div{flex:1;min-width:0}
 .t-head small{display:block}
 .t-chev{display:block;flex:none;color:var(--green-d);font-size:.9rem;transition:transform .3s}
 .t-card.open .t-chev{transform:rotate(180deg)}
 .t-card.open{box-shadow:0 8px 24px rgba(15,33,71,.12)}
 .t-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
 .t-body>div{overflow:hidden;min-height:0;padding:0 18px}
 .t-card.open .t-body{grid-template-rows:1fr}
 .t-card.open .t-body>div{padding-bottom:18px}
 .t-av{width:42px;height:42px}
}
