.logo-brand{display:block;flex-shrink:0}.logo-brand img{width:220px;height:auto;display:block}header{padding:16px 5%}.desktop-nav{gap:22px}.desktop-nav a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.locations-menu{position:relative}.locations-menu summary{cursor:pointer}.locations-menu>div{position:absolute;top:calc(100% + 18px);right:0;min-width:240px;z-index:5;background:#fff;box-shadow:0 10px 40px #102c4a26;padding:12px;border:1px solid var(--line)}.locations-menu a{display:block;padding:10px;font-size:15px}.locations-menu a span{float:right}.mobile-menu{display:none}.page-hero{background:var(--pale);padding:65px 7%}.page-hero h1{max-width:1000px;font-size:clamp(42px,5vw,72px);line-height:1.1;letter-spacing:-2.5px}.page-hero>p:last-child{max-width:750px;color:var(--muted);font-size:20px;margin:25px 0 0}.about-story,.local-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-story h2,.local-intro h2{margin-bottom:25px}.about-story p,.local-intro p{color:var(--muted)}.large{font-size:22px}.about-story>img,.local-intro>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;background:var(--pale)}.values p{color:var(--muted)}.about-story+.values{padding-top:55px;padding-bottom:55px}.local-services{background:var(--pale)}.local-services>.values{margin:35px 0}.service-footer{padding:55px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#f0f5fa}.service-footer h2{font-size:33px}.area-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.area-links a{border-bottom:1px solid #c8d5e2;padding:8px 0;font-size:16px;font-weight:600;display:flex;justify-content:space-between}.area-links a span{color:var(--blue)}.social-links{display:flex;gap:20px;margin-top:12px;font-size:14px;font-weight:700}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-gallery figure{margin:0}.project-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.project-gallery a{display:block}.mascot-callout{display:flex;align-items:center;gap:18px}.mascot-callout img{width:52%;height:auto;max-height:330px;object-fit:contain}.mascot-callout>div{flex:1}.mascot-callout h3{font-size:26px}.contact{gap:5%;align-items:center}.faq-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:8%;align-items:start}.faq-list details{border-bottom:1px solid var(--line);padding:23px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:20px;font-weight:700;cursor:pointer;line-height:1.45;padding-right:12px}.faq-list details p{margin:18px 0 0;color:var(--muted)}summary:focus-visible{outline:3px solid #e09f23;outline-offset:5px}.faq-aside{background:var(--pale);padding:25px;text-align:center;border-radius:5px}.faq-aside>img{width:100%;height:auto;max-height:260px;object-fit:contain}.faq-aside h2{font-size:29px;margin:22px 0 12px}.faq-aside p{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.contact-card{background:var(--pale);padding:35px}.contact-card .phone{font-size:35px}.contact-card h3{margin-top:40px}.contact-card address{font-style:normal}.contact-card p{margin:20px 0 0;color:var(--muted)}.contact-list{padding-left:26px;margin:30px 0}.contact-list li{padding:10px 0}.contact-grid>div>p{color:var(--muted)}.hero-photo img{object-position:center}.hero-photo{min-width:0}footer .logo-brand img{width:210px}@media(max-width:1120px){.desktop-nav{gap:15px;font-size:14px}.nav-call{padding-left:14px}.logo-brand img{width:185px}}@media(max-width:900px){header .desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu>summary{font-size:17px;font-weight:700;cursor:pointer;padding:10px}.mobile-menu nav{position:absolute;right:0;top:100%;width:280px;max-width:85vw;max-height:75vh;overflow-y:auto;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px #102c4a25;z-index:7;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px}.mobile-menu nav>a{display:block;font-size:16px;padding:9px 12px}.mobile-menu nav>b{padding:16px 12px 4px;font-size:13px;color:var(--muted)}.mobile-menu nav>a span{float:right}.contact-card .phone{font-size:27px}.mascot-callout{flex-direction:column;text-align:center}.mascot-callout img{width:70%}.faq-layout{gap:4%;grid-template-columns:1.5fr 1fr}}@media(max-width:700px){header{padding:13px 6%}.logo-brand img{width:195px}.page-hero{padding:43px 6%}.page-hero h1{font-size:43px;letter-spacing:-1.5px}.page-hero>p:last-child{font-size:18px}.about-story,.local-intro,.contact-grid,.faq-layout{grid-template-columns:1fr;gap:32px}.values{grid-template-columns:1fr;gap:22px}.service-footer{grid-template-columns:1fr;gap:28px;padding:45px 6%}.area-links{grid-template-columns:1fr}.project-gallery{gap:16px;grid-template-columns:1fr}.mascot-callout{flex-direction:row;text-align:left;gap:15px}.mascot-callout img{width:48%;max-height:250px}.mascot-callout h3{font-size:22px}.faq-aside{display:flex;flex-direction:column;align-items:center}.faq-aside>img{max-height:200px}.contact-card{padding:26px}.contact-card .phone{font-size:30px}.local-intro .button{font-size:15px}.hero-notes{flex-wrap:wrap}.button{max-width:100%}.faq-list summary{font-size:19px}.social-links{flex-wrap:wrap}}
#roof-dialog{border:0;border-radius:10px;width:min(580px,calc(100% - 28px));max-height:90dvh;overflow-y:auto;padding:32px;color:var(--ink);box-shadow:0 24px 90px #102c4a66}#roof-dialog::backdrop{background:#0c223dcc}#roof-dialog h2{font-size:32px;letter-spacing:-.8px;margin-bottom:15px;padding-right:12px}#roof-dialog .eyebrow{padding-right:30px}#roof-dialog-intro,.form-note{font-size:15px;color:var(--muted);line-height:1.55}.dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;background:var(--pale);border:0;border-radius:50%;font-size:28px;color:var(--ink);cursor:pointer}#roof-inquiry label{display:block;font-size:16px;font-weight:700;margin:15px 0 6px}#roof-inquiry input,#roof-inquiry textarea{box-sizing:border-box;display:block;width:100%;border:1px solid #91a7ba;border-radius:4px;padding:11px 12px;font:inherit;font-size:16px;color:var(--ink);background:white;line-height:1.4}#roof-inquiry textarea{resize:vertical}#roof-inquiry button{font-family:inherit;cursor:pointer}#roof-inquiry .button{border:0;width:100%;justify-content:space-between}#roof-inquiry .form-note{margin:16px 0}#roof-inquiry :focus-visible{outline:3px solid #e09f23;outline-offset:3px}#text-fallback{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:15px}#copy-roof-message{margin-top:12px;background:var(--pale);border:1px solid #91a7ba;border-radius:4px;padding:10px 16px;font-size:16px;color:var(--ink)}@media(max-width:700px){#roof-dialog{padding:24px}#roof-dialog h2{font-size:28px}}

#roof-inquiry select{display:block;width:100%;border:1px solid #91a7ba;border-radius:4px;padding:11px 12px;font:inherit;font-size:16px;color:var(--ink);background:#fff;min-height:46px}.inline-inquiry h2{font-size:32px;margin-bottom:18px}.inline-inquiry .eyebrow{margin-bottom:16px}.inline-inquiry{scroll-margin-top:30px}#roof-inquiry button:disabled{opacity:.5;cursor:wait}.contact-grid{align-items:start}@media(max-width:700px){.contact-grid:has(.inline-inquiry)>div:last-child{grid-row:1}.inline-inquiry h2{font-size:29px}}
.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-result{margin-top:1rem;padding:1rem;border-left:4px solid #2d83b8;background:#eaf5fb;color:#102c4a;line-height:1.5}
.form-result.error{border-left-color:#a33;background:#fff0f0;color:#651f1f}
.form-result a{color:inherit;font-weight:700}

.service-copy{max-width:1000px;margin:auto}.service-copy section+section{margin-top:38px}.service-copy h2,.local-detail h2{font-size:clamp(28px,3vw,38px);margin-bottom:18px}.service-copy p,.local-detail p{max-width:75ch;margin-top:18px}.local-detail h3{margin-top:28px}.service-directory{padding:40px 7%;background:#f0f5fa}.service-directory h2{font-size:28px;margin-bottom:20px}.service-links{display:flex;flex-wrap:wrap;gap:12px 24px}.service-links a,.privacy-note a,footer a[href="/privacy/"]{text-decoration:underline;text-underline-offset:3px}.service-links a{font-weight:700;padding:8px 0}.privacy-note{font-size:14px}
