/* Approved desktop styling remains authoritative. No declarations apply above 900px. */
@media (max-width:900px){
 .homepage{padding:8px;--header-surface-height:110px}
 .homepage .site-shell{width:100%;min-width:0;height:auto;display:block}
 .homepage header{height:auto;min-height:0;padding:14px 16px 8px;gap:8px 12px;align-items:center;flex-wrap:wrap}
 .homepage header .brand{width:clamp(180px,53vw,238px);max-width:calc(100% - 72px);left:auto;flex-shrink:1}
 .homepage .menu-toggle{flex:none;min-height:42px;padding:8px 10px;font-size:13px}
 .homepage nav{min-width:0;width:100%;margin:0;padding:6px 0 8px;gap:6px}
 .homepage nav.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .homepage nav>a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:40px;padding:8px 4px;font-size:12px;text-align:center}
 .homepage nav>.nav-cta{grid-column:1/-1;font-size:13px;min-height:42px;margin-top:3px}
 .homepage main,.interior-page main{height:auto;min-height:0;overflow:visible}
 .homepage .hero{min-height:0;padding:14px 18px 20px}
 .homepage .hero-copy{width:100%;min-width:0}
 .homepage .hero .eyebrow{font-size:clamp(11px,3.2vw,16px);line-height:1.3}
 .homepage .hero h1{font-size:clamp(32px,9.3vw,46px);line-height:.98;letter-spacing:-1px}
 .homepage .hero h1 span{max-width:100%;font-size:clamp(14px,4.1vw,21px);line-height:1.2;padding:6px 9px;white-space:normal}
 .homepage .residential{font-size:clamp(16px,4.3vw,21px);line-height:1.2}
 .homepage .description{font-size:13px;line-height:1.3;max-width:390px}
 .homepage .checks{font-size:13px;line-height:1.55}
 .homepage .checks li{white-space:normal}
 .homepage .kitchen-photo{opacity:.55;max-width:100%;object-fit:contain;object-position:right top}
 .homepage .hero-copy>.button{min-width:0;max-width:100%;min-height:44px;padding:11px 15px;font-size:clamp(14px,4.2vw,18px)}
 .homepage .hero-copy>.button .button-content{gap:8px}
 .homepage .hero .virtual{left:auto;right:auto;bottom:auto;max-width:100%;width:100%;margin:20px 0 0;padding:12px;gap:10px;transform:none}
 .homepage .hero .virtual>*{transform:none;min-width:0}
 .homepage .virtual .laptop{width:30%;flex:none}
 .homepage .virtual h2{font-size:clamp(18px,4.6vw,25px);line-height:1.03;letter-spacing:-.4px}
 .homepage .virtual p{font-size:12px;line-height:1.35}
 .homepage .features{height:auto;min-height:0;padding:7px 5px;grid-template-columns:repeat(4,minmax(0,1fr))}
 .homepage .features>div{min-width:0;gap:4px;flex-direction:column;text-align:center}
 .homepage .features img{width:24px;height:24px;flex:none}
 .homepage .features strong{font-size:clamp(8px,2.1vw,10px);line-height:1.2}
 .homepage .home-work,.services-expanded .services-tiles.home-work{height:auto;padding:20px 16px 22px}
 .homepage .home-services,.homepage .transformation{display:block;min-width:0}
 .homepage .section-title{display:flex;align-items:center;justify-content:center;gap:7px;font-size:clamp(19px,5.1vw,26px);line-height:1.3;letter-spacing:-.6px;white-space:normal;margin:0 0 14px;padding:2px 0}
 .homepage .section-title:before,.homepage .section-title:after{flex:0 1 16px;width:16px;margin:0;height:3px}
 .homepage .home-services .service-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;height:auto;gap:12px 9px}
 .homepage .home-services .service-card,.homepage .home-services .service-card:nth-child(5),.homepage .home-services .service-card:nth-child(6){grid-column:span 2;grid-template-rows:clamp(115px,30vw,170px) 44px;min-width:0}
 .homepage .home-services .service-card:nth-child(7){grid-column:3/span 2;grid-template-rows:clamp(115px,30vw,170px) 44px}
 .homepage .home-services .service-card h3,.homepage .home-services .service-card:nth-child(7) h3{height:44px;min-height:44px;font-size:12px;line-height:1.12;padding:4px 5px}
 .homepage .home-services .service-card:nth-child(4) h3,.homepage .home-services .service-card:nth-child(6) h3{font-size:10.5px}
 .homepage .home-services .service-card img,.services-expanded .services-tiles .service-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
 .services-expanded .services-tiles .service-photo{height:100%;min-height:0}
 .services-expanded .services-tiles .see-gallery{width:120px;max-width:calc(100% - 12px);height:30px;bottom:10px;font-size:11px}
 .homepage .transformation{margin-top:24px;padding:0;border:0}
 .homepage:not(.interior-page) .before-after-pair{height:clamp(225px,68vw,340px);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .homepage .before-after-pair .tag{font-size:13px;height:34px;min-height:34px}
 .homepage .comparison-details:not([open]){position:static;margin:9px 0 0;line-height:1.3;font-size:11px;text-align:right}
 .homepage .comparison-details[open]{position:relative;inset:auto;width:100%;margin:12px 0 0;padding:10px}
 .homepage .comparison-details .compare{width:100%;height:220px}
 .homepage .contact-banner{grid-template-columns:70px minmax(0,1fr);gap:13px 8px;padding:18px 16px 28px;min-height:0}
 .homepage .contact-banner:before{width:110px;background-size:auto 100%;background-position:right center}
 .homepage .contact-banner:after{width:135px}
 .homepage .banner-message{grid-column:2;grid-row:auto;padding:0;min-width:0}
 .homepage .contact-banner h2{font-size:clamp(21px,5.5vw,28px);line-height:1.03;letter-spacing:-.5px}
 .homepage .contact-banner p{font-size:12px;line-height:1.5;white-space:normal}
 .homepage .banner-areas{grid-column:1/-1;grid-row:auto;padding:0;text-align:center;border:0}
 .homepage .contact-banner .banner-areas p{font-size:11px;white-space:normal;line-height:1.6}
 .homepage .banner-areas strong{font-size:11px}
 .homepage .contact-banner .banner-contact{grid-column:1/-1;grid-row:auto;padding:0;min-width:0;align-items:center;gap:10px}
 .homepage .contact-banner .phone{width:min(100%,310px);min-width:0;max-width:100%;font-size:clamp(21px,6vw,29px);padding:11px 8px;line-height:1.15}
 .homepage .contact-banner .phone .button-content{transform:translateY(-2px);max-width:100%}
 .homepage .contact-banner .banner-contact .email{max-width:100%;font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;text-align:center}
 .homepage .banner-credit{right:12px;bottom:7px;max-width:calc(100% - 24px);font-size:9px;line-height:1.2}
 .interior-page .page-intro{padding:20px 16px 22px;min-width:0}
 .interior-page .page-intro h1{font-size:clamp(25px,6.8vw,34px);line-height:1.2;letter-spacing:-.7px;overflow-wrap:normal;padding-bottom:2px}
 .interior-page .page-intro .eyebrow{font-size:13px;line-height:1.3}
 .interior-page .page-intro p:last-child{font-size:14px;line-height:1.5}
 .interior-page .inner{padding:22px 16px;min-width:0}
 .interior-page .interior-cta{padding:20px 16px;gap:16px;text-align:center;flex:none}
 .interior-page .interior-cta .button{max-width:100%;font-size:15px;min-height:44px}
 .interior-page .gallery-grid.gallery-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
 .interior-page .gallery-projects .gallery-item{min-width:0}
 .interior-page .gallery-projects .gallery-item h2{font-size:18px;line-height:1.2;margin-bottom:10px}
 .interior-page .gallery-projects .gallery-compare{height:245px}
 .filters{gap:7px;margin-bottom:18px}
 .filters button{min-height:40px;padding:8px 12px;font-size:12px}
 .gallery-photo-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);padding:42px 12px 14px}
 .gallery-photo-dialog img{min-width:0;max-width:100%;max-height:75dvh;width:auto;height:auto}
 .gallery-photo-dialog .dialog-close{min-width:40px;min-height:40px}
 .interior-page .about-grid,.interior-page .contact-grid{grid-template-columns:minmax(0,1fr);gap:22px}
 .interior-page .about-grid h2,.contact-grid aside h2{font-size:25px;line-height:1.2}
 .interior-page .about-grid p,.interior-page .contact-grid aside p{font-size:15px;line-height:1.6}
 .interior-page .about-photo{height:auto;max-height:none;object-fit:contain}
 .contact-grid aside .phone{font-size:clamp(24px,6.2vw,29px)}
 .contact-grid aside .email{font-size:14px;overflow-wrap:anywhere}
 .interior-page .production-estimate,.interior-page .form-grid,.interior-page .form-grid>*{min-width:0;max-width:100%}
 .interior-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .interior-page .form-grid input,.interior-page .form-grid select,.interior-page .form-grid textarea{font-size:16px;min-height:44px;padding:10px;box-sizing:border-box;max-width:100%}
 .interior-page .form-grid textarea{min-height:130px}
 .production-estimate>.button{max-width:100%;min-height:44px;font-size:15px}
}
@media(max-width:600px){
 .homepage .home-services .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .homepage .home-services .service-card:nth-child(7){grid-column:2/span 2}
 .interior-page .gallery-grid.gallery-projects{grid-template-columns:minmax(0,1fr)}
 .interior-page .form-grid{grid-template-columns:minmax(0,1fr)}
 .interior-page .form-grid .wide{grid-column:1}
}
