@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:#333;--slate-light:#69747e;--line:#e4dfd3}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body{color:var(--slate);background:var(--cream);font-family:Public Sans,Public Sans Fallback,sans-serif;line-height:1.5}h1,h2,h3{color:var(--navy);letter-spacing:-.005em;text-wrap:balance;font-family:Libre Caslon Text,Libre Caslon Fallback,serif;font-weight:700}.brand{color:var(--navy);font-family:Public Sans,Public Sans Fallback,sans-serif}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{background:var(--navy);width:100%;height:6px;display:block}.roofline.flip{background:var(--cream)}.utility-bar{background:var(--navy);color:#dce1e6;padding:8px 0;font-size:13px}.utility-bar .wrap{justify-content:flex-end;align-items:center;gap:24px;display:flex}.utility-bar .wrap>*{white-space:nowrap}.utility-bar a:hover{color:#fff;text-decoration:underline}.util-hours-short{display:none}header{background:var(--cream);border-bottom:1px solid var(--line);padding:14px 0}header .wrap{justify-content:flex-start;align-items:center;display:flex}header nav{margin-left:44px}.header-actions{margin-left:auto}.brand{color:var(--navy);letter-spacing:.01em;align-items:center;gap:12px;font-family:Libre Caslon Text,Libre Caslon Fallback,serif;font-size:21px;font-weight:700;display:flex}.brand img{width:auto;height:78px;display:block}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text small{color:var(--slate-light);letter-spacing:.03em;font-family:Public Sans,Public Sans Fallback,sans-serif;font-size:11px;font-weight:500}.brand span{color:var(--brick)}nav{color:var(--slate);align-items:center;gap:26px;font-size:14px;font-weight:500;display:flex}nav a{border-bottom:2px solid #0000;padding:6px 0}nav a:hover{border-color:var(--brick);color:var(--navy)}.call-btn{background:var(--brick);color:#fff;white-space:nowrap;border-radius:2px;padding:11px 20px;font-size:14px;font-weight:600}.call-btn:hover{background:var(--brick-dark)}.dropdown .dd-label{text-transform:uppercase;letter-spacing:.06em;color:var(--slate-light);padding:8px 18px 4px;font-size:11px;font-weight:600}.dropdown hr{border:none;border-top:1px solid var(--line);margin:6px 0}.hero,.page-hero{background-position:50%;background-repeat:no-repeat;background-size:cover}.hero{background-image:linear-gradient(180deg, #1e2631b8 0%, #1e2631d1 100%), var(--hero-mobile,url(/photos/metal-roof-hill-country-mobile.jpg));color:#fff;padding:110px 0;position:relative}@media (min-width:481px){.hero{background-image:linear-gradient(180deg, #1e2631b8 0%, #1e2631d1 100%), 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 0%, #1e2631d1 100%), 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 0%, #1e2631d1 100%), 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;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-family:Public Sans,Public Sans Fallback,sans-serif;font-size:13px;font-weight:600}.hero h1{color:#fbf9f6;margin-bottom:20px;font-size:52px;line-height:1.1}.hero p{color:#dce1e6;max-width:500px;margin-bottom:30px;font-size:17px}.hero-ctas{gap:14px;display:flex}.btn-primary{background:var(--brick);color:#fff;border-radius:2px;padding:16px 28px;font-size:15px;font-weight:600}.btn-primary:hover{background:var(--brick-dark)}.btn-ghost{color:#fff;border:1px solid #ffffff80;border-radius:2px;padding:16px 28px;font-size:15px;font-weight:600}.trust-bar{background:var(--navy-800)}.trust-row{flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding-top:20px;padding-bottom:26px;display:flex}.trust-item{color:#c7d0d8;align-items:center;gap:8px;font-size:13px;display:flex}.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);text-wrap:pretty;margin-top:10px;font-size:15px}.work-strip{border-top:1px solid var(--line);background:#fff}.work-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.work-item{aspect-ratio:4/3;border-radius:3px;width:100%;max-width:420px;position:relative;overflow:hidden}.work-item img{object-fit:cover;width:100%;height:100%;display:block}.work-item span{color:#fff;background:linear-gradient(#0000,#141a22bf);padding:10px 12px;font-size:12.5px;font-weight:500;position:absolute;bottom:0;left:0;right:0}.services-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.service-card{border:1px solid var(--line);border-top:3px solid var(--brick);background:#fff;border-radius:3px;padding:28px 24px}.service-card h3{margin-bottom:10px;font-size:18px}.service-card p{color:var(--slate-light);margin-bottom:16px;font-size:14px}.service-card a{color:var(--brick);font-size:13px;font-weight:600}.testimonials{background:var(--navy)}.test-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.test-card{background:var(--navy-800);color:#d9dfe5;border-radius:3px;padding:26px}.test-card p{margin-bottom:18px;font-size:14px;line-height:1.6}.test-name{color:#fff;font-size:14px;font-weight:600}.test-role{color:#8fa0af;font-size:12px}.quote-mark{color:var(--brick);margin-bottom:8px;font-family:Libre Caslon Text,Libre Caslon Fallback,serif;font-size:32px;line-height:1;display:block}.area-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.area-inner{grid-template-columns:minmax(240px,300px) 1fr;align-items:start;gap:64px;display:grid}.area-list{columns:4;color:var(--slate-light);column-gap:36px;font-size:14.5px;line-height:1.6}.area-list div{break-inside:avoid;margin-bottom:11px}.area-list a:hover{color:var(--brick);text-decoration:underline}.area-all{color:var(--brick);margin-top:14px;font-size:13px;font-weight:600;display:inline-block}.area-all:hover{color:var(--brick-dark)}footer{background:var(--navy);color:#b7c1cb;padding:56px 0 28px;font-size:13.5px}.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:28px;margin-bottom:40px;display:grid}.social-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.social-row a{color:#c7d0d8;border:1px solid #ffffff40;border-radius:2px;padding:6px 12px;font-size:12.5px}.social-row a:hover{color:#fff;border-color:#fff}footer h3{color:#fff;text-transform:uppercase;letter-spacing:.05em;text-wrap:wrap;margin-bottom:14px;font-family:Public Sans,Public Sans Fallback,sans-serif;font-size:13px;font-weight:600}footer li{margin-bottom:9px;list-style:none}footer li a:hover{color:#fff}.foot-bottom{color:#8e9ca9;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:20px;font-size:12.5px;display:flex}.nav-item{align-items:center;display:flex;position:relative}.nav-item>a:after{content:" ▾";color:var(--slate-light);font-size:10px}.dropdown{z-index:50;border:1px solid var(--line);border-top:3px solid var(--brick);background:#fff;min-width:440px;padding:20px 24px;display:none;position:absolute;top:100%;left:-16px;box-shadow:0 8px 24px #1e26311a}@media (min-width:1081px){.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{grid-template-columns:1fr 1fr;gap:4px 32px;display:grid}}.dropdown .dd-col-title{text-transform:uppercase;letter-spacing:.06em;color:var(--slate-light);grid-column:span 1;margin:0 0 8px;font-family:Public Sans,Public Sans Fallback,sans-serif;font-size:11px;font-weight:700}.dropdown-col{flex-direction:column;display:flex}.dropdown-col a{color:var(--slate);border:none;padding:5px 0;font-size:13.5px}.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:max(30px,min(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{align-items:center;gap:14px;margin-left:auto;display:flex}.mobile-only{display:none}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;padding:8px;display:none}.nav-toggle span{background:var(--navy);width:24px;height:2px;transition:transform .2s,opacity .2s;display:block}header.nav-open .nav-toggle span:first-child{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{z-index:100;background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-height:calc(100vh - 160px);margin-left:0;padding:6px 32px 18px;display:block;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #1e26311f}nav a{border-bottom:1px solid var(--line);padding:13px 0;font-size:15px;display:block}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{box-shadow:none;background:0 0;border:0;min-width:0;max-height:none;padding:2px 0 8px 14px;position:static;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{border-bottom:0;padding:8px 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);text-align:center;border-radius:2px;margin-top:16px;font-weight:600;color:#fff!important;border-bottom:0!important;padding:13px!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{text-align:center;flex-direction:column;gap:3px}}.page-hero{background-image:linear-gradient(180deg, #1e2631b8 0%, #1e2631d1 100%), var(--hero-mobile,url(/photos/shingle-roof-wide-mobile.jpg));color:#fff;padding:72px 0 56px;position:relative}@media (min-width:481px){.page-hero{background-image:linear-gradient(180deg, #1e2631b8 0%, #1e2631d1 100%), 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 0%, #1e2631d1 100%), 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 0%, #1e2631d1 100%), 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{color:#fbf9f6;max-width:640px;margin-bottom:12px;font-size:42px}.page-hero p{color:#dce1e6;max-width:560px;font-size:16px}.breadcrumb{color:#c7d0d8;margin-bottom:16px;font-size:13px}.breadcrumb a{color:#f2b8a8}.breadcrumb a:hover{text-decoration:underline}.split{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.split img{aspect-ratio:4/3;object-fit:cover;border-radius:3px;width:100%}.split ul,.check-list{margin-top:18px;list-style:none}.split li,.check-list li{color:var(--slate);margin-bottom:12px;padding-left:26px;font-size:15px;position:relative}.split li:before,.check-list li:before{content:"✓";color:var(--brick);font-weight:700;position:absolute;left:0}.services-grid.six{grid-template-columns:repeat(3,1fr);gap:20px}.fine-print{max-width:860px;color:var(--slate-light);font-size:14px;line-height:1.7}.fine-print h3{color:var(--navy);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;font-size:15px}.fine-print ul{margin-bottom:16px;list-style:none}.fine-print li{margin-bottom:9px;padding-left:18px;position:relative}.fine-print li:before{content:"·";font-weight:700;position:absolute;left:6px}.fine-print a{color:var(--brick);text-decoration:underline}.fine-print-note{opacity:.8;margin-bottom:16px;font-size:13px}.material-row{flex-wrap:wrap;gap:14px;display:flex}.material-pill{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:2px;padding:10px 18px;font-size:14px;font-weight:500}.cta-band{background:var(--brick);color:#fff;text-align:center;padding:56px 0}.cta-band h2{color:#fff;margin-bottom:12px;font-size:28px}.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{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.step-card{border:1px solid var(--line);background:#fff;border-radius:3px;padding:24px 20px}.step-num{color:var(--brick);margin-bottom:8px;font-family:Libre Caslon Text,Libre Caslon Fallback,serif;font-size:26px;font-weight:700}.step-card h3{margin-bottom:8px;font-size:16px}.step-card p{color:var(--slate-light);font-size:13.5px}.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{color:var(--navy);cursor:pointer;font-size:15px;font-weight:600;list-style:none}.faq summary:after{content:"+";float:right;color:var(--brick);font-size:18px}.faq[open] summary:after{content:"–"}.faq p{color:var(--slate-light);margin-top:10px;font-size:14px}@media (max-width:820px){.split,.services-grid.six{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr 1fr}.page-hero h1{font-size:max(28px,min(8vw,38px))}}.post-feature{border:1px solid var(--line);border-top:3px solid var(--brick);color:inherit;background:#fff;border-radius:3px;grid-template-columns:1.1fr 1fr;gap:0;margin-bottom:32px;display:grid;overflow:hidden}.post-feature img{object-fit:cover;width:100%;height:100%;min-height:280px}.post-feature-body{padding:32px 34px}.post-feature-body h2{text-wrap:pretty;margin-bottom:12px;font-size:25px}.post-feature-body p{color:var(--slate-light);margin-bottom:18px;font-size:15px}.post-feature:hover h2{color:var(--brick)}.post-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.post-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:3px;flex-direction:column;display:flex;overflow:hidden}.post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.post-card-body{flex-direction:column;flex:1;padding:22px 22px 24px;display:flex}.post-card-body h3{text-wrap:pretty;margin-bottom:10px;font-size:17px}.post-card-body p{color:var(--slate-light);margin-bottom:16px;font-size:14px}.post-card:hover h3{color:var(--brick)}.post-meta{color:var(--slate-light);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:12.5px;display:flex}.post-tag{background:var(--cream);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.05em;color:var(--brick);border-radius:2px;padding:3px 9px;font-size:11px;font-weight:600}.post-more{color:var(--brick);margin-top:auto;font-size:13px;font-weight:600}.post-byline{color:#c7d0d8;flex-wrap:wrap;gap:8px;margin-top:14px;font-size:14px;display:flex}.post-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:56px;display:grid}.post-updated{color:var(--slate-light);border-left:3px solid var(--brick);margin-bottom:28px;padding-left:14px;font-size:13px}.post-aside{flex-direction:column;gap:24px;display:flex;position:sticky;top:24px}.post-cta{border:1px solid var(--line);border-top:3px solid var(--brick);background:#fff;border-radius:3px;padding:26px 24px}.post-cta h3{margin-bottom:10px;font-size:18px}.post-cta p{color:var(--slate-light);margin-bottom:18px;font-size:14px}.post-cta-phone{text-align:center;color:var(--slate-light);margin-top:12px;font-size:13.5px;display:block}.post-cta-phone:hover{color:var(--brick)}.post-tags h4{text-transform:uppercase;letter-spacing:.06em;color:var(--slate-light);margin-bottom:12px;font-size:12px}.prose{max-width:760px}.prose h2{margin:36px 0 14px;font-size:24px}.prose h3{margin:26px 0 10px;font-size:18px}.prose p{color:var(--slate);margin-bottom:16px;font-size:16px;line-height:1.75}.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-underline-offset:2px;text-decoration:underline}.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);color:var(--slate-light);margin:0 0 18px;padding-left:18px}.prose table{border-collapse:collapse;width:100%;margin:0 0 18px;font-size:15px;line-height:1.5}.prose th{text-align:left;color:var(--navy);background:var(--cream);border-bottom:2px solid var(--navy);padding:10px 14px}.prose td{border-bottom:1px solid var(--line);color:var(--slate);vertical-align:top;padding:10px 14px}.prose tbody tr:nth-child(2n){background:var(--cream)}@media (max-width:640px){.prose table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.prose table td,.prose table th{min-width:120px}}@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{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.filter-pill{border:1px solid var(--line);font:inherit;color:var(--navy);cursor:pointer;background:#fff;border-radius:2px;padding:9px 18px;font-size:13.5px;font-weight:500}.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{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:3px;flex-direction:column;display:flex;overflow:hidden}.project-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.project-noimg{aspect-ratio:4/3;background:var(--cream);border-bottom:1px solid var(--line);width:100%}.project-card-body{flex-direction:column;flex:1;padding:22px;display:flex}.project-card-body h3,.project-card-body .card-title{text-wrap:pretty;margin-bottom:10px;font-size:17px}.project-card-body p{color:var(--slate-light);margin-bottom:14px;font-size:14px}.project-card:hover h3,.project-card:hover .card-title{color:var(--brick)}.project-meta{color:var(--slate-light);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:12.5px;display:flex}.project-foot{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.project-service{color:var(--navy);font-size:12px;font-weight:600}.project-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--brick);border:1px solid var(--brick);border-radius:2px;padding:2px 7px;font-size:11px;font-weight:600}.project-facts{border:1px solid var(--line);border-top:3px solid var(--brick);background:#fff;border-radius:3px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;padding:28px 30px;display:grid}.project-facts h4,.project-facts .fact-label{text-transform:uppercase;letter-spacing:.06em;color:var(--slate-light);margin-bottom:6px;font-family:Public Sans,Public Sans Fallback,sans-serif;font-size:11px;font-weight:600}.project-facts p{color:var(--navy);font-size:15px;font-weight:500}.project-facts a{color:var(--brick);text-underline-offset:2px;text-decoration:underline}.ba-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.ba-grid figure{margin:0;position:relative}.ba-grid img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:3px;width:100%}.ba-grid figcaption{color:var(--slate-light);margin-top:10px;font-size:13px}.ba-label{z-index:2;background:var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.06em;border-radius:2px;padding:5px 11px;font-size:11px;font-weight:600;position:absolute;top:12px;left:12px}.ba-label.is-after{background:var(--brick)}.project-gallery{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.project-gallery figure{margin:0}.project-gallery img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:3px;width:100%}.project-gallery figcaption{color:var(--slate-light);margin-top:8px;font-size:12.5px}@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{outline-color:#fff}.hero a:focus-visible{outline-color:#fff}.page-hero a:focus-visible{outline-color:#fff}.trust-bar a:focus-visible{outline-color:#fff}.cta-band a:focus-visible{outline-color:#fff}footer a:focus-visible{outline-color:#fff}.testimonials a:focus-visible{outline-color:#fff}.skip-link{z-index:200;background:var(--brick);color:#fff;padding:12px 20px;font-size:14px;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!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{color:#fff;text-align:center;background:#8a6d1f;padding:8px 16px;font-size:13px;font-weight:600}.lead-form{border:1px solid var(--line);background:#fff;border-radius:3px;max-width:720px;padding:32px}.lead-form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.lead-form label{color:var(--navy);margin-bottom:18px;font-size:13px;font-weight:600;display:block}.lead-form-grid label{margin-bottom:0}.lead-form input,.lead-form select,.lead-form textarea{border:1px solid var(--line);width:100%;font:inherit;color:var(--slate);background:var(--cream);border-radius:2px;margin-top:6px;padding:12px;font-size:15px;font-weight:400}.lead-form textarea{resize:vertical}.form-section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--brick);border-bottom:1px solid var(--line);margin:0 0 14px;padding-bottom:10px;font-size:12px;font-weight:700}.lead-form-grid+.form-section-label{margin-top:26px}.lead-form .label-hint{color:var(--slate-light);margin-top:3px;font-size:12.5px;font-weight:400;display:block}.lead-form label.form-check{color:var(--slate);align-items:flex-start;gap:10px;font-size:14px;font-weight:400;line-height:1.5;display:flex}.lead-form label.form-check input{flex:none;width:auto;margin:2px 0 0}.lead-form button[type=submit]{cursor:pointer;font:inherit;border:0;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;border-radius:2px;padding:12px 14px}.form-status.is-error{color:var(--brick-dark);border-left:3px solid var(--brick);background:#fdecea;border-radius:2px;padding:12px 14px}.form-status a{color:inherit;text-decoration:underline}.form-warning{color:#5d4a15;background:#fff8e1;border-left:3px solid #8a6d1f;border-radius:2px;margin-bottom:22px;padding:12px 14px;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}}
