/* V15 mobile finishing. House dimensions stay identical for every service. */
.scene-plan{background:#2563eb;box-shadow:0 8px 24px #2563eb18}.scene-plan:hover{background:#1d55d0}
.estimate-copy h2{font-size:clamp(34px,3.7vw,51px);line-height:1.12}.estimate-copy h2 span{display:block}
.footer-main{grid-template-columns:1.2fr 1fr;align-items:start;gap:48px}.footer-brand p{max-width:260px;font-size:18px;margin-bottom:0}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px}.footer-links a{font-size:13px;min-height:44px;display:flex;align-items:center;padding:0}.footer-bottom{margin-top:30px}.footer-bottom .footer-legal{display:flex;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;gap:8px 25px;padding:0}.footer-legal a{font-size:11px;min-height:36px;display:flex;align-items:center}.footer-bottom p{max-width:880px;margin:12px 0;font-size:10px}.footer-bottom>div:last-child{align-items:center}
.contact-page{min-height:80svh;padding:150px 24px 90px;background:linear-gradient(#d5ebf5,#f0f6f5)}.contact-content{max-width:720px;margin:auto}.contact-content h1{font-weight:450;font-size:clamp(40px,7vw,66px);letter-spacing:-2px;margin:15px 0}.contact-content>p{font-size:16px;line-height:1.7;max-width:500px;color:#617e8b}.contact-card{padding:28px;background:#ffffffcf;border:1px solid white;border-radius:25px;margin-top:35px}.contact-card h2{font-size:20px;font-weight:500}.contact-card p{font-size:14px;line-height:1.7;color:#617e8b}.contact-card a{color:var(--blue)}.contact-nav{display:flex;gap:25px;font-size:13px}.contact-card .primary-link{color:#fff;margin-top:12px}
@media(max-width:700px){
html{scrollbar-gutter:auto}.world{padding-top:100px}.island-stage{height:calc(100vw + 165px);margin-top:20px}.island-motion{top:91px;width:calc(100% + 24px);left:-12px;max-width:none}
.service-choice{max-width:48%;min-height:43px;padding:9px 12px;font-size:11px;gap:6px}
.service-choice[data-zone=roof]{left:3%;top:0;bottom:auto;right:auto}
.service-choice[data-zone=attic]{right:2%;top:0;bottom:auto;left:auto}
.service-choice[data-zone=comfort]{left:0;top:55px;bottom:auto;right:auto}
.service-choice[data-zone=spray]{right:0;top:55px;bottom:auto;left:auto}
.service-choice[data-zone=windows]{left:0;top:auto;bottom:57px;right:auto}
.service-choice[data-zone=floor]{right:0;top:auto;bottom:57px;left:auto}
.service-choice[data-zone=outside]{left:50%;top:auto;bottom:0;right:auto;translate:-50% 0!important}
.project-picker{margin-top:16px}.scroll-cue{margin-top:10px}.estimate-copy h2{font-size:36px}.site-footer{padding:34px 24px 24px}.footer-main{grid-template-columns:1fr;gap:25px}.footer-brand p{max-width:none;font-size:16px;line-height:1.55;margin-top:14px}.footer-brand img{width:150px}.footer-links{gap:0 20px;border-top:1px solid #dce7e9;padding-top:18px}.footer-links a{font-size:13px;min-height:44px}.footer-bottom{margin-top:18px;padding-top:13px}.footer-bottom .footer-legal{gap:0 16px}.footer-legal a{font-size:10px}.footer-bottom p{font-size:10px;line-height:1.65}.footer-bottom>div:last-child{align-items:flex-start;gap:8px;font-size:10px}.contact-page{padding-top:115px}.contact-nav{gap:15px;font-size:12px}}
@media(max-width:360px){.island-motion{width:calc(100% + 16px);left:-8px}.service-choice{font-size:10px;padding-inline:10px}.estimate-copy h2{font-size:32px}}

/* V16: quieter transitions and service labels closer to the rooftop. */
.world{min-height:0;padding-bottom:24px}.estimate-section{padding-top:65px;padding-bottom:80px}
@media(max-width:700px){.world{padding-bottom:12px}.estimate-section{padding-top:40px;padding-bottom:48px}.service-choice[data-zone=roof],.service-choice[data-zone=attic]{top:20px}.service-choice[data-zone=comfort],.service-choice[data-zone=spray]{top:91px}.speech-bubble #expert-question::placeholder{font-size:14px}}
