/* Premium layouts: maintain readable type and generous touch targets. */
@media(max-width:1200px){
 .container{width:calc(100% - 64px)}
 .topbar-inner{flex-wrap:wrap;justify-content:center;gap:8px 26px}
 .navigation{gap:20px}.navigation nav{gap:20px;font-size:15px}
 .brand{font-size:27px}.nav-query{padding:13px 18px;font-size:15px}
 .slide{gap:40px;min-height:640px}.hero-photo>img{height:460px}
 h1,.hero-title{font-size:58px}.hero .eyebrow{font-size:11px;letter-spacing:1.3px}
 .hero-copy>p{font-size:18px}.photo-badge{left:-18px;padding:17px 20px}
 .care-strip>.container{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}
 .about,.why,.contact{gap:45px}.section{padding-block:85px}
 .service-body{padding:34px 23px 25px}.service-body h3{font-size:21px}
 .why-photo>img{height:700px}
 .footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:42px;align-items:start}
 .footer-grid>div:last-child{grid-column:2/4}
 .compact .form-grid{grid-template-columns:1fr 1fr}
 .compact .form-grid>label:nth-child(3){grid-column:1/-1}
 .appointment{padding:45px}.appointment h2{font-size:33px}
}
@media(max-width:960px){
 .container{width:calc(100% - 48px)}
 .navigation{height:88px;gap:15px}
 .brand{font-size:25px}.brand small{font-size:8px}
 .navigation nav{gap:14px;font-size:14px}.nav-query{font-size:14px;padding:12px 16px;gap:10px}
 .slide{gap:28px;min-height:620px}h1,.hero-title{font-size:49px;letter-spacing:-2px}
 .hero-photo>img{height:435px;border-radius:70px 20px 70px 20px}
 .hero .eyebrow{font-size:10px;letter-spacing:1px}
 .photo-badge{left:-10px;font-size:14px;padding:15px}.photo-badge small{font-size:12px}
 .hero-trust{font-size:14px}.hero-trust small{font-size:12px}.photo-caption{font-size:9px}
 .about{gap:32px}.about-visual>img{height:460px}h2{font-size:37px}
 .experience{padding:20px;gap:15px}.experience>span{font-size:14px}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .why,.contact{grid-template-columns:1fr;gap:40px}
 .why-photo>img{height:460px}.benefits{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gallery-grid{gap:16px}.gallery-item{border-radius:16px}
 .appointment{flex-direction:column;align-items:flex-start;gap:25px}
 .appointment>div:last-child{display:flex;align-items:center;gap:30px}
 .contact-panel{padding:36px}.contact-details{grid-template-columns:1fr 1fr;gap:25px}
 .map-placeholder{height:230px}
}
@media(max-width:760px){
 .container{width:calc(100% - 40px)}
 .topbar-inner{font-size:12px;gap:7px 15px;padding-block:12px}
 .topbar-inner>span:first-child{width:100%;justify-content:center}
 .topbar-inner .icon{width:14px;height:14px}
 .navigation{height:82px;gap:12px}
 .brand{font-size:25px;gap:9px}.brand img{width:40px;height:40px}
 .brand small{font-size:7px;letter-spacing:1.1px;margin-top:6px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;flex-shrink:0;background:#eff7f4;border:1px solid #d7e8e1;border-radius:12px;order:3;padding:10px;margin-left:auto}
 .menu-toggle span{height:2px;width:20px;background:var(--navy);border-radius:2px}
 .menu-toggle[aria-expanded=true]{background:#dceee8;border-color:var(--teal)}
 .nav-query{font-size:13px;padding:10px 13px;min-height:46px;gap:7px;white-space:nowrap}
 .nav-query .icon{width:15px}
 .navigation nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:16px 20px 22px;box-shadow:0 18px 25px #123c4815;border-top:1px solid var(--line)}
 .navigation nav.open{display:flex;flex-direction:column;gap:5px}
 .navigation nav a{padding:12px 16px;font-size:17px;border-radius:10px}
 .navigation nav a.active{background:var(--mint)}.navigation nav a.active:after{display:none}
 .slide{grid-template-columns:1fr;gap:34px;padding-block:42px 95px;min-height:910px;align-content:start}
 .hero-copy{max-width:580px}.hero .eyebrow{font-size:11px;letter-spacing:1.1px;margin-bottom:20px}
 h1,.hero-title{font-size:clamp(44px,7.8vw,60px);letter-spacing:-2px;margin-bottom:24px;line-height:1.12}
 .hero-copy>p{font-size:17px;margin-bottom:25px;max-width:490px;line-height:1.75}
 .hero-trust{margin-top:24px;font-size:15px}.hero-trust small{font-size:13px}
 .hero-photo{width:100%;max-width:580px;justify-self:center;padding-bottom:26px}
 .hero-photo>img{height:350px;border-radius:60px 20px 60px 20px}
 .photo-badge{left:14px;bottom:43px;padding:16px 18px;font-size:15px}.photo-badge small{font-size:12px}
 .photo-caption{font-size:9px;right:12px;letter-spacing:1.3px}
 .slider-controls{bottom:25px;gap:12px}
 .care-strip>.container{grid-template-columns:1fr 1fr;gap:18px 16px;font-size:13px;padding-block:25px}
 .care-strip a{font-size:13px;grid-column:1/-1;padding-top:15px;border-top:1px solid var(--line)}
 .care-strip .icon{width:20px;height:20px}
 .section{padding-block:64px}
 .about,.why,.contact{grid-template-columns:1fr;gap:36px}
 .about-visual{padding:0 16px 16px 0;max-width:580px}.about-visual>img{height:390px}
 .about-visual:before{left:-8px}.experience{bottom:35px;padding:22px 25px;gap:18px}
 .experience strong{font-size:48px}.experience>span{font-size:15px}
 h2{font-size:clamp(33px,5.7vw,42px);letter-spacing:-1.2px;line-height:1.2}
 .eyebrow{font-size:12px;letter-spacing:1.7px}.section-copy p{font-size:17px}
 .check-list li{font-size:16px}.check-list .icon{flex-shrink:0}
 .stats-grid{grid-template-columns:1fr 1fr;gap:28px 10px;padding-block:36px}
 .stats-grid>div:nth-child(2){border:0}.stats strong{font-size:39px}.stats span{font-size:14px}
 .section-heading{display:block;margin-bottom:30px}.section-heading .button{margin-top:20px}
 .services-grid{grid-template-columns:1fr 1fr;gap:18px}
 .service-image>img{height:185px}.service-body{padding:32px 20px 23px}
 .service-body h3{font-size:21px}.service-body p{font-size:15px}.service-body a{font-size:14px}
 .service-image>span{right:15px;padding:8px;border-radius:13px}
 .benefits{grid-template-columns:1fr 1fr;gap:15px}.benefits>div{padding:20px}
 .benefits h3{font-size:17px}.benefits p{font-size:14px}
 .why-photo>img{height:400px}.why-note{left:18px;right:18px;bottom:18px;padding:18px}
 .why-note strong{font-size:16px}.why-note small{font-size:12px}
 .gallery-grid{grid-template-columns:1fr 1fr;gap:14px}.gallery-item{aspect-ratio:1.15;border-radius:16px}
 .gallery-item>span small{font-size:13px}
 .appointment{margin-top:45px;padding:35px 28px;border-radius:24px;gap:25px}
 .appointment h2{font-size:33px}.appointment p{font-size:16px}
 .appointment>div:last-child{display:grid;justify-items:start;gap:18px;width:100%}
 .appointment-phone{font-size:22px}
 .contact-details{grid-template-columns:1fr;gap:23px}.contact-details>div{font-size:16px}
 .contact-panel{padding:28px;border-radius:22px}.contact-panel h3{font-size:26px}
 .map-placeholder{height:220px}.form-grid{gap:18px}
 .footer{padding-top:55px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 24px;padding-bottom:35px}
 .footer-grid>div:first-child,.footer-grid>div:nth-child(4),.footer-grid>div:last-child{grid-column:1/-1}
 .footer-grid>div:first-child p{max-width:440px;font-size:16px}
 .footer-grid h3{font-size:19px;margin-bottom:20px}.footer p,.footer li{font-size:15px}
 .footer-grid>div:nth-child(4){padding-block:25px;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20}
 .footer-grid>div:nth-child(4) p{margin-block:12px}
 .footer-grid>div:last-child{background:#ffffff06;border:1px solid #ffffff15;padding:25px;border-radius:20px}
 .compact input,.compact textarea{font-size:16px;padding:13px}.compact label{font-size:14px}
 .compact .button{font-size:16px;min-height:52px}.compact .form-note{font-size:13px}
 .footer-bottom{flex-direction:column;gap:10px;font-size:13px;line-height:1.8}
 dialog{padding:35px 25px;border-radius:22px;max-height:88dvh}dialog h2{font-size:32px}
 dialog .eyebrow{max-width:calc(100% - 30px)}
 #back-top{width:46px;height:46px;right:16px;bottom:16px;border-radius:13px}
}
@media(max-width:540px){
 .services-grid{grid-template-columns:1fr;gap:24px}
 .service-image>img{height:235px}.service-body{padding:34px 25px 25px}
 .service-body h3{font-size:24px}.service-body p{font-size:16px}.service-body a{font-size:15px}
 .form-grid,.compact .form-grid{grid-template-columns:1fr}
 .compact .form-grid>label:nth-child(3){grid-column:auto}
 .contact-panel{padding:25px}
 .benefits h3{font-size:16px}.benefits>div{padding:17px 15px}
 .gallery-item{aspect-ratio:1/1}.gallery-grid{gap:12px}
 .navigation{display:grid;grid-template-columns:1fr auto;height:80px}
 .menu-toggle{margin-left:0;order:initial}.nav-query{display:none}
 .navigation nav.open .mobile-query{display:inline-flex;margin-top:10px;width:100%;font-size:16px}
 .navigation .brand{font-size:27px}.navigation .brand small{font-size:8px}
 .navigation .brand img{width:43px;height:43px}
 .slide{min-height:935px}.hero-photo>img{height:310px}
 .hero .eyebrow{font-size:10px}.hero-trust{font-size:14px}.hero-trust small{font-size:12px}
 .photo-badge{font-size:14px;padding:14px;gap:10px}.photo-badge small{font-size:12px}
 .photo-caption{font-size:8px;letter-spacing:1px}
 .care-strip>.container{font-size:12px;gap:16px 12px}.care-strip span{align-items:flex-start}
 .care-strip a{font-size:13px}.care-strip a .icon:last-child{margin-left:auto}
 .about-visual>img{height:340px}.why-photo>img{height:350px}
 .why-note strong{font-size:15px}.why-note small{font-size:12px}
 .appointment .button{width:100%;gap:15px}.appointment h2{font-size:31px}
 .footer-grid{gap:30px 18px}.footer h3{font-size:17px}.footer p,.footer li{font-size:14px}
 .footer-grid>div:last-child{padding:22px}
}
@media(max-width:360px){
 .container{width:calc(100% - 32px)}
 .topbar-inner{font-size:11px;gap:7px 12px}
 .navigation .brand{font-size:25px}.navigation .brand small{font-size:7px}
 h1,.hero-title{font-size:41px}.hero .eyebrow{font-size:9px;letter-spacing:.9px}
 .hero-copy>p{font-size:16px}.hero-trust small{font-size:11px}
 .slide{min-height:940px}.hero-photo>img{height:285px}.photo-badge{left:10px;font-size:13px}
 .photo-badge small{font-size:11px}.photo-caption{font-size:7px}
 h2{font-size:31px}.eyebrow{font-size:11px}
 .benefits{grid-template-columns:1fr}.benefits>div{padding:20px}
 .benefits h3{font-size:18px}.benefits p{font-size:15px}
 .stats strong{font-size:35px}.stats span{font-size:13px}
 .contact-panel{padding:20px}.appointment{padding:30px 22px}
 .appointment-phone{font-size:20px}.appointment h2{font-size:29px}
 .footer h3{font-size:16px}.footer p,.footer li{font-size:13px}
}

@media(max-width:960px){.navigation .brand img{width:200px;height:68px}.navigation{gap:12px}}
@media(max-width:760px){.navigation .brand img{width:220px;height:73px}.footer .brand{margin-bottom:20px}}
@media(max-width:360px){.navigation .brand img{width:210px;height:70px}}
