@font-face{font-family:Oswald;src:url('oswald.ttf') format('truetype');font-weight:200 700;font-display:swap}
:root{font-size:100%;--red:#c91f29;--navy:#001c34;--blue:#0b4375;--muted:#536171;--line:#dce1e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:#14202c;font:1rem/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2686ca;outline-offset:4px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}p+p{margin-top:18px}h1,h2,h3{line-height:1.15}h2{font-size:clamp(1.65rem,2.8vw,2.25rem);font-weight:800;text-transform:uppercase;letter-spacing:-.035em}h3{font-size:1.15rem;line-height:1.35}p{color:var(--muted)}.container{width:min(1240px,calc(100% - 64px));margin-inline:auto}.narrow{max-width:800px}.section{padding-block:72px}.soft{background:#f4f6f8}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--red);margin-bottom:8px}.section-heading{text-align:center;max-width:900px;margin:0 auto 30px}.section-heading p:last-child:not(.eyebrow){margin-top:12px}.skip{position:absolute;top:-100px}.skip:focus{top:8px;left:8px;z-index:20;background:white;padding:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border:1px solid var(--red);border-radius:2px;background:var(--red);color:#fff;font-weight:700;font-size:.9rem;line-height:1.4;text-align:center;transition:background .15s}.button:hover{background:#a61720}.button-outline{background:transparent;border-color:currentColor}.button-outline:hover{background:#ffffff18}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.text-link{display:inline-block;color:var(--blue);font-weight:700;margin-top:22px;text-decoration:underline;text-underline-offset:5px}.icon{width:24px;height:24px;flex-shrink:0}
header{background:#fff;border-bottom:1px solid #eee}.header-inner{width:min(1340px,calc(100% - 48px));min-height:88px;margin:auto;display:flex;align-items:center;gap:28px}.brand{display:block;width:235px;flex-shrink:0}.brand svg{display:block;width:100%;height:58px;overflow:hidden}.header-inner nav{display:flex;margin-left:auto;gap:26px;align-items:center;font-size:.875rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.header-inner nav a{padding-block:28px}.header-inner nav a[aria-current]{color:var(--red);text-decoration:underline;text-underline-offset:10px}.header-call{white-space:nowrap}.menu-toggle{display:none;border:0;background:none;font-size:1.7rem;min-width:44px;min-height:44px;color:var(--navy)}#mobile-nav[hidden]{display:none}#mobile-nav{padding:12px 24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px}#mobile-nav a{padding:12px 16px;font-weight:700}#mobile-nav [aria-current]{color:var(--red)}
.hero{position:relative;color:white;background:#0a1014 url('hero-reference.webp') center/cover no-repeat;min-height:600px}.hero-inner{width:min(1340px,100%);padding:65px 40px 58px;margin:auto;position:relative}.hero h1{font:700 clamp(3rem,4.5vw,4.6rem)/1.04 Oswald,'Arial Narrow',sans-serif;letter-spacing:-.02em}.hero h1 span{color:#e02730}.hero-sub{color:#fff;font-weight:700;font-size:1rem;line-height:1.5;margin-top:20px}.features{display:flex;flex-wrap:wrap;gap:20px;margin-top:26px}.feature{display:flex;align-items:center;gap:10px}.feature-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--blue)}.feature strong{display:block;font-size:.875rem;text-transform:uppercase}.feature div>span{display:block;font-size:.875rem;line-height:1.4;margin-top:4px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-actions .button{min-width:205px}.hero-actions .button-outline{border-color:white}.hero-actions .icon{width:17px;height:17px}
.services-section{padding:35px 0 46px;background:#fafafa}.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.service-card{border:1px solid var(--line);background:#fff;transition:transform .15s,box-shadow .15s;overflow:hidden}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #001c3412}.service-card>img{width:100%;height:175px;object-fit:cover}.service-card>span{display:block;text-align:center;padding:20px 8px}.service-card strong{font-size:.875rem;text-transform:uppercase}.card-link{display:block;font-size:.875rem;color:var(--blue);margin-top:8px}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.three-grid h3{margin-bottom:12px}.why{background:linear-gradient(120deg,#00172c,#063656);color:#fff}.why p{color:#d4dfe9}.why .eyebrow{color:#ff8790}.why article{padding-left:24px;border-left:2px solid #bc2637}.steps article{border-top:1px solid var(--line);padding-top:24px}.steps article>span{display:block;color:var(--red);font:500 2rem Oswald;margin-bottom:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split>img{width:100%;height:420px;object-fit:cover}.split h2{margin-bottom:22px}.split ul{padding-left:22px;margin:18px 0 30px}.split li+li{margin-top:8px}.split p{margin-top:18px}.panel{padding:30px;background:#f2f5f7;border-top:3px solid var(--blue)}.panel p{margin-top:14px}.faq-list{margin-top:28px}.faq-list details{border-bottom:1px solid #cdd5dd;padding:20px 0}.faq-list summary{cursor:pointer;font-weight:700;font-size:1.05rem;padding-right:25px}.faq-list details p{padding:16px 24px 0 0}.cta{padding:48px max(32px,calc((100% - 1240px)/2));background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:32px}.cta h2{font-size:clamp(1.5rem,2.5vw,2rem)}.cta p{color:#d1deea;margin-top:8px}.cta .eyebrow{color:#ff8790}.cta .actions{flex-shrink:0}.page-intro{padding:36px 0 58px;background:linear-gradient(110deg,#001c34,#0b3659);color:#fff}.breadcrumb{font-size:.875rem;color:#c6d5e1;margin-bottom:32px}.breadcrumb a{text-decoration:underline}.page-intro .eyebrow{color:#ff8790}.page-intro h1{font:600 clamp(2.4rem,5vw,4.5rem)/1.08 Oswald,sans-serif;max-width:900px;text-transform:uppercase}.page-intro p:last-child{max-width:760px;margin-top:20px;color:#d6e2ec;font-size:1.125rem}.gallery-note{margin-bottom:30px;font-size:.9rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.gallery-grid figure{margin:0}.photo{border:0;background:none;padding:0;width:100%;overflow:hidden}.photo img{width:100%;height:280px;object-fit:cover;transition:transform .2s}.photo:hover img{transform:scale(1.025)}figcaption{font-size:.875rem;margin-top:10px;color:var(--muted)}dialog{width:min(980px,94vw);border:0;background:#071d31;color:#fff;padding:46px 18px 15px}dialog::backdrop{background:#000d}body:has(dialog[open]){overflow:hidden}dialog>img{width:100%;height:68vh;object-fit:contain}.close-gallery{position:absolute;right:10px;top:0;border:0;background:none;color:white;font-size:2rem;min-height:44px;min-width:44px}.gallery-controls{display:flex;justify-content:center;gap:25px;align-items:center;margin-top:12px}.gallery-controls button{background:none;border:1px solid #fff7;color:white;min-width:48px;min-height:44px;font-size:1.3rem}.contact-grid{display:grid;grid-template-columns:.85fr 1.3fr;gap:70px}.contact-grid aside>p{margin-block:20px}.contact-grid aside h2{font-size:clamp(1.5rem,2.3vw,2rem)}form{padding:36px;border:1px solid var(--line);box-shadow:0 12px 40px #001c3408}form>p{margin:16px 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.9rem;font-weight:700}input,select,textarea{display:block;width:100%;border:1px solid #9ba8b5;background:#fff;padding:12px;min-height:48px;border-radius:2px;margin-top:7px;color:#14202c}textarea{resize:vertical}form>label{margin-top:20px}.consent{display:block;font-weight:400;margin-block:20px}.consent input{display:inline-block;width:18px;min-height:18px;height:18px;margin:0 6px 0 0;vertical-align:middle}.consent a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status{margin-bottom:0}#form-status.error{color:#a61720}#form-status.success{color:#1c633e}.prose h2{margin:32px 0 18px;font-size:1.5rem}.prose a{text-decoration:underline}
footer{background:#0c1218;color:#fff;padding:48px 32px 0}.footer-top{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:70px;padding-bottom:32px}.footer-top .brand{background:white;padding:4px 8px;width:245px;margin-bottom:20px}.footer-top h3{font-size:1rem;text-transform:uppercase;margin-bottom:18px}.footer-top p{color:#acbac8;font-size:.9rem;margin:12px 0}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.9rem}.footer-phone{font-size:1.2rem;font-weight:700}.footer-bottom{max-width:1240px;margin:auto;padding:22px 0;border-top:1px solid #ffffff25;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;font-size:.875rem;color:#adbac6}.footer-bottom p{color:inherit}.mobile-action{display:none}
@media(min-width:1500px){.hero{background-position:center 52%}}
@media(max-width:1150px){.header-inner{gap:18px}.brand{width:205px}.header-inner nav{gap:16px;font-size:.875rem}.header-call{padding:10px 12px}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card>img{height:210px}.hero{background-position:57% center}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0006,transparent)}.cta{flex-direction:column;align-items:flex-start}.contact-grid{gap:35px}}
@media(max-width:950px){.header-inner nav{display:none}.header-call{margin-left:auto}.menu-toggle{display:block}.hero h1{font-size:3.6rem}.hero{min-height:600px}.hero-inner{padding:58px 32px}.split{gap:32px}.three-grid{gap:24px}.footer-top{gap:30px}.contact-grid{grid-template-columns:1fr}.contact-grid aside{max-width:650px}}
@media(max-width:650px){.container{width:calc(100% - 36px)}.section{padding-block:46px}.header-inner{width:calc(100% - 24px);min-height:76px;gap:8px}.brand{width:185px}.brand svg{height:50px}.header-call{display:none}.menu-toggle{margin-left:auto}.hero{background-position:63% center;min-height:620px}.hero:before{background:linear-gradient(90deg,#02070bd9,#02070b66)}.hero-inner{padding:48px 20px 40px}.hero h1{font-size:clamp(2.8rem,10vw,3.6rem)}.hero-sub{font-size:.9rem}.features{gap:16px;max-width:370px}.feature{gap:8px}.feature-icon{width:36px;height:36px}.feature strong,.feature div>span{font-size:.875rem}.hero-actions{flex-direction:column;align-items:stretch;max-width:370px}.hero-actions .button{min-height:50px}.services-section{padding:32px 0}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card>img{height:155px}.service-card>span{padding:16px 6px}.three-grid{grid-template-columns:1fr;gap:28px}.split{grid-template-columns:1fr;gap:28px}.split>img{height:310px}.cta{padding:36px 20px}.cta .actions{width:100%;flex-direction:column;align-items:stretch}.page-intro{padding:26px 0 40px}.page-intro h1{font-size:2.65rem}.breadcrumb{margin-bottom:24px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.photo img{height:185px}.contact-grid{gap:30px}form{padding:24px 18px}.form-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;gap:28px}.footer-top nav{max-width:360px}footer{padding:36px 20px 74px}.footer-bottom{flex-direction:column;gap:10px}.mobile-action{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--red);color:white;padding-bottom:env(safe-area-inset-bottom)}.mobile-action a{text-align:center;padding:15px 8px;font-weight:700;font-size:.9rem}.mobile-action a:last-child{background:var(--navy)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Verified project work and regional service pages */
.projects-home{background:#eef2f5}
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.project-card{position:relative;display:block;min-height:360px;overflow:hidden;background:var(--navy);color:#fff}
.project-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#00111fec)}
.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.project-card:hover img{transform:scale(1.025)}
.project-card>span{position:absolute;z-index:1;left:20px;right:20px;bottom:20px}
.project-card strong{display:block;font:600 1.2rem/1.2 Oswald,sans-serif;text-transform:uppercase}
.project-card small{display:block;margin-top:7px;color:#dce7ef;font-size:.82rem}
.center{text-align:center;margin-top:28px}
.dark-button{background:var(--navy);border-color:var(--navy)}
.dark-button:hover{background:#063656}
.gallery-lead{max-width:760px;margin-bottom:34px}
.gallery-lead p:last-child{margin-top:14px}
.gallery-grid figcaption strong,.gallery-grid figcaption span{display:block}
.gallery-grid figcaption span{color:#7b8792;font-size:.78rem;margin-top:2px;text-transform:uppercase;letter-spacing:.08em}
.area-summary{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:60px}
.area-summary img{width:100%;height:390px;object-fit:cover}
.area-summary p:not(.eyebrow){margin:18px 0 26px}
.zone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.zone-card{padding:30px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 35px #001c3408}
.zone-card.primary-zone{border-top:4px solid var(--red)}
.zone-card>span{display:block;color:var(--red);font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:12px}
.zone-card h2{font-size:1.3rem;line-height:1.25;margin-bottom:16px}
.zone-card p{font-size:.94rem}
.zone-card>a{display:inline-block;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:4px;margin-top:20px}
.area-links{display:grid;gap:7px;margin-top:18px}
.area-links a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.travel-note{display:flex;align-items:center;gap:24px;padding:28px 30px;background:#eef2f5;margin-top:28px}
.travel-note strong{font-size:1.05rem;white-space:nowrap}
.travel-note p{margin:0;flex:1}
.market-intro{background:linear-gradient(105deg,#001c34 0%,#0b3659 64%,#0e4d7b)}
.service-checks{display:grid;gap:10px;padding-left:22px;margin:24px 0 30px}
.market-cities{font-size:1.08rem;line-height:1.8;color:#263b4d;margin:20px 0}

@media(max-width:1000px){
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .zone-grid{grid-template-columns:1fr 1fr}
  .zone-card:last-child{grid-column:1/-1}
}

@media(max-width:650px){
  .project-grid,.zone-grid,.area-summary{grid-template-columns:1fr}
  .project-card{min-height:310px}
  .zone-card:last-child{grid-column:auto}
  .area-summary{gap:28px;margin-bottom:42px}
  .area-summary img{height:280px;order:-1}
  .travel-note{display:block;padding:24px}
  .travel-note p{margin:10px 0 20px}
  .gallery-grid{grid-template-columns:1fr}
  .photo img{height:240px}
}


/* Architectural redesign: shared across every page. */
:root{--red:#c8222e;--navy:#15191c;--blue:#a91b26;--muted:#606568;--line:#d9dcdd}
body{color:#1c2022;background:#fff;font-family:Arial,Helvetica,sans-serif}
header{position:relative;z-index:20;background:#fff;border:0}
.header-inner{width:min(1600px,calc(100% - 96px));min-height:98px;gap:36px}
.wordmark{display:block;font:700 2rem/.98 Oswald,'Arial Narrow',sans-serif;letter-spacing:-.045em;color:#222629}
.wordmark>span{display:block;font:700 .63rem/1 Arial,sans-serif;letter-spacing:.19em;margin-top:9px;color:#a61c28}
.brand{width:230px}.header-inner nav{font-size:.875rem;text-transform:none;gap:30px;font-weight:500}.header-inner nav a[aria-current]{text-decoration:none}.header-call{background:transparent;color:#222629;border-color:#d5d8da;border-radius:0;padding:13px 20px}.header-call:hover{background:#15191c;color:#fff}
.button{border-radius:0;min-height:55px;padding:17px 26px;font-size:.9375rem;gap:24px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}
.container{width:min(1440px,calc(100% - 112px))}.narrow{max-width:850px}.section{padding-block:100px}
h2{font:500 clamp(2.4rem,4vw,4rem)/1.08 Oswald,'Arial Narrow',sans-serif;letter-spacing:-.025em;text-transform:none}.eyebrow{font-size:.8125rem;letter-spacing:.16em;margin-bottom:20px}.section-heading{text-align:left;max-width:none;margin-bottom:48px}.section-heading p:last-child:not(.eyebrow){max-width:620px;margin-top:20px;font-size:1.0625rem}
.cinematic-hero{background:#161b1e;position:relative;isolation:isolate;min-height:740px;height:min(850px,calc(100svh - 98px));overflow:hidden;color:white}
.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 61%;z-index:-4;transform:scale(1.025)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,18,.92) 0%,rgba(8,14,18,.74) 32%,rgba(8,14,18,.1) 76%),linear-gradient(0deg,rgba(7,12,16,.72),transparent 40%);z-index:-1}
.cinematic-hero:before{display:none}
.cinematic-hero .hero-inner{width:min(1600px,100%);padding:100px 48px 130px;margin:auto;position:relative}
.hero-kicker{color:#eee;font-size:.75rem;font-weight:700;letter-spacing:.19em;display:flex;align-items:center;gap:12px;margin-bottom:34px}.hero-kicker>span{width:7px;height:7px;background:#f04e58;border-radius:50%;box-shadow:0 0 18px #df3942}
.cinematic-hero h1{font:500 clamp(5rem,7.5vw,8.7rem)/.98 Oswald,'Arial Narrow',sans-serif;letter-spacing:-.03em;max-width:850px;text-transform:uppercase}.cinematic-hero h1 em{font-style:normal;color:#f04c56}.cinematic-hero .hero-sub{font-size:1.0625rem;line-height:1.7;font-weight:400;margin-top:30px;max-width:530px;color:#e0e3e5}
.hero-actions{gap:30px;margin-top:35px;align-items:center}.hero-phone{font-size:1.15rem;font-weight:700;letter-spacing:.02em}.hero-phone span{display:block;font-size:.75rem;font-weight:400;color:#e0e3e5;margin-top:5px;letter-spacing:.03em}
.hero-bottom{position:absolute;bottom:0;left:0;right:0;min-height:76px;margin-inline:max(48px,calc((100% - 1504px)/2));border-top:1px solid #ffffff35;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.6875rem;letter-spacing:.12em}.hero-bottom>span{color:#d9dddf}.scroll-link{display:flex;gap:24px;align-items:center}.scroll-link span{font-size:1.3rem}
.door-replay{display:flex;align-items:center;gap:12px;border:1px solid #ffffff55;background:#12191b70;color:white;padding:10px 17px;min-height:44px;font-size:.8125rem;letter-spacing:.025em}.door-replay[hidden]{display:none}.door-replay:hover{background:#ffffff20}.door-curtain{display:none;position:absolute;inset:0;z-index:-2;pointer-events:none}.door-curtain.is-ready{display:block}.door-panel{height:calc(100% / 6 + 1px);width:100%;position:absolute;top:calc(var(--panel) * 100% / 6);background-image:url('door-surface.webp');background-size:100% 600%;background-position:center calc(var(--panel) * 20%);box-shadow:0 -1px 0 #ffffff15,0 3px 9px #0007;transform-origin:top;will-change:transform}.door-curtain.is-open .door-panel{transform:translateY(calc((var(--panel) + 1) * -102%)) rotateX(75deg);opacity:0;transition:transform 2.6s cubic-bezier(.55,.05,.22,1),opacity .25s 2.35s}.hero-scene.is-revealing{animation:scene-settle 3.2s ease-out both}@keyframes scene-settle{from{transform:scale(1.09)}to{transform:scale(1.025)}}
.service-ribbon{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px max(48px,calc((100% - 1504px)/2));background:#171c1f;color:#d4d8da;border-top:1px solid #ffffff12;font-size:.8125rem}.service-ribbon strong{color:#fff;font-weight:500}.service-ribbon a{color:white}.service-ribbon a span{margin-left:24px;color:#ef6069}
.services-section{padding:100px 0;background:#fff}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{border:0;border-bottom:1px solid #d8dcde;background:#f5f6f6}.service-card>img{height:235px;filter:saturate(.72);transition:transform .5s}.service-card:hover>img{transform:scale(1.035)}.service-card>span{text-align:left;padding:25px 26px}.service-card strong{font:500 1.5rem/1.1 Oswald,sans-serif;text-transform:none}.card-link{float:right;margin-top:3px;color:#9e2028;font-size:.8125rem}.service-card:hover{box-shadow:none}
.projects-home{background:#161b1e;color:#fff}.projects-home .eyebrow{color:#f06a74}.projects-home .section-heading>p:last-child{color:#b8c0c5}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project-card{min-height:460px}.project-card:after{background:linear-gradient(transparent,#0b1013e8)}.project-card>span{left:28px;bottom:28px}.project-card strong{font-weight:400;font-size:1.8rem;text-transform:none}.project-card small{font-size:.8125rem}.project-card img{transition:transform .7s}.project-card:hover img{transform:scale(1.04)}.projects-home .center{text-align:left;margin-top:38px}.projects-home .dark-button{border-color:#ffffff60;background:transparent}
.why{background:#ecefef;color:#1d2225}.why p{color:#555f65}.why .eyebrow{color:#a51f2c}.why article{border-color:#ba2430;padding-left:24px}.three-grid h3{font-size:1.25rem}.steps article>span{font-size:3rem;font-weight:400;color:#b72a35}.split>img{height:520px}.split{gap:80px}.split h2{max-width:560px}.soft{background:#f2f4f4}.faq-list details{padding:26px 0}.faq-list summary{font-size:1.0625rem}.cta{padding:72px max(56px,calc((100% - 1440px)/2));background:#a61f2a}.cta h2{font-size:clamp(2.2rem,3.5vw,3.5rem)}.cta .eyebrow{color:#ffccd0}.cta p{color:#f0dadd}.cta .button{background:#fff;color:#901823;border-color:#fff}.cta .button-outline{background:transparent;color:#fff}.cta .button:hover{background:#1b2023;color:#fff;border-color:#1b2023}
.page-intro,.market-intro{background:#191f23;padding:38px 0 76px}.page-intro h1{font-weight:500;text-transform:none;font-size:clamp(3rem,5.5vw,5.5rem)}.page-intro .eyebrow{color:#f3757f}.page-intro p:last-child{color:#c4cdd3}.breadcrumb{color:#bec5c9}.zone-card{box-shadow:none}.zone-card h2{font-size:1.65rem}.photo img{height:350px}.gallery-grid{gap:36px 24px}form{box-shadow:none;background:#f7f8f8;padding:40px}.panel{background:#eef0f1;border-color:#b62a35}footer{background:#111619;padding-top:70px}.footer-top,.footer-bottom{max-width:1440px}.footer-top .brand{background:none;padding:0}.footer-top .wordmark{color:#fff}.footer-top .wordmark>span{color:#ed7781}.footer-top{padding-bottom:60px}.footer-phone{font:400 1.8rem Oswald,sans-serif}.footer-bottom{font-size:.75rem}
@media(min-width:2200px){.cinematic-hero{height:1060px;max-height:none}.cinematic-hero .hero-inner{padding-top:170px}.hero-scene{object-position:center 59%}}
@media(max-width:1150px){.header-inner{width:calc(100% - 48px);gap:20px}.header-inner nav{gap:20px}.container{width:calc(100% - 64px)}.cinematic-hero .hero-inner{padding-left:32px;padding-right:32px}.hero-bottom{margin-inline:32px}.cinematic-hero h1{font-size:6rem}.service-card>span{padding:22px 18px}.card-link{float:none;margin-top:12px}.project-card{min-height:380px}.split{gap:40px}}
@media(max-width:950px){.header-inner{min-height:84px}.header-inner nav{display:none}.cinematic-hero{height:780px;min-height:700px}.hero-scene{object-position:60% center}.cinematic-hero .hero-inner{padding-top:100px}.hero-shade{background:linear-gradient(90deg,#0b1218df,#0b121884 60%,#0b121820),linear-gradient(0deg,#0b1218aa,transparent 60%)}.hero-bottom>span{max-width:260px;line-height:1.8}.service-ribbon{padding-inline:32px}.service-ribbon>span:nth-child(2){display:none}.services-grid{gap:18px}.service-card>img{height:190px}.section,.services-section{padding-block:76px}.photo img{height:280px}.cta{padding:60px 32px}.footer-top{gap:35px}}
@media(max-width:650px){.header-inner{width:calc(100% - 36px);min-height:80px}.brand{width:200px}.wordmark{font-size:1.8rem}.wordmark>span{font-size:.58rem}.container{width:calc(100% - 40px)}.cinematic-hero{height:740px;min-height:740px}.cinematic-hero .hero-inner{padding:74px 22px 145px}.cinematic-hero h1{font-size:clamp(3.8rem,14vw,5.6rem)}.hero-kicker{font-size:.625rem;letter-spacing:.14em;margin-bottom:28px}.cinematic-hero .hero-sub{font-size:1rem;max-width:330px;line-height:1.65;margin-top:24px}.hero-actions{align-items:flex-start;gap:20px;margin-top:28px}.hero-actions .button{min-width:245px}.hero-phone{font-size:1.1rem}.hero-scene{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#0b1218e8,#0b121878),linear-gradient(0deg,#0b1218bb,transparent 60%)}.hero-bottom{margin-inline:22px;min-height:78px;gap:12px}.hero-bottom>span{display:none}.door-replay{padding:10px 14px}.scroll-link{font-size:.7rem}.service-ribbon{padding:22px;align-items:flex-start;font-size:.75rem;gap:25px}.service-ribbon a{max-width:155px}.service-ribbon a span{margin-left:8px}.section,.services-section{padding-block:60px}.section-heading{margin-bottom:32px}h2{font-size:2.6rem}.eyebrow{font-size:.75rem;margin-bottom:16px}.section-heading p:last-child:not(.eyebrow){font-size:1rem}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.service-card>img{height:160px}.service-card>span{padding:20px 12px}.service-card strong{font-size:1.3rem}.card-link{font-size:.75rem}.project-grid{grid-template-columns:1fr;gap:22px}.project-card{min-height:350px}.project-card strong{font-size:1.6rem}.split{gap:30px}.split>img{height:340px}.three-grid{gap:36px}.cta{padding:52px 22px}.page-intro{padding:28px 0 50px}.page-intro h1{font-size:3.1rem}.photo img{height:290px}.footer-top{padding-bottom:32px}.footer-top .wordmark{font-size:2rem}footer{padding:50px 22px 90px}.footer-bottom{font-size:.75rem}.mobile-action{z-index:30}.mobile-action a{padding:15px 8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.door-curtain{display:none!important}.hero-scene{transform:none!important}}

@media(min-width:1600px){.cinematic-hero h1{max-width:1100px}}

/* House-mounted motion: one shared SVG coordinate system keeps every edge aligned. */
.cinematic-hero{height:auto;min-height:0;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.65fr);grid-template-rows:1fr auto;max-width:1920px;margin:auto;overflow:hidden;background:#161c20}
.house-visual{grid-column:2;grid-row:1;align-self:stretch;display:flex;align-items:center;min-width:0;padding:38px 36px 28px 0}
.house-scene{display:block;width:100%;height:auto;max-height:820px;overflow:hidden;border-radius:2px}
.garage-interior{visibility:hidden}.doors-ready .garage-interior{visibility:visible}
.door-leaf{transform:translateY(0);transition:transform 3.8s cubic-bezier(.42,0,.22,1);will-change:transform}
.door-leaf-right{transition-delay:.15s}.doors-open .door-leaf{transform:translateY(-260px)}
.cinematic-hero .hero-inner{grid-column:1;grid-row:1;align-self:center;width:100%;padding:70px 30px 70px 48px;min-width:0}
.cinematic-hero h1{font-size:clamp(3.4rem,4.5vw,5.6rem);line-height:1.02;max-width:none;letter-spacing:-.025em}
.cinematic-hero .hero-sub{font-size:1rem;margin-top:25px;max-width:360px;line-height:1.75}
.hero-kicker{font-size:.68rem;letter-spacing:.12em;line-height:1.6;margin-bottom:24px;gap:9px}.hero-kicker>span{flex-shrink:0}
.hero-actions{flex-direction:column;align-items:flex-start;gap:22px;margin-top:28px}.hero-actions .button{min-width:245px}.hero-phone{font-size:1.1rem}
.hero-bottom{grid-column:1/-1;grid-row:2;position:static;margin-inline:48px;min-height:82px;font-size:.68rem}
.house-door-control{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;background:transparent;color:#fff;border:1px solid #ffffff50;padding:11px 18px;font-size:.8125rem;letter-spacing:0;transition:background .2s}
.house-door-control:hover{background:#ffffff12}.house-door-control[hidden]{display:none}
@media(min-width:1800px){.cinematic-hero .hero-inner{padding-left:64px}.house-visual{padding:48px 48px 36px 0}.hero-bottom{margin-inline:64px}.cinematic-hero h1{font-size:6rem}}
@media(max-width:1150px){.cinematic-hero{grid-template-columns:minmax(320px,.95fr) minmax(0,1.3fr)}.cinematic-hero .hero-inner{padding:60px 24px 55px 32px}.house-visual{padding:30px 24px 30px 0}.cinematic-hero h1{font-size:3.7rem}.hero-bottom{margin-inline:32px}}
@media(max-width:800px){.cinematic-hero{display:flex;flex-direction:column;height:auto;min-height:0}.cinematic-hero .hero-inner{padding:52px 24px 34px;align-self:auto}.cinematic-hero h1{font-size:clamp(3.5rem,10vw,5.2rem)}.cinematic-hero .hero-sub{max-width:500px;margin-top:20px}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px;margin-top:26px}.hero-kicker{font-size:.67rem;margin-bottom:23px}.house-visual{padding:0 20px 22px;display:block}.house-scene{width:100%;max-height:none}.hero-bottom{margin:0 24px;min-height:76px}.hero-bottom>span{display:none}}
@media(max-width:420px){.cinematic-hero .hero-inner{padding:40px 22px 28px}.cinematic-hero h1{font-size:3.5rem}.cinematic-hero .hero-sub{font-size:.95rem}.hero-actions{gap:20px}.hero-phone{font-size:1rem}.hero-phone span{font-size:.7rem}.hero-actions .button{min-width:0;padding:16px 20px}.house-visual{padding:0 12px 20px}.hero-bottom{margin-inline:22px}.house-door-control{font-size:.75rem;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.door-leaf{transition:none!important}}
@media(max-width:800px){.cinematic-hero .hero-inner{order:0}.house-visual{order:1}.hero-bottom{order:2}}

/* Preserve complete installations and equipment in every photo layout. */
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px;align-items:start}
.gallery-grid figure{min-width:0}.photo{display:block;background:#eef0f1;line-height:0}
.gallery-grid .photo img{width:100%;height:auto;object-fit:contain;transform:none;transition:filter .2s}
.photo:hover img{transform:none;filter:brightness(1.04)}
.gallery-grid figcaption{margin-top:16px;font-size:1rem;line-height:1.5}
.gallery-grid figcaption span{font-size:.75rem;margin-top:5px}
.project-card{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#20272c}
.project-card:after{display:none}
.project-card img{position:static;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#11171b;transform:none;transition:filter .2s}
.project-card:hover img{transform:none;filter:brightness(1.05)}
.project-card>span{position:static;padding:24px 26px;flex:1}
.service-card>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;background:#e9edee;filter:none;transform:none}
.service-card:hover>img{transform:none}
.split>img,.area-summary img{width:100%;height:auto;max-height:560px;object-fit:contain;background:#eef0f1}
#gallery-image{width:100%;height:auto;max-height:calc(100dvh - 160px);object-fit:contain}
dialog{max-height:calc(100dvh - 32px);overflow:auto;background:#151b1f}
@media(max-width:650px){.gallery-grid{grid-template-columns:1fr;gap:32px}.project-card{min-height:0}.project-card>span{padding:20px}.split>img,.area-summary img{height:auto;max-height:460px}.service-card>img{height:auto}.gallery-grid .photo img{height:auto}.gallery-grid figcaption{font-size:.9375rem}.gallery-controls{gap:20px}}

.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;list-style:none;padding:0;margin:0}
.breadcrumb li{display:flex;align-items:center;gap:12px;min-width:0}
.breadcrumb li+li:before{content:'/';color:#aeb9c1}
.breadcrumb [aria-current="page"]{color:#fff}

/* Small-screen layout constraints, without hiding overflow or clipping controls. */
.header-inner,.footer-top,.contact-grid,.form-grid,.split,.area-summary,.three-grid,.services-grid,.project-grid{min-width:0}
.header-inner>*,.footer-top>*,.contact-grid>*,.form-grid>*,.split>*,.area-summary>*,.three-grid>*{min-width:0}
input,select,textarea{max-width:100%;min-width:0}
footer a,.panel a,.prose a{overflow-wrap:anywhere}
.mobile-action a{min-height:50px;display:flex;align-items:center;justify-content:center}
@media(max-width:650px){html{scroll-padding-bottom:85px}.footer-bottom{line-height:1.65}.travel-note strong{white-space:normal}.hero-phone{max-width:100%}.header-inner{gap:12px}.button{max-width:100%}.form-grid{gap:20px}.zone-card{padding:24px}.page-intro h1{overflow-wrap:break-word}#mobile-nav{display:grid;grid-template-columns:1fr 1fr}#mobile-nav[hidden]{display:none}#mobile-nav a{padding:14px 8px}}
.footer-email{font-size:.9rem;text-decoration:underline;text-underline-offset:4px}.contact-email{font-size:1rem;margin-top:0;overflow-wrap:anywhere}

/* Quiet architectural depth and compact mobile contact controls. */
body{background:#f8f9f8}
.services-section{background:linear-gradient(135deg,#fafbf9,#edf0ef)}
.soft,.why{background:radial-gradient(ellipse at 100% 0,#dde5e3 0,transparent 65%),linear-gradient(130deg,#f7f8f6,#edf0ef)}
.page-intro,.market-intro,.projects-home{background:radial-gradient(ellipse at 90% 0,rgba(114,138,145,.17),transparent 65%),linear-gradient(125deg,#171d21,#222c31)}
.cinematic-hero{background:radial-gradient(ellipse at 0 0,rgba(138,159,163,.14),transparent 65%),#161c20}
.service-ribbon,footer{background:linear-gradient(115deg,#171f23,#101619)}
.page-intro{border-bottom:1px solid #ffffff12}
form,.zone-card{background:#fff;box-shadow:0 12px 40px #172a3210;border-color:#dce2e1}
.gallery-controls button{font-size:.875rem;padding:8px 14px}
@media(max-width:650px){
.mobile-action{left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));padding:5px;background:#fffffff5;color:#20292e;border:1px solid #dce1e1;border-radius:12px;box-shadow:0 4px 22px #0c171b26;gap:5px}
.mobile-action a{min-height:44px;padding:10px 12px;font-size:.8125rem;line-height:1.2;font-weight:600;border-radius:7px}
.mobile-action a:first-child{background:#b51f2a;color:#fff}
.mobile-action a:last-child{background:transparent;color:#20292e}
.mobile-action a:last-child:hover{background:#eef1f0}
.hero-actions .button{min-width:0;min-height:48px;padding:13px 20px;font-size:.875rem}
footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
}

/* Service choices: consistent photography and useful descriptions. */
.services-grid{gap:24px}
.service-card{border:1px solid #dce2e1;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 3px 14px #182b3206}
.service-card>img{aspect-ratio:16/10;object-fit:cover;background:#e9edee}
.service-card>span{padding:22px 24px}
.service-card strong{font:600 1.35rem/1.25 Arial,Helvetica,sans-serif;letter-spacing:-.025em}
.service-description{display:block;margin-top:10px;color:#59656c;font-size:.9375rem;line-height:1.6}
.service-card:hover{border-color:#aab6b9;box-shadow:0 8px 24px #182b3210;transform:translateY(-2px)}
@media(max-width:650px){
.services-grid{grid-template-columns:1fr;gap:12px}
.service-card{display:grid;grid-template-columns:104px minmax(0,1fr);min-height:130px;align-items:stretch;border-radius:9px}
.service-card>img{width:104px;height:100%;min-height:130px;aspect-ratio:auto;object-fit:cover}
.service-card>span{padding:19px 17px;align-self:center}
.service-card strong{font-size:1.0625rem;line-height:1.3}
.service-description{margin-top:7px;font-size:.8125rem;line-height:1.5}
}
