:root{--green:#103f35;--gold:#efb13c;--paper:#f7f5ef;--red:#b83024;--ink:#203a33;--muted:#53645d;--line:#d8ddd4;--heading:'Arial Narrow','Bahnschrift Condensed',Impact,sans-serif;--body:Arial,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--body)}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #cc8b11;outline-offset:4px}.skip-link{position:fixed;top:-80px;left:20px;padding:12px;background:white;z-index:99}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;background:#fff;z-index:20;border-bottom:1px solid #e6e8e1}.header-inner{max-width:1440px;margin:auto;padding:18px 4.5%;display:flex;align-items:center;gap:28px}.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}.logo img{width:245px;height:auto;max-height:67px;object-fit:contain}.logo-symbol{display:grid;place-items:center;background:var(--gold);color:var(--green);font-size:32px;width:43px;height:43px;border-radius:50%}.logo-type{font:700 23px/.98 var(--heading);letter-spacing:.3px}.logo-type small{display:block;font:600 10px/1.4 var(--body);letter-spacing:4px;margin-top:6px}.site-header nav{margin-left:auto;display:flex;gap:23px;font-size:13px;font-weight:700}.site-header nav a{text-decoration:none}.phone{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--red);color:white;padding:11px 18px;text-decoration:none;font-size:15px;font-weight:700;border-radius:3px}.hero{background:linear-gradient(90deg,rgba(10,43,36,.93),rgba(10,43,36,.58)),url('assets/hero.jpg') center 48%/cover,var(--green);color:white;position:relative}.hero:after{content:'';position:absolute;height:6px;background:var(--gold);bottom:0;left:0;width:24%}.hero-inner{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:76px;padding:70px 32px 78px;align-items:center}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2.3px;font-weight:700;color:#f3c263;display:block;margin-bottom:22px}h1,h2,h3{font-family:var(--heading);line-height:1.03;font-weight:600;margin:0;letter-spacing:-.4px}h1{font-size:clamp(55px,5.4vw,80px);max-width:630px}p{margin:0 0 20px}.hero-copy>p{font-size:17px;line-height:1.8;max-width:580px;margin:28px 0 25px;color:#f0f3ed}.hero-cta a{font-size:16px;font-weight:700;display:inline-block;border-bottom:2px solid var(--gold);padding:9px 0;text-decoration:none}.hero-cta a:after{content:' ↗';color:var(--gold);margin-left:16px}.hero-cta p{margin:0}form{background:white;color:var(--green);padding:27px 28px 19px;border-top:5px solid var(--gold);box-shadow:0 18px 60px #061a2840;border-radius:3px}.form-heading{font:600 29px/1.05 var(--heading);margin-bottom:19px;max-width:290px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}label{font-size:11px;font-weight:700;line-height:1.3;display:block}.full{grid-column:1/-1}input,select,textarea{display:block;width:100%;border:1px solid #cbd2cc;border-radius:2px;background:#fcfcf9;color:#203a33;font-size:14px;padding:8px 10px;margin-top:5px;min-height:38px}textarea{resize:vertical;min-height:59px}button[type=submit]{border:0;border-radius:2px;background:var(--green);color:white;cursor:pointer;display:flex;justify-content:space-between;width:100%;padding:12px 15px;font-weight:700;font-size:14px;margin-top:14px}.prototype-note{font-size:10px;text-align:center;margin:8px 0 0;color:#627268}#form-status{font-size:12px;line-height:1.5;padding:10px;background:#fff4d9;margin:12px 0 0}.body-wrap{max-width:1216px;margin:auto;padding:0 32px}.opening{max-width:800px;margin:64px auto 36px;font-size:20px;line-height:1.75}.photo{margin:0;overflow:hidden;background:#d8ded6}.photo img{display:block;width:100%;height:100%;object-fit:cover}.inline-1{height:390px}.inline-2{height:390px;margin-top:44px}.missing-photo{height:120px;background:linear-gradient(145deg,#dae0d6,#b6c5b6)}.toc{display:grid;grid-template-columns:240px 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:38px;padding:30px 0;gap:30px}.toc-label{font:600 28px/1.2 var(--heading)}.toc-label span{margin-left:18px;color:#966416}.toc ol{margin:0;padding-left:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px 35px;font-size:13px;line-height:1.5}.toc li{padding-left:5px}.toc a{text-decoration:none}.toc li::marker{color:#66786e;font-size:11px}.content-section{padding:70px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;gap:24px;align-items:flex-start;margin-bottom:26px}.section-number{font-size:11px;font-weight:700;color:#5c6d62;line-height:1;border-top:2px solid var(--gold);padding-top:14px;min-width:30px;margin-top:5px}h2{font-size:48px;max-width:760px}h3{font-size:31px;line-height:1.08;margin-bottom:20px}.content-section>p{max-width:830px;margin-left:54px}.service-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;gap:18px}.service-card{padding:32px;background:#fff;border:1px solid #e1e4dc;position:relative}.number{font:600 16px var(--heading);color:#88703f;display:block;margin-bottom:18px}.service-card p{font-size:15px;line-height:1.85}.service-card p:last-child{margin-bottom:0}.section-copy{margin-left:54px;max-width:840px}.section-1 .section-copy{columns:2;column-gap:40px;max-width:none}.section-copy p{break-inside:avoid}.section-2{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px}.section-2 .section-heading{display:block}.section-2 .section-number{display:inline-block;margin-bottom:20px}.section-2 .section-copy{margin:0}.section-3 .section-copy{padding:28px 32px;background:#eaf0e7;border-left:3px solid var(--gold)}.map-panel{margin:32px 0 0 54px;position:relative}.map-panel iframe{width:100%;height:280px;border:0;display:block;filter:saturate(.55)}.map-panel>a{position:absolute;left:20px;bottom:20px;padding:10px 18px;background:white;font-weight:600;font-size:14px;box-shadow:0 3px 16px #0002}.faq-list{margin-left:54px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{padding:23px 0;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:18px;font-weight:600;list-style:none}summary::-webkit-details-marker{display:none}summary span{font:inherit;color:inherit}details p{max-width:820px;padding-bottom:8px}.section-6{background:var(--green);color:white;margin:55px -32px 0;padding:54px;border:0}.section-6 .section-number{color:#dbc887}.section-6 .section-copy{max-width:770px}.section-6 .section-copy>p:last-child{border-top:1px solid #ffffff35;padding-top:25px;margin-top:30px;font-size:14px}footer{max-width:1216px;margin:0 auto;padding:40px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-links{display:flex;gap:25px;font-size:13px}.mobile-bar{display:none}@media(min-width:1600px){.hero-inner{padding-top:85px;padding-bottom:93px}}@media(max-width:1100px){.header-inner{gap:18px;padding:15px 24px}.site-header nav{gap:14px;font-size:12px}.logo img{width:210px}.logo-type{font-size:20px}.hero-inner{gap:40px}.hero-copy>p{font-size:16px}h1{font-size:62px}}@media(max-width:900px){.site-header nav{display:none}.header-inner{justify-content:space-between}.hero-inner{gap:28px;padding:50px 25px}.hero-copy>p{font-size:15px}.hero h1{font-size:54px}form{padding:22px 20px 16px}.toc{grid-template-columns:160px 1fr}.toc ol{grid-template-columns:1fr}.section-2{display:block}.section-2 .section-copy{margin-left:54px}.section-2 .section-heading{display:flex}.section-2 .section-number{margin-bottom:0}.mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;position:fixed;left:0;right:0;bottom:0;background:white;border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom));z-index:30}.mobile-bar>a:first-child{font-size:14px;font-weight:700;text-decoration:none}body{padding-bottom:80px}.form-focused .mobile-bar{display:none}}@media(max-width:640px){html{scroll-padding-top:95px}.header-inner{padding:12px 16px;gap:10px}.logo img{width:177px;max-height:49px}.logo-symbol{width:30px;height:30px;font-size:23px}.logo-type{font-size:15px}.logo-type small{font-size:7px;letter-spacing:2.5px;margin-top:4px}.logo{gap:7px}.site-header .phone{font-size:12px;padding:10px 11px}.hero-inner{display:block;padding:43px 21px 38px}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:17px}.hero h1{font-size:59px}.hero-copy>p{font-size:16px;line-height:1.8;margin-top:23px}.hero-cta a{font-size:14px}.hero-cta a:after{margin-left:5px}form{margin-top:32px;padding:25px 22px 18px}.form-heading{font-size:29px}input,select,textarea{font-size:16px}.body-wrap{padding:0 21px}.opening{font-size:18px;margin:40px 0 28px}.inline-1{height:240px}.toc{display:block;margin-top:25px;padding:25px 0}.toc-label{margin-bottom:20px}.toc ol{padding-left:20px;gap:12px;font-size:13px}.content-section{padding:42px 0}.section-heading{gap:15px;margin-bottom:23px}.section-number{min-width:22px}h2{font-size:38px}h3{font-size:31px}.content-section>p,.section-copy,.section-2 .section-copy{margin-left:0}.service-grid{grid-template-columns:1fr;margin-top:25px;gap:15px}.service-card{padding:26px}.service-card p{font-size:16px}.section-1 .section-copy{columns:auto}.inline-2{height:250px;margin-top:29px}.section-3 .section-copy{padding:23px}.map-panel{margin:25px 0 0}.map-panel iframe{height:250px}.faq-list{margin-left:0}summary{font-size:17px;line-height:1.5}.section-6{margin:30px -21px 0;padding:38px 21px}.section-6 .section-copy{margin-left:0}footer{display:block;padding:32px 21px}.footer-links{margin-top:25px;gap:20px;flex-wrap:wrap}.mobile-bar{padding-left:21px;padding-right:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.logo img{height:56px;max-height:none;object-fit:cover;object-position:center}@media(max-width:1100px){.logo img{height:48px}}@media(max-width:640px){.logo img{height:41px;max-height:none}}


.hero-credential{margin-top:18px;font-size:11px;letter-spacing:1.2px;color:#d5dfd7}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:12px 22px;max-width:630px}@media(max-width:640px){.footer-links{justify-content:flex-start}}
.hero{background-image:linear-gradient(90deg,rgba(10,43,36,.93),rgba(10,43,36,.58)),var(--hero-selected,var(--hero-photo,none))}
@supports (background-image:image-set(url('x.webp') type('image/webp'))){.hero{--hero-selected:var(--hero-photo-modern,var(--hero-photo,none))}}
.staging-banner{background:#f3e7c9;color:#453614;text-align:center;padding:5px 16px;font-size:11px;line-height:1.5}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:25px 0;color:#627469;font-size:12px;line-height:1.6}.breadcrumbs a{font-weight:600}.breadcrumbs [aria-current]{max-width:850px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.cf-turnstile{margin-top:15px;max-width:100%;min-height:65px;overflow:hidden}.contact-form button[disabled]{opacity:.7;cursor:wait}.contact-form #form-status{margin:15px 0 0;padding:12px;background:#edf2e9;color:var(--green);font-size:13px}.site-header nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px}.footer-brand{font-family:var(--heading);font-size:23px;text-decoration:none;line-height:1.15}.family-section .section-copy{max-width:850px}.family-section h2{font-size:44px}.family-section h3{margin-top:35px;margin-bottom:18px}.family-section h3:first-child{margin-top:0}.family-section ul,.utility-copy ul,.family-section ol,.utility-copy ol{padding-left:22px;margin:0 0 25px}.family-section li,.utility-copy li{padding-left:4px;margin-bottom:10px}.family-section.closing-section{border-bottom:0}.page-service .family-section:nth-of-type(even){background:#eff1e9;margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px}.page-geo .family-section:not(:has(.faq-section)){display:grid;grid-template-columns:.85fr 1.3fr;column-gap:50px}.page-geo .family-section .section-heading{display:block}.page-geo .family-section .section-number{display:inline-block;margin-bottom:18px}.page-geo .family-section .section-copy{margin-left:0}.page-geo .family-section .photo,.page-geo .family-section .map-panel{grid-column:1/-1}.page-geo .map-panel{margin-left:0}.page-link_asset .opening,.page-person .opening{max-width:850px}.page-link_asset .family-section .section-copy,.page-person .family-section .section-copy{max-width:850px}.page-link_asset .hero h1{font-size:clamp(43px,4.2vw,64px)}.page-person .hero h1{font-size:80px}.portrait{max-width:560px;height:580px;margin:0 auto;background:#e0e5da}.portrait img{object-fit:cover;object-position:center top}.table-scroll{overflow:auto;max-width:100%;margin:28px 0 35px;border:1px solid #c7d0c3;border-radius:3px;background:white;overscroll-behavior-x:contain}table{border-collapse:collapse;min-width:650px;width:100%;font-size:13px;line-height:1.5}th{background:var(--green);color:white;text-align:left;font-weight:600;padding:14px 15px;vertical-align:top}td{border-top:1px solid #dce1d7;border-right:1px solid #dce1d7;padding:12px 15px;vertical-align:top;min-width:125px}tr:nth-child(even) td{background:#f5f6ef}.page-link_asset .table-scroll{width:100%}.faq-item summary{display:block;position:relative;padding-right:45px}.faq-item summary:after{content:'+';position:absolute;right:6px;top:21px;font-size:23px;color:#896118}.faq-item[open] summary:after{content:'−'}.faq-item summary h2,.faq-item summary h3{font:600 20px/1.4 var(--body);margin:0}.faq-item summary strong{font-weight:600}.faq-answer{padding:0 0 8px;max-width:850px}.faq-answer p{padding:0}.faq-section{margin-left:54px}.faq-section summary h2{font-family:var(--heading);font-size:34px}.resource-download{margin:20px 0 50px 54px}.resource-download a{display:inline-block;background:var(--green);color:white;border-bottom:4px solid var(--gold);padding:12px 25px;font-weight:600;text-decoration:none}.utility-wrap,.archive-wrap{min-height:65vh;padding-bottom:60px}.utility-heading{padding:30px 0 25px;border-bottom:1px solid var(--line);margin-bottom:32px}.utility-heading h1{color:var(--green);font-size:62px;max-width:900px}.company-logo{margin:0 0 32px;max-width:320px;height:86px;overflow:hidden}.company-logo img{width:100%;height:86px;object-fit:cover}.utility-copy{max-width:850px}.utility-copy h2{font-size:38px;margin:40px 0 20px}.utility-copy h3{font-size:27px;margin:30px 0 16px}.page-legal .utility-copy{max-width:810px}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:start}.contact-layout form{position:sticky;top:120px}.contact-layout .utility-copy h2:first-child{margin-top:0}.inventory-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.inventory-grid li{margin:0}.inventory-grid a{display:flex;height:100%;justify-content:space-between;gap:18px;align-items:center;padding:24px;background:white;border:1px solid var(--line);text-decoration:none;font-size:16px;line-height:1.5}.inventory-grid a:hover{border-color:var(--green);background:#edf2e8}.inventory-grid span{color:#986d1c}.page-blog_archive .inventory-grid{grid-template-columns:1fr}.page-blog_archive .inventory-grid a{font:600 31px/1.25 var(--heading);padding:28px 30px}.page-error .utility-wrap{min-height:55vh}.page-error{padding-bottom:0}.page-home .hero-copy>p{max-width:580px}.page-home .section-5 .section-copy{max-width:none}.page-home .section-5 .faq-item summary h3{font-family:var(--body);font-size:18px;font-weight:600}.page-home .section-5 .faq-item .faq-answer p{font-size:16px}.page-home .section-5 .faq-item h3{margin:0}.page-home .section-5 .section-copy{margin-left:54px}
@media(max-width:900px){.page-geo .family-section:not(:has(.faq-section)){display:block}.page-geo .family-section .section-heading{display:flex}.page-geo .family-section .section-number{margin-bottom:0}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-layout form{position:static;max-width:550px}.inventory-grid{grid-template-columns:1fr 1fr}.page-link_asset .hero h1{font-size:48px}.page-person .hero h1{font-size:64px}}
@media(max-width:640px){.staging-banner{font-size:10px;padding:5px 10px}.breadcrumbs{margin:20px 0;font-size:11px;gap:7px}.family-section h2{font-size:37px}.page-service .family-section:nth-of-type(even){margin-left:-21px;margin-right:-21px;padding-left:21px;padding-right:21px}.faq-section{margin-left:0}.faq-section summary h2{font-size:30px}.faq-item summary h2,.faq-item summary h3{font-size:18px}.resource-download{margin-left:0}.portrait{height:440px}.utility-heading{padding-top:20px}.utility-heading h1{font-size:45px}.utility-copy h2{font-size:34px}.utility-wrap,.archive-wrap{padding-bottom:35px}.inventory-grid{grid-template-columns:1fr;gap:12px}.inventory-grid a{padding:19px 22px}.page-blog_archive .inventory-grid a{font-size:27px;padding:23px}.page-link_asset .hero h1{font-size:48px}.page-person .hero h1{font-size:62px}.page-home .section-5 .section-copy{margin-left:0}.table-scroll{margin-top:22px}.contact-layout{gap:10px}.company-logo{max-width:260px;height:68px}.company-logo img{height:68px}.family-section .section-copy{max-width:100%}}
.portrait img{object-fit:contain;object-position:center}
/* Inline photographs retain their complete exported frame and never upscale. */
.photo.inline-1,.photo.inline-2,.photo.portrait{width:100%;max-width:min(100%,var(--photo-width,100%));height:auto;margin-left:auto;margin-right:auto;background:transparent;overflow:visible}
.photo.inline-1 img,.photo.inline-2 img,.photo.portrait img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center}
.photo.portrait{max-width:min(100%,var(--photo-width,640px),640px)}
.content-section>.photo.inline-1{margin-top:44px}@media(max-width:640px){.content-section>.photo.inline-1{margin-top:29px}}

.photo figcaption{padding:.7rem 0 0;color:var(--muted,#52665e);font-size:.875rem;line-height:1.5;text-align:left;}
/* Footer business profiles: 44px keyboard/touch targets; focus ring from the shared a:focus-visible rule. */
.social-links{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-shrink:0}.social-links a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--green);border:1px solid var(--line);border-radius:50%;background:#fff}.social-links a:hover{color:#fff;background:var(--green);border-color:var(--green)}.social-links svg{display:block;width:22px;height:22px}@media(max-width:640px){.social-links{margin-top:22px}}
/* Keep long commercial-roofing headings inside narrow screens with uncondensed fallback fonts. */
@media(max-width:640px){.hero h1{font-size:clamp(40px,12vw,59px);overflow-wrap:break-word}}
