/* Readability revision: clear type, generous controls, and quieter hierarchy. */
body{font-size:18px;line-height:1.65}
:root{--muted:#42516a}
.preview{font-size:16px;letter-spacing:.6px;padding:10px}
.nav nav>a:not(.button),.header-phone{font-size:17px}
.nav{gap:24px}.nav nav{gap:22px}
.button,.text-link,.menu,.copy-button{font-size:18px;line-height:1.4;min-height:48px}
.text-link{padding:10px 0}
h1{font-size:clamp(52px,6.2vw,84px);letter-spacing:-2px;line-height:1.1}
h2{letter-spacing:-.8px;line-height:1.2}
h3{font-size:27px;letter-spacing:0;line-height:1.3}
.hero .eyebrow{font-size:20px;letter-spacing:1px;max-width:620px}
.hero-bottom{font-size:18px;letter-spacing:.6px;flex-wrap:wrap;gap:14px 28px}
.hero-bottom span{background:#12274be8;padding:8px 12px;border-radius:3px}
.eyebrow{font-size:15px;letter-spacing:1px;line-height:1.5}
.hero-intro:empty{display:none}
.section-heading>p,.card-body p:not(.eyebrow),.property-grid p,.steps p,details p,.insurance-note p{font-size:18px;line-height:1.7}
.steps h3,.insurance-note h3{font-size:24px}
.small,.footer-bottom,.contact-person>span,.steps li>span{font-size:16px;line-height:1.6}
.paint-art>span,.roof-art>span{font-size:14px;letter-spacing:.7px}
summary{font-size:20px;line-height:1.5;padding:5px 12px 5px 0}
label{font-size:17px;margin:22px 0}
input,select,textarea{font-size:18px;padding:14px;min-height:52px;border-color:#77859a}
.contact-grid{gap:52px;grid-template-columns:1fr 1.2fr}
.contact-person a{overflow-wrap:anywhere}
.contact-address{font-style:normal;font-size:18px;line-height:1.7;margin-top:28px;padding-top:22px;border-top:1px solid #aab8cc}
.contact-address strong{display:block;margin-bottom:4px}
.footer-bottom{flex-wrap:wrap}
@media(max-width:1050px){.contact-grid{gap:32px}.nav nav{gap:16px}}
@media(max-width:900px){
 .nav{height:76px;justify-content:space-between}
 .menu{display:flex;gap:13px;border:1px solid #77859a;background:white;padding:10px 14px;color:var(--navy)}
 .nav nav{display:none;position:absolute;top:76px;left:0;right:0;padding:24px;background:white;box-shadow:0 12px 15px #12274b18}
 .nav nav.open{display:flex;flex-direction:column;align-items:stretch}
 .nav nav>a{padding:10px}
 .contact-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}
 .hero{min-height:0}.hero-content{padding:40px 0}
 .hero .eyebrow{font-size:18px;letter-spacing:.6px}
 h1{font-size:clamp(44px,11vw,68px);letter-spacing:-1.2px}
 .hero-bottom{font-size:17px;gap:10px;align-items:flex-start}
 .eyebrow{font-size:15px;letter-spacing:.7px}
 .contact-grid{grid-template-columns:1fr}
 .contact form{padding:24px 20px}.contact-phone{font-size:30px}
 .button{max-width:100%;text-align:center}
 .footer-bottom{font-size:16px}
}
