@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-500.ttf) format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url(assets/poppins-600.ttf) format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url(assets/poppins-700.ttf) format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Poppins;src:url(assets/poppins-800.ttf) format('truetype');font-weight:800;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/concrete-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/concrete-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/architectural-blueprint.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/concrete-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/concrete-texture.svg);background-size:cover}
.contact{background-image:url(assets/concrete-texture.svg);background-size:cover}
.blueprint{background-image:url(assets/architectural-blueprint.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/architectural-blueprint-v2.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)}
}



