@font-face{font-family:Poppins;src:url(assets/poppins-400.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url(assets/poppins-700.ttf) format('truetype');font-weight:700;font-display:swap}
:root{--ink:#292f33;--rust:#b7573d;--muted:#555b60}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f9f9;color:var(--ink);font-family:Poppins,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.page{container-type:inline-size;width:100%;max-width:1600px;margin:auto;background:#fff;overflow:clip}.page>*{--u:calc(100cqw / 935)}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;z-index:100;top:8px;left:8px;background:white;padding:14px;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}.header{height:calc(67 * var(--u));display:flex;align-items:center;padding:0 calc(33 * var(--u)) 0 calc(43 * var(--u));justify-content:space-between;background:linear-gradient(110deg,#fff,#fcfcfc)}.brand{width:calc(200 * var(--u));align-self:flex-start;margin-top:calc(10 * var(--u))}.brand img{width:100%;height:calc(59 * var(--u))}.header nav{display:flex;gap:calc(25 * var(--u));align-items:center;margin-left:calc(25 * var(--u));font-size:calc(12 * var(--u))}.header nav a{position:relative;padding:calc(12 * var(--u)) 0;transition:color .18s}.header nav a:hover,.header nav a.active{color:var(--rust)}.header nav a.active:after{content:'';position:absolute;bottom:calc(2 * var(--u));left:15%;width:60%;height:calc(2 * var(--u));background:var(--rust)}.button{display:inline-flex;align-items:center;justify-content:center;gap:calc(13 * var(--u));background:linear-gradient(110deg,#b4533c,#bb6044 52%,#af5139);color:#fff;border:1px solid #ca765d;font-size:calc(11 * var(--u));font-weight:700;letter-spacing:calc(1.25 * var(--u));height:calc(41 * var(--u));padding:0 calc(23 * var(--u));transition:filter .22s ease,box-shadow .22s ease}.button:hover{filter:brightness(.9);box-shadow:0 4px 14px #8f40252a}svg{width:calc(16 * var(--u));height:calc(16 * var(--u));flex-shrink:0}.header-call{height:calc(33 * var(--u));padding:0 calc(17 * var(--u));gap:calc(8 * var(--u));margin-left:calc(68 * var(--u))}.header-call svg{width:calc(12 * var(--u));height:calc(12 * var(--u))}.menu-toggle{display:none}.hero{height:calc(406 * var(--u));position:relative;background:linear-gradient(100deg,#f7f7f6,#fafafa 52%,#f4f5f5);isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 auto;width:calc(583 * var(--u));clip-path:polygon(0 0,100% 0,100% 38.4%,52% 100%,43.5% 100%,8% 27.8%);z-index:-1}.hero-photo img{width:100%;height:100%}.hero-sky{position:absolute;top:0;left:calc(320 * var(--u));width:calc(202 * var(--u));height:calc(120 * var(--u));background:linear-gradient(140deg,#f0f3f4,#dce6ea);clip-path:polygon(0 0,100% 0,40% 100%);z-index:-2}.hero-concrete{position:absolute;right:0;bottom:0;width:calc(275 * var(--u));height:calc(250 * var(--u));background:#dfdcd7 url(assets/texture.svg) center/auto 100%;clip-path:polygon(100% 0,100% 100%,0 100%);z-index:-1}.hero-concrete:after{content:'';position:absolute;left:7%;top:96%;width:135%;height:1px;background:#b98370;transform:rotate(-43deg);transform-origin:left}.hero-small-triangle{position:absolute;bottom:0;left:calc(353 * var(--u));width:calc(242 * var(--u));height:calc(134 * var(--u));background:#e4e1dc url(assets/texture.svg) center/auto 100%;clip-path:polygon(60% 0,100% 100%,0 100%);z-index:-1}.hero-copy{position:relative;padding-left:calc(44 * var(--u));padding-top:calc(12 * var(--u))}.location-eyebrow{font-size:calc(8 * var(--u));letter-spacing:calc(4.5 * var(--u));color:#7b8185;margin-bottom:calc(34 * var(--u))}.eyebrow{font-size:calc(9 * var(--u));font-weight:500;letter-spacing:calc(3.6 * var(--u));line-height:1.5;color:#56616a}.hero .eyebrow{font-size:calc(9 * var(--u));letter-spacing:calc(4 * var(--u));font-weight:600;margin-bottom:calc(8 * var(--u))}h1{font-size:calc(41 * var(--u));line-height:.99;letter-spacing:calc(-.65 * var(--u));font-weight:800;color:#252b2e}h1 span{color:var(--rust)}.hero-description{font-size:calc(13 * var(--u));line-height:1.43;margin-top:calc(14 * var(--u));letter-spacing:calc(-.15 * var(--u));color:#454b50}.estimate{margin-top:calc(16 * var(--u));min-width:calc(214 * var(--u))}.hero-contact{font-size:calc(10.5 * var(--u));color:#596169;margin-top:calc(14 * var(--u))}.hero-contact span{padding:0 calc(8 * var(--u))}.hero-contact a:hover{text-decoration:underline}.hero-tags{position:absolute;bottom:calc(18 * var(--u));right:calc(47 * var(--u));font-size:calc(10 * var(--u));letter-spacing:calc(2 * var(--u));line-height:1.95;text-align:right;color:#556069}.hero-tags i{display:block;background:var(--rust);width:calc(39 * var(--u));height:calc(2 * var(--u));margin:0 0 calc(12 * var(--u)) auto}
h2{font-size:calc(26 * var(--u));line-height:1.15;letter-spacing:calc(-.6 * var(--u));font-weight:700}.services{height:calc(278 * var(--u));padding:calc(32 * var(--u)) calc(31 * var(--u)) 0 calc(39 * var(--u));display:grid;grid-template-columns:calc(270 * var(--u)) 1fr;gap:calc(18 * var(--u))}.services-intro{padding-top:calc(17 * var(--u))}.services-intro h2{margin-top:calc(7 * var(--u))}.services-intro>p:last-child{font-size:calc(10.8 * var(--u));line-height:1.5;margin-top:calc(18 * var(--u));color:#474d51}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(12 * var(--u))}.service-card img{width:100%;height:calc(123 * var(--u));object-fit:cover}.service-card>div{padding:calc(9 * var(--u)) calc(8 * var(--u)) 0}h3{font-size:calc(10.4 * var(--u));font-weight:700;letter-spacing:calc(1.1 * var(--u));line-height:1.36}.service-card p{font-size:calc(9.7 * var(--u));line-height:1.39;color:#596066;margin-top:calc(5 * var(--u))}.projects{height:calc(335 * var(--u));background:linear-gradient(115deg,#f8f8f8,#f9f9f9);padding:calc(23 * var(--u)) calc(29 * var(--u)) 0}.projects-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:0 calc(66 * var(--u)) 0 calc(10 * var(--u));margin-bottom:calc(13 * var(--u))}.projects-heading h2{margin-top:calc(7 * var(--u))}.projects-heading>p{font-size:calc(11 * var(--u));line-height:1.6;color:#555c62;white-space:nowrap;padding-bottom:calc(1 * var(--u))}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(13 * var(--u))}.project-grid img{width:100%;height:calc(186 * var(--u));object-fit:cover}.project-grid figcaption{padding-top:calc(9 * var(--u))}.project-grid figcaption p{font-size:calc(10.5 * var(--u));color:#61686d;line-height:1.5}.about{position:relative;height:calc(324 * var(--u));overflow:hidden;background:linear-gradient(115deg,#eef2f3,#e3e9eb)}.blueprint{position:absolute;inset:0 auto 0 0;width:calc(248 * var(--u));background:url(assets/texture.svg) left top/100% 100%;z-index:1}.about-wedge{position:absolute;inset:0;background:linear-gradient(110deg,#fff,#fefefe);clip-path:polygon(22.7% 0,74.3% 0,61.5% 100%,26.5% 100%,5.5% 0)}.about-copy{position:relative;margin-left:calc(232 * var(--u));padding-top:calc(30 * var(--u));z-index:2}.about-copy h2{margin-top:calc(7 * var(--u))}.about-copy>p:not(.eyebrow){font-size:calc(13 * var(--u));line-height:1.43;color:#626b73;margin-top:calc(13 * var(--u));letter-spacing:calc(-.23 * var(--u))}.about-copy i{display:block;width:calc(40 * var(--u));height:calc(2 * var(--u));background:#c2674b;margin:calc(19 * var(--u)) 0}.about-copy .motto{font-style:italic;margin-top:0!important}.about-map{position:absolute;right:calc(48 * var(--u));top:calc(40 * var(--u));width:calc(191 * var(--u));text-align:center}.about-map img{width:calc(181 * var(--u));height:calc(168 * var(--u));margin:0 auto;mix-blend-mode:multiply}.about-map .eyebrow{font-size:calc(9 * var(--u));letter-spacing:calc(2.5 * var(--u));margin-top:calc(-5 * var(--u))}.about-map i{display:block;width:calc(24 * var(--u));height:1px;background:#9da5a8;margin:calc(17 * var(--u)) auto}.map-caption{font-size:calc(9.3 * var(--u));line-height:1.9;letter-spacing:calc(2.3 * var(--u));color:#536068}.contact{height:calc(164 * var(--u));padding:0 calc(74 * var(--u)) 0 calc(79 * var(--u));display:flex;align-items:center;justify-content:space-between;background:#e7e4df url(assets/texture.svg) center/100% 100%}.contact h2{margin-top:calc(7 * var(--u))}.contact p:last-child{font-size:calc(13 * var(--u));line-height:1.43;color:#636b71;margin-top:calc(5 * var(--u));letter-spacing:calc(-.2 * var(--u))}.contact .button{width:calc(294 * var(--u));height:calc(59 * var(--u));font-size:calc(12 * var(--u))}.footer{height:calc(110 * var(--u));display:flex;align-items:center;justify-content:space-between;padding:0 calc(49 * var(--u)) 0 calc(39 * var(--u));background:#fff}.footer>a{display:flex;gap:calc(25 * var(--u));align-items:center;font-size:calc(11 * var(--u));font-weight:600}.footer>a:first-child{border-right:1px solid #e4e6e7;padding-right:calc(19 * var(--u))}.footer img{width:calc(165 * var(--u));height:auto}.footer p{font-size:calc(10.5 * var(--u));line-height:1.5;color:#737a80;border-left:1px solid #9da3a6;padding-left:calc(65 * var(--u))}.footer a:hover{color:var(--rust)}.faq{padding:calc(43 * var(--u)) calc(79 * var(--u)) calc(48 * var(--u));background:#fafafa}.faq-heading h2{margin-top:calc(8 * var(--u))}.faq-heading>p:last-child{font-size:calc(12 * var(--u));color:#61686d;margin-top:calc(10 * var(--u))}.faq-list{margin-top:calc(23 * var(--u));border-top:1px solid #d9dcdd}.faq details{border-bottom:1px solid #d9dcdd}.faq summary{cursor:pointer;list-style:none;font-size:calc(14 * var(--u));font-weight:600;padding:calc(17 * var(--u)) calc(30 * var(--u)) calc(17 * var(--u)) 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:calc(13 * var(--u));font-weight:400;font-size:calc(24 * var(--u));color:var(--rust)}.faq details[open] summary:after{content:'−'}.faq summary:hover{color:var(--rust)}.answer{font-size:calc(13 * var(--u));line-height:1.7;color:#555e64;padding:0 calc(30 * var(--u)) calc(20 * var(--u)) 0;max-width:75ch}.answer p+p{margin-top:10px}.answer a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1600px){.page>*{--u:calc(1600px / 935)}}
@media(max-width:700px){.page>*{--u:1px}.header{height:82px;padding:10px 22px;position:relative;z-index:10}.brand{width:173px;margin:0;align-self:center}.brand img{height:auto}.header-call{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink)}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;box-shadow:0 8px 15px #0001;margin:0;padding:16px 24px;flex-direction:column;align-items:stretch;gap:4px;font-size:16px}.header nav.open{display:flex}.header nav a{padding:12px}.header nav a.active:after{left:12px;width:25px}.hero{height:auto;min-height:700px;padding-bottom:274px}.hero-copy{padding:18px 24px 25px}.location-eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:28px}.hero .eyebrow{font-size:9px;letter-spacing:2.7px}h1{font-size:44px;line-height:1.02}.hero-description{font-size:14px;line-height:1.55;max-width:460px;margin-top:18px}.desktop-br{display:none}.estimate{height:47px;margin-top:22px;font-size:11px}.hero-contact{font-size:11px;margin-top:17px}.hero-photo{top:auto;bottom:0;left:0;right:0;width:100%;height:290px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.hero-photo img{object-fit:cover;object-position:center top}.hero-concrete,.hero-small-triangle,.hero-sky,.hero-tags{display:none}h2{font-size:28px;line-height:1.2}.eyebrow{font-size:10px;letter-spacing:2.8px}.services{height:auto;display:block;padding:36px 24px}.services-intro{padding:0}.services-intro h2{margin-top:8px}.services-intro>p:last-child{font-size:14px;line-height:1.6;margin-top:15px;max-width:500px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px;margin-top:25px}.service-card img{height:auto;aspect-ratio:135/123}.service-card>div{padding:10px 1px 0}h3{font-size:11px;letter-spacing:1px}.service-card p{font-size:12px;line-height:1.5;margin-top:7px}.projects{height:auto;padding:32px 24px}.projects-heading{display:block;padding:0;margin-bottom:22px}.projects-heading h2{margin-top:10px}.projects-heading>p{font-size:13px;white-space:normal;margin-top:12px}.project-grid{grid-template-columns:1fr;gap:24px}.project-grid img{height:auto;aspect-ratio:284/186}.project-grid figcaption{padding-top:12px}.project-grid figcaption p{font-size:12px;margin-top:4px}.about{height:auto;min-height:580px;padding:36px 24px 28px;background:#edf1f2}.about-wedge{clip-path:polygon(0 0,100% 0,85% 64%,0 57%);background:#fff}.blueprint{display:none}.about-copy{margin:0;padding:0}.about-copy h2{margin-top:10px}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.6;margin-top:16px;max-width:480px}.about-copy i{margin:18px 0}.about-map{position:relative;top:auto;right:auto;width:191px;margin:32px auto 0}.about-map img{width:150px;height:auto}.about-map .eyebrow{font-size:10px;margin:0}.about-map i{margin:12px auto}.map-caption{font-size:10px}.contact{height:auto;padding:34px 24px;display:block;background-size:auto 100%}.contact h2{margin-top:10px}.contact p:last-child{font-size:14px;line-height:1.6;margin-top:12px}.contact .button{margin-top:24px;width:100%;height:54px;max-width:360px}.faq{padding:36px 24px}.faq-heading h2{font-size:27px;margin-top:10px}.faq-heading>p:last-child{font-size:14px;line-height:1.6}.faq-list{margin-top:20px}.faq summary{font-size:14px;line-height:1.5;padding:18px 30px 18px 0}.faq summary:after{top:14px;font-size:24px}.answer{font-size:14px;padding:0 0 20px;overflow-wrap:anywhere}.footer{height:auto;display:grid;grid-template-columns:1fr;gap:25px;padding:30px 24px}.footer>a{font-size:13px;gap:15px}.footer>a:first-child{border:0;padding:0}.footer img{width:180px}.footer p{border:0;padding:0;font-size:12px}.footer svg{width:18px;height:18px}}
.blueprint{clip-path:polygon(0 0,19.7% 0,100% 100%,0 100%)}.about-map img{width:calc(168 * var(--u));height:calc(157 * var(--u));margin:calc(8 * var(--u)) auto calc(5 * var(--u));mix-blend-mode:normal}.about-map .eyebrow{margin-top:0}.estimate{width:calc(214 * var(--u));padding:0 calc(17 * var(--u))}.header-call{width:calc(146 * var(--u));padding:0 calc(12 * var(--u));margin-left:calc(68 * var(--u));letter-spacing:calc(.9 * var(--u))}.brand img{object-fit:fill}h1{font-weight:700;line-height:.99}.hero-description{font-size:calc(12.6 * var(--u))}.hero-small-triangle,.hero-concrete{background-size:calc(935 * var(--u)) calc(164 * var(--u))}.about-copy>p:not(.eyebrow){font-size:calc(12.7 * var(--u))}
@media(max-width:700px){.hero-photo img{object-fit:cover;object-position:center}.hero-photo{height:274px}.hero-description{font-size:14px}.about-copy>p:not(.eyebrow){font-size:14px}.about-map img{width:150px;height:auto}.estimate{width:auto;min-width:214px}h1{font-size:44px;line-height:1.05}}
.service-card h3 a,.about-copy>p a{color:inherit;text-decoration:none}
@media(min-width:701px){h1{font-size:calc(43.5 * var(--u));line-height:.94}h2{font-size:calc(26.5 * var(--u))}.hero-description{margin-top:calc(13 * var(--u))}.about-map{top:calc(40 * var(--u))}.about-map .eyebrow{margin-top:calc(-6 * var(--u))}.hero-sky{background:linear-gradient(140deg,#f5f6f6,#e1e9ec)}.services-intro>p:last-child{font-size:calc(10.3 * var(--u))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Resolution-independent decorative assets and current high-resolution imagery. */
.hero-concrete,.hero-small-triangle{background-image:url(assets/texture.svg);background-size:cover}
.contact{background-image:url(assets/texture.svg);background-size:cover}
.blueprint{background-image:url(assets/texture.svg)}
.about-map img{mix-blend-mode:normal}
@media(max-width:700px){.hero-photo img{content:normal!important;object-position:center}}
.skip{top:-100px;transform:none}.skip:focus{top:8px;transform:none}
.skip:not(:focus-visible){top:-100px!important}.skip:focus-visible{top:8px}
.blueprint{background-image:url(assets/texture.svg);background-position:left center;background-size:auto 108%}
.skip{opacity:0;pointer-events:none}.skip:focus-visible{opacity:1;pointer-events:auto}
@media(max-width:700px){
  .about{min-height:650px}
  .blueprint{display:block;inset:auto auto 0 0;width:58%;height:245px;opacity:.42;z-index:0;background-position:left bottom;background-size:auto 100%;clip-path:polygon(0 0,100% 34%,100% 100%,0 100%)}
  .about-wedge{z-index:1}
  .about-copy{z-index:2}
  .about-map{z-index:2;margin-top:38px;transform:translateX(34px)}
}




/* Shared multi-page system. All visitor-facing text remains at least 15px. */
:root{--paper:#f6f5f2;--mist:#e8eef0;--line:#d8dddf;--rust-dark:#93442f;--shadow:0 18px 45px rgba(31,39,43,.1)}
html{font-size:16px}body{font-size:15px}.page{overflow:clip}.header{height:88px;padding:0 clamp(24px,4vw,64px);gap:24px}.brand{width:205px;align-self:center;margin:0}.brand img{height:auto}.header nav{font-size:15px;gap:clamp(14px,1.7vw,27px);margin-left:auto}.header-call{font-size:15px;height:46px;width:auto;min-width:174px;margin-left:10px;letter-spacing:.7px}.header-call svg{width:16px;height:16px}.header nav>a,.nav-dropdown-toggle{font-size:15px;font-weight:500}.header nav>a{padding:27px 0}.nav-dropdown{position:relative}.nav-dropdown-toggle{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:inherit;padding:27px 0;cursor:pointer}.nav-dropdown-toggle svg{width:13px;height:13px;transition:transform .2s}.nav-dropdown:hover .nav-dropdown-toggle,.nav-dropdown:focus-within .nav-dropdown-toggle,.nav-dropdown.active .nav-dropdown-toggle{color:var(--rust)}.nav-dropdown:hover .nav-dropdown-toggle svg,.nav-dropdown:focus-within .nav-dropdown-toggle svg,.nav-dropdown.open .nav-dropdown-toggle svg{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;z-index:50;top:calc(100% - 8px);left:-24px;width:300px;padding:12px;background:#fff;box-shadow:var(--shadow);border-top:3px solid var(--rust);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-menu a{display:block;padding:11px 12px;font-size:15px;line-height:1.35;border-bottom:1px solid #eef0f1}.nav-dropdown-menu a:last-child{border:0}.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible{color:var(--rust);background:#faf7f5}.menu-toggle{min-width:48px;min-height:48px;align-items:center;justify-content:center}.menu-toggle span{transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.eyebrow,.location-eyebrow,.hero .eyebrow,.services-intro>p:last-child,.service-card p,.projects-heading>p,.project-grid figcaption p,.about-copy>p:not(.eyebrow),.about-map .eyebrow,.map-caption,.contact p:last-child,.footer>a,.footer p,.faq-heading>p:last-child,.faq summary,.answer{font-size:15px}.eyebrow{letter-spacing:3px}.location-eyebrow{letter-spacing:4px}.hero-description{font-size:15px;line-height:1.55}.hero-contact{font-size:15px}.button{font-size:15px}.service-card h3,.project-grid h3{font-size:15px}.services{height:auto;min-height:330px;padding-bottom:38px}.service-card p{line-height:1.5}.projects{height:auto;min-height:365px;padding-bottom:36px}.about{height:auto;min-height:380px}.about-copy{padding-bottom:34px}.about-copy>p:not(.eyebrow){line-height:1.55}.about-map{top:48px}.map-caption{line-height:1.65;letter-spacing:1.6px}.contact{height:auto;min-height:190px}.footer{height:auto;min-height:130px}.faq summary{line-height:1.5}.answer{font-size:15px}.service-card a{display:block;height:100%}.service-card a:hover h3{color:var(--rust)}
.interior-main{background:#fff}.subhero{position:relative;min-height:520px;background:linear-gradient(110deg,#f8f8f7 0,#f8f8f7 56%,#e5ebed 56%,#e5ebed 100%);overflow:hidden}.subhero-copy{position:relative;z-index:2;width:min(760px,56%);padding:90px 0 76px clamp(32px,7vw,112px)}.subhero h1{font-size:clamp(48px,5.1vw,78px);line-height:1.02;letter-spacing:-2px;max-width:780px}.subhero p:not(.eyebrow){font-size:18px;line-height:1.7;color:#535d63;max-width:650px;margin-top:26px}.subhero .button{margin-top:34px;height:58px;padding:0 30px}.subhero-media{position:absolute;inset:0 0 0 auto;width:48%;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}.subhero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(232,238,240,.28),transparent 35%)}.subhero-media img{width:100%;height:100%;object-fit:cover}.subhero.no-photo{min-height:440px;background:linear-gradient(120deg,#f8f8f7 0 64%,#e6edef 64%)}.subhero.no-photo:after{content:"";position:absolute;right:-10%;top:-25%;width:48%;height:150%;background:url(assets/texture.svg) center/cover;opacity:.25;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
.content-shell{width:min(1260px,calc(100% - 48px));margin:auto}.section-block{padding:92px 0}.section-block.soft{background:#f7f8f8}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-heading h2{font-size:clamp(34px,3vw,50px);line-height:1.12;margin-top:9px}.section-heading>p{max-width:520px;font-size:17px;line-height:1.7;color:#5d666c}.lead-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:start}.lead-copy h2,.split-copy h2{font-size:clamp(34px,3.2vw,52px);line-height:1.12}.lead-copy p,.split-copy p{font-size:17px;line-height:1.8;color:#596269;margin-top:24px}.fact-panel{padding:34px;background:#e9eff1;border-left:4px solid var(--rust)}.fact-panel h3{font-size:21px;letter-spacing:.5px}.fact-list{list-style:none;padding:0;margin:22px 0 0}.fact-list li{font-size:15px;line-height:1.6;padding:13px 0;border-bottom:1px solid #ccd4d7}.fact-list li:last-child{border:0}.fact-list strong{display:block;color:var(--ink)}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.feature-card{background:#fff;border:1px solid #e2e5e6;padding:30px;min-height:250px;transition:transform .2s,box-shadow .2s,border-color .2s}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d6c1b9}.feature-card .number{font-size:42px;line-height:1;color:var(--rust);font-weight:700}.feature-card h3{font-size:21px;letter-spacing:.3px;margin-top:22px}.feature-card p{font-size:15px;line-height:1.7;color:#5c656a;margin-top:13px}.service-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.hub-card{display:grid;grid-template-columns:44% 1fr;background:#fff;border:1px solid #e0e4e5;min-height:300px;transition:box-shadow .2s,transform .2s}.hub-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.hub-card img{width:100%;height:100%;object-fit:cover}.hub-card div{padding:34px 30px}.hub-card h2{font-size:28px;line-height:1.2}.hub-card p{font-size:15px;line-height:1.7;color:#5a6369;margin-top:15px}.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;font-weight:700;color:var(--rust)}.text-link svg{width:18px;height:18px}.text-link:hover{color:var(--rust-dark)}
.solution-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d8dddf;border:1px solid #d8dddf}.solution-list article{background:#fff;padding:30px;min-height:190px}.solution-list h3{font-size:19px;letter-spacing:.2px}.solution-list p{font-size:15px;line-height:1.7;color:#5e676c;margin-top:12px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.process-card{padding:28px 24px;background:#fff;border-top:4px solid var(--rust)}.process-card b{font-size:36px;color:#c8ccce}.process-card h3{font-size:19px;margin-top:15px}.process-card p{font-size:15px;line-height:1.7;color:#5e676c;margin-top:10px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:70px}.detail-copy h2{font-size:clamp(34px,3.2vw,50px)}.detail-copy h3{font-size:24px;margin-top:38px}.detail-copy p,.detail-copy li{font-size:16px;line-height:1.8;color:#586269}.detail-copy p{margin-top:20px}.check-list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.check-list li{position:relative;padding-left:28px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--rust);font-weight:700}.quote-panel{position:sticky;top:24px;background:#293034;color:#fff;padding:34px}.quote-panel h2{font-size:28px}.quote-panel p{font-size:15px;line-height:1.7;color:#d8dcde;margin-top:15px}.quote-panel .button{width:100%;height:54px;margin-top:24px}.quote-panel a:not(.button){display:block;margin-top:20px;color:#fff;font-size:17px;font-weight:600}.service-faq{margin-top:40px}.service-faq details{border-bottom:1px solid #d8dddf}.service-faq summary{font-size:16px;font-weight:600;cursor:pointer;padding:20px 32px 20px 0;position:relative;list-style:none}.service-faq summary:after{content:"+";position:absolute;right:0;color:var(--rust);font-size:24px}.service-faq details[open] summary:after{content:"−"}.service-faq p{font-size:15px;margin:0 0 20px}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.review-card{padding:32px;background:#fff;border:1px solid #e0e4e5;min-height:300px;display:flex;flex-direction:column}.review-stars{color:var(--rust);letter-spacing:4px;font-size:20px}.review-card blockquote{margin:20px 0 28px;font-size:16px;line-height:1.8;color:#515b61}.review-card footer{margin-top:auto;border-top:1px solid #e0e4e5;padding-top:18px}.review-card strong{font-size:16px}.review-card span{display:block;font-size:15px;color:#6b7378;margin-top:4px}.trust-band{background:#293034;color:#fff;padding:48px 0}.trust-band .content-shell{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.trust-item strong{display:block;font-size:28px;color:#fff}.trust-item span{font-size:15px;color:#cdd2d4}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-info{display:grid;gap:18px}.info-card{padding:26px;background:#f3f5f5;border-left:4px solid var(--rust)}.info-card h3{font-size:19px}.info-card p,.info-card a{font-size:15px;line-height:1.7;color:#596269;margin-top:7px}.contact-form{background:#fff;border:1px solid #dfe3e4;padding:38px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:15px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd1d3;background:#fff;padding:14px;font:15px Poppins,Arial,sans-serif;color:var(--ink);border-radius:0}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(183,87,61,.22);border-color:var(--rust)}.contact-form .button{border:0;height:56px;margin-top:26px}.form-note{font-size:15px;color:#687176;margin-top:16px}.hours-table{width:100%;border-collapse:collapse;margin-top:12px}.hours-table td{font-size:15px;padding:6px 0;border-bottom:1px solid #d9ddde}.hours-table td:last-child{text-align:right;font-weight:600}
.wide-cta{position:relative;overflow:hidden;background:#e8e4df url(assets/texture.svg) center/cover;padding:72px 0}.wide-cta .content-shell{display:flex;align-items:center;justify-content:space-between;gap:50px}.wide-cta h2{font-size:clamp(34px,3.2vw,50px)}.wide-cta p{font-size:16px;line-height:1.7;color:#596269;margin-top:12px}.wide-cta .button{min-width:290px;height:60px}.interior-footer{min-height:150px}
@media(max-width:1100px){.header{height:82px;padding:10px 22px;position:relative;z-index:60}.brand{width:183px;margin:0}.header-call{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:1px solid #d9ddde;background:#fff;padding:11px;cursor:pointer}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;box-shadow:0 16px 24px rgba(0,0,0,.1);margin:0;padding:14px 22px 24px;flex-direction:column;align-items:stretch;gap:0;font-size:15px;max-height:calc(100vh - 82px);overflow:auto}.header nav.open{display:flex}.header nav>a{padding:14px 4px;border-bottom:1px solid #edf0f1}.header nav>a.active:after{display:none}.nav-dropdown-toggle{width:100%;justify-content:space-between;padding:14px 4px;border-bottom:1px solid #edf0f1}.nav-dropdown-menu{position:static;width:100%;box-shadow:none;border:0;border-left:3px solid var(--rust);padding:0 0 0 14px;opacity:1;visibility:visible;transform:none;display:none}.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{padding:12px 6px}.hero{margin-top:0}.subhero-copy{width:64%;padding-left:48px}.subhero-media{width:45%}.feature-grid,.testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr 310px;gap:40px}.footer{padding:28px 32px;gap:24px}.footer p{padding-left:20px}.about-map{right:24px}.about-copy{margin-left:210px}}
@media(max-width:700px){.header{height:82px}.hero{min-height:760px}.hero-copy{padding-top:26px}.hero .eyebrow,.location-eyebrow,.eyebrow{font-size:15px;letter-spacing:2px}.location-eyebrow{margin-bottom:22px}h1{font-size:42px}.hero-description{font-size:15px}.hero-contact{font-size:15px}.services,.projects,.faq{padding-left:24px;padding-right:24px}.service-grid{gap:28px 16px}.service-card p{font-size:15px}.projects-heading>p{font-size:15px}.about{min-height:700px}.home-page .about-copy{margin-left:0}.about-copy>p:not(.eyebrow){font-size:15px}.about-map{transform:translateX(24px)}.contact p:last-child{font-size:15px}.footer{padding:34px 24px}.footer>a,.footer p{font-size:15px}.subhero{min-height:620px;background:#f8f8f7;padding-bottom:280px}.subhero-copy{width:100%;padding:58px 24px 38px}.subhero h1{font-size:42px;letter-spacing:-1px}.subhero p:not(.eyebrow){font-size:16px;line-height:1.65;margin-top:20px}.subhero .button{width:100%;max-width:360px}.subhero-media{top:auto;bottom:0;left:0;width:100%;height:280px;clip-path:none}.subhero.no-photo{min-height:430px;padding-bottom:0}.content-shell{width:min(100% - 40px,1260px)}.section-block{padding:62px 0}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:16px;margin-top:18px}.lead-grid,.contact-grid,.detail-layout{grid-template-columns:1fr;gap:34px}.feature-grid,.service-hub-grid,.testimonials-grid,.solution-list,.process-grid{grid-template-columns:1fr}.hub-card{grid-template-columns:1fr}.hub-card img{height:240px}.check-list{grid-template-columns:1fr}.quote-panel{position:static}.trust-band .content-shell{grid-template-columns:repeat(2,1fr)}.contact-form{padding:26px 22px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.wide-cta{padding:58px 0}.wide-cta .content-shell{display:block}.wide-cta .button{width:100%;min-width:0;margin-top:28px}.interior-footer{min-height:0}.section-heading h2,.lead-copy h2,.split-copy h2,.detail-copy h2{font-size:34px}}
.contact .button{font-size:15px}

.projects-heading-actions{display:flex;align-items:center;gap:22px}.projects-heading-actions p{font-size:15px;color:#555c62;white-space:nowrap}.gallery-home-button{height:44px;padding:0 20px;font-size:15px}
.gallery-page .header nav{margin-left:auto}.gallery-page .header nav a{font-size:15px}.gallery-hero{position:relative;min-height:570px;overflow:hidden;background:#eef2f3}.gallery-hero-collage{position:absolute;inset:0 0 0 46%;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:6px;clip-path:polygon(17% 0,100% 0,100% 100%,0 100%)}.gallery-hero-collage img{width:100%;height:100%;object-fit:cover}.gallery-hero-collage img:first-child{grid-row:1/3}.gallery-hero-collage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,242,243,.44),transparent 34%);pointer-events:none}.gallery-hero-copy{position:relative;z-index:2;width:49%;padding:100px 0 80px clamp(32px,7vw,112px)}.gallery-breadcrumb{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#59646a}.gallery-breadcrumb a:hover{color:var(--rust)}.gallery-hero h1{font-size:clamp(52px,5.6vw,86px);line-height:1;letter-spacing:-2.4px;margin-top:26px}.gallery-hero-copy>p:not(.eyebrow,.gallery-breadcrumb){font-size:18px;line-height:1.75;color:#566168;max-width:480px;margin-top:28px}.gallery-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}.gallery-filter button{border:1px solid #ccd2d4;background:#fff;color:#394247;padding:11px 17px;font:600 15px Poppins,Arial,sans-serif;cursor:pointer;transition:.18s}.gallery-filter button:hover,.gallery-filter button.active{background:var(--rust);border-color:var(--rust);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:115px;gap:18px}.gallery-item{position:relative;grid-column:span 4;grid-row:span 3;border:0;padding:0;background:#dfe3e4;overflow:hidden;cursor:pointer;text-align:left}.gallery-item.wide{grid-column:span 8}.gallery-item.tall{grid-row:span 5}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s}.gallery-item:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(20,28,31,.86));transition:opacity .25s}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.035);filter:saturate(1.06)}.gallery-card-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:26px;color:#fff}.gallery-card-copy span{display:block;font-size:15px;letter-spacing:2px;font-weight:600;color:#f0c4b6}.gallery-card-copy strong{display:block;font-size:21px;line-height:1.25;margin-top:7px}.gallery-source-note{font-size:15px;line-height:1.7;color:#667076;margin-top:26px;max-width:850px}.gallery-lightbox{position:fixed;z-index:200;inset:0;display:none;align-items:center;justify-content:center;background:rgba(16,22,25,.94);padding:70px 90px}.gallery-lightbox.open{display:flex}.gallery-lightbox figure{margin:0;max-width:min(1200px,90vw);max-height:85vh;display:flex;flex-direction:column;align-items:center}.gallery-lightbox img{max-width:100%;max-height:75vh;object-fit:contain;box-shadow:0 18px 65px #0008}.gallery-lightbox figcaption{font-size:16px;color:#fff;margin-top:18px;text-align:center}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:1px solid #ffffff66;background:#fff1;color:#fff;cursor:pointer;font:500 30px/1 Poppins,Arial,sans-serif;width:52px;height:52px}.lightbox-close{right:28px;top:24px}.lightbox-prev{left:24px;top:50%}.lightbox-next{right:24px;top:50%}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:var(--rust);border-color:var(--rust)}
@media(max-width:1100px){.projects-heading-actions{display:block}.projects-heading-actions p{white-space:normal}.gallery-home-button{margin-top:12px}.gallery-page .header nav{margin:0}.gallery-grid{grid-auto-rows:100px}.gallery-item{grid-column:span 6}.gallery-item.wide{grid-column:span 6}.gallery-hero-copy{padding-left:48px}}
@media(max-width:700px){.projects-heading-actions{margin-top:16px}.gallery-home-button{width:100%;max-width:300px}.gallery-hero{min-height:750px;padding-bottom:310px}.gallery-hero-copy{width:100%;padding:58px 24px 36px}.gallery-hero h1{font-size:46px;letter-spacing:-1.4px}.gallery-hero-copy>p:not(.eyebrow,.gallery-breadcrumb){font-size:16px}.gallery-hero-collage{inset:auto 0 0;height:310px;clip-path:none;grid-template-columns:1fr 1fr}.gallery-section{padding-top:54px}.gallery-grid{display:block}.gallery-item,.gallery-item.wide,.gallery-item.tall{display:block;width:100%;height:310px;margin-bottom:18px}.gallery-filter{gap:8px}.gallery-filter button{flex:1 1 calc(50% - 8px)}.gallery-lightbox{padding:70px 16px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.gallery-lightbox figcaption{font-size:15px;padding:0 55px}}
.gallery-page .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:18px}.gallery-page .gallery-item,.gallery-page .gallery-item.wide,.gallery-page .gallery-item.tall{display:block;width:100%;height:auto;aspect-ratio:4/3;grid-column:auto;grid-row:auto;margin:0}.gallery-page .gallery-item img{position:absolute;inset:0}
.gallery-page .gallery-item[hidden]{display:none}
.review-card .review-text{margin:20px 0 28px;font-size:16px;line-height:1.8;color:#515b61}.review-source{color:var(--rust);font-weight:600;text-decoration:underline;text-underline-offset:3px}.review-source:hover{color:var(--rust-dark)}
@media(max-width:1100px){.gallery-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gallery-page .gallery-grid{grid-template-columns:1fr}.gallery-page .gallery-item,.gallery-page .gallery-item.wide,.gallery-page .gallery-item.tall{height:auto;aspect-ratio:4/3;margin:0}}

/* Client logo option B: vector emblem plus readable wordmark. */
.header .brand{width:250px;height:72px;flex:0 0 250px}
.header .brand img{width:100%;height:auto;object-fit:contain}
.footer>a:first-child img{width:220px;max-width:none;height:auto}
@media(max-width:1100px){.header .brand{width:220px;height:66px;flex-basis:220px}}
@media(max-width:360px){.header .brand{width:205px;flex-basis:205px}.menu-toggle{min-width:44px;width:44px}.home-page .service-grid{grid-template-columns:1fr}}

/* Responsive hardening for intermediate viewport widths. */
.button,.gallery-filter button{white-space:nowrap;text-align:center}
.button{min-width:max-content}
.footer>a:not(:first-child){white-space:nowrap}
@media(max-width:1100px){
  .menu-toggle{width:48px;height:48px;flex:0 0 48px}
  .menu-toggle span{display:block;width:24px;height:2px;background:var(--ink)}
}
@media(min-width:901px) and (max-width:1100px){
  .subhero-copy{width:58%;padding-right:36px}
  .subhero-media{width:42%;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%)}
}
@media(max-width:900px){
  .subhero:not(.no-photo){min-height:0;padding-bottom:340px;background:#f8f8f7}
  .subhero:not(.no-photo) .subhero-copy{width:100%;max-width:780px;padding:64px 48px 50px}
  .subhero:not(.no-photo) .subhero-media{inset:auto 0 0;width:100%;height:340px;clip-path:none}
  .service-hub-grid{grid-template-columns:1fr}
  .hub-card{grid-template-columns:42% 1fr}
  .footer{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(250px,1.1fr);grid-template-areas:"brand location" "tagline phone";min-height:190px;row-gap:14px;column-gap:34px;padding:28px 40px}
  .footer>a:first-child{grid-area:brand;border:0;padding-right:0}
  .footer .footer-location{grid-area:location}
  .footer>a[href^="tel:"]{grid-area:phone}
  .footer p{grid-area:tagline;border:0;padding:0}
}
@media (700px < width < 935px){
  .home-page .hero{height:auto;min-height:0;padding-bottom:360px;background:#f8f8f7}
  .home-page .hero-copy{width:100%;max-width:720px;padding:40px 48px 44px}
  .home-page .hero h1{font-size:52px;line-height:1.02}
  .home-page .hero-description{max-width:620px;font-size:16px;line-height:1.65;margin-top:20px}
  .home-page .hero .desktop-br{display:none}
  .home-page .hero .estimate{width:auto;min-width:280px;height:54px;padding:0 28px;margin-top:24px;font-size:15px}
  .home-page .hero-contact{font-size:15px;margin-top:18px}
  .home-page .hero-photo{inset:auto 0 0;width:100%;height:360px;clip-path:none}
  .home-page .hero-photo img{object-fit:cover;object-position:center 48%}
  .home-page .hero-sky,.home-page .hero-concrete,.home-page .hero-small-triangle,.home-page .hero-tags{display:none}
  .home-page .services{display:block;padding:48px}
  .home-page .services-intro{max-width:640px;padding:0}
  .home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;margin-top:32px}
  .home-page .service-card img{height:auto;aspect-ratio:4/3}
  .home-page .service-card>div{padding:12px 2px 0}
}
@media(min-width:935px) and (max-width:1100px){
  .home-page .hero{height:max(calc(406 * var(--u)),470px)}
}
@media(min-width:935px) and (max-width:1024px){
  .home-page .services{display:block;padding:48px}
  .home-page .services-intro{max-width:640px;padding:0}
  .home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;margin-top:32px}
  .home-page .service-card img{height:auto;aspect-ratio:4/3}
  .home-page .service-card>div{padding:12px 2px 0}
}
@media(max-width:700px){
  .button{min-width:0}
  .subhero:not(.no-photo){padding-bottom:280px}
  .subhero:not(.no-photo) .subhero-copy{padding:58px 24px 38px}
  .subhero:not(.no-photo) .subhero-media{height:280px}
  .hub-card{grid-template-columns:1fr}
  .footer{grid-template-columns:1fr;grid-template-areas:none;min-height:0;padding:34px 24px}
  .footer>a,.footer p,.footer>a:first-child,.footer .footer-location,.footer>a[href^="tel:"]{grid-area:auto}
}
@media(max-width:560px){
  .gallery-filter{display:grid;grid-template-columns:1fr}
  .gallery-filter button{width:100%}
}

.footer{flex-wrap:wrap;gap:24px}
.footer-contacts{display:flex;align-items:center;gap:24px;flex:0 0 auto;max-width:100%}
.footer-contacts a{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;white-space:nowrap}
.footer-contacts svg{width:18px;height:18px}
@media(max-width:900px){
  .footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand contacts" "tagline contacts";min-height:0;align-content:start;row-gap:16px}
  .footer-contacts{grid-area:contacts;flex-direction:column;align-items:flex-start;justify-self:start;align-self:center;gap:12px}
}
@media(max-width:700px){
  .footer{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "contacts" "tagline";gap:24px}
  .footer>a:first-child{grid-area:brand}
  .footer p{grid-area:tagline}
}
.home-page .about{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.48fr);column-gap:clamp(40px,5vw,80px);padding:40px 4% 40px 25%;min-height:380px;align-items:center}
.home-page .about-copy{margin:0;padding:0;min-width:0}
.home-page .about-copy .desktop-br{display:none}
.home-page .about-map{position:relative;inset:auto;width:100%;max-width:320px;margin:0;transform:none;justify-self:center;min-width:0;z-index:2}
.home-page .about-map img{width:80%;max-width:240px;height:auto;margin:0 auto 16px}
.home-page .about-map .eyebrow{margin:0}
.home-page .about-map .map-caption{overflow-wrap:break-word}
@media(max-width:1100px){
  .home-page .about{display:flex;flex-direction:column;gap:32px;padding:40px 24px;min-height:0;height:auto;background:#edf1f2;overflow:visible}
  .home-page .blueprint,.home-page .about-wedge{display:none}
  .home-page .about-copy{width:100%;max-width:720px;padding:32px;background:#fff}
  .home-page .about-copy>p:not(.eyebrow){max-width:none}
  .home-page .about-map{flex:none;align-self:center}
}
@media(max-width:480px){
  .home-page .about{padding:32px 20px}
  .home-page .about-copy{padding:24px 20px}
}
@media(min-width:1101px){
  .home-page .about{grid-template-columns:minmax(0,1fr) minmax(240px,.72fr);padding-left:calc(26.5% + 24px);column-gap:calc(12.8cqw + 48px)}
}
.contact-cards .contact-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.contact-cards .info-card{padding:32px;background:#fff;border:1px solid #e0e4e5;min-width:0}
.contact-cards .info-card a{display:block;overflow-wrap:anywhere}
.contact-cards .contact-email{margin-top:12px}
.contact-cards .info-card h3{margin-bottom:16px}
@media(max-width:700px){.contact-cards .contact-info{grid-template-columns:1fr}.contact-cards .info-card{padding:24px}}

/* Keep the project heading readable alongside its contextual links. */
@media(min-width:1101px){.projects-heading{gap:32px;align-items:flex-end}.projects-heading>div:first-child{flex:1 1 56%;min-width:0}.projects-heading-actions{flex:0 1 40%;min-width:0;flex-direction:column;align-items:flex-end;gap:12px}.projects-heading-actions p{white-space:normal;text-align:right;line-height:1.6}.projects-heading-actions .button{flex-shrink:0}}
.gallery-page .gallery-hero-copy>.button{margin-top:24px}

.home-page .hero h1,
.home-page .eyebrow,
.home-page .location-eyebrow,
.home-page .service-card h3,
.home-page .project-grid h3,
.home-page .button,
.home-page .hero-tags,
.home-page .map-caption{text-transform:uppercase}
.home-page .service-card h3,.home-page .project-grid h3{font-weight:600;line-height:1.35;letter-spacing:1.2px}
.home-page .button{font-weight:700;letter-spacing:1.4px}
.home-page .hero-concrete,.home-page .hero-small-triangle{background-image:url(assets/texture.svg);background-size:480px 360px}
.home-page .blueprint{background-image:url(assets/texture.svg)}
@media(min-width:935px){
  .home-page .hero-copy{z-index:1;padding-bottom:32px}
  .home-page .hero .eyebrow{max-width:calc(276 * var(--u) - 24px)}
  .home-page .hero{height:auto;min-height:max(calc(406 * var(--u)),470px)}
  .home-page .hero-sky{z-index:0;pointer-events:none;background:linear-gradient(140deg,#f4f6f6,#dfe8eb);clip-path:polygon(0 0,100% 0,40% 100%)}
}
@media (935px <= width <= 1100px){
  .home-page .hero-description{max-width:calc(400 * var(--u))}
  .home-page .hero-description .desktop-br{display:none}
}
@media(max-width:900px){
  .home-page .contact{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:34px 24px;height:auto}
  .home-page .contact>div{width:100%;min-width:0}
  .home-page .contact .desktop-br{display:none}
  .home-page .contact .button{margin-top:0;width:100%;max-width:360px;height:54px}
}
@media(min-width:1101px){
  .home-page .about::before{content:"";position:absolute;top:0;left:5.5%;width:17.2%;height:39%;z-index:1;pointer-events:none;background:linear-gradient(135deg,#f3f6f7,#dfe7ea);clip-path:polygon(0 0,100% 0,50% 100%)}
}

.home-page .hero-media{position:absolute;inset:0 0 0 auto;width:100%;clip-path:polygon(55.8% 0,100% 0,100% 38.4%,69.5% 100%,64.7% 100%,42.679% 27.8%);z-index:-1;overflow:hidden}
.hero-media>img,.hero-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-media>video{opacity:0;transition:opacity .45s}
.hero-media.is-playing>video,.hero-media.has-frame>video{opacity:1}



@media(width < 935px){
 .home-page .hero{display:flex;flex-direction:column;min-height:0;height:auto;padding:0}
 .home-page .hero-copy{width:100%;max-width:720px;padding:32px 24px}
 .home-page .hero-media{position:relative;inset:auto;width:100%;height:340px;clip-path:none;z-index:0;flex:none}
 .home-page .hero-sky,.home-page .hero-concrete,.home-page .hero-small-triangle,.home-page .hero-tags{display:none}
 
 .home-page .hero .estimate{width:auto;min-width:0;height:auto;min-height:54px;padding:15px 20px;font-size:15px;white-space:nowrap}
 .home-page .hero .desktop-br{display:none}
 .home-page .hero-description{max-width:620px;font-size:16px;line-height:1.65}
}
@media(width > 2000px){.home-page .hero{min-height:760px}}
@media(prefers-reduced-motion:reduce){.hero-media>video{transition:none}}

/* One shared coordinate system keeps every diagonal parallel at any hero height. */
@media(width >= 935px){
 .home-page .hero-sky{inset:0;width:100%;height:100%;clip-path:polygon(34.2% 0,55.8% 0,42.679% 27.8%)}
 .home-page .hero-small-triangle{inset:0;width:100%;height:100%;clip-path:polygon(53.435% 67%,63.5% 100%,37.8% 100%)}
 .home-page .hero-concrete{inset:0;width:100%;height:100%;clip-path:polygon(100% 40.42%,100% 100%,70.5% 100%)}
 .home-page .hero-concrete:after{inset:0;width:100%;height:100%;transform:none;background:none;border:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cpath d='M 728 965 L 990 436' stroke='%23b98370' stroke-width='1' vector-effect='non-scaling-stroke' fill='none'/%3E%3C/svg%3E");background-size:100% 100%}
}

:root{--ink:#263438;--rust:#a45432;--rust-dark:#804024}.button{background:#a45432;border-color:#a45432}.button:hover{background:#804024;filter:none;transform:translateY(-2px)}.header .brand{width:260px;flex-basis:260px;height:auto}.footer>a:first-child img{width:245px}.header{gap:18px}.header nav{gap:20px}.header-call{min-width:170px;margin-left:0}.hero-copy{max-width:54%;padding-bottom:34px}.hero-description{max-width:45ch}.hero .button{height:auto;min-height:54px;margin-top:24px;width:auto;padding:14px 24px}.hero-tags,.location-eyebrow,.hero-contact,.eyebrow,.hero .eyebrow,.home-page .services-intro>p:last-child,.home-page .hero-description,.home-page .about-copy>p:not(.eyebrow){font-size:15px}.hero-tags{letter-spacing:1px}.hero .eyebrow{letter-spacing:2px}.hero-copy .location-eyebrow{margin-bottom:32px}.service-card>a>div{padding:16px 4px}.service-card img{transition:filter .25s}.service-card a:hover img{filter:brightness(.92)}.service-card a:hover h3{color:var(--rust)}.service-card h3{font-size:15px}.service-card p{font-size:15px}.home-page .about{column-gap:60px;padding-left:23%;grid-template-columns:1.3fr .7fr}.blueprint{background-image:repeating-linear-gradient(0deg,transparent 0 25px,#9aaead44 25px 26px),repeating-linear-gradient(90deg,transparent 0 25px,#9aaead44 25px 26px)}.home-page .about::before{display:none}.home-page .about-wedge{clip-path:polygon(22% 0,77% 0,65% 100%,22% 100%,5% 0)}.home-page .about-map{max-width:250px}.home-page .about-map .eyebrow,.map-caption{font-size:15px}.contact{padding-top:40px;padding-bottom:40px;gap:36px}.lead-copy p,.detail-copy p,.fact-panel p{margin-top:20px;line-height:1.8}.lead-copy .button{margin-top:24px;min-height:54px;height:auto;padding:15px 20px}.detail-copy h2:not(:first-child){margin-top:24px}.quote-panel p{margin:20px 0;line-height:1.7}.quote-panel .button{max-width:100%;min-width:0;height:auto;min-height:54px;white-space:normal;padding:15px}.quote-panel hr{border:0;border-top:1px solid #ccd4d3;margin:30px 0}.inside .hero h1{font-size:clamp(40px,4.3vw,68px);line-height:1.03}.inside .hero{min-height:640px}.fact-list li{font-size:15px}.fact-list strong{font-size:15px}.section-block a:not(.button){text-decoration:underline;text-underline-offset:4px}.feature-card .number{color:var(--rust)}
@media(min-width:1101px){.home-page .hero-copy{padding-top:22px}.home-page .hero{min-height:650px}.home-page .services{grid-template-columns:27% 1fr;gap:32px;padding-top:50px;padding-bottom:50px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.service-card img{height:auto;aspect-ratio:1.75}.service-card p{max-width:40ch}.services-intro{padding-top:18px}.hero-tags{bottom:24px;right:42px}.hero .eyebrow{max-width:420px!important}}
@media(min-width:1500px){.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-card img{aspect-ratio:1.2}}
@media(max-width:1200px){.header .brand{width:230px;flex-basis:230px}.header nav{gap:15px}.header-call{display:none}}
@media(max-width:1100px){.home-page .about{padding:40px 24px;gap:32px}.home-page .services{height:auto}.hero-copy{max-width:56%}.hero-description{max-width:44ch}.home-page .hero h1{font-size:48px}.home-page .hero{min-height:620px}.header .brand{width:245px;flex-basis:245px}}
@media(max-width:934px){.home-page .hero{min-height:0}.home-page .hero-copy{max-width:100%;padding:40px 24px;text-align:center;align-self:center}.hero-description{margin-left:auto;margin-right:auto}.home-page .hero .eyebrow{max-width:none!important}.hero-copy .location-eyebrow{margin-bottom:28px}.home-page .hero-media{height:360px}.hero-tags{display:none}.home-page .hero h1{font-size:48px}.home-page .services{display:block;padding:44px 24px}.services-intro{text-align:center;max-width:650px;margin:auto}.services-intro>p:last-child{margin-left:auto;margin-right:auto}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}.home-page .contact{align-items:center;text-align:center}.home-page .contact .button{margin-top:0}.footer{justify-items:center;text-align:center;grid-template-columns:1fr;grid-template-areas:'brand' 'contacts' 'tagline'}.footer-contacts{justify-self:center;align-items:center}.footer p{padding:0;border:0}.footer>a:first-child{padding:0;border:0}.header nav{text-align:left}.detail-layout{grid-template-columns:1fr}}
@media(max-width:600px){.header{padding:14px 20px}.header .brand{width:220px;flex-basis:220px}.home-page .hero h1{font-size:42px}.home-page .hero-media{height:280px}.home-page .service-grid{grid-template-columns:1fr;gap:32px}.service-card{text-align:center}.service-card img{aspect-ratio:1.6;height:auto}.service-card p{max-width:36ch;margin-left:auto;margin-right:auto}.projects-heading,.project-grid figcaption{text-align:center}.projects-heading-actions .button{white-space:normal;min-width:0;padding:15px;min-height:54px;height:auto;margin-top:20px}.home-page .about-copy{text-align:center}.about-copy i{margin-left:auto;margin-right:auto}.faq-heading{text-align:center}.faq summary{text-align:left;font-size:15px}.faq-heading h2{font-size:28px}.section-block{padding:50px 0}.lead-copy,.section-heading,.detail-copy{text-align:center}.check-list{text-align:left}.feature-card,.fact-panel,.quote-panel,.info-card{text-align:center}.inside .hero-description{font-size:16px}.contact .button{white-space:normal}.footer-contacts a{white-space:normal;justify-content:center}.home-page .contact{padding:40px 24px}.header nav.open{max-height:calc(100dvh - 82px)}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .6s ease both}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
.quote-panel h3{font-size:18px;line-height:1.5}.hero-contact{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.hero-contact span{padding:0 2px}.inside .hero h1{overflow-wrap:normal}.fact-panel h3,.info-card h3{font-size:18px}
@media(max-width:934px){.hero-contact{justify-content:center}}
@media(max-width:360px){.header{padding-left:16px;padding-right:16px;gap:10px}.header .brand{width:190px;flex-basis:190px}.menu-toggle{width:44px;min-width:44px;flex-basis:44px}.hero-copy{padding-left:20px!important;padding-right:20px!important}.home-page .hero h1{letter-spacing:-1.8px}.footer>a:first-child img{max-width:100%}}
main p a:not(.button){color:var(--rust-dark);text-decoration:underline!important;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .18s}
main p a:not(.button):hover{color:var(--ink);text-decoration-thickness:2px}
.service-card p a{display:inline;height:auto}.service-card>div{padding:16px 4px}
.footer-links{flex:1 0 100%;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;border-top:1px solid #e4e6e7;padding:22px 0;width:100%;font-size:15px}
.footer-links a{text-decoration:underline;text-underline-offset:4px;line-height:1.6;padding:5px 0}
.nav-dropdown:not(.open) .nav-dropdown-menu{opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none}
.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nav-dropdown:not(.open) .nav-dropdown-toggle svg{transform:none}
@media(max-width:1100px){.nav-dropdown:not(.open) .nav-dropdown-menu{display:none}.nav-dropdown.open .nav-dropdown-menu{display:block}}
@media(max-width:900px){.footer{grid-template-areas:'brand' 'contacts' 'tagline' 'links'}.footer-links{grid-area:links}}
@media(max-width:600px){.footer-links{display:grid;grid-template-columns:1fr;gap:2px}.footer-links a{padding:9px 4px}}

@media(min-width:901px){.footer{padding-top:24px;padding-bottom:8px}}
