/* One architectural visual and motion language, across all language routes. */
:root{--architectural-shadow:0 1.2rem 3rem #102c4314;--ease:cubic-bezier(.22,.61,.36,1);--section-space:clamp(4rem,8vw,8rem)}
html{scroll-padding-top:7rem}body{font-size:1.0625rem}.container{width:min(86rem,calc(100% - 5rem))}.section{padding:var(--section-space) 0}h1,h2,h3,h4{overflow-wrap:normal;word-break:normal}h2{font-size:clamp(2.3rem,4.15vw,4rem);line-height:1.08;letter-spacing:-.045em}.intro{color:#304c61;font-size:1.125rem}.eyebrow{font-size:.875rem;letter-spacing:.14em}.eyebrow:before{height:.65rem;width:.65rem;border-radius:0;background:none;border:1px solid currentColor}.btn{border-radius:.18rem;padding:1rem 1.45rem;transition:background .2s ease,box-shadow .2s ease;min-height:3.5rem}.btn:hover{box-shadow:0 .4rem 1.5rem #102c4315}.text-link{border-bottom-width:1px;line-height:1.5}.site-header{box-shadow:0 .25rem 1.5rem #102c4307;background:#fff;z-index:160}.nav-inner{gap:1.35rem;min-height:5.9rem}.brand img{width:15.5rem}.nav-links{gap:1.7rem}.nav-links a{font-size:.9375rem}.language-control{margin-left:auto}.utility{background:var(--ink-deep);color:#d6e7f0}.utility-inner{min-height:2.25rem;font-size:.8125rem}.utility-right{gap:1.5rem}.language-notice{position:relative;z-index:161}.cookie-banner{z-index:250;border-radius:.35rem;box-shadow:0 1rem 4rem #081f3230}.mobile-cta{z-index:170}
.cinema-hero{position:relative;padding:0;isolation:isolate;background:#081f32;color:#fff;min-height:min(57rem,calc(100svh - 8rem));overflow:hidden}.cinema-hero .scene{position:absolute;inset:0;z-index:-3}.scene{position:relative;overflow:hidden;isolation:isolate}.scene picture,.scene-poster,.scene-canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.scene-poster{object-fit:cover;transition:opacity .9s var(--ease)}.scene-canvas{opacity:0;transition:opacity 1.1s var(--ease);pointer-events:none}.scene-ready .scene-canvas{opacity:1}.scene-ready .scene-poster{opacity:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#081f32fa 0%,#081f32e8 27%,#081f3287 53%,#081f320a 82%),linear-gradient(0deg,#081f32c0,transparent 20%);z-index:-1}.cinema-hero-inner{min-height:inherit;display:flex;flex-direction:column;justify-content:center;position:relative;padding:clamp(3.8rem,6vw,7rem) 0 6.5rem}.cinema-hero .hero-copy{width:min(100%,46rem);position:relative}.cinema-hero h1{font-size:clamp(3.3rem,5.7vw,6rem);line-height:1.035;letter-spacing:-.055em;max-width:48rem;font-weight:600}.cinema-hero h1 em{color:var(--mint);font-style:normal}.cinema-hero .intro{color:#e1eaf0;max-width:33rem;margin:1.7rem 0 2rem;font-size:1.1rem;line-height:1.75}.cinema-hero .btn-outline{color:#fff;background:#081f3240;border-color:#ccdce780;backdrop-filter:blur(.4rem)}.cinema-hero .btn-outline:hover{background:#102c43c0}.cinema-hero .hero-micro{color:#d5e8e9;font-size:.875rem;margin-top:1.4rem;line-height:1.8;max-width:34rem}.hero-bottom{position:absolute;left:0;right:0;bottom:2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-size:.8125rem;color:#deecef;letter-spacing:.06em}.hero-environment{text-transform:uppercase}.explore-cue{display:flex;align-items:center;gap:.85rem;font-weight:600}.scroll-line{width:1px;height:1.8rem;background:var(--mint);transform-origin:top;animation:scrollHint 3s var(--ease) infinite}.motion-toggle{background:#081f3280;color:#fff;border:1px solid #9eb0bd70;padding:.55rem .75rem;border-radius:2rem;font-size:.875rem;letter-spacing:0;min-height:2.75rem}.motion-toggle:hover{background:#102c43}.motion-toggle[disabled]{opacity:.6;cursor:default}
.business-section{background:#fff}.business-heading{max-width:64rem}.business-heading h2{font-size:clamp(2rem,3.5vw,3.55rem);line-height:1.19}.business-heading h2 span{color:var(--green)}.business-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:3.6rem;perspective:1000px}.business-card{padding:2rem 1.6rem 2.2rem;min-height:15rem;border:1px solid #ccd9e0;background:linear-gradient(145deg,#fff,#eef4f6);box-shadow:0 .4rem 1.5rem #102c4307;border-radius:.25rem;transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .55s var(--ease),box-shadow .55s var(--ease);position:relative;transform-style:preserve-3d}.business-card:nth-child(2){background:linear-gradient(145deg,#e8f4ef,#fff)}.business-card:nth-child(4){background:linear-gradient(145deg,#edf5f8,#fff)}.business-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;color:var(--green)}.business-card-top .icon{width:2rem;height:2rem}.business-card-top span{font-size:.875rem;color:#406078}.business-card h3{font-size:1.35rem;line-height:1.25;margin-bottom:.7rem;transform:translateZ(18px)}.business-card p{color:#345369;font-size:1rem;line-height:1.6;transform:translateZ(10px)}.business-card:hover{box-shadow:var(--architectural-shadow)}
.trust-section{background:#eff4f7;border-block:1px solid #d8e2e8}.trust-section h2{font-size:clamp(2rem,3.5vw,3.2rem)}.credential-grid{gap:1rem}.credential-card{border:1px solid #c8d9e2;background:#fff;box-shadow:none;border-radius:.25rem;padding:1.8rem;min-height:13rem}.credential-mark{color:var(--green);font-size:2.5rem;letter-spacing:-.05em}.credential-card h3{font-size:1.25rem;line-height:1.35;max-width:17rem}.credential-card p{font-size:1rem;color:#344c60}.recognition-grid{margin-top:1.5rem;gap:1rem}.recognition-card{background:white;border-radius:.25rem;border:1px solid #d1dde5;padding:1.2rem;min-height:9rem}.recognition-card img{max-height:7rem;object-fit:contain}
.cinematic-services{background:#fff}.service-experiences{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem}.service-experience{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink-deep);color:#fff;border-radius:.25rem;min-width:0}.service-wide{grid-column:1/8;grid-row:1;min-height:28rem}.service-tall{grid-column:8/13;grid-row:1/3;min-height:54rem}.service-construction{grid-column:1/8;grid-row:2;min-height:24.5rem}.service-exterior{grid-column:1/6;grid-row:3;min-height:25rem}.service-detail{grid-column:6/13;grid-row:3;min-height:25rem}.service-media{position:absolute;inset:0;z-index:-2;overflow:hidden}.service-media>img,.service-film{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.1s var(--ease)}.service-experience:hover .service-media>img{transform:scale(1.035)}.service-film{opacity:0;transition:opacity .6s ease}.service-film.is-playing{opacity:1}.service-description{position:relative;padding:2.2rem;display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;background:linear-gradient(0deg,#081f32fa,#081f32b0 82%,#081f3200);padding-top:5.5rem}.service-description .eyebrow{font-size:.8125rem;letter-spacing:.08em;color:var(--mint);margin-bottom:.65rem}.service-description h3{font-size:clamp(1.55rem,2vw,2.2rem);line-height:1.16;letter-spacing:-.035em;margin-bottom:.8rem}.service-description p:not(.eyebrow){max-width:32rem;color:#e4edf2;font-size:1rem;line-height:1.65}.service-link{display:block;flex:none;font-size:.875rem;font-weight:700;border-bottom:1px solid #b8d6cd;padding-bottom:.35rem}.service-tall .service-description,.service-exterior .service-description{display:block}.service-tall .service-link,.service-exterior .service-link{display:inline-block;margin-top:1.35rem}.service-number{position:absolute;top:1.5rem;left:1.75rem;background:#081f3280;backdrop-filter:blur(.3rem);color:#fff;padding:.25rem .65rem;border:1px solid #bdced850;border-radius:.1rem;font-size:.875rem;font-weight:700}.construction-lines{position:absolute;inset:0;background:linear-gradient(90deg,#102c43e0,transparent 60%),repeating-linear-gradient(0deg,transparent 0 39px,#d0eee530 40px 41px),repeating-linear-gradient(90deg,transparent 0 59px,#d0eee530 60px 61px);clip-path:inset(0 45% 0 0);transition:clip-path 1.5s var(--ease)}.service-construction:hover .construction-lines{clip-path:inset(0 100% 0 0)}.house-entry{border-radius:0;background:#f2f6f8;box-shadow:none;padding:1.8rem 2rem;margin-top:2rem;border:1px solid #d7e3e9}.house-entry strong{font-size:1.35rem}.house-entry .eyebrow{font-size:.8125rem;margin-bottom:.6rem}
.facility-story{height:auto;background:var(--ink-deep);color:#fff;position:relative}.facility-sticky{position:sticky;top:5.9rem;height:calc(100vh - 5.9rem);min-height:44rem;padding:3rem 0 1.7rem;overflow:hidden;background:radial-gradient(ellipse at 32% 45%,#1f4660,#081f32 70%)}.facility-sticky .section-heading{margin-bottom:1.5rem;gap:2rem;align-items:flex-end}.facility-sticky .section-heading h2{font-size:clamp(2rem,3.3vw,3.5rem)}.facility-sticky .intro{color:#d3e3eb;max-width:26rem;font-size:1rem}.facility-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center}.facility-visual{position:relative;height:clamp(23rem,45vh,35rem);min-width:0}.scene-facility{width:100%;height:100%}.scene-facility .scene-poster{object-fit:contain}.facility-annotation{position:absolute;left:.5rem;right:.5rem;bottom:-.2rem;display:flex;gap:1rem;justify-content:space-between;color:#bcd7df;font-size:.8125rem;letter-spacing:.07em}.facility-index{color:var(--mint)}.facility-information{padding:0;min-width:0}.facility-information .industry-content{padding:0;display:block;min-height:15rem;border:0;background:transparent;box-shadow:none;gap:0}.facility-information .industry-content h3{font-size:clamp(1.8rem,2.5vw,2.65rem);line-height:1.1;margin-bottom:1rem}.facility-information .industry-content p:not(.eyebrow){color:#d8e6ed;font-size:1rem;line-height:1.65;margin-bottom:1rem}.facility-information .industry-content .text-link{color:var(--mint);font-size:1rem}.facility-information .scope-list{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.2rem;border-top:1px solid #466177;padding-top:1.1rem;margin:1rem 0 1.3rem;font-size:.875rem;color:#d7e7ed}.facility-information .scope-list .icon{color:var(--mint);width:1rem;height:1rem;margin-top:.15rem}.facility-information .industry-tabs{border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem;overflow:visible;background:transparent}.facility-information .industry-tab{padding:.58rem .7rem;font-size:.8125rem;line-height:1.4;min-height:2.7rem;border:1px solid #516b7f;color:#d6e6ee;background:#102c4330;gap:.5rem;border-radius:.15rem;white-space:normal}.facility-information .industry-tab .icon{width:1rem;height:1rem}.facility-information .industry-tab .chevron{display:none}.facility-information .industry-tab[aria-selected=true]{background:var(--mint);color:var(--ink);border-color:var(--mint);font-weight:800}.facility-information .industry-tab:hover{background:#214a64;color:#fff}.facility-information .industry-tab[aria-selected=true]:hover{background:#b3f4da;color:var(--ink)}.facility-foot{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid #365166;margin-top:2rem;padding-top:1rem;color:#bad2e1;font-size:.875rem}.facility-foot .text-link{color:var(--mint);font-size:.875rem}.facility-chapters{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;z-index:-1}.facility-chapters span{flex:1}.facility-nojs{position:relative;padding:2rem;background:var(--ink-deep)}.facility-nojs article{padding:1rem 0}.government-section{background:#ecf2f6;position:relative}.government-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center}.government-layout h2{font-size:clamp(2.1rem,3.5vw,3.5rem);line-height:1.1;margin-bottom:1.4rem}.government-layout .intro{font-size:1.0625rem}.government-layout .text-link{margin-top:1.5rem}.government-scope{padding:2.5rem;background:linear-gradient(0deg,#ffffffdd,#ffffffdd),repeating-linear-gradient(0deg,transparent 0 23px,#6d8b9d66 24px 25px),repeating-linear-gradient(90deg,transparent 0 23px,#6d8b9d66 24px 25px);box-shadow:var(--architectural-shadow);border:1px solid #bdd0dc;position:relative}.government-scope:before{position:absolute;content:'';inset:-.8rem .8rem .8rem -.8rem;border:1px solid #bdd0dc;z-index:-1}.government-scope .scope-list{margin:0;font-size:1rem}.public-client{display:flex;gap:1.3rem;align-items:center;border-top:1px solid #cfdae4;margin-top:2rem;padding-top:1.5rem}.public-client img{max-width:7rem;max-height:4rem;object-fit:contain}.public-client strong,.public-client span{display:block;font-size:.875rem;line-height:1.5}.public-client span{color:#344c60;margin-top:.4rem}
.portfolio-section{background:white}.portfolio-section h2{font-size:clamp(2.2rem,3.5vw,3.5rem)}.portfolio-marks{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #d7e2e9;border-left:1px solid #d7e2e9}.portfolio-mark{height:7.5rem;padding:1.5rem;border-right:1px solid #d7e2e9;border-bottom:1px solid #d7e2e9;display:flex;align-items:center;justify-content:center;background:#fff}.portfolio-mark svg{width:100%;height:100%;filter:grayscale(.55);opacity:.85;transition:filter .25s ease,opacity .25s ease}.portfolio-mark:hover svg{filter:none;opacity:1}.portfolio-note{color:#344c60;font-size:.9375rem;margin-top:1.4rem}.people-section{background:#f5f8fa}.team-grid{grid-template-columns:1.15fr 1fr;gap:5rem}.team-photo{border-radius:.15rem;height:35rem;box-shadow:none}.team-photo img{object-position:50% 45%;filter:none}.team-badge{background:var(--ink-deep);color:#fff;border-radius:.1rem;padding:1rem 1.35rem}.team-copy h2{margin-bottom:1.7rem}.value-row{gap:1.7rem;margin:2rem 0}.value{border-top:1px solid #b9ccd9;padding-top:1.25rem}.value h4{font-size:1.15rem;line-height:1.35;margin-top:.75rem}.value p{font-size:.9375rem;color:#344c60}.architectural-process{background:var(--ink-deep)}.architectural-process .text-link{color:var(--mint)}.journey-plan{width:100%;height:auto;margin:1.5rem 0 1rem}.plan-walls{stroke:#829fb088;stroke-width:1.3}.journey-base{fill:none;stroke:#425f70;stroke-width:1.7}.journey-line{fill:none;stroke:var(--mint);stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.5s var(--ease)}.journey.is-visible .journey-line{stroke-dashoffset:0}.journey-point{fill:var(--mint);stroke:#081f32;stroke-width:6}.architectural-process .process-grid{margin:0;gap:3rem}.architectural-process .process-step{border-top:0;padding-top:1rem}.architectural-process .step-no{color:var(--mint);font-size:.875rem;letter-spacing:.12em;margin-bottom:1rem}.architectural-process .process-step h3{font-size:1.7rem}.architectural-process .process-step p{color:#d2e2ea;font-size:1rem}
.service-area .area-grid{grid-template-columns:1fr 1.15fr;gap:3.5rem;align-items:center}.area-copy>p:not(.eyebrow){font-size:1.0625rem;color:#304c61;margin-top:1.5rem;max-width:37rem}.coverage-map{position:relative;background:radial-gradient(ellipse,#e6f3ed,#f3f7f9 70%);border:1px solid #d5e4e8;padding:1.3rem 1.5rem .7rem;min-width:0}.ma-map{width:100%;height:auto}.map-land{fill:url(#ma-fill);stroke:#83a596;stroke-width:1}.map-relief{fill:#588273;opacity:.8}.map-halo{fill:#12684c20;stroke:#12684c30;stroke-width:1;transition:opacity .4s}.map-dot{fill:var(--green);stroke:white;stroke-width:3}.ma-map text{fill:var(--ink);font-family:var(--body);font-size:17px;font-weight:700;stroke:#f3f7f9;paint-order:stroke;stroke-width:4;stroke-linejoin:round}.map-pin{opacity:.5;transition:opacity .4s}.map-pin.is-active{opacity:1}.map-pin.is-active .map-halo{fill:#12684c30}.map-caption{display:flex;justify-content:space-between;gap:1rem;font-size:.8125rem;color:#304c61;letter-spacing:.09em;text-transform:uppercase;border-top:1px solid #ccdedf;padding:.8rem .25rem 0}.region-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.7rem 0 1rem}.region-button{border:1px solid #afc6d0;background:white;color:var(--ink);padding:.6rem .9rem;min-height:2.8rem;font-size:.875rem;border-radius:.15rem}.region-button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.region-status{color:var(--green);font-size:.9375rem;min-height:1.7rem}.service-area .coverage-box{margin-top:2rem;box-shadow:none;border-radius:.15rem;background:#eef4f7;border:1px solid #d3e0e6;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;padding:2rem}.coverage-box h3{font-size:1.4rem}.coverage-box .location-tags{gap:.6rem;margin:1rem 0}.location-tags span{background:white;border-radius:.1rem;font-size:.875rem;padding:.25rem .6rem;border:1px solid #d0dfe6}.coverage-box small{font-size:.875rem;color:#344c60}.service-area .zip-check{display:flex;gap:.7rem;margin:0;max-width:30rem}.zip-check input{width:11rem;border-radius:.1rem;min-height:3.5rem;padding:.8rem}.zip-check .btn{font-size:.9375rem;white-space:normal}.faq-list details{background:transparent;border-block:1px solid #d0dce4;border-radius:0;box-shadow:none;padding:0}.faq-list details+details{border-top:0}.faq-list summary{padding:1.35rem 0;font-size:1.1rem;font-weight:700;line-height:1.5}.faq-list details>p{padding:0 2rem 1.5rem 0;font-size:1rem;line-height:1.75;color:#344c60}.blog-card{border-radius:.15rem;box-shadow:none;background:white;border:1px solid #cedce4;transition:box-shadow .25s ease}.blog-card:hover{box-shadow:var(--architectural-shadow)}.blog-card h3{font-size:1.6rem;line-height:1.24}.blog-card>p{color:#344c60}.cinema-closing{position:relative;isolation:isolate;background:var(--ink-deep);overflow:hidden;padding:6rem 0}.closing-image{position:absolute;inset:0;width:100%;height:115%;object-fit:cover;object-position:65% 55%;z-index:-2;opacity:.55}.cinema-closing:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#081f32fa,#081f32ba 60%,#081f3250);z-index:-1}.cinema-closing h2{font-size:clamp(2.6rem,4.5vw,4.5rem)}.cinema-closing .closing-grid{position:relative}.cinema-closing p:not(.eyebrow){color:#d9e7ef;font-size:1.1rem;margin-top:1.4rem;max-width:33rem}.footer{background:#fff;border-top:1px solid #d0dce4;padding-top:4.5rem}.footer-bottom{font-size:.875rem}.footer-links{font-size:1rem}.footer-brand p{font-size:1rem;color:#344c60}.page-hero{background:linear-gradient(100deg,#081f32fa,#102c43c0),url('/assets/cinematic/lobby.webp') center 60%/cover;color:#fff;padding:4rem 0 5rem}.page-hero .eyebrow{color:var(--mint)}.page-hero .intro{color:#e0ecf2}.page-hero h1{font-size:clamp(2.7rem,4.8vw,5rem);font-weight:600;line-height:1.08;letter-spacing:-.045em}.page-hero .breadcrumbs{color:#d3e4ed}.page-hero .breadcrumbs .icon{color:#aac2d1}.page-hero-side{border-color:#718997;color:#e3edf1}.page-hero .about-photo{border-radius:.15rem}.service-detail-visual{max-width:86rem;margin:2rem auto -2rem;width:calc(100% - 5rem);height:23rem;overflow:hidden}.service-detail-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}.service-detail-card,.industry-card,.client-card,.detail-sidebar{border-radius:.2rem;box-shadow:none;border-color:#cbdce5}.service-detail-card{position:relative;overflow:hidden}.service-detail-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:.22rem;background:var(--green)}.industry-card:first-child{background:var(--ink-deep);color:white}.industry-card:first-child p{color:#dbe7ee}.industry-card:first-child .text-link{color:var(--mint)}.quote-section{padding-top:3.5rem;background:linear-gradient(140deg,#f1f6f8,#fff)}.quote-form{border-radius:.25rem;box-shadow:var(--architectural-shadow);border:1px solid #cadce6}.quote-info h1{font-size:clamp(2.5rem,3.8vw,3.9rem);line-height:1.12}.field input,.field select,.field textarea{border-radius:.15rem;min-height:3.3rem;border-color:#90aab9}.quote-form h2{font-size:1.9rem}.article-hero{background:#eef4f7}.article-hero h1{font-size:clamp(2.2rem,4.1vw,4.3rem);line-height:1.13}.article-body{font-size:1.125rem}.article-body h2{font-size:2rem;line-height:1.25}.article-body p,.article-body li{font-size:1.125rem;line-height:1.85}
.reveal{opacity:1;transform:none}.motion-enabled .reveal.is-pending{opacity:0;transform:translateY(1.5rem);transition:opacity .85s var(--ease),transform .85s var(--ease)}.motion-enabled .reveal.is-visible{opacity:1;transform:none;transition:opacity .85s var(--ease),transform .85s var(--ease)}body.motion-paused .scroll-line{animation:none}body.motion-paused .reveal.is-pending{opacity:1;transform:none}body.motion-paused .construction-lines{transition:none}body.motion-paused .business-card{transform:none!important}
@keyframes scrollHint{0%,100%{transform:scaleY(.6);opacity:.7}50%{transform:scaleY(1);opacity:1}}
@media(min-width:1700px){.cinema-hero-inner{padding-top:7rem;padding-bottom:8rem}.cinema-hero{min-height:58rem}}
@media(max-height:850px) and (min-width:851px){.facility-sticky{padding-top:1.8rem;min-height:39rem}.facility-sticky h2{font-size:2.7rem}.facility-visual{height:24rem}.facility-information .industry-content h3{font-size:2rem}.facility-information .scope-list{margin:.85rem 0 1rem;gap:.4rem;font-size:.8125rem}.facility-foot{margin-top:1rem}.facility-information .industry-tab{min-height:2.5rem;padding:.45rem .6rem}}
@media(max-width:1150px){.container{width:calc(100% - 3rem)}.brand img{width:14rem}.nav-inner{min-height:5.4rem;gap:1rem}.cinema-hero{min-height:48rem}.cinema-hero h1{font-size:clamp(3.5rem,6.2vw,5rem)}.cinema-hero .hero-copy{width:38rem}.cinema-hero .intro{max-width:30rem}.business-principles{grid-template-columns:1fr 1fr}.business-card{min-height:12rem}.service-description{padding:1.65rem;padding-top:4rem}.service-description h3{font-size:1.7rem}.service-description{display:block}.service-link{display:inline-block;margin-top:1.3rem}.facility-layout{gap:1.8rem;grid-template-columns:1fr 1fr}.facility-sticky{top:5.4rem;height:calc(100vh - 5.4rem)}.facility-information .scope-list{grid-template-columns:1fr;font-size:.8125rem}.facility-information .industry-tab{font-size:.8125rem}.facility-information .industry-tab>.icon{display:none}.government-layout,.team-grid{gap:3rem}.portfolio-marks{grid-template-columns:repeat(5,1fr)}.portfolio-mark{height:6rem;padding:1rem}.service-area .coverage-box{grid-template-columns:1fr;gap:1.5rem}.service-area .zip-check{max-width:none;justify-content:flex-end}.service-area .zip-check input{width:14rem}.hero-environment{display:none}.service-detail-visual{width:calc(100% - 3rem)}}
@media(max-width:850px){.section{padding:4rem 0}.cinema-hero{min-height:44rem}.cinema-hero-inner{padding:4.5rem 0 6rem}.cinema-hero h1{font-size:clamp(3.15rem,7.8vw,4.65rem)}.cinema-hero .hero-copy{width:36rem;max-width:95%}.hero-shade{background:linear-gradient(90deg,#081f32ee,#081f32b0 70%,#081f3280),linear-gradient(0deg,#081f32d0,transparent)}.cinema-hero .scene-poster{object-position:65% 50%}.cinema-hero .intro{color:#e2eef3;max-width:32rem}.service-experiences{grid-template-columns:1fr 1fr;gap:1rem}.service-experience{grid-column:auto;grid-row:auto;min-height:26rem}.service-wide,.service-construction,.service-detail{grid-column:1/-1}.service-tall{grid-column:1;grid-row:2/4;min-height:50rem}.service-construction{grid-column:2;grid-row:2;min-height:25rem}.service-exterior{grid-column:2;grid-row:3;min-height:24rem}.service-detail{grid-row:4;min-height:25rem}.service-description h3{font-size:1.55rem}.service-description{padding:1.4rem;padding-top:5rem}.facility-story{height:auto}.facility-sticky{position:relative;top:auto;height:auto;min-height:0;padding:4rem 0;overflow:visible}.facility-sticky .section-heading .intro{max-width:none}.facility-layout{grid-template-columns:1fr;gap:2rem}.facility-visual{height:25rem}.facility-information .industry-content{min-height:0}.facility-information .industry-content h3{font-size:2.4rem;max-width:36rem}.facility-information .scope-list{grid-template-columns:1fr 1fr;font-size:.9375rem;gap:.7rem;margin:1.5rem 0}.facility-information .industry-tabs{grid-template-columns:1fr 1fr}.facility-information .industry-tab{font-size:.9375rem;padding:.8rem}.facility-annotation{bottom:-.4rem}.facility-chapters{display:none}.facility-foot{margin-top:2rem}.government-layout,.team-grid{grid-template-columns:1fr;gap:2.5rem}.government-scope{padding:2rem}.portfolio-marks{grid-template-columns:repeat(3,1fr)}.portfolio-mark{height:6.5rem}.team-photo{height:31rem}.value-row{grid-template-columns:1fr 1fr}.service-area .area-grid{grid-template-columns:1fr;gap:2.5rem}.coverage-map{max-width:40rem;width:100%;margin:0 auto}.architectural-process .process-grid{gap:1.8rem}.architectural-process .process-step h3{font-size:1.4rem}.architectural-process .process-step p{font-size:.9375rem}.cinema-closing{padding:4.5rem 0}.closing-grid{gap:2rem}.page-hero{padding:3rem 0 4rem}.service-detail-visual{height:19rem}}
@media(max-width:560px){.container{width:calc(100% - 2rem)}.section{padding:3.5rem 0}.utility-inner{font-size:.875rem}.nav-inner{gap:.45rem;min-height:5rem;flex-wrap:nowrap}.brand{max-width:calc(100% - 8rem);flex:1;min-width:0}.brand img{width:12rem}.language-control{flex:none;margin-left:0}.language-control select{padding:.65rem .2rem;min-height:2.75rem;font-size:.8125rem;width:4rem}.menu-toggle{padding:.5rem;min-width:2.75rem;min-height:2.75rem}.site-header .mobile-menu:not([hidden]){padding:1rem}.cinema-hero{min-height:45rem}.cinema-hero-inner{padding:3.4rem 0 6rem;justify-content:flex-start}.cinema-hero .hero-copy{max-width:100%;width:100%}.cinema-hero h1{font-size:clamp(2.55rem,10.8vw,3.8rem);line-height:1.075;letter-spacing:-.045em}.cinema-hero .eyebrow{font-size:.8125rem;letter-spacing:.08em;line-height:1.5;margin-bottom:1.5rem}.cinema-hero .intro{font-size:1.0625rem;margin:1.5rem 0;max-width:100%}.cinema-hero .button-row{flex-direction:column;align-items:stretch;gap:.65rem}.cinema-hero .btn{flex:none;min-width:0;width:100%;padding:.9rem 1rem;font-size:1rem}.cinema-hero .hero-micro{font-size:.8125rem;margin-top:1.2rem}.hero-bottom{bottom:1.35rem;gap:1rem;font-size:.8125rem}.motion-toggle{padding:.45rem .65rem;font-size:.8125rem}.hero-shade{background:linear-gradient(0deg,#081f32f5,#081f32b0 55%,#081f32ce)}.cinema-hero .scene-poster{object-position:67% 45%}.business-heading h2{font-size:2rem;line-height:1.23}.business-principles{grid-template-columns:1fr;gap:.8rem;margin-top:2rem}.business-card{padding:1.5rem;min-height:0;display:grid;grid-template-columns:2.75rem 1fr;gap:0 .8rem}.business-card-top{display:contents}.business-card-top .icon{grid-row:1/3;width:1.65rem;height:1.65rem;margin-top:.2rem}.business-card-top span{display:none}.business-card h3{font-size:1.25rem;margin-bottom:.4rem}.business-card p{font-size:1rem}.trust-section .credential-grid{grid-template-columns:1fr 1fr;gap:.75rem}.credential-card{padding:1.2rem .9rem;min-height:13rem}.credential-mark{font-size:2rem}.credential-card h3{font-size:1.0625rem;line-height:1.35;overflow-wrap:anywhere}.credential-card p{font-size:.875rem}.recognition-grid{grid-template-columns:1fr;gap:.75rem}.recognition-card{min-height:7.5rem}.recognition-card img{max-height:6.5rem}.service-experiences{display:flex;flex-direction:column}.service-experience{min-height:30rem}.service-tall{min-height:34rem}.service-construction,.service-exterior,.service-detail{min-height:29rem}.service-description{padding:1.6rem;padding-top:5rem}.service-description h3{font-size:1.95rem}.service-description p:not(.eyebrow){font-size:1rem}.service-link{font-size:1rem}.house-entry{padding:1.5rem;display:block}.house-entry strong{font-size:1.25rem}.house-entry .text-link{margin-top:1rem}.facility-sticky{padding:3.5rem 0}.facility-sticky .section-heading h2{font-size:2.3rem}.facility-visual{height:20rem;margin:0 -1rem}.facility-annotation{left:1rem;right:1rem;font-size:.75rem}.facility-layout{gap:2.5rem}.facility-information .industry-content h3{font-size:2.05rem}.facility-information .industry-content p:not(.eyebrow){font-size:1rem}.facility-information .scope-list{grid-template-columns:1fr;font-size:.9375rem}.facility-information .industry-tabs{grid-template-columns:1fr 1fr;gap:.5rem}.facility-information .industry-tab{font-size:.875rem;min-height:3.4rem;line-height:1.45;padding:.65rem}.facility-foot>span{display:none}.facility-foot{justify-content:flex-end}.government-scope{padding:1.5rem}.government-layout h2{font-size:2.2rem}.public-client{gap:.8rem}.public-client img{max-width:5rem}.portfolio-marks{grid-template-columns:1fr 1fr}.portfolio-mark{height:6rem;padding:1rem}.team-photo{height:24rem}.team-badge{font-size:.875rem;line-height:1.6;padding:.8rem 1rem;max-width:70%}.value-row{grid-template-columns:1fr;gap:1.5rem}.journey-plan{display:none}.architectural-process .process-grid{grid-template-columns:1fr;margin-top:2rem;gap:2rem;border-left:1px solid #5f8c87;padding-left:1.6rem}.architectural-process .process-step{padding:0;position:relative}.architectural-process .process-step:before{content:'';width:.75rem;height:.75rem;border:2px solid var(--ink-deep);background:var(--mint);border-radius:50%;position:absolute;left:-2rem;top:.4rem}.architectural-process .process-step h3{font-size:1.6rem}.architectural-process .process-step p{font-size:1rem;line-height:1.7}.step-no{font-size:.875rem}.service-area .coverage-box{padding:1.5rem;gap:1.4rem}.service-area .zip-check{flex-direction:column;gap:.65rem}.service-area .zip-check input{width:100%;font-size:1rem}.service-area .zip-check .btn{width:100%}.coverage-map{padding:.6rem;overflow:hidden}.ma-map text{font-size:19px}.region-controls{gap:.4rem}.region-button{font-size:.875rem;padding:.65rem .7rem}.cinema-closing{padding:4rem 0}.cinema-closing h2{font-size:2.7rem}.closing-actions{width:100%}.closing-actions .btn{width:100%}.footer-grid{gap:2.5rem}.page-hero h1{font-size:clamp(2.35rem,8.2vw,3.2rem)}.page-hero .intro{font-size:1.0625rem}.page-hero{padding:2.3rem 0 3rem}.service-detail-visual{width:calc(100% - 2rem);height:15rem;margin-bottom:-1rem}.quote-section{padding-top:2rem}.quote-info h1{font-size:2.6rem}.quote-form{padding:1.4rem}.article-body p,.article-body li{font-size:1.0625rem}.faq-list summary{font-size:1.0625rem}.cookie-actions .btn{font-size:.8755rem}.cookie-banner{bottom:4.7rem}.cookie-banner p{font-size:.875rem}body[data-page=quote] .cookie-banner{bottom:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-line{animation:none}.scene-canvas{display:none}.scene-poster{opacity:1!important}.reveal.is-pending{opacity:1!important;transform:none!important}.business-card{transform:none!important}.journey-line{stroke-dashoffset:0}.service-film{display:none}.closing-image{transform:none!important}*{animation:none!important;transition:none!important}}
@media(min-width:851px) and (max-height:620px){.facility-story{height:auto}.facility-sticky{position:relative;top:auto;height:auto;min-height:0;padding:3rem 0}.facility-chapters{display:none}}
@media(forced-colors:active){.cinema-hero,.facility-story,.cinema-closing,.page-hero{background:Canvas;color:CanvasText}.hero-shade,.scene,.closing-image{display:none}.btn{border:1px solid ButtonText}.cinema-hero .intro,.cinema-hero .hero-micro,.facility-information .industry-content p:not(.eyebrow){color:CanvasText}}
.facility-information .industry-content .eyebrow{color:var(--mint)}.facility-information .industry-content .scope-list li{padding:0;border:0;line-height:1.5;min-height:0}.facility-information .industry-content .scope-list{margin:1rem 0 1.2rem}.facility-information .industry-content h3{margin-top:0}.facility-information .industry-tab{font-size:.875rem}.facility-sticky .section-heading{margin-bottom:1.25rem}.facility-information .industry-content{min-height:0}.facility-information .industry-content>div>p:not(.eyebrow){margin-bottom:.7rem}.facility-information .industry-content .scope-list{gap:.6rem 1rem}.spatial-static .facility-story,.motion-paused .facility-story{height:auto}.spatial-static .facility-sticky,.motion-paused .facility-sticky{position:relative;top:auto;height:auto;min-height:0;overflow:visible;padding-block:4rem}.spatial-static .facility-chapters,.motion-paused .facility-chapters{display:none}.spatial-static .scene-lobby .scene-poster{transform:scale(1.04) translate(var(--poster-x,0px),var(--poster-y,0px));transition:transform 1.3s var(--ease)}
@media(min-width:851px) and (max-height:850px){.facility-information .industry-content h3{font-size:1.95rem}.facility-information .industry-content>div>p:not(.eyebrow){font-size:.9375rem}.facility-information .industry-content .scope-list{margin:.7rem 0 1rem}.facility-information .industry-content .scope-list li{font-size:.875rem}.facility-information .industry-tab{font-size:.875rem}.facility-sticky .section-heading{margin-bottom:1rem}.facility-information .industry-tabs{gap:.3rem}}

.facility-story.facility-flow{height:auto}.facility-flow .facility-sticky{position:relative;top:auto;height:auto;min-height:0;overflow:visible}.facility-flow .facility-chapters{display:none}

/* The photographic sources remain consistent before and after enhancement. */
.scene-photographic{perspective:1100px}.scene-photographic .scene-poster{opacity:1!important}.photo-frame{position:absolute;inset:0;transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),0) rotateX(var(--photo-rx,0deg)) rotateY(var(--photo-ry,0deg)) scale(var(--photo-scale,1));transform-origin:center;will-change:transform}.scene-facility .photo-frame{inset:auto;left:50%;top:50%;width:92%;height:92%;transform:translate(-50%,-50%) translate3d(var(--photo-x,0px),var(--photo-y,0px),0) rotateX(var(--photo-rx,0deg)) rotateY(var(--photo-ry,0deg)) scale(var(--photo-scale,1))}.scene-photographic .scene-poster{transition:none}.facility-focus{position:absolute;left:var(--focus-x,34%);top:var(--focus-y,8%);width:var(--focus-width,44%);height:var(--focus-height,11.5%);border:1px solid #baf5da80;box-shadow:0 0 18px #93efc818,inset 0 0 20px #93efc811;background:#93efc80b;border-radius:1px;opacity:0;pointer-events:none;transition:left .9s var(--ease),top .9s var(--ease),width .9s var(--ease),height .9s var(--ease),opacity .6s var(--ease)}.facility-focus.has-selection{opacity:1}.spatial-static .scene-photographic .scene-poster{transform:none}.motion-paused .photo-frame{will-change:auto}.scene-lobby.scene-photographic .scene-poster{object-position:62% center}
@media(max-width:850px){.scene-facility .photo-frame{width:100%;height:100%}.facility-focus{display:none}.photo-frame{will-change:auto}.scene-lobby.scene-photographic .scene-poster{object-position:70% center}}
@media(prefers-reduced-motion:reduce){.photo-frame{will-change:auto;--photo-x:0px!important;--photo-y:0px!important;--photo-rx:0deg!important;--photo-ry:0deg!important;--photo-scale:1!important}}

/* Short Industries presentation: the next topic follows normal scrolling. */
.facility-story{height:auto}.facility-story .facility-sticky{position:relative;top:auto;height:auto;min-height:0;overflow:visible;padding-block:4rem}.facility-chapters{display:none}
/* A continuous business ribbon; the four original principles remain below. */
.business-ribbon{position:relative;background:var(--ink-deep);color:#fff;margin-top:2rem;overflow:hidden;border-radius:.15rem;padding:1.5rem 0}.ribbon-viewport{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 88%,transparent)}.ribbon-track{display:flex;width:max-content;animation:businessRibbon 34s linear infinite;animation-play-state:paused;will-change:transform}.ribbon-group{display:flex;align-items:center;gap:2.5rem;padding-right:2.5rem;flex-shrink:0;white-space:nowrap}.ribbon-group span{font-size:clamp(1.4rem,2.5vw,2.1rem);font-weight:600;letter-spacing:-.025em}.ribbon-group i{height:1.1rem;width:1px;background:var(--mint);opacity:.65}.business-ribbon .motion-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:var(--ink-deep);z-index:1}.motion-enabled .business-ribbon.is-in-view .ribbon-track{animation-play-state:running}.business-principles{margin-top:2rem}
/* Real action films retain readable foreground copy and native controls. */
.clip-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .75s ease}.clip-video.is-playing,.clip-video.has-played{opacity:1}.hero-film{object-position:66% center}.hero-media-controls{display:flex;align-items:center;gap:.6rem}.video-toggle{position:relative;border:1px solid #c4d6e080;background:#081f32db;color:#fff;border-radius:2rem;padding:.55rem .85rem;min-height:2.75rem;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer}.video-toggle:hover{background:#102c43}.service-video-control{position:absolute;z-index:5;top:1.25rem;right:1.25rem}.service-description{position:static}.service-link::after{content:'';position:absolute;inset:0;z-index:3}.service-link:focus-visible::after{outline:3px solid var(--mint);outline-offset:-6px}.closing-film{z-index:-2;object-position:70% center}.closing-film.is-playing,.closing-film.has-played{opacity:.6}.closing-video-control{align-self:flex-start;margin-top:.9rem}.motion-enabled .scene-lobby .photo-frame>picture{animation:lobbyTravel 18s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:65% 55%}.motion-enabled .cinema-hero.is-in-view .scene-lobby .photo-frame>picture{animation-play-state:running}.motion-enabled .scene-lobby.has-video .photo-frame>picture{animation-play-state:paused}.motion-enabled .with-photo-motion .service-media>img{animation:serviceTravel 22s ease-in-out infinite alternate;animation-play-state:paused}.motion-enabled .with-photo-motion.is-in-view .service-media>img{animation-play-state:running}.motion-enabled .service-construction .construction-lines{animation:constructionReveal 13s ease-in-out infinite;animation-play-state:paused}.motion-enabled .service-construction.is-in-view .construction-lines{animation-play-state:running}.motion-enabled .journey-line{animation:facilityRoute 10s ease-in-out infinite;animation-play-state:paused}.motion-enabled .journey.is-in-view .journey-line{animation-play-state:running}.motion-enabled .journey-point circle{animation:routePoint 10s ease-in-out infinite;animation-play-state:paused;transform-box:fill-box;transform-origin:center}.motion-enabled .journey.is-in-view .journey-point circle{animation-play-state:running}.journey-point circle:nth-child(2){animation-delay:2.8s}.journey-point circle:nth-child(3){animation-delay:5.6s}.motion-paused .ribbon-track,.motion-paused .photo-frame>picture,.motion-paused .service-media>img,.motion-paused .construction-lines,.motion-paused .journey-line,.motion-paused .journey-point circle{animation-play-state:paused!important}
@keyframes businessRibbon{to{transform:translateX(-50%)}}
@keyframes lobbyTravel{from{transform:scale(1.045) translate3d(0,0,0)}to{transform:scale(1.15) translate3d(-1.5%,-1%,0)}}
@keyframes serviceTravel{from{transform:scale(1)}to{transform:scale(1.09) translate3d(-1%,0,0)}}
@keyframes constructionReveal{0%,100%{clip-path:inset(0 45% 0 0)}45%,75%{clip-path:inset(0 100% 0 0)}}
@keyframes facilityRoute{0%,8%{stroke-dashoffset:1}65%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes routePoint{0%,12%,100%{opacity:.6;transform:scale(1)}20%,32%{opacity:1;transform:scale(1.16)}}
@media(max-width:850px){.facility-story .facility-sticky{padding-block:3.5rem}.business-ribbon{padding:1.3rem 0}.ribbon-group{gap:1.5rem;padding-right:1.5rem}.ribbon-track{animation-duration:42s}.service-video-control{top:1rem;right:1rem}.hero-media-controls{flex-wrap:wrap}.motion-enabled .scene-lobby .photo-frame>picture{animation-duration:24s}.closing-video-control{margin-top:.75rem}}
@media(max-width:560px){.cinema-hero-inner{padding-bottom:8rem}.hero-bottom{flex-wrap:wrap;align-items:center;gap:.7rem;bottom:1.2rem}.hero-media-controls{gap:.4rem}.hero-media-controls .video-toggle,.hero-media-controls .motion-toggle{font-size:.875rem;padding:.55rem .65rem;min-height:2.75rem}.business-ribbon{margin-top:1.5rem;padding-block:1.2rem}.ribbon-group span{font-size:1.25rem}.business-ribbon .motion-toggle{font-size:.875rem}.video-toggle{font-size:.8125rem}.facility-story .facility-sticky{padding-block:3.5rem}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none;transform:none;width:auto}.ribbon-group{white-space:normal;flex-wrap:wrap;gap:.7rem 1.2rem;padding:0 1.25rem}.ribbon-group:nth-child(2){display:none}.ribbon-group span{font-size:1rem}.business-ribbon{padding-right:8rem}.clip-video{display:block!important;opacity:0!important}.clip-video.is-playing{display:block!important;opacity:1!important}.photo-frame>picture,.service-media>img{animation:none!important;transform:none!important}.journey-line{animation:none;stroke-dashoffset:0}.journey-point circle{animation:none;opacity:1}}

.service-detail-visual{position:relative;background:var(--ink-deep)}

/* Lower-glare architectural surfaces, with the brand's blue and green accents. */
:root{--paper:#d9e2e8;--pale:#d3e0e5;--line:#abbcc7}
body{background:#dce4e9}.site-header{background:#dce4e9}.mobile-menu{background:#dce4e9!important}
.business-section{background:#cbd9e1}.business-card,.business-card:nth-child(2),.business-card:nth-child(3),.business-card:nth-child(4){background:linear-gradient(135deg,#dce6eb,#c2d1db);border-color:#a8bbc8}
.cinematic-services{background:#102c43;color:#f1f6f8}.cinematic-services .eyebrow,.cinematic-services>.container>.section-heading .text-link{color:#93efc8}
.cinematic-services .house-entry{background:#1a394e;color:#f1f6f8;border-color:#527180}.cinematic-services .house-entry .text-link{color:#93efc8}
.trust-section{background:#dce4e9}.credential-card,.recognition-card{background:#e4ebef}.government-section{background:#c9d8e0}.government-scope{background:#dae4e9}.portfolio-section{background:#dce4e9}.portfolio-mark{background:#e6edf0}
.people-section{background:#c5d5df}.service-area{background:#d5e0e7}.service-area .coverage-box{background:#c7d7df}.location-tags span{background:#dde6eb}.blog-section{background:#cbd9e2}.blog-card,.service-detail-card,.client-card{background:#e0e8ed}.quote-form{background:#e4ebef}.footer{background:#cbd9e2}
.brand-panel{position:relative;isolation:isolate;overflow:hidden;min-height:25rem;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;background:linear-gradient(140deg,#061724,#15364c 55%,#071b2a);border:1px solid #658699;border-radius:.25rem;box-shadow:0 2rem 3rem #081f3226,inset 0 0 5rem #020d19;perspective:1100px;color:#e5f2f5;text-align:center}
.brand-panel-light{position:absolute;inset:12% -30%;z-index:-1;background:radial-gradient(ellipse,#289da844,transparent 62%);transform:rotate(-20deg);filter:blur(25px)}
.brand-plaque{padding:2rem 1.3rem;background:#dce8ef;border:1px solid #c1f3e3;border-radius:.2rem;box-shadow:0 0 1rem #93efc847,0 .25rem 0 #4d7c8c,0 1.4rem 2rem #0007;transform:rotateY(-7deg) rotateX(4deg);max-width:100%;width:32rem}
.brand-plaque img{width:100%;height:auto;object-fit:contain}.brand-panel>p{font-weight:700;font-size:1.2rem;margin-top:2.5rem;letter-spacing:.02em}.brand-panel>span{color:#b8d4e1;margin-top:.4rem;font-size:.9375rem}
.residential-photo{width:min(86rem,calc(100% - 5rem));height:clamp(20rem,44vw,38rem);margin:2rem auto 0;overflow:hidden;border-radius:.3rem}.residential-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.home-service-types{display:grid;grid-template-columns:1fr;gap:1.2rem;margin:1.5rem 0 2.5rem}.home-service-types article{padding:1.7rem 1.8rem;border:1px solid #9dafbc;border-left:4px solid #12684c;background:#e0e9ed;border-radius:.3rem;box-shadow:0 .4rem 1rem #102c4308}.home-service-types h4{font-size:1.3rem}.home-service-types p{margin:.75rem 0 0;font-size:1.0625rem}
.region-film{min-height:26rem;position:relative;overflow:hidden;border-radius:.25rem;background:#102c43 url('/assets/cinematic/new-england-poster.webp') center/cover}.region-film-caption{position:absolute;inset:auto 0 0;padding:4rem 1.5rem 1.5rem;background:linear-gradient(transparent,#081f32e8);color:#fff;font-size:1.3rem;font-weight:600}.hero-media-controls{display:none}.business-ribbon{padding-right:0}.cinema-hero-inner{padding-bottom:6.5rem}
@media(max-width:850px){.brand-panel{min-height:21rem}.region-film{min-height:22rem}.residential-photo{width:calc(100% - 2rem);height:24rem}.brand-plaque{transform:none}.home-service-types article{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){.business-ribbon{padding-right:0}.region-film .clip-video{opacity:0!important}}

/* Home crew portrait and an architectural journey through the program. */
.crew-portrait{overflow:hidden;border:1px solid #7893a4;border-radius:.25rem;background:#081f32;box-shadow:0 1.8rem 3rem #102c4320;transform:perspective(1100px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .65s var(--ease)}.crew-portrait img{display:block;width:100%;height:auto;object-fit:contain}
.journey-architecture{position:relative;overflow:hidden;aspect-ratio:16/9;background:#071a28;border:1px solid #476675;border-radius:.25rem;margin-bottom:2.3rem;perspective:1200px}.journey-architecture>.journey-model{width:100%;height:100%;object-fit:cover;transform:scale(1.025);transform-origin:25% 60%;transition:transform 1.7s var(--ease),transform-origin 1.7s var(--ease)}.journey-architecture[data-step="1"]>.journey-model{transform:scale(1.07);transform-origin:50% 50%}.journey-architecture[data-step="2"]>.journey-model{transform:scale(1.1);transform-origin:80% 60%}
.journey-markers{position:absolute;inset:0;pointer-events:none}.journey-markers span{position:absolute;top:61%;width:2.5rem;height:2.5rem;display:grid;place-items:center;border:1px solid #93efc8;background:#081f32e0;color:#dff9ef;border-radius:50%;box-shadow:0 0 1.2rem #93efc82a;font-size:.875rem;font-weight:700;transition:background .5s,box-shadow .5s}.journey-markers span:nth-child(1){left:23%}.journey-markers span:nth-child(2){left:49%;top:43%}.journey-markers span:nth-child(3){left:76%;top:60%}.journey-architecture[data-step="0"] .journey-markers span:nth-child(1),.journey-architecture[data-step="1"] .journey-markers span:nth-child(2),.journey-architecture[data-step="2"] .journey-markers span:nth-child(3){background:#93efc8;color:#081f32;box-shadow:0 0 2rem #93efc866}
.journey-select{font:inherit;text-align:left;color:inherit;line-height:inherit;border:0;border-bottom:1px solid transparent;padding:0 0 .5rem;background:transparent;min-height:2.75rem;cursor:pointer}.journey-select[aria-pressed=true]{color:#93efc8;border-color:#93efc8}.architectural-process .process-grid{gap:1.5rem}.architectural-process .process-step{padding:1.5rem;border:1px solid #456373;background:#102c4377}.architectural-process .process-step p{margin-top:.5rem}
.page-hero.residential-hero{background:linear-gradient(90deg,#081f32e8 0%,#081f32bb 42%,#081f3230 100%),url('/assets/cinematic/residential-home.webp') center 58%/cover;min-height:32rem;display:flex;align-items:center}.residential-hero .intro{max-width:39rem}.residential-hero h1{max-width:43rem}
@media(max-width:850px){.crew-portrait{transform:none}.journey-architecture{aspect-ratio:16/9}.journey-architecture>.journey-model{object-fit:contain}.journey-markers span{width:2rem;height:2rem}.architectural-process .process-grid{gap:1rem}.page-hero.residential-hero{min-height:34rem;background-position:64% 52%}}
@media(max-width:560px){.architectural-process .process-grid{padding:0;border:0}.architectural-process .process-step:before{display:none}.journey-architecture{margin-bottom:1.5rem}.page-hero.residential-hero{background-image:linear-gradient(90deg,#081f32d9,#081f3285),url('/assets/cinematic/residential-home.webp')}}
@media(prefers-reduced-motion:reduce){.journey-architecture>.journey-model{transform:none!important}.crew-portrait{transform:none!important}}

.journey-model{position:relative}.journey-model>img{display:block;width:100%;height:100%;object-fit:cover}.journey-markers span:nth-child(1){left:21%;top:76%}.journey-markers span:nth-child(2){left:53%;top:56%}.journey-markers span:nth-child(3){left:70%;top:45%}

/* Responsive heading measure: available space, never hard-coded text lines. */
h1,h2,h3,h4,h5,h6{max-width:100%;white-space:normal;text-wrap:wrap;overflow-wrap:break-word;word-break:normal}
.section-heading{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;align-items:flex-end}.section-heading>div:first-child{flex:1 1 42rem;min-width:0}.section-heading h2{max-width:none;width:100%;font-size:clamp(2.1rem,3.6vw,3.75rem);line-height:1.12}.section-heading>.text-link{flex:0 0 auto}.section-heading>.intro{flex:0 1 25rem}
.business-heading{max-width:none}.business-heading h2{max-width:100%;font-size:clamp(2rem,3.4vw,3.6rem)}
.cinema-hero .hero-copy{width:min(100%,72rem);max-width:100%}.cinema-hero h1{max-width:100%;font-size:clamp(3.2rem,5.2vw,5.6rem);line-height:1.08}.cinema-hero .intro{max-width:38rem}
.page-hero-grid>div:first-child{flex:1 1 auto;min-width:0}.page-hero h1,.residential-hero h1,.article-hero h1{max-width:100%;width:100%;font-size:clamp(2.6rem,4.5vw,4.8rem);line-height:1.12}.residential-hero h1{max-width:62rem}.closing-grid>div:first-child{flex:1 1 auto;min-width:0}.closing h2{max-width:none}.credential-card h3,.facility-information .industry-content h3{max-width:100%}
@media(min-width:761px) and (max-width:1100px){
 .section-heading{flex-direction:column;align-items:stretch}.section-heading>div:first-child,.section-heading>.intro{flex:none;width:100%;max-width:none}.section-heading>.text-link{align-self:flex-start}.section-heading h2{font-size:clamp(2.25rem,4vw,3rem)}
 .cinema-hero .hero-copy{width:100%;max-width:100%}.cinema-hero h1{font-size:clamp(3rem,5.8vw,4rem)}.page-hero h1{font-size:clamp(2.6rem,4.8vw,3.6rem)}
 .government-layout,.team-grid,.area-grid,.about-hero-grid{grid-template-columns:1fr;gap:2.5rem}.team-copy h2,.government-layout h2,.area-copy h2{font-size:clamp(2.25rem,4vw,3rem)}.crew-portrait{max-width:48rem}.closing-grid{flex-direction:column;align-items:stretch}.closing-actions{align-items:flex-start}
}
@media(max-width:760px){
 .container{width:calc(100% - 2rem)}.section-heading{flex-direction:column;align-items:stretch;gap:1.25rem}.section-heading>div:first-child,.section-heading>.intro{flex:none;width:100%;max-width:none}.section-heading>.text-link{align-self:flex-start}
 .section-heading h2,.business-heading h2,.team-copy h2,.government-layout h2,.area-copy h2,.faq-copy h2,.cinema-closing h2{font-size:clamp(1.9rem,5.7vw,2.6rem);line-height:1.16;letter-spacing:-.035em;max-width:100%}
 .cinema-hero .hero-copy{width:100%;max-width:100%}.cinema-hero h1{font-size:clamp(2.45rem,7.4vw,3.5rem);line-height:1.1;letter-spacing:-.04em}.page-hero h1,.quote-info h1{font-size:clamp(2.2rem,6.8vw,3.2rem);line-height:1.14;letter-spacing:-.035em;max-width:100%}
 .page-hero-grid>div:first-child{width:100%;flex:none}.closing-grid>div:first-child{width:100%;flex:none}.service-description h3{font-size:clamp(1.7rem,5.6vw,2.2rem);line-height:1.16}
}
@media(min-width:761px){.cinema-hero .hero-shade{background:linear-gradient(90deg,#081f32f5 0%,#081f32d9 45%,#081f32b8 85%,#081f3299),linear-gradient(0deg,#081f32bb,transparent 30%)}}

/* Owner-directed phrase breaks; individual phrases can reflow on small screens. */
.heading-line{display:block;white-space:normal}.cinema-hero .hero-copy{width:100%;max-width:100%}.cinema-hero h1{font-size:clamp(2.45rem,5vw,5.3rem)}
.business-heading h2>.heading-line:first-child{color:var(--ink)}.business-heading h2>.heading-line:last-child{color:var(--green)}
.facility-sticky .section-heading{display:block}.facility-sticky .section-heading>.intro{max-width:48rem;margin-top:1.3rem}.residential-inner>div:first-child{flex:1;min-width:0}.residential-inner h2{font-size:clamp(2rem,3vw,3rem)}
.area-copy{container-type:inline-size}.area-copy h2{font-size:clamp(1.85rem,6.3cqi,2.6rem)}
.closing-grid{display:block}.cinema-closing h2{font-size:clamp(2rem,3.7vw,3.5rem);max-width:none}.closing-actions-prominent{margin-top:2.4rem;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:1.5rem 2rem}.closing-actions-prominent .btn{font-size:clamp(1.35rem,2.4vw,2.2rem);padding:1.25rem 1.8rem;min-height:4.5rem}.closing-actions-prominent>a[href^="tel:"]{font-size:clamp(1.2rem,2vw,1.9rem);font-weight:600}.closing-actions-prominent .icon{width:1.5rem;height:1.5rem}
.page-hero.service-media-hero{position:relative;isolation:isolate;overflow:hidden;background:#081f32;min-height:34rem;display:flex;align-items:center}.service-header-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;overflow:hidden}.service-header-media>img{width:100%;height:100%;object-fit:cover;object-position:center}.service-header-media .clip-video{object-position:center}.service-media-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081f32ed,#081f32bf 55%,#081f3260)}.service-media-hero>.container{position:relative}.service-media-hero h1{font-size:clamp(2.4rem,4vw,4.3rem)}.service-media-hero .intro{max-width:43rem}
@media(min-width:1101px){body[data-page=clients] .page-hero-grid{display:block}body[data-page=clients] .page-hero-side{margin-top:2rem;max-width:38rem}.team-copy h2{font-size:clamp(2rem,3vw,3rem)}}
@media(max-width:760px){.heading-line{max-width:100%}.cinema-hero h1{font-size:clamp(2.3rem,7.2vw,3.4rem)}.service-media-hero h1{font-size:clamp(2.15rem,6.7vw,3rem)}.page-hero.service-media-hero{min-height:31rem}.service-media-hero:after{background:linear-gradient(90deg,#081f32e0,#081f32b8)}.closing-actions-prominent{flex-direction:column;align-items:flex-start;gap:1.3rem}.closing-actions-prominent .btn{width:100%;font-size:1.4rem;padding:1.2rem}.closing-actions-prominent>a[href^="tel:"]{font-size:1.2rem}.residential-inner{display:block}.residential-inner>.btn{margin-top:1.5rem}}

/* Credential cards: balanced rows and centered two-line labels. */
.trust-section .credential-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.trust-section .credential-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:12rem;padding:1.75rem 1.25rem}
.trust-section .credential-mark{font-size:clamp(1.6rem,2.4vw,2.25rem);line-height:1.2;margin:0 0 .85rem;max-width:100%;overflow-wrap:normal}
.trust-section .credential-card h3{font-size:1.15rem;line-height:1.45;margin:0;max-width:24ch;overflow-wrap:normal}
@media(max-width:850px){.trust-section .credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}
@media(max-width:480px){.trust-section .credential-grid{grid-template-columns:1fr}.trust-section .credential-card{min-height:10rem;padding:1.5rem}}

.footer-bottom{flex-wrap:wrap;gap:1rem}.developer-credit{font-size:1rem;line-height:1.6}.developer-credit a{text-decoration:underline;text-underline-offset:.2em}.blog-topics{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}.blog-topics h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:.8rem}.blog-topics p{max-width:65ch;margin-bottom:1.2rem}.blog-topics nav{display:flex;flex-wrap:wrap;gap:.6rem}.blog-topics nav a{padding:.7rem 1rem;border:1px solid var(--line);border-radius:.3rem;font-weight:600}.blog-topics nav a:hover{background:var(--pale)}
