.roof-hero{background:#101c2e;color:#fff;padding:90px 0 80px}.roof-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.roof-hero h1{font-size:clamp(46px,5.8vw,78px);line-height:1.03;letter-spacing:-.055em;margin:24px 0}.roof-hero h1 span{color:#a7c8dd}.roof-hero .lede{color:#c0cbd8;font-size:19px;max-width:580px}.roof-hero .eyebrow{color:#a7c8dd}.roof-hero .button{background:#fff;color:#101c2e}.roof-secondary{color:#d8e3ee;font-size:14px}.roof-note{font-size:13px;color:#b5c6d6;margin-top:25px}.request-card{background:#f6f8fa;color:#16273b;padding:35px;border-radius:22px;box-shadow:0 25px 70px #0003;transform:rotate(1deg)}.request-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em}.request-dot{width:8px;height:8px;border-radius:50%;background:#547e8b}.request-card h2{font-size:35px;letter-spacing:-.04em;margin:28px 0}.request-card dl{margin:0}.request-card dl div{border-top:1px solid #d8dfe5;padding:17px 0;display:grid;grid-template-columns:100px 1fr;gap:12px}.request-card dt{font-size:12px;color:#597084}.request-card dd{margin:0;font-size:14px;line-height:1.5}.request-card>p{font-size:11px;color:#627386}.roof-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:45px}.roof-steps article{border-top:1px solid #cdd6df;padding-top:22px}.roof-steps article>span{font-size:11px;letter-spacing:.1em;color:#607083}.roof-steps h3{font-size:23px;margin:22px 0 12px}.roof-steps p,.roof-checks p{color:#526176;line-height:1.7}.roof-fit{background:#eaf0f4;padding:75px 0}.roof-checks p{border-bottom:1px solid #cbd6df;padding:18px 0;margin:0}.roof-faq{max-width:900px}.roof-faq details{border-bottom:1px solid #d5dde5;padding:23px 0}.roof-faq summary{font-size:19px;font-weight:600;cursor:pointer}.roof-faq details p{line-height:1.8;color:#526176;max-width:720px}.roof-hero .actions{flex-wrap:wrap;gap:22px}a:focus-visible,summary:focus-visible{outline:3px solid #77a9d5;outline-offset:6px}@media(max-width:850px){.roof-grid{grid-template-columns:1fr;gap:40px}.roof-steps{grid-template-columns:1fr 1fr}.roof-hero{padding:55px 0}.request-card{transform:none}.roof-fit{padding:55px 0}}@media(max-width:500px){.roof-steps{grid-template-columns:1fr}.request-card{padding:25px}.roof-hero h1{font-size:48px}.request-card dl div{grid-template-columns:80px 1fr}.roof-hero .lede{font-size:17px}}
