:root{--navy:#10263d;--navy2:#183752;--gold:#c9a45c;--ink:#202a34;--muted:#687682;--paper:#f7f6f2;--line:#e4e2dc;--white:#fff;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65;background:#fff}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.16;color:var(--navy);letter-spacing:-.025em}h1{font-size:clamp(2.55rem,5vw,4.45rem);margin:0 0 22px}h2{font-size:clamp(1.8rem,3vw,2.65rem);margin:0 0 18px}h3{font-size:1.24rem;margin:0 0 10px}p{margin:0 0 16px;color:#52606b}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.topbar{background:var(--navy);color:#eaf0f4;font-size:.82rem;padding:8px 0}.topbar .wrap{display:flex;justify-content:space-between}.topbar a{color:#f2d89d;text-decoration:none}.header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;color:var(--navy);font:800 1rem Manrope;letter-spacing:-.03em;white-space:nowrap}.brand-mark{width:38px;height:35px;margin-right:10px;background:var(--gold);clip-path:polygon(0 48%,50% 0,100% 48%,91% 48%,91% 100%,58% 100%,58% 67%,40% 67%,40% 100%,9% 100%,9% 48%)}.links{display:flex;gap:22px;align-items:center}.links a{text-decoration:none;font-size:.87rem;color:#374653;font-weight:600}.links a:hover,.links a[aria-current=page]{color:#987433}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--gold);border:1px solid var(--gold);border-radius:4px;padding:13px 21px;color:#172738;text-decoration:none;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#d8b978}.button.outline{color:#fff;background:transparent;border-color:#ffffff85}.button.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.menu{display:none;background:none;border:0;font-size:1.7rem;color:var(--navy)}.hero{background:linear-gradient(90deg,rgba(11,31,49,.92) 0%,rgba(11,31,49,.78) 44%,rgba(11,31,49,.15) 100%),url('assets/images/roofing-hero.webp') center 54%/cover;color:white;min-height:560px;display:flex;align-items:center}.hero-copy{max-width:690px;padding:86px 0}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#e7c986;margin-bottom:16px}.hero h1{color:white}.hero p{color:#e2e7e9;font-size:1.08rem;max-width:610px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 12px}.subnote{font-size:.82rem!important;color:#d6dde1!important}.intro{padding:72px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.intro-photo{width:100%;height:390px;object-fit:cover;border-radius:4px}.kicker{color:#987433;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;margin-bottom:13px}.section{padding:74px 0}.tint{background:var(--paper)}.section-head{max-width:690px;margin-bottom:34px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #1b34440e}.card img{display:block;width:100%;height:205px;object-fit:cover}.card-body{padding:23px}.card p{font-size:.93rem}.text-link{font-weight:700;color:#8e6b2a;text-decoration:none}.text-link:hover{text-decoration:underline}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.list{padding-left:20px;color:#52606b}.list li{margin:9px 0}.callout{background:var(--navy);padding:40px;border-left:4px solid var(--gold);color:#fff}.callout h2,.callout h3{color:white}.callout p{color:#d6dfe5}.areas{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.pill{padding:8px 13px;background:#fff;border:1px solid var(--line);border-radius:40px;color:#52606b;font-size:.88rem}.faq{max-width:850px}.faq details{border-top:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;list-style:none;font-weight:700;color:var(--navy);padding-right:25px}.faq summary:after{content:'+';float:right;color:#987433;font-size:1.25rem}.faq details[open] summary:after{content:'−'}.faq details p{margin-top:13px}.page-hero{background:var(--navy);color:#fff;padding:55px 0 60px}.page-hero .wrap{display:grid;grid-template-columns:1.06fr .94fr;gap:44px;align-items:center}.page-hero h1{color:#fff;font-size:clamp(2.4rem,4vw,3.6rem)}.page-hero p{color:#e1e7eb}.page-hero img{width:100%;height:315px;object-fit:cover;border-radius:3px}.crumb{font-size:.82rem;color:#d8c18d;margin-bottom:15px}.crumb a{color:inherit}.prose{max-width:820px}.prose h2{margin-top:38px;font-size:1.8rem}.prose h3{margin-top:23px}.service-cta{margin-top:35px}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-card{background:var(--paper);padding:30px}.contact-card a{color:var(--navy);font-weight:700}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:.88rem;color:var(--navy)}input,select,textarea{font:inherit;padding:12px;border:1px solid #cbd1d4;border-radius:3px;background:#fff;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #c9a45c;outline-offset:1px}textarea{min-height:125px;resize:vertical}.notice{font-size:.8rem;color:#6c777f}.status{display:none;padding:13px;background:#e9f5ec;border:1px solid #aad0b1;color:#245a31}.crumbline{padding:12px 0;background:#f5f4f0;font-size:.82rem;color:#67747d}.crumbline a{color:#8e6b2a}.footer{background:#0c1d2d;color:#d6e0e6;padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px}.footer h3{font-size:1rem;color:white}.footer a{display:block;color:#d6e0e6;text-decoration:none;margin:8px 0;font-size:.9rem}.footer a:hover{color:#efce83}.footer p{color:#afbdc6;font-size:.9rem}.copyright{border-top:1px solid #ffffff21;margin-top:35px;padding-top:19px;color:#aebbc4;font-size:.8rem;display:flex;justify-content:space-between}.mobile-call{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.links{gap:13px}.links a{font-size:.81rem}.nav-cta{display:none}.cards{grid-template-columns:repeat(2,1fr)}.intro-grid,.split{gap:35px}.page-hero .wrap{gap:28px}}@media(max-width:680px){.wrap{width:min(var(--max),calc(100% - 34px))}.topbar .wrap{justify-content:center}.topbar .wrap span:first-child{display:none}.nav{min-height:68px}.menu{display:block}.links{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 22px 20px;flex-direction:column;align-items:flex-start;gap:0}.links.open{display:flex}.links a{font-size:.95rem;padding:10px 0;width:100%;border-bottom:1px solid #f1f1ef}.hero{min-height:590px;background-position:61% center}.hero-copy{padding:76px 0}.actions .button{width:100%}.intro,.section{padding:55px 0}.intro-grid,.split,.page-hero .wrap,.form-layout{grid-template-columns:1fr}.intro-photo{height:280px;order:2}.cards{grid-template-columns:1fr}.card img{height:215px}.page-hero{padding:36px 0}.page-hero img{height:250px;order:-1}.callout{padding:27px}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr;gap:25px}.copyright{flex-direction:column;gap:6px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:15;background:var(--gold);text-align:center;padding:12px;font-weight:800;color:#172738;text-decoration:none;box-shadow:0 -5px 20px #0002}body{padding-bottom:48px}}

@media(max-width:1000px){.menu{display:block}.nav-cta{display:none}.links{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 22px 20px;flex-direction:column;align-items:flex-start;gap:0}.links.open{display:flex;max-height:calc(100vh - 75px);overflow:auto}.links a{font-size:.95rem;padding:10px 0;width:100%;border-bottom:1px solid #f1f1ef}}

