:root{--navy:#071a2b;--blue:#0f4f87;--gold:#f4b942;--sky:#eaf4fb;--ink:#102334;--muted:#5a6b78;--white:#fff;--line:#d9e2e8;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.62 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#fff}a{color:inherit}img{max-width:100%}.wrap{width:min(calc(100% - 2rem),var(--max));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.7rem}.utility{background:var(--navy);color:#fff;font-size:.86rem}.utility-inner{display:flex;justify-content:space-between;padding:.42rem 0}.utility a{color:var(--gold);font-weight:800;text-decoration:none}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);box-shadow:0 2px 16px #071a2b18}.nav-row{min-height:78px;display:flex;align-items:center;gap:1.2rem}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;line-height:1}.brand-mark{display:grid;place-items:center;width:46px;height:46px;background:var(--gold);color:var(--navy);clip-path:polygon(50% 0,100% 100%,0 100%);font-weight:900;font-size:1.4rem;padding-top:.5rem}.brand strong{display:block;font-size:1.45rem;letter-spacing:.08em;color:var(--navy)}.brand small{display:block;font-size:.63rem;letter-spacing:.07em;margin-top:.3rem;color:var(--blue)}nav{display:flex;gap:1rem;margin-left:auto}nav a{font-size:.83rem;font-weight:750;text-decoration:none;color:#263c4d}nav a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;padding:.78rem 1rem;background:var(--gold);color:var(--navy);text-decoration:none;font-weight:850;border:2px solid var(--gold);box-shadow:0 6px 18px #0001}.btn.secondary{background:transparent;color:#fff;border-color:#fff}.nav-cta{font-size:.82rem}.menu{display:none}.hero{background:radial-gradient(circle at 78% 22%,#176ba655 0 18%,transparent 19%),linear-gradient(118deg,#061827 0%,#0b3455 62%,#116296 100%);color:#fff;padding:5.4rem 0 4.6rem;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:3rem;align-items:center}.eyebrow{color:var(--gold);font-weight:850;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem}.hero h1,.page-hero h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1.02;letter-spacing:-.045em;margin:.55rem 0 1.1rem;max-width:850px}.hero p{font-size:1.18rem;max-width:720px;color:#dfeef8}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.trust-card{background:#fff;color:var(--ink);padding:1.5rem;border-radius:8px;box-shadow:0 22px 50px #0004;border-top:6px solid var(--gold)}.trust-card h2{font-size:1.35rem;margin:0 0 .7rem}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:.45rem 0 .45rem 1.65rem;position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:900}.proof{background:var(--gold);color:var(--navy)}.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.proof div div{padding:1rem;text-align:center;font-weight:850;border-right:1px solid #071a2b33}.section{padding:4.6rem 0}.section.alt{background:#f3f7fa}.section-head{max-width:760px;margin-bottom:2rem}.section h2{font-size:clamp(1.9rem,3.2vw,3.1rem);line-height:1.1;letter-spacing:-.025em;margin:.3rem 0 .8rem}.section-head p,.lede{color:var(--muted);font-size:1.07rem}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.card{border:1px solid var(--line);border-radius:8px;padding:1.5rem;background:#fff;box-shadow:0 8px 25px #0a31500a}.card h3{font-size:1.24rem;margin:.5rem 0}.card a{font-weight:850;color:var(--blue)}.icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--blue);font-weight:900}.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.steps{counter-reset:step}.step{position:relative;padding:0 0 1.6rem 4.2rem}.step:before{counter-increment:step;content:'0' counter(step);position:absolute;left:0;top:0;width:3rem;height:3rem;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-weight:900;border-radius:4px}.step h3{margin:0}.areas{display:flex;flex-wrap:wrap;gap:.65rem}.areas a{padding:.65rem .85rem;border:1px solid #b6cbd9;border-radius:99px;text-decoration:none;background:#fff;font-weight:700}.quote{border-left:5px solid var(--gold);padding:1rem 0 1rem 1.4rem;font-size:1.12rem;margin:0 0 1.5rem}.quote cite{display:block;font-style:normal;font-size:.88rem;color:var(--muted);margin-top:.5rem}.faq details{border-top:1px solid var(--line);padding:1rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:850;font-size:1.05rem}.faq details p{max-width:850px;color:var(--muted)}.cta{background:var(--blue);color:#fff;padding:3.5rem 0}.cta .split{align-items:center}.cta h2{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.form{background:#fff;color:var(--ink);padding:1.35rem;border-radius:8px}.form label{display:block;font-weight:750;margin:.55rem 0 .2rem}.form input,.form select,.form textarea{width:100%;padding:.75rem;border:1px solid #b9c8d2;border-radius:4px;font:inherit}.form textarea{min-height:86px}.form button{width:100%;margin-top:.8rem}.page-hero{padding:4.2rem 0;background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff}.page-hero h1{font-size:clamp(2.4rem,4.7vw,4.6rem)}.page-hero p{max-width:760px;font-size:1.16rem;color:#e0edf6}.answer{background:var(--sky);border-left:5px solid var(--blue);padding:1.2rem 1.4rem;margin:1.3rem 0}.service-list{columns:2;column-gap:2rem}.service-list li{margin-bottom:.55rem}footer{background:#06131f;color:#d8e4ec;padding:3rem 0 5rem}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:3rem}.footer-grid h2{font-size:1rem;color:var(--gold)}.footer-grid a{color:#fff}.footer-brand strong{color:#fff}.copyright{border-top:1px solid #ffffff26;margin-top:2rem;padding-top:1rem;font-size:.85rem}.mobile-bar{display:none}
@media(max-width:1050px){nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:1rem;box-shadow:0 10px 20px #0002;flex-direction:column}nav.open{display:flex}.menu{display:block;margin-left:auto;background:#fff;border:1px solid var(--line);padding:.6rem .8rem;border-radius:4px}.nav-cta{display:none}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){body{padding-bottom:58px}.utility-inner span{display:none}.utility-inner{justify-content:center}.nav-row{min-height:68px}.brand strong{font-size:1.15rem}.brand-mark{width:39px;height:39px}.hero{padding:3.8rem 0}.hero-grid,.split,.footer-grid{grid-template-columns:1fr}.hero-grid{gap:2rem}.proof .wrap{grid-template-columns:1fr 1fr}.proof div div{border-bottom:1px solid #071a2b33}.cards{grid-template-columns:1fr}.section{padding:3.4rem 0}.service-list{columns:1}.mobile-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;z-index:50;background:var(--gold);box-shadow:0 -3px 16px #0003}.mobile-bar a{text-align:center;padding:.9rem;text-decoration:none;font-weight:900}.mobile-bar a:first-child{background:var(--navy);color:#fff}.page-hero{padding:3.2rem 0}.footer-grid{gap:1.4rem}}

/* Official Delta Roofing logo */
.brand img{display:block;width:152px;height:64px;object-fit:contain}.footer-logo{display:inline-flex;background:#fff;border-radius:6px;padding:.35rem .6rem}.footer-logo img{display:block;width:220px;height:auto}@media(max-width:700px){.brand img{width:128px;height:54px}}

/* Project photography */
.project-visual{background:#061827;padding:1.25rem 0}.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.visual-grid:has(figure:only-child){grid-template-columns:1fr}.project-visual figure,.gallery-grid figure{position:relative;margin:0;overflow:hidden;border-radius:8px;background:#0b263c}.project-visual img{display:block;width:100%;height:clamp(260px,38vw,500px);object-fit:cover}.project-visual figure:only-child img{height:clamp(320px,48vw,580px)}.project-visual figcaption,.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1rem .85rem;color:#fff;background:linear-gradient(transparent,#06131fe8);font-weight:800}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:280px;gap:1rem}.gallery-grid .wide{grid-column:span 2}.gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid figcaption{display:flex;justify-content:space-between;gap:1rem;align-items:end}.gallery-grid figcaption span{font-size:.8rem;font-weight:600;color:#dceaf3;text-align:right}.project-gallery{background:#edf4f8}
@media(max-width:700px){.visual-grid,.gallery-grid{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:260px}.gallery-grid .wide{grid-column:span 1}.project-visual img,.project-visual figure:only-child img{height:300px}.gallery-grid figcaption{display:block}.gallery-grid figcaption span{display:block;text-align:left;margin-top:.15rem}}

/* Service-area hub and local landing pages */
.area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.city-card{padding:1.65rem}.city-card h2{font-size:1.55rem;margin:.35rem 0 .65rem}.city-card p{color:var(--muted)}.area-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.local-panel{border-top:6px solid var(--gold);background:var(--navy);color:#fff;padding:1.75rem;border-radius:8px;box-shadow:0 16px 36px #071a2b20}.local-panel h2{font-size:1.65rem}.local-panel .checklist li:before{color:var(--gold)}.text-link{color:var(--blue);font-weight:800}.service-links{display:grid;gap:.7rem}.service-links a{display:flex;flex-direction:column;padding:1rem 1.1rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);text-decoration:none}.service-links a:hover{border-left-color:var(--blue);box-shadow:0 7px 20px #071a2b10}.service-links strong{color:var(--blue);font-size:1.05rem}.service-links span{color:var(--muted);font-size:.92rem}
@media(max-width:700px){.area-grid,.area-service-cards{grid-template-columns:1fr}.city-card{padding:1.35rem}}

/* City navigation and touch-friendly service area cards */
.areas-nav{position:relative}.areas-nav-links{display:none;position:absolute;top:100%;left:0;min-width:220px;background:white;box-shadow:0 10px 24px #071a2b2b;padding:.65rem;border-radius:5px;z-index:40}.areas-nav:hover .areas-nav-links,.areas-nav:focus-within .areas-nav-links{display:grid;gap:.15rem}.areas-nav-links a{display:block;padding:.4rem .6rem}.city-card{display:block;text-decoration:none;color:var(--ink);transition:box-shadow .15s,border-color .15s}.city-card:hover,.city-card:focus-visible{border-color:var(--blue);box-shadow:0 12px 30px #071a2b24}.city-link{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:3px}html{scroll-padding-top:120px}
@media(max-width:1050px){.areas-nav-links{position:static;display:grid;box-shadow:none;padding:.35rem 0 .35rem .9rem;max-height:40vh;overflow:auto;border-left:2px solid var(--gold)}nav.open{max-height:calc(100dvh - 100px);overflow:auto}.areas-nav-links a{font-size:.9rem}}
@media(max-width:700px){.site-header{position:relative;top:auto}html{scroll-padding-top:1rem}.page-hero{padding-top:2.3rem}.nav-row{min-height:68px}}
/* Clickable service cards and compact proof line */
.service-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}.service-card h3{color:var(--blue);margin:.35rem 0}.service-card p{margin:.3rem 0 1rem}.service-card .learn-more{color:var(--blue);font-weight:800;margin-top:auto}.service-card:hover,.service-card:focus-visible{border-color:var(--blue);box-shadow:0 12px 30px #071a2b24;transform:translateY(-2px)}.hero-trust{font-size:.94rem!important;color:#fff!important;font-weight:700;margin:1.15rem 0 0;max-width:none!important}.hero-trust span{color:var(--gold);padding:0 .3rem}#main,[id]{scroll-margin-top:calc(var(--header-height, 120px) + 1rem)}
@media(max-width:700px){.site-header{position:sticky;top:0}html{scroll-padding-top:calc(var(--header-height, 100px) + 1rem)}.page-hero{padding-top:2.3rem}.hero-trust{line-height:1.7}}

.form-note{font-size:.9rem;line-height:1.5;margin:.5rem 0;color:#23384b}#form-status:not(:empty){display:block;padding:1rem;background:#e8f2fa;border:1px solid #b8d0e0;border-radius:8px;margin-top:1rem}#form-status a,#form-status button{display:inline-block;margin:.6rem .5rem .6rem 0}#form-status textarea{width:100%;min-height:7rem;margin-top:.5rem}.project-stories article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid #cbd5df}.project-stories figure{margin:0}.project-stories img{display:block;width:100%;height:auto;border-radius:8px;margin-bottom:.75rem}.project-stories figcaption{font-size:.9rem}.project-stories h2{margin-top:.5rem}@media(max-width:700px){.project-stories article{grid-template-columns:1fr;gap:1rem}}
