/* Small typography and surface refinements on the approved reference layout. */
h1,h2{font-family:Georgia,'Times New Roman',serif}
.hero h1{font-family:Georgia,'Times New Roman',serif}
.process-card h3,.situation-card h3,.value-card h3{font-family:'DM Sans',Arial,sans-serif}
.contact-banner h2,.site-footer section h2{font-family:'DM Sans',Arial,sans-serif}
.process-card,.value-card{border-color:#e2e8ed;box-shadow:0 2px 8px #18304205}
.process-card{padding-top:calc(34 * var(--u))}
.process-card p{margin-top:calc(5 * var(--u))}
.value-card{padding-top:calc(10 * var(--u))}
.value-card p{margin-top:calc(6 * var(--u))}
.situation-card{box-shadow:0 2px 8px #18304204}
.hero-benefits>div{border-color:#dce5ec;box-shadow:0 2px 7px #18304208}
.offer-card{box-shadow:0 4px 16px #18304218}
.offer-card h2{font-size:calc(15 * var(--u))}
.faq-grid details{border-color:#e2e8ed;box-shadow:none}
.large-text .faq-grid summary,.large-text .faq-grid details p,.large-text .offer-form input,.large-text .form-group select{font-size:max(17px,calc(15 * var(--u)))}
@media(min-width:601px) and (max-width:900px){
 .process-card p,.situation-card p,.value-card p{font-size:max(11px,calc(11 * var(--u)));line-height:1.5}
 .process-card h3{font-size:max(12px,calc(13.5 * var(--u)))}
 .situation-card h3,.value-card h3{font-size:max(11px,calc(12 * var(--u)))}
 .process-card h3,.situation-card h3,.value-card h3{white-space:normal}
 .process-card{height:max(114px,calc(112 * var(--u)));padding-inline:5px}
 .process-section{height:max(calc(160 * var(--u) + 138px),calc(296 * var(--u)))}
 .situation-card{height:max(146px,calc(126 * var(--u)));padding-inline:5px}
 .situations-section{height:max(calc(80 * var(--u) + 170px),calc(233 * var(--u)))}
 .value-card{height:max(130px,calc(117 * var(--u)));padding-inline:5px}
 .values-section{height:max(calc(84 * var(--u) + 154px),calc(217 * var(--u)))}
 .faq-grid summary,.faq-grid details p{font-size:max(11px,calc(11.8 * var(--u)))}
 .faq-grid summary{height:auto;min-height:calc(36 * var(--u));padding-block:6px;line-height:1.4}
 .section-intro{font-size:max(12px,calc(12.5 * var(--u)))}
 .offer-form>input,.form-group select{font-size:max(11px,calc(10 * var(--u)))}
}
@media(max-width:600px){
 .process-card{padding-top:37px;height:auto;min-height:124px;padding-bottom:15px}
 .process-card p{margin-top:7px}
 .situation-card{padding:15px 9px 19px}
 .value-card{padding:14px 9px 19px}
 .value-card p{margin-top:6px}
 .process-section,.situations-section,.values-section{padding-block:30px}
 .offer-card h2{font-size:19px}
}
@media(max-width:350px){.offer-card h2{font-size:17px;white-space:normal;line-height:23px}.offer-form{top:100px}.offer-card{height:540px}}

/* Approved client branding. */
.brand{gap:calc(7 * var(--u))}
.client-roof{width:calc(55 * var(--u));height:calc(40 * var(--u));object-fit:contain;flex-shrink:0}
.client-brand-text{display:flex;flex-direction:column;white-space:nowrap;color:var(--logo-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.12}
.client-brand-text strong{font-size:calc(15 * var(--u));font-weight:750;letter-spacing:-.2px}
.client-brand-text>span{font-size:calc(11 * var(--u));letter-spacing:.45px}
.footer-brand{height:calc(90 * var(--u));background:#fff;border-radius:4px;padding:calc(6 * var(--u))}
.client-full{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.brand{gap:7px}.client-roof{width:55px;height:40px}.client-brand-text strong{font-size:15px}.client-brand-text>span{font-size:11px}.footer-brand{height:100px;padding:8px;width:210px}.contact-line{white-space:normal}}
/* Footer logo blends directly into the footer surface. */
.footer-brand{background:none;border-radius:0;padding:0}
.client-full{mix-blend-mode:lighten}
@media(max-width:600px){.footer-brand{padding:0}}
