/* 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}
}

/* Painting service visual: generated before/after comparison. */
.paint-art{background:url('paint-before-after.png') center/cover no-repeat!important}
.paint-art .palette-board{display:none!important}
.paint-art>span{font-size:0!important}
.paint-art>span::after{content:'BEFORE / AFTER';font-size:14px;letter-spacing:.7px}
@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}
}

/* Blue Bear identity */
:root{--navy:#173a56;--orange:#e8b46a;--blue:#2c6d91;--pale:#e1edf2;--paper:#faf8f3;--muted:#40556a}.brand span{font-size:27px;letter-spacing:.2px;line-height:1}.brand small{font-size:8px;letter-spacing:2px;margin-top:8px}.brand img{width:52px;height:52px}.hero-shade{background:linear-gradient(90deg,#112e46f2,#112e46b0 45%,#112e461a)}h1{font-size:clamp(48px,5.4vw,77px);max-width:850px;letter-spacing:-2px}.hero h1 em{color:#f1c886}.button{background:var(--orange);color:#102d44}.button:hover{background:#f4ca8b}.blue-preview{font-size:14px;text-align:center;padding:8px 20px;background:#e8b46a;color:#173a56}.contact-grid{grid-template-columns:.9fr 1.2fr}.roof-art{background:url("roof-exterior.webp") center/cover no-repeat}.address-field input{font-size:18px}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.brand span{font-size:25px}}@media(max-width:700px){h1{font-size:48px;line-height:1.12}.brand span{font-size:23px}.brand small{font-size:7px}.brand img{width:44px;height:44px}.hero .eyebrow{font-size:16px}.hero-bottom{font-size:15px}.blue-preview{font-size:12px}}
