@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--red:#b8202b;--red-dark:#941923;--ink:#17181b;--charcoal:#222327;--muted:#68696e;--paper:#f5f4f1;--white:#fff;--line:#deddd9;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 44px));margin:0 auto}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px;z-index:100}.skip-link:focus{left:8px}.site-header{height:88px;background:#141518;color:#fff;border-bottom:1px solid #343539;position:sticky;top:0;z-index:20}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:58px;height:58px;object-fit:contain}.brand-photo-logo{display:block;width:225px;height:auto;max-height:76px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1.05;letter-spacing:.075em}.brand-copy strong{font-family:"Barlow Condensed",sans-serif;font-size:23px;font-weight:800;white-space:nowrap}.brand-copy>span{font-family:"Barlow Condensed",sans-serif;font-size:17px;letter-spacing:.2em;font-weight:600;margin-top:5px}.brand-copy small{font-size:9px;letter-spacing:.14em;color:#d3d3d4;margin-top:7px}.primary-nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:700;letter-spacing:.035em}.primary-nav>a:not(.nav-cta){color:#e0e0e2}.primary-nav>a:hover{color:#fff}.nav-cta{background:var(--red);padding:12px 16px;border-radius:3px}.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid #57585c;border-radius:3px;padding:9px 12px;font:inherit}.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,rgba(19,20,23,.98) 0%,rgba(19,20,23,.92) 48%,rgba(19,20,23,.48) 100%),#1a1b1f;color:#fff;min-height:575px;display:flex;align-items:center}.hero-mountains{position:absolute;inset:0;z-index:-1;opacity:.92}.hero-mountains svg{position:absolute;width:100%;height:100%;inset:0}.hero-content{padding-top:70px;padding-bottom:76px;position:relative}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;color:#d5d5d7;display:flex;align-items:center;gap:10px;margin:0 0 19px}.eyebrow>span{display:inline-block;width:25px;height:3px;background:var(--red)}.eyebrow.dark{color:#77787d}.hero h1,.doors-copy h2,.area-layout h2,.about-layout h2,.contact-copy h2{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:-.015em;line-height:.98;margin:0}.hero h1{font-size:clamp(54px,7vw,88px);max-width:750px}.hero h1 em,.doors-copy h2 em,.about-layout h2 em{font-style:normal;color:#e23b45}.hero-lede{font-size:16px;color:#d5d5d7;max-width:530px;margin:24px 0 27px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:49px;padding:13px 21px;font-size:12px;font-weight:700;letter-spacing:.025em;border:1px solid transparent;border-radius:3px;cursor:pointer;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button-red{background:var(--red);color:#fff}.button-red:hover{background:var(--red-dark)}.button-outline{border-color:#77787b;color:#fff}.button-outline:hover{background:#fff;color:#17181b}.hero-points{display:flex;flex-wrap:wrap;gap:22px;margin-top:36px;color:#dedee0;font-size:11px}.check{display:inline-grid;place-items:center;border:1px solid #8b8c90;color:#fff;border-radius:50%;width:17px;height:17px;font-size:10px;margin-right:6px}.hero-bottom-line{height:5px;background:var(--red);position:absolute;bottom:0;left:0;right:0}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-inner{min-height:73px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#4e4f53;font-family:"Barlow Condensed",sans-serif;font-size:15px;font-weight:700;letter-spacing:.13em}.trust-inner i{width:5px;height:5px;background:var(--red);transform:rotate(45deg);flex:0 0 auto}.section{padding:94px 0}.section-heading{max-width:670px;margin-bottom:37px}.section-heading h2,.area-layout h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(38px,4.6vw,56px);line-height:1.02;margin:0 0 15px;letter-spacing:-.01em}.section-heading>p:last-child,.area-layout>div:first-child>p:not(.eyebrow){color:var(--muted);max-width:620px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{background:#fff;border:1px solid #e6e4df;padding:26px 22px 24px;min-height:300px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-4px);border-color:#c6c4bf}.service-icon{height:51px;width:51px;display:grid;place-items:center;background:#f8e9ea;border-radius:3px;margin-bottom:20px}.service-icon svg{width:29px;height:29px;fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:22px;line-height:1.05;margin:0 0 12px}.service-card p{font-size:12px;color:#6b6b70;margin:0 0 20px}.text-link{font-size:12px;font-weight:700;color:var(--red);margin-top:auto}.text-link span{font-size:17px;margin-left:5px}.safety-note{margin:22px 0 0;color:#c3202b;font-size:12px;font-weight:600}.safety-note strong{color:#b8202b}.doors-section{background:#202125;color:#fff;padding:88px 0}.doors-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.doors-copy h2,.about-layout h2{font-size:clamp(42px,5vw,61px);margin-bottom:22px}.doors-copy>p:not(.eyebrow),.about-layout>div:last-child>p:not(.eyebrow){color:#c5c5c8;font-size:14px;max-width:510px}.feature-list{list-style:none;padding:0;margin:25px 0 29px;display:grid;gap:11px;font-size:12px;color:#e4e4e5}.feature-list li span{display:inline-grid;place-items:center;background:var(--red);width:19px;height:19px;border-radius:50%;font-size:11px;margin-right:9px}.door-visual{background:#2b2c30;padding:23px;border:1px solid #46474b}.door-scene{height:330px;position:relative;background:linear-gradient(180deg,#3a3b40 0%,#292a2e 100%);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:25px 25px 0}.door-roof{position:absolute;top:23px;left:10%;width:80%;height:90px;background:#17181b;clip-path:polygon(50% 0,100% 52%,100% 100%,0 100%,0 52%)}.garage-frame{position:relative;width:76%;height:245px;background:#a5a6a7;border:8px solid #141518;border-bottom:0;padding:8px 8px 0;z-index:1}.garage-door{height:100%;display:grid;grid-template-rows:repeat(4,1fr);gap:5px;background:#151619;padding:3px}.garage-door span{display:block;background:linear-gradient(180deg,#dededb,#bfc0bf);border:1px solid #85868a;box-shadow:inset 0 2px 0 #eee}.scene-ground{height:28px;position:absolute;bottom:0;left:0;right:0;background:#17181b}.visual-caption{font-size:9px;letter-spacing:.15em;color:#c9c9cb;display:flex;align-items:center;gap:9px;padding-top:16px}.caption-dot{width:7px;height:7px;border-radius:50%;background:var(--red)}.area-section{background:#fff}.area-layout{display:grid;grid-template-columns:1fr .88fr;gap:80px;align-items:center}.area-layout h2{margin-bottom:19px}.area-layout>div:first-child>p:not(.eyebrow){margin-bottom:23px}.county-list{border-top:1px solid var(--line)}.county-list>div{display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}.county-number{font-size:10px;color:var(--red);letter-spacing:.1em}.county-list b{color:#8c8c90}.about-section{padding:80px 0;background:#17181b;color:#fff;position:relative;overflow:hidden}.about-section:after{content:"";position:absolute;right:-80px;bottom:-180px;width:500px;height:370px;border:1px solid #343539;transform:rotate(-27deg);pointer-events:none}.about-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:center;position:relative;z-index:1}.about-mark{display:grid;place-items:center;min-height:230px;background:linear-gradient(145deg,#25262a,#191a1d);border:1px solid #343539}.about-mark img{width:min(230px,75%)}.about-signoff{border-left:3px solid var(--red);padding-left:15px;margin-top:24px!important;font-size:12px!important;line-height:1.8}.about-signoff strong{color:#fff}.contact-section{padding:94px 0;background:#eeece7}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:start}.contact-copy h2{font-size:clamp(44px,5vw,62px);margin-bottom:20px}.contact-copy>p:not(.eyebrow){color:#626368;max-width:430px;font-size:13px}.contact-phone{display:block;font-family:"Barlow Condensed",sans-serif;font-size:37px;font-weight:800;color:var(--red);margin-top:29px;line-height:1.2}.contact-email{display:block;font-size:13px;font-weight:700;margin-top:7px;overflow-wrap:anywhere}.contact-location{font-size:11px;color:#65666a;margin-top:24px}.contact-location span{color:var(--red);font-size:20px;vertical-align:middle;margin-right:5px}.quote-form{background:#fff;padding:30px;border:1px solid #dfddd8;box-shadow:0 10px 30px #2222}.form-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:20px}.form-heading h3{font-family:"Barlow Condensed",sans-serif;font-size:27px;text-transform:uppercase;margin:0}.form-heading p,.form-note{font-size:10px;color:#85858a;margin:0}.quote-form label{display:block;font-size:11px;font-weight:700;margin:13px 0 6px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #d8d7d3;background:#fbfbfa;padding:12px 11px;font:inherit;font-size:12px;border-radius:2px;color:#222}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid #d98a90;outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-submit{width:100%;margin-top:20px}.form-note{margin-top:10px;line-height:1.5}.form-status{font-size:12px;color:var(--red);margin:8px 0 0}.site-footer{background:#111215;color:#ddd;padding:34px 0 0}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:28px}.footer-brand .brand-mark{width:47px;height:47px}.footer-brand .brand-photo-logo{width:225px;max-height:105px}.footer-brand .brand-copy strong{font-size:19px}.footer-brand .brand-copy>span{font-size:14px}.footer-brand .brand-copy small{font-size:8px}.footer-links{display:flex;gap:20px;font-size:10px;color:#c3c3c6}.footer-call{font-size:12px;font-weight:700;color:#fff;background:var(--red);padding:11px 14px;border-radius:2px}.footer-bottom{border-top:1px solid #333438;display:flex;justify-content:space-between;gap:15px;padding-top:17px;padding-bottom:20px;color:#999a9e;font-size:10px}
@media(max-width:950px){.primary-nav{gap:14px;font-size:11px}.brand-copy strong{font-size:20px}.brand-mark{width:50px;height:50px}.brand-photo-logo{width:180px;max-height:65px}.service-grid{grid-template-columns:repeat(2,1fr)}.doors-layout{gap:35px}.area-layout{gap:45px}.about-layout{gap:35px}.contact-layout{gap:35px}}
@media(max-width:760px){.site-header{height:76px}.header-inner{gap:12px}.brand-mark{width:45px;height:45px}.brand-photo-logo{width:170px;max-height:60px}.brand-copy strong{font-size:18px}.brand-copy>span{font-size:13px}.brand-copy small{font-size:7px}.menu-toggle{display:block;font-size:12px}.primary-nav{display:none;position:absolute;left:0;right:0;top:76px;background:#17181b;padding:15px 22px 22px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #343539}.primary-nav.open{display:flex}.primary-nav a{padding:13px 5px;border-bottom:1px solid #343539}.primary-nav .nav-cta{margin-top:12px;text-align:center;border:0;padding:13px}.hero{min-height:560px}.hero-content{padding-top:60px;padding-bottom:55px}.hero h1{font-size:59px}.hero-lede{font-size:14px}.hero-points{gap:12px;display:grid}.trust-inner{padding-top:17px;padding-bottom:17px;justify-content:center;flex-wrap:wrap;gap:10px 14px;font-size:12px}.trust-inner i{width:4px;height:4px}.section{padding:66px 0}.section-heading h2,.area-layout h2{font-size:43px}.service-grid{gap:10px}.service-card{padding:20px 16px;min-height:290px}.service-card h3{font-size:20px}.doors-section{padding:65px 0}.doors-layout,.area-layout,.about-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.door-visual{max-width:560px;width:100%;margin:0 auto}.door-scene{height:285px}.area-layout{gap:28px}.about-section{padding:62px 0}.about-mark{min-height:190px}.about-mark img{width:160px}.contact-section{padding:65px 0}.contact-layout{gap:28px}.quote-form{padding:22px}.footer-top{flex-wrap:wrap}.footer-links{order:3;width:100%;flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:5px}}
@media(max-width:430px){.container{width:calc(100% - 30px)}.brand{gap:7px}.brand-mark{width:39px;height:39px}.brand-photo-logo{width:145px;max-height:54px}.brand-copy strong{font-size:16px}.brand-copy>span{font-size:12px}.brand-copy small{font-size:6px}.hero h1{font-size:51px}.hero-actions{align-items:stretch;flex-direction:column;max-width:310px}.hero-actions .button{width:100%}.hero-points{font-size:10px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card p{font-size:13px}.service-icon{margin-bottom:14px}.form-row{grid-template-columns:1fr;gap:0}.form-heading{display:block}.form-heading p{margin-top:3px}.contact-phone{font-size:33px}.trust-inner{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Added brand artwork, job photography, and manufacturer product links */
.product-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.product-links .button{font-size:11px}
.product-note{font-size:11px!important;color:#b9b9bd!important;margin-top:15px}
.photo-visual{padding:14px}
.photo-visual>a{display:block;overflow:hidden;background:#111}
.job-photo{display:block;width:100%;height:330px;object-fit:cover;object-position:center 55%;transition:transform .35s}
.photo-visual>a:hover .job-photo{transform:scale(1.025)}
.photo-visual .visual-caption a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.brand-photo{padding:0;min-height:0;overflow:hidden;background:#26272b}
.brand-photo img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}
@media(max-width:760px){.product-links{align-items:stretch;flex-direction:column}.product-links .button{width:100%;text-align:center}.job-photo{height:260px}.brand-photo img{max-height:none}}

/* Brand artwork blended into the site's charcoal palette */
.brand-photo-logo{mix-blend-mode:normal;filter:contrast(1.03);}
.about-mark.brand-photo{background:#17181b;border:1px solid #292a2e;}
.brand-photo img{mix-blend-mode:normal;}

/* Project gallery */
.gallery-section{background:#f3f1ed;padding:88px 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.gallery-card{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:#25262a;border:1px solid #dedbd5}.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.04)}.gallery-zoom{position:absolute;bottom:0;left:0;right:0;padding:16px 14px 12px;color:white;font-weight:700;font-size:12px;background:linear-gradient(transparent,#000b)}.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px}.gallery-footer p{margin:0;color:#56565b;font-size:14px}@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-section{padding:65px 0}}@media(max-width:520px){.gallery-grid{gap:9px}.gallery-card{aspect-ratio:3/4}.gallery-footer{align-items:flex-start;flex-direction:column}}
