@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');
:root{--dark:#14191c;--red:#c52932;--paper:#f2f0eb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--dark);color:white;font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.header{height:90px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:#14191cf5;border-bottom:1px solid #ffffff20;position:relative;z-index:5}.brand img{width:178px;height:75px;object-fit:contain;object-position:left center}.header nav{display:flex;align-items:center;gap:34px}.header nav a{font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;transition:color .2s}.header nav a:hover,.header nav a.active{color:#ff5b61}.header nav .nav-cta{background:var(--red);color:white;padding:17px 22px}.menu-toggle{display:none;background:none;color:white;border:0;font-size:28px}.page{display:none}.page.active{display:block}.hero{height:min(750px,calc(100svh - 90px));min-height:580px;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('assets/jobsite-3.jpg');background-size:cover;background-position:center 56%;filter:saturate(.8)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0b1115f2 0%,#11181bd9 35%,#11181b40 83%),linear-gradient(0deg,#101619b5,transparent 45%)}.hero:after{content:'';position:absolute;inset:0;background:url('assets/topography.svg') center/cover;opacity:.13;pointer-events:none}.hero-content{position:absolute;z-index:1;top:50%;left:8%;transform:translateY(-49%);max-width:780px}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:3px}.red-line{display:inline-block;width:30px;height:3px;background:var(--red);vertical-align:middle;margin-right:12px}.dot{color:var(--red);padding:0 10px}.hero-shield{width:145px;height:140px;object-fit:contain;margin:20px 0 0 -7px;filter:drop-shadow(0 10px 15px #0008)}h1,h2,h3,.quicklinks strong{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase}h1{font-size:clamp(68px,8vw,128px);font-weight:900;letter-spacing:-1px;line-height:.87;margin:14px 0 23px}h1 em,h2 em{font-style:normal;color:#ef4c52}.hero-content p{max-width:490px;color:#d4d9d9;line-height:1.7;font-size:15px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:29px}.btn{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:18px 23px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.3px;border:1px solid #ffffff50;cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn.primary{background:var(--red);border-color:var(--red);color:white}.btn.ghost{background:#0004}.hero-side{position:absolute;right:22px;top:50%;writing-mode:vertical-rl;letter-spacing:3px;font-size:10px;font-weight:800;color:#fff9}.hero-bottom{position:absolute;z-index:2;bottom:24px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:2px;color:#eee}.quicklinks{display:grid;grid-template-columns:repeat(3,1fr);background:#ecebe7;color:var(--dark)}.quicklinks a{padding:28px 9%;border-right:1px solid #c7c8c7;display:grid;grid-template-columns:1fr auto;gap:8px}.quicklinks a:hover{background:#dedbd5}.quicklinks small{grid-column:1/-1;color:#8c8d8b;font-size:10px;letter-spacing:1.5px;font-weight:800}.quicklinks strong{font-size:31px;font-weight:800}.quicklinks a>span{font-size:25px;color:var(--red)}.inner{min-height:calc(100svh - 154px);padding:85px 8%;background:linear-gradient(#171d20ee,#171d20f7),url('assets/topography.svg') center/cover}.section-head{max-width:850px;margin-bottom:48px}.kicker{color:#f35a61}.inner h2{font-size:clamp(55px,7vw,105px);line-height:.93;margin:17px 0 24px}.section-head p,.about-grid p{max-width:650px;color:#c7cbcc;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:30px}.service-grid article{border:1px solid #ffffff27;padding:34px;background:#ffffff08}.service-grid b{color:#ef4c52}.service-grid h3{font-size:37px;margin:14px 0}.service-grid p{color:#bbc2c3;line-height:1.7}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.gallery figure{margin:0;position:relative;background:#222;overflow:hidden}.gallery figure.feature{grid-row:span 2}.gallery img{width:100%;height:100%;max-height:660px;min-height:250px;object-fit:cover;display:block;transition:transform .3s}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px;background:linear-gradient(transparent,#000c);font-size:12px;letter-spacing:2px;font-weight:800;display:flex;justify-content:space-between}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:6%}.about-grid img{width:100%;height:530px;object-fit:cover}.about-grid .btn{margin-top:20px}.estimate{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px}.estimate label{font-size:12px;letter-spacing:1px;font-weight:700;text-transform:uppercase}.estimate input,.estimate textarea{display:block;width:100%;margin-top:10px;padding:16px;background:#ffffff0d;border:1px solid #ffffff38;color:white;border-radius:0;outline-offset:3px}.estimate .wide{grid-column:1/-1}.estimate .btn{justify-self:start}.form-note{font-size:12px;color:#c8cccc;align-self:center}footer{background:#0e1215;padding:24px 5.5%;display:flex;justify-content:space-between;gap:20px;color:#adb2b3;font-size:10px;font-weight:800;letter-spacing:1.5px}footer a{color:white}@media(max-width:800px){.header{height:75px;padding:0 5%}.brand img{width:145px;height:65px}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:75px;left:0;right:0;background:#14191c;padding:25px;flex-direction:column;align-items:stretch;gap:24px}.header nav.open{display:flex}.hero{min-height:660px;height:calc(100svh - 75px)}.hero-image{background-position:59% center}.hero-overlay{background:linear-gradient(90deg,#0b1115ed,#11181b8c),linear-gradient(0deg,#1016199c,transparent)}.hero-content{left:6%;right:6%;top:48%}.hero-shield{width:112px;height:110px}h1{font-size:clamp(60px,13vw,92px)}.eyebrow{font-size:9px;letter-spacing:1.5px}.hero-side{display:none}.hero-bottom{left:6%;right:6%;font-size:8px}.hero-bottom span:last-child{display:none}.quicklinks{grid-template-columns:1fr}.quicklinks a{padding:20px 7%;border-bottom:1px solid #c7c8c7}.inner{padding:55px 6%}.service-grid,.gallery,.about-grid,.estimate{grid-template-columns:1fr}.gallery figure.feature{grid-row:auto}.gallery img{height:320px}.about-grid img{height:340px}.estimate .wide{grid-column:auto}footer{flex-wrap:wrap;line-height:1.6}.inner h2{font-size:65px}}
/* Focused accent system: saturated color is reserved for clickable controls. */
:root{--red:#ad343b}
h1 em,h2 em{color:inherit}.kicker,.service-grid b,.dot{color:#c4c8ca}.red-line{background:#a9afb1}.quicklinks a>span{color:#596166}.header nav a.active{color:white}.header nav a:hover{color:#fff}.header nav .nav-cta,.btn.primary{background:var(--red);border-color:var(--red)}.btn.ghost{border-color:#ffffff8c}.quicklinks a:hover,.quicklinks a:focus-visible{background:#dcd9d3;outline:2px solid var(--red);outline-offset:-2px}.quicklinks a:hover>span{color:var(--red)}.header nav a:focus-visible,.btn:focus-visible{outline:3px solid #f0f0f0;outline-offset:3px}.ui-arrow{display:inline-block;width:17px;height:17px;stroke:currentColor;stroke-width:1.8;fill:none;vertical-align:middle;flex-shrink:0}.btn{gap:16px}.quicklinks a>span .ui-arrow{width:23px;height:23px}.hero-content p{color:#e1e2e1}

/* Four project images in a complete 2×2 grid, no empty slot */
.gallery figure.feature{grid-row:auto}
.gallery figure{height:360px}
.gallery img{height:100%;min-height:0;max-height:none}
@media(max-width:800px){.gallery figure{height:310px}}
