:root{--navy:#142B4A;--navy2:#0D2038;--gold:#D9A441;--ink:#292F36;--muted:#5F6B77;--paper:#F3F5F7;--line:#DFE4E8;--white:#FFFFFF;--max:1180px}
body{color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;background:var(--white)}
h1,h2,h3{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);letter-spacing:-.025em}
.topbar{background:#0D2038;color:#e5ebf1}.topbar a{color:#f1d28a}
.header{background:var(--navy);border-color:#ffffff22;box-shadow:0 6px 20px #071a2c22}
.brand{color:white}.brand-mark{background:var(--gold)}
.links a,.nav-services summary{color:#f2f5f8}.links a:hover,.links a[aria-current=page],.nav-services summary:hover{color:#f1d28a}
.nav-services{position:relative}.nav-services summary{list-style:none;cursor:pointer;font-size:.91rem;font-weight:600}.nav-services summary::-webkit-details-marker{display:none}.nav-services summary:after{content:'⌄';margin-left:7px;color:var(--gold)}
.skip-link{position:absolute;top:-60px;left:16px;z-index:100;padding:10px 14px;border-radius:4px;background:var(--gold);color:#14243a;font-weight:700}.skip-link:focus{top:12px}
.service-menu{display:none;position:absolute;z-index:40;top:calc(100% + 14px);left:-16px;width:235px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 16px 34px #0d203828}.nav-services[open] .service-menu,.nav-services:hover .service-menu,.nav-services:focus-within .service-menu{display:grid}.service-menu a{padding:9px 11px;text-decoration:none;border-radius:4px;color:var(--ink);font-size:.9rem}.service-menu a:hover,.service-menu a[aria-current=page]{background:var(--paper);color:var(--navy)}
.button{background:var(--gold);border-color:var(--gold);color:#14243a;border-radius:5px;font-weight:750;box-shadow:0 5px 13px #1112;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.button:hover{background:#e6b751;transform:translateY(-2px);box-shadow:0 9px 20px #1113}.button.outline{background:#ffffff0a;border-color:#ffffffaa;color:white;box-shadow:none}.button.outline:hover{background:#ffffff1d}.button.dark{background:var(--navy);border-color:var(--navy);color:white}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #edc86e;outline-offset:3px}
.hero{isolation:isolate;position:relative;background-image:linear-gradient(90deg,rgba(8,25,46,.9) 0%,rgba(8,25,46,.75) 44%,rgba(8,25,46,.16) 100%),url('assets/images/roofing-hero.webp');background-position:center 48%;background-size:cover;min-height:610px}
.hero h1{color:#fff}.hero p{color:#e8edf2}.hero .eyebrow{color:#f1d28a}.hero .subnote{color:#d5dee7}.eyebrow,.kicker{color:#9a6b10;text-transform:uppercase;letter-spacing:.15em;font-size:.76rem;font-weight:800}
.intro{padding:82px 0}.intro-grid{gap:68px}.intro-photo{height:410px;border-radius:8px;box-shadow:0 16px 40px #142b4a1b}.section{padding:82px 0}.tint{background:var(--paper)}
.cards{gap:23px}.card{background:var(--paper);border:1px solid #e4e8ec;border-radius:8px;box-shadow:0 5px 16px #142b4a0a;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #142b4a18}.card img{height:220px}.card-body{padding:23px 24px 26px}.card p{min-height:75px}.text-link{color:#94670f;font-weight:750}
.callout{background:var(--navy);border-left:5px solid var(--gold);border-radius:8px;box-shadow:0 14px 32px #142b4a19}.callout h2,.callout h3{color:white}.callout p{color:#e0e8ef}.disclaimer{font-size:.82rem!important;color:#bdcbd8!important;margin-top:14px}.pill{background:white;border-color:#dce2e7;color:#465463}.faq summary{color:var(--navy)}
.page-hero{background:var(--navy);padding:58px 0 62px}.page-hero h1{color:white}.page-hero p{color:#e2eaf1}.page-hero img{height:335px;border-radius:8px;box-shadow:0 18px 36px #071a2c48}.crumb{color:#f1d28a}.crumbline{background:var(--paper)}.crumbline a{color:#91670f}.prose h2{color:var(--navy)}
.form-layout{gap:54px}.contact-card{background:var(--paper);border:1px solid #e2e7eb;border-radius:8px}.contact-card img{display:block;width:100%;height:205px;object-fit:cover;border-radius:5px;margin-bottom:23px}.field label{color:var(--ink)}input,select,textarea{border-color:#c8d0d7;border-radius:5px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.notice{color:#65717c}.notice a{color:#94670f}.status{border-radius:4px}
.footer{background:var(--navy2);color:#d9e3ec}.footer h3{color:white}.footer a{color:#d6e0e6}.footer a:hover{color:#f1d28a}.footer p{color:#b8c5d1}.footer .brand{color:white}.copyright{border-color:#ffffff24;color:#adbdca}.mobile-call{background:var(--gold);color:#14243a;font-weight:800}
.form .button.dark{background:var(--gold);border-color:var(--gold);color:#14243a}.photo-credits{margin-top:14px;color:#9eacb8;font-size:.76rem}.photo-credits summary{cursor:pointer;width:max-content}.photo-credits p{max-width:850px;margin:10px 0}.photo-credits a{display:inline;color:#d9c28c;text-decoration:underline}
@media(max-width:1000px){.nav{min-height:72px}.menu{display:block;background:transparent;color:white;border:1px solid #ffffff55;border-radius:5px;padding:6px 10px}.nav-cta{display:none}.links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--navy);padding:14px 24px 20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 20px #081a2e35}.links.open{display:flex;max-height:calc(100vh - 78px);overflow:auto}.links>a,.nav-services summary{display:block;padding:12px 0;border-bottom:1px solid #ffffff20}.nav-services{width:100%}.nav-services summary:after{float:right}.service-menu{position:static;width:100%;box-shadow:none;border-radius:5px;margin:5px 0 10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-grid,.split{gap:38px}}
@media(max-width:680px){body{font-size:15.5px}.wrap{width:calc(100% - 34px)}.topbar .wrap{justify-content:center}.topbar .wrap>span:first-child{display:none}.nav{min-height:68px}.links{top:68px;padding-inline:18px}.hero{min-height:590px;background-position:60% center}.hero-copy{padding:75px 0}.hero .actions .button{width:100%}.intro,.section{padding:58px 0}.intro-grid,.split,.page-hero .wrap,.form-layout{grid-template-columns:1fr}.intro-grid{gap:27px}.intro-photo{height:270px;order:2}.cards{grid-template-columns:1fr;gap:17px}.card img{height:220px}.card p{min-height:0}.page-hero{padding:34px 0}.page-hero .wrap{gap:24px}.page-hero img{height:255px;order:-1}.callout{padding:27px}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr;gap:26px}.copyright{flex-direction:column;gap:7px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:25;text-align:center;padding:12px;box-shadow:0 -5px 20px #0002}body{padding-bottom:50px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Stronger visual hierarchy: deep navy feature band, cool gray sections, white cards. */
main{background:var(--paper)}
h1,h2,h3{color:var(--navy)}
.intro{position:relative;overflow:hidden;background:linear-gradient(118deg,#142B4A 0%,#1b3c61 100%);color:#fff}
.intro h2,.intro h3{color:#fff}
.intro p{color:#e0e8ef}
.intro .kicker,.intro .text-link{color:#f0c66d}
.intro-photo{border-radius:12px;border:1px solid #ffffff35;box-shadow:0 22px 55px #071a2c55}
.section{background:#fff}
.section.tint{background:var(--paper)}
.section-head h2{color:var(--navy)}
.card{background:#fff;border-color:#e1e6eb;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #142b4a12}
.card img{width:100%;object-fit:cover}
.card-body h3{color:var(--navy)}
.card-body p{color:#4f5c68}
.page-hero{background:linear-gradient(120deg,#102541 0%,#193b61 100%)}
.contact-card{background:#f3f5f7}
@media(max-width:680px){.intro{padding-block:58px}.intro-photo{border-radius:10px}}
/* Keep a direct call action visible in the sticky navigation. */
.header-call{flex:0 0 auto;white-space:nowrap;padding:11px 14px;background:transparent;border-color:#ffffff80;color:#fff;box-shadow:none;font-size:.86rem}
.header-call:hover{background:#fff;border-color:#fff;color:var(--navy);transform:translateY(-1px)}
@media(max-width:1180px){.nav-cta{display:none}}
@media(max-width:1000px){.nav{gap:12px}.brand{margin-right:auto}.header-call{order:2;padding:9px 11px}.menu{order:3}.links{order:4}}
@media(max-width:680px){.nav{gap:8px}.brand{font-size:.78rem}.brand-mark{width:30px;height:28px;margin-right:7px}.header-call{padding:8px 9px;font-size:.76rem}}
@media(max-width:380px){.brand{font-size:.68rem}.brand-mark{width:25px;height:24px;margin-right:6px}.header-call{padding:7px;font-size:.7rem}.menu{padding:5px 7px}}
/* Keep the service-page disclosure readable on white content sections. */
.prose>.disclaimer{color:#5f6b77!important}
.callout .disclaimer{color:#bdcbd8!important}
.service-detail{margin:34px 0}
.service-detail h2{font-size:1.65rem}
