@font-face{font-family:'Barlow Condensed';font-weight:700;font-style:normal;font-display:swap;src:url('fonts/barlowcondensed-1.ttf') format('truetype')}
:root{--paper:#e8f1ec;--ink:#2c4335;--accent:#3d6047;--panel:#cde1d4;--on-accent:#ffffff;--display:'Barlow Condensed';}
*{box-sizing:border-box}html{scrollbar-color:var(--accent) var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui;caret-color:var(--accent)}::selection{background:var(--accent);color:var(--on-accent)}a{display:inline-flex;align-items:center;min-height:24px;max-width:100%;color:inherit;text-underline-offset:.25em;overflow-wrap:anywhere}a:hover{text-decoration-thickness:3px}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3{font-family:var(--display),serif;line-height:1.13;text-wrap:balance;margin:0 0 24px}h1{font-size:clamp(2.7rem,5.4vw,5.5rem);letter-spacing:-.025em}h2{font-size:clamp(1.8rem,3vw,2.6rem)}h3{font-size:1.5rem}p{margin:0 0 24px;max-width:70ch}address{font-style:normal}img{display:block;width:100%;height:auto}figure{margin:0}figcaption{padding:12px 0;font-size:.95rem}.skip{position:absolute;top:-100px;left:16px;z-index:10;background:var(--ink);color:var(--paper);padding:16px}.skip:focus{top:8px}.price{font-weight:700;font-variant-numeric:tabular-nums}.interior-main{max-width:1180px;margin:auto;padding:56px 24px 72px}.page-heading{margin-bottom:48px}.page-heading h1{font-size:clamp(2.5rem,5vw,4.5rem)}.page-body section{margin-top:48px}.service-list{list-style:none;padding:0;margin:0}.service-list li{padding:28px 0;border-top:1px solid var(--ink)}.service-title{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;align-items:baseline}.service-title h2{font-size:1.6rem}.actions{display:flex;gap:12px 24px;flex-wrap:wrap;margin:24px 0}.actions>a,.text-link{padding:12px 0}.actions>.button,.button{background:var(--accent);color:var(--on-accent);padding:16px 24px;font-weight:700}.article h2:not(:first-child){margin-top:48px}.photo{margin:32px 0;max-width:720px}.faq-list details{border-top:1px solid var(--ink);padding:24px 0}summary{cursor:pointer;font-weight:700;min-height:44px;padding:12px 0}details p{margin:20px 0 0}.facts{background:var(--panel);padding:28px}.facts dl{margin:24px 0 0}.facts dl>div{padding:12px 0}.facts dt{font-weight:700}.facts dd{margin:0}.facts a{padding:10px 0}
@media(max-width:760px){a{min-height:44px}}
@media(min-width:900px){.interior-main{padding:72px 48px}.story-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px}.contact-grid>.facts{margin-top:0}}
.inside{max-width:1180px;margin:auto;padding:48px 24px}.inside>header{margin-bottom:40px}.inside>section{margin-top:40px}.inside-services section{border-top:1px solid var(--ink);padding:28px 0}.inside-services section h2{font-size:1.7rem}.inside-faq details{border-top:1px solid var(--ink);padding:20px 0}.inside-photo{max-width:640px;margin:32px 0}.inside-contact{display:flex;flex-wrap:wrap;gap:16px 32px;margin:24px 0}.inside-contact a{padding:12px 0}.inside address{margin-bottom:24px}.inside>p>a{padding:12px 0}
@media(min-width:1000px){.inside{padding:64px 48px}.inside-services{display:grid;grid-template-columns:1fr 1fr;gap:24px 48px}}
.roofer-mast{padding:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;max-width:1440px;margin:auto}.roofer-name{font:700 1.9rem/1.2 var(--display);text-decoration:none}.roofer-nav{display:flex;flex-wrap:wrap;gap:8px 24px}.roofer-nav a{padding:8px 0}.roofer-main{max-width:1440px;margin:auto;padding:24px}.roofer-main h1{font-size:clamp(3rem,6vw,6rem)}.roofer-call{padding:16px 24px;background:var(--accent);color:var(--on-accent);font-weight:700}@media(min-width:1000px){.roofer-mast{padding:28px 48px}.roofer-main{padding:32px 48px 48px}}.roofer-opening{display:grid;gap:32px;align-items:stretch}.roofer-opening>section{background:var(--ink);color:var(--paper);padding:32px}.roofer-call{background:var(--paper);color:var(--ink)}.roofer-opening>section a:focus-visible{outline-color:var(--paper)}.roofer-opening aside{padding:32px;background:var(--panel)}.roofer-work{padding:40px 0}.roofer-work>div{display:grid;gap:32px 48px}.roofer-work article{border-top:1px solid var(--ink);padding-top:24px}.roofer-work h3{font-size:2rem}.roofer-location{padding-top:32px;border-top:2px solid var(--ink);display:grid;gap:40px;align-items:center}.roofer-location address{margin-bottom:24px}@media(min-width:1000px){.roofer-opening{grid-template-columns:1.6fr 1fr;gap:0}.roofer-opening>section,.roofer-opening aside{padding:40px}.roofer-work>div{grid-template-columns:repeat(3,1fr)}.roofer-location{grid-template-columns:1.3fr 1fr;gap:64px}}.roofer-footer{padding:32px 24px;border-top:1px solid var(--ink);max-width:1400px;margin:auto;display:flex;flex-wrap:wrap;gap:24px 40px}.roofer-footer p{max-width:44ch}.roofer-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:start}.roofer-footer a{padding:10px 0}
/* Trust details: notice composition, using this look's own type and palette. */
.roofing-2-trust-owner,.roofing-2-trust-reviews,.roofing-2-trust-credentials,.roofing-2-trust-photos{width:100%;max-width:1200px;margin:48px auto;padding:32px 24px;min-width:0;color:var(--ink);background:var(--paper);box-sizing:border-box}
.roofing-2-trust-owner>* ,.roofing-2-trust-reviews>* ,.roofing-2-trust-photos>*{min-width:0}
.roofing-2-trust-owner p,.roofing-2-trust-reviews p,.roofing-2-trust-credentials p{max-width:68ch;overflow-wrap:anywhere}
.roofing-2-trust-photo{margin:24px 0;max-width:480px;min-width:0}
.roofing-2-trust-photo img{display:block;width:100%;height:auto;object-fit:contain}
.roofing-2-trust-photo figcaption{padding:12px 0;font-size:.95rem}
.roofing-2-trust-owner a,.roofing-2-trust-reviews a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.roofing-2-trust-owner dd{margin:8px 0 24px}.roofing-2-trust-owner dt{font-weight:700}
.roofing-2-trust-credentials{border-block:1px solid currentColor}.roofing-2-trust-reviews article{padding-block:24px}
.roofing-2-trust-owner{background:var(--panel);border-block:2px solid currentColor}@media(min-width:960px){.roofing-2-trust-owner{display:grid;grid-template-columns:2fr 1fr;gap:32px}.roofing-2-trust-owner>figure{grid-column:1/-1;width:45%}.roofing-2-trust-reviews{display:grid;grid-template-columns:1fr 2fr;gap:24px}.roofing-2-trust-reviews>aside{grid-column:2}}
@media(min-width:960px){.roofing-2-trust-photos{display:grid;grid-template-columns:1fr 1fr;gap:40px}}
