@font-face{font-family:Libre Caslon Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/libre-caslon-text-400.woff2) format("woff2")}@font-face{font-family:Libre Caslon Text;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/libre-caslon-text-700.woff2) format("woff2")}@font-face{font-family:Public Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/public-sans.woff2) format("woff2")}@font-face{font-family:Public Sans Fallback;font-style:normal;font-weight:400 600;src:local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:103.47%;ascent-override:91.81%;descent-override:22.23%;line-gap-override:0%}@font-face{font-family:Libre Caslon Fallback;font-style:normal;font-weight:400 700;src:local("Georgia"),local("Times New Roman"),local("Liberation Serif");size-adjust:100.71%;ascent-override:96.31%;descent-override:25.82%;line-gap-override:0%}:root{--navy:#2A3340;--navy-800:#232B36;--cream:#FBF9F6;--brick:#D32F2F;--brick-dark:#A82424;--steel:#4A6178;--slate:#333333;--slate-light:#69747E;--line:#E4DFD3}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Public Sans,Public Sans Fallback,sans-serif;color:var(--slate);background:var(--cream);line-height:1.5}h1,h2,h3{font-family:Libre Caslon Text,Libre Caslon Fallback,serif;font-weight:700;color:var(--navy);letter-spacing:-.005em;text-wrap:balance}.brand{font-family:Public Sans,Public Sans Fallback,sans-serif;color:var(--navy)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.roofline{width:100%;height:6px;display:block;background:var(--navy)}.roofline.flip{background:var(--cream)}.utility-bar{background:var(--navy);color:#dce1e6;font-size:13px;padding:8px 0}.utility-bar .wrap{display:flex;justify-content:flex-end;gap:24px;align-items:center}.utility-bar .wrap>*{white-space:nowrap}.utility-bar a:hover{color:#fff;text-decoration:underline}.util-hours-short{display:none}header{background:var(--cream);padding:14px 0;border-bottom:1px solid var(--line)}header .wrap{display:flex;align-items:center;justify-content:flex-start}header nav{margin-left:44px}.header-actions{margin-left:auto}.brand{color:var(--navy);font-size:21px;font-weight:700;letter-spacing:.01em;font-family:Libre Caslon Text,Libre Caslon Fallback,serif;display:flex;align-items:center;gap:12px}.brand img{height:78px;width:auto;display:block}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text small{font-family:Public Sans,Public Sans Fallback,sans-serif;font-size:11px;font-weight:500;color:var(--slate-light);letter-spacing:.03em}.brand span{color:var(--brick)}nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500;color:var(--slate)}nav a{padding:6px 0;border-bottom:2px solid transparent}nav a:hover{border-color:var(--brick);color:var(--navy)}.call-btn{background:var(--brick);color:#fff;padding:11px 20px;border-radius:2px;font-weight:600;font-size:14px;white-space:nowrap}.call-btn:hover{background:var(--brick-dark)}.dropdown .dd-label{padding:8px 18px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-light)}.dropdown hr{border:none;border-top:1px solid var(--line);margin:6px 0}.hero,.page-hero{background-repeat:no-repeat;background-position:center;background-size:cover}.hero{position:relative;background-image:linear-gradient(180deg,#1e2631b8,#1e2631d1),var(--hero-mobile, url(/photos/metal-roof-hill-country-mobile.jpg));color:#fff;padding:110px 0}@media(min-width:481px){.hero{background-image:linear-gradient(180deg,#1e2631b8,#1e2631d1),var(--hero-full, url(/photos/metal-roof-hill-country.jpg))}}@supports (background-image: image-set(url(/photos/metal-roof-hill-country.webp) type("image/webp"))){.hero{background-image:linear-gradient(180deg,#1e2631b8,#1e2631d1),var(--hero-mobile-set, var(--hero-mobile, image-set(url(/photos/metal-roof-hill-country-mobile.webp) type("image/webp"), url(/photos/metal-roof-hill-country-mobile.jpg) type("image/jpeg"))))}@media(min-width:481px){.hero{background-image:linear-gradient(180deg,#1e2631b8,#1e2631d1),var(--hero-full-set, var(--hero-full, image-set(url(/photos/metal-roof-hill-country.webp) type("image/webp"), url(/photos/metal-roof-hill-country.jpg) type("image/jpeg"))))}}}.hero-inner{max-width:640px}.eyebrow{color:#f2b8a8;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-family:Public Sans,Public Sans Fallback,sans-serif}.hero h1{font-size:52px;line-height:1.1;margin-bottom:20px;color:#fbf9f6}.hero p{color:#dce1e6;font-size:17px;max-width:480px;margin-bottom:30px}.hero-ctas{display:flex;gap:14px}.btn-primary{background:var(--brick);color:#fff;padding:16px 28px;font-weight:600;font-size:15px;border-radius:2px}.btn-primary:hover{background:var(--brick-dark)}.btn-ghost{border:1px solid rgba(255,255,255,.5);color:#fff;padding:16px 28px;font-weight:600;font-size:15px;border-radius:2px}.trust-bar{background:var(--navy-800)}.trust-row{display:flex;justify-content:space-between;padding-top:20px;padding-bottom:26px;flex-wrap:wrap;gap:16px 32px}.trust-item{color:#c7d0d8;font-size:13px;display:flex;align-items:center;gap:8px}.trust-item b{color:#fff;font-weight:600}section{padding:72px 0}.section-head{max-width:560px;margin-bottom:44px}.section-head .eyebrow{color:var(--brick)}.section-head h2{font-size:30px;font-weight:700}.section-head p{color:var(--slate-light);font-size:15px;margin-top:10px;text-wrap:pretty}.work-strip{background:#fff;border-top:1px solid var(--line)}.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.work-item{aspect-ratio:4/3;border-radius:3px;overflow:hidden;position:relative;max-width:420px;width:100%}.work-item img{width:100%;height:100%;object-fit:cover;display:block}.work-item span{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(180deg,transparent,rgba(20,26,34,.75));color:#fff;font-size:12.5px;font-weight:500}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:28px 24px;border-top:3px solid var(--brick)}.service-card h3{font-size:18px;margin-bottom:10px}.service-card p{font-size:14px;color:var(--slate-light);margin-bottom:16px}.service-card a{font-size:13px;font-weight:600;color:var(--brick)}.testimonials{background:var(--navy)}.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.test-card{background:var(--navy-800);border-radius:3px;padding:26px;color:#d9dfe5}.test-card p{font-size:14px;line-height:1.6;margin-bottom:18px}.test-name{color:#fff;font-weight:600;font-size:14px}.test-role{color:#8fa0af;font-size:12px}.quote-mark{color:var(--brick);font-size:32px;font-family:Libre Caslon Text,Libre Caslon Fallback,serif;line-height:1;margin-bottom:8px;display:block}.area-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.area-inner{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:64px;align-items:start}.area-list{columns:4;column-gap:36px;font-size:14.5px;line-height:1.6;color:var(--slate-light)}.area-list div{margin-bottom:11px;break-inside:avoid}.area-list a:hover{color:var(--brick);text-decoration:underline}.area-all{display:inline-block;margin-top:14px;font-size:13px;font-weight:600;color:var(--brick)}.area-all:hover{color:var(--brick-dark)}footer{background:var(--navy);color:#b7c1cb;padding:56px 0 28px;font-size:13.5px}.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:28px;margin-bottom:40px}.social-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.social-row a{border:1px solid rgba(255,255,255,.25);border-radius:2px;padding:6px 12px;font-size:12.5px;color:#c7d0d8}.social-row a:hover{border-color:#fff;color:#fff}footer h3{font-family:Public Sans,Public Sans Fallback,sans-serif;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px;text-wrap:wrap}footer li{list-style:none;margin-bottom:9px}footer li a:hover{color:#fff}.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;font-size:12.5px;color:#8e9ca9;flex-wrap:wrap;gap:10px}.nav-item{position:relative;display:flex;align-items:center}.nav-item>a:after{content:" ▾";font-size:10px;color:var(--slate-light)}.dropdown{position:absolute;top:100%;left:-16px;z-index:50;background:#fff;border:1px solid var(--line);border-top:3px solid var(--brick);min-width:440px;padding:20px 24px;display:none;box-shadow:0 8px 24px #1e26311a}@media(min-width:1081px){.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{display:grid;grid-template-columns:1fr 1fr;gap:4px 32px}}.dropdown .dd-col-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-light);margin:0 0 8px;grid-column:span 1;font-family:Public Sans,Public Sans Fallback,sans-serif}.dropdown-col{display:flex;flex-direction:column}.dropdown-col a{font-size:13.5px;padding:5px 0;color:var(--slate);border:none}.dropdown-col a:hover{color:var(--brick)}.dropdown.areas{min-width:380px;max-height:70vh;overflow-y:auto}.dropdown.compact{min-width:220px}@media(min-width:1081px){.nav-item:hover .dropdown.compact,.nav-item:focus-within .dropdown.compact{grid-template-columns:1fr}}@media(max-width:820px){.hero-inner,.services-grid,.test-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.work-grid{grid-template-columns:1fr 1fr}.hero{padding:70px 0}.hero h1{font-size:clamp(30px,9vw,44px)}.hero-ctas{flex-wrap:wrap}.foot-bottom{flex-direction:column}}nav>a.active,.nav-item>a.active{color:var(--brick);border-color:var(--brick)}.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.mobile-only{display:none}.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;flex-direction:column;gap:5px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);transition:transform .2s,opacity .2s}header.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}header.nav-open .nav-toggle span:nth-child(2){opacity:0}header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:1080px){header{position:relative}.brand img{height:56px}.nav-toggle{display:flex}nav{display:none}header.nav-open nav{margin-left:0;display:block;position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 32px 18px;box-shadow:0 12px 24px #1e26311f;max-height:calc(100vh - 160px);overflow-y:auto}nav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}nav a:hover{border-color:var(--line)}.nav-item{display:block;position:static}.nav-item>a{position:relative}.nav-item>a:after{content:"▾";position:absolute;right:2px}.nav-item.open>a:after{content:"▴"}.dropdown,.dropdown.areas{position:static;border:0;box-shadow:none;min-width:0;max-height:none;background:transparent;padding:2px 0 8px 14px;overflow:visible}.nav-item.open .dropdown{display:block}.dropdown .dd-col-title{margin-top:14px}.dropdown .h5-spacer{display:none}.dropdown-col:first-child h5{margin-top:4px}.dropdown-col a{padding:8px 0;border-bottom:0;font-size:14px}.mobile-only{display:block}.all-link{font-weight:600;color:var(--brick)!important;border-bottom:0!important;padding:8px 0 2px!important}.nav-cta{background:var(--brick);color:#fff!important;text-align:center;font-weight:600;margin-top:16px;padding:13px!important;border-radius:2px;border-bottom:0!important}.nav-cta:hover{background:var(--brick-dark)}}@media(max-width:520px){.header-actions .call-btn{display:none}}@media(max-width:700px){.utility-bar .wrap{justify-content:center;gap:16px}.util-hours{display:none}.util-hours-short{display:inline}}@media(max-width:400px){.utility-bar{font-size:12px}.utility-bar .wrap{flex-direction:column;gap:3px;text-align:center}}.page-hero{position:relative;background-image:linear-gradient(180deg,#1e2631b8,#1e2631d1),var(--hero-mobile, url(/photos/shingle-roof-wide-mobile.jpg));color:#fff;padding:72px 0 56px}@media(min-width:481px){.page-hero{background-image:linear-gradient(180deg,#1e2631b8,#1e2631d1),var(--hero-full, url(/photos/shingle-roof-wide.jpg))}}@supports (background-image: image-set(url(/photos/metal-roof-hill-country.webp) type("image/webp"))){.page-hero{background-image:linear-gradient(180deg,#1e2631b8,#1e2631d1),var(--hero-mobile-set, var(--hero-mobile, image-set(url(/photos/shingle-roof-wide-mobile.webp) type("image/webp"), url(/photos/shingle-roof-wide-mobile.jpg) type("image/jpeg"))))}@media(min-width:481px){.page-hero{background-image:linear-gradient(180deg,#1e2631b8,#1e2631d1),var(--hero-full-set, var(--hero-full, image-set(url(/photos/shingle-roof-wide.webp) type("image/webp"), url(/photos/shingle-roof-wide.jpg) type("image/jpeg"))))}}}.page-hero h1{font-size:42px;color:#fbf9f6;margin-bottom:12px}.page-hero p{color:#dce1e6;font-size:16px;max-width:560px}.breadcrumb{font-size:13px;color:#c7d0d8;margin-bottom:16px}.breadcrumb a{color:#f2b8a8}.breadcrumb a:hover{text-decoration:underline}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.split img{border-radius:3px;width:100%;aspect-ratio:4/3;object-fit:cover}.split ul,.check-list{list-style:none;margin-top:18px}.split li,.check-list li{padding-left:26px;position:relative;margin-bottom:12px;font-size:15px;color:var(--slate)}.split li:before,.check-list li:before{content:"✓";position:absolute;left:0;color:var(--brick);font-weight:700}.services-grid.six{grid-template-columns:repeat(3,1fr);gap:20px}.fine-print{max-width:860px;font-size:14px;color:var(--slate-light);line-height:1.7}.fine-print h3{font-size:15px;color:var(--navy);margin-bottom:14px;letter-spacing:.06em;text-transform:uppercase}.fine-print ul{list-style:none;margin-bottom:16px}.fine-print li{padding-left:18px;position:relative;margin-bottom:9px}.fine-print li:before{content:"·";position:absolute;left:6px;font-weight:700}.fine-print a{color:var(--brick);text-decoration:underline}.fine-print-note{font-size:13px;opacity:.8;margin-bottom:16px}.material-row{display:flex;gap:14px;flex-wrap:wrap}.material-pill{background:#fff;border:1px solid var(--line);border-radius:2px;padding:10px 18px;font-size:14px;font-weight:500;color:var(--navy)}.cta-band{background:var(--brick);color:#fff;text-align:center;padding:56px 0}.cta-band h2{color:#fff;font-size:28px;margin-bottom:12px}.cta-band p{color:#fff1e8;margin-bottom:24px}.cta-band .btn-primary{background:var(--navy)}.cta-band .btn-primary:hover{background:var(--navy-800)}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:24px 20px}.step-num{font-family:Libre Caslon Text,Libre Caslon Fallback,serif;font-size:26px;color:var(--brick);font-weight:700;margin-bottom:8px}.step-card h3{font-size:16px;margin-bottom:8px}.step-card p{font-size:13.5px;color:var(--slate-light)}.faq-section{border-top:1px solid var(--line)}.faq-wrap{max-width:820px}.faq{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:600;font-size:15px;color:var(--navy);cursor:pointer;list-style:none}.faq summary:after{content:"+";float:right;color:var(--brick);font-size:18px}.faq[open] summary:after{content:"–"}.faq p{margin-top:10px;font-size:14px;color:var(--slate-light)}@media(max-width:820px){.split,.services-grid.six{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr 1fr}.page-hero h1{font-size:clamp(28px,8vw,38px)}}.post-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-top:3px solid var(--brick);border-radius:3px;overflow:hidden;margin-bottom:32px;color:inherit}.post-feature img{width:100%;height:100%;min-height:280px;object-fit:cover}.post-feature-body{padding:32px 34px}.post-feature-body h2{font-size:25px;margin-bottom:12px;text-wrap:pretty}.post-feature-body p{color:var(--slate-light);font-size:15px;margin-bottom:18px}.post-feature:hover h2{color:var(--brick)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;color:inherit}.post-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.post-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}.post-card-body h3{font-size:17px;margin-bottom:10px;text-wrap:pretty}.post-card-body p{color:var(--slate-light);font-size:14px;margin-bottom:16px}.post-card:hover h3{color:var(--brick)}.post-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--slate-light);margin-bottom:12px}.post-tag{background:var(--cream);border:1px solid var(--line);border-radius:2px;padding:3px 9px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--brick)}.post-more{margin-top:auto;font-size:13px;font-weight:600;color:var(--brick)}.post-byline{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:#c7d0d8;margin-top:14px}.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}.post-updated{font-size:13px;color:var(--slate-light);border-left:3px solid var(--brick);padding-left:14px;margin-bottom:28px}.post-aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:24px}.post-cta{background:#fff;border:1px solid var(--line);border-top:3px solid var(--brick);border-radius:3px;padding:26px 24px}.post-cta h3{font-size:18px;margin-bottom:10px}.post-cta p{font-size:14px;color:var(--slate-light);margin-bottom:18px}.post-cta-phone{display:block;text-align:center;margin-top:12px;font-size:13.5px;color:var(--slate-light)}.post-cta-phone:hover{color:var(--brick)}.post-tags h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-light);margin-bottom:12px}.prose{max-width:760px}.prose h2{font-size:24px;margin:36px 0 14px}.prose h3{font-size:18px;margin:26px 0 10px}.prose p{margin-bottom:16px;font-size:16px;line-height:1.75;color:var(--slate)}.prose ul,.prose ol{margin:0 0 18px 24px}.prose li{margin-bottom:10px;font-size:16px;line-height:1.7}.prose a{color:var(--brick);text-decoration:underline;text-underline-offset:2px}.prose a:hover{color:var(--brick-dark)}.prose strong{color:var(--navy)}.prose em{color:var(--slate-light)}.prose blockquote{border-left:3px solid var(--brick);padding-left:18px;margin:0 0 18px;color:var(--slate-light)}@media(max-width:900px){.post-layout{grid-template-columns:1fr;gap:36px}.post-aside{position:static}.post-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.post-feature{grid-template-columns:1fr}.post-feature img{min-height:200px}.post-feature-body{padding:24px}.post-grid{grid-template-columns:1fr}}.project-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filter-pill{background:#fff;border:1px solid var(--line);border-radius:2px;padding:9px 18px;font:inherit;font-size:13.5px;font-weight:500;color:var(--navy);cursor:pointer}.filter-pill:hover{border-color:var(--brick);color:var(--brick)}.filter-pill.is-active{background:var(--navy);border-color:var(--navy);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;color:inherit}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-noimg{width:100%;aspect-ratio:4/3;background:var(--cream);border-bottom:1px solid var(--line)}.project-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.project-card-body h3,.project-card-body .card-title{font-size:17px;margin-bottom:10px;text-wrap:pretty}.project-card-body p{font-size:14px;color:var(--slate-light);margin-bottom:14px}.project-card:hover h3,.project-card:hover .card-title{color:var(--brick)}.project-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--slate-light);margin-bottom:12px}.project-foot{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.project-service{font-size:12px;font-weight:600;color:var(--navy)}.project-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--brick);border:1px solid var(--brick);border-radius:2px;padding:2px 7px}.project-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--brick);border-radius:3px;padding:28px 30px}.project-facts h4,.project-facts .fact-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-light);margin-bottom:6px;font-family:Public Sans,Public Sans Fallback,sans-serif;font-weight:600}.project-facts p{font-size:15px;color:var(--navy);font-weight:500}.project-facts a{color:var(--brick);text-decoration:underline;text-underline-offset:2px}.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ba-grid figure{margin:0;position:relative}.ba-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;border:1px solid var(--line)}.ba-grid figcaption{font-size:13px;color:var(--slate-light);margin-top:10px}.ba-label{position:absolute;top:12px;left:12px;z-index:2;background:var(--navy);color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:5px 11px;border-radius:2px}.ba-label.is-after{background:var(--brick)}.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-gallery figure{margin:0}.project-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;border:1px solid var(--line)}.project-gallery figcaption{font-size:12.5px;color:var(--slate-light);margin-top:8px}@media(max-width:900px){.project-grid,.project-gallery{grid-template-columns:1fr 1fr}}@media(max-width:640px){.project-grid,.project-gallery,.ba-grid{grid-template-columns:1fr}}:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--brick);outline-offset:2px;border-radius:2px}.utility-bar a:focus-visible,.hero a:focus-visible,.page-hero a:focus-visible,.trust-bar a:focus-visible,.cta-band a:focus-visible,footer a:focus-visible,.testimonials a:focus-visible{outline-color:#fff}.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--brick);color:#fff;padding:12px 20px;font-size:14px;font-weight:600}.skip-link:focus{left:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:1080px){.area-list{columns:3}}@media(max-width:820px){.area-inner{grid-template-columns:1fr;gap:32px}.area-list{columns:3;column-gap:28px}}@media(max-width:560px){.area-list{columns:2;column-gap:20px}}.staging-banner{background:#8a6d1f;color:#fff;text-align:center;padding:8px 16px;font-size:13px;font-weight:600}.lead-form{background:#fff;border:1px solid var(--line);border-radius:3px;padding:32px;max-width:720px}.lead-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.lead-form label{display:block;margin-bottom:18px;font-size:13px;font-weight:600;color:var(--navy)}.lead-form-grid label{margin-bottom:0}.lead-form input,.lead-form select,.lead-form textarea{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:2px;font:inherit;font-size:15px;font-weight:400;color:var(--slate);background:var(--cream)}.lead-form textarea{resize:vertical}.form-section-label{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brick);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.lead-form-grid+.form-section-label{margin-top:26px}.lead-form .label-hint{display:block;margin-top:3px;font-size:12.5px;font-weight:400;color:var(--slate-light)}.lead-form label.form-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:400;color:var(--slate);line-height:1.5}.lead-form label.form-check input{width:auto;margin:2px 0 0;flex:0 0 auto}.lead-form button[type=submit]{border:0;cursor:pointer;font:inherit;font-weight:600}.lead-form button[disabled]{opacity:.65;cursor:progress}.form-status{margin-top:16px;font-size:14.5px;line-height:1.6}.form-status:empty{display:none}.form-status.is-success{color:#1b5e20;background:#edf7ed;border-left:3px solid #2E7D32;padding:12px 14px;border-radius:2px}.form-status.is-error{color:var(--brick-dark);background:#fdecea;border-left:3px solid var(--brick);padding:12px 14px;border-radius:2px}.form-status a{color:inherit;text-decoration:underline}.form-warning{background:#fff8e1;border-left:3px solid #8A6D1F;color:#5d4a15;padding:12px 14px;border-radius:2px;margin-bottom:22px;font-size:14px}.form-warning a{color:inherit;text-decoration:underline}@media(max-width:640px){.lead-form{padding:24px}.lead-form-grid{grid-template-columns:1fr}}@media(max-width:480px){.foot-grid{grid-template-columns:1fr;gap:28px}}
