@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-0.ttf');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-3.ttf');font-weight:700;font-display:swap}@font-face{font-family:Display;src:url('/assets/fonts/dm-sans-2.ttf');font-weight:600;font-display:swap}
:root{--navy:#102a3e;--deep:#081b29;--teal:#146e71;--mint:#86d6ce;--orange:#f69a3a;--paper:#dce4e7;--ink:#173044;--muted:#405866;--line:#a8bdc6;--ease:cubic-bezier(.2,.65,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;font-family:Manrope,Arial,sans-serif;font-size:1.0625rem;line-height:1.75;color:var(--ink);background:var(--paper)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Display,Arial,sans-serif;font-weight:600;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(2.8rem,5.3vw,5.5rem)}h2{font-size:clamp(2.2rem,3.7vw,4rem)}h3{font-size:1.5rem;letter-spacing:-.025em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}::selection{background:var(--mint);color:var(--deep)}.wrap{width:min(86rem,calc(100% - 6rem));margin:auto}.section{padding:clamp(4rem,7.5vw,8rem) 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.875rem;font-weight:700;line-height:1.5;margin-bottom:1.5rem;color:var(--teal)}.eyebrow:before{content:'';display:inline-block;width:.45rem;height:.45rem;border:1px solid currentColor;margin-right:.7rem;vertical-align:middle}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#142837;min-height:3.5rem;padding:.9rem 1.5rem;font-weight:700;font-size:1rem;border:1px solid transparent;border-radius:2px;transition:background .3s,transform .3s;text-align:center;line-height:1.4}.button:hover{background:#ffb264;transform:translateY(-2px)}.button.secondary{background:#081b2940;color:white;border-color:#b7cbd477;backdrop-filter:blur(8px)}.actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.text-link{border-bottom:1px solid currentColor;font-size:1rem;font-weight:700;padding-bottom:.3rem;white-space:nowrap}.skip{position:absolute;left:1rem;top:-10rem;z-index:200;background:white;padding:1rem}.skip:focus{top:1rem}.topbar{background:var(--deep);color:#e3edf0;font-size:.8125rem;letter-spacing:.08em}.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0}.topbar a{white-space:nowrap}header{position:sticky;top:0;z-index:100;background:#e9eef0f5;border-bottom:1px solid #a9bdc440;backdrop-filter:blur(14px)}.nav{display:flex;align-items:center;gap:1.6rem;min-height:6rem}.logo{width:15rem;flex:none}.logo img{width:100%;mix-blend-mode:multiply}.nav nav{display:flex;gap:1.7rem;margin-left:auto;font-size:.9375rem;font-weight:700}.nav nav a:hover{color:var(--teal)}.languages{display:flex;gap:.55rem;font-size:.8125rem}.languages a{padding:.4rem 0}.languages a[aria-current=true]{border-bottom:2px solid var(--teal);font-weight:700}.nav>.button{font-size:.875rem;padding:.8rem 1rem}.menu{display:none;background:none;border:1px solid var(--line);width:44px;height:44px;padding:10px}.menu span{display:block;height:2px;background:var(--navy);margin:5px 0}
.hero{min-height:45rem;height:calc(100svh - 8rem);max-height:62rem;position:relative;isolation:isolate;overflow:hidden;color:#fff;background:var(--deep)}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-media video{opacity:0;transition:opacity 1s}.hero-media video.playing{opacity:1}.hero-shade{z-index:-1;background:linear-gradient(90deg,#081b29eb 0%,#081b29a8 50%,#081b291a),linear-gradient(0deg,#081b29aa,transparent 35%)}.hero-content{height:100%;display:flex;flex-direction:column;justify-content:center;padding:4rem 0 6rem;position:relative}.hero h1{max-width:70rem;line-height:1.04}.hero h1 span,.hero h1 em{display:block}.hero h1 em{font-style:normal;color:#98ded5}.hero .eyebrow{color:#a8e4dc}.hero-content>p:not(.eyebrow){max-width:39rem;font-size:1.1rem;line-height:1.8;margin:1.7rem 0 2rem;color:#e5edef}.hero-note{position:absolute;bottom:1.6rem;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:2rem;font-size:.875rem;border-top:1px solid #ccd9df40;padding-top:1rem}.hero-note>span:first-child{color:var(--mint);letter-spacing:.15em}.hero-picture{animation:camera 24s ease-in-out infinite alternate}.intro{background:#d5e0e5}.intro-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:4rem}.intro-grid p:not(.eyebrow){max-width:54rem;margin-top:1.6rem;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem}.section-head>div{flex:1;min-width:0}.section-head>p{max-width:25rem;color:#bfd1db}.services{background:var(--navy);color:white}.services .eyebrow{color:var(--mint)}.services .text-link{color:var(--mint)}.service-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.3rem}.service-card{min-width:0;min-height:26rem;position:relative;overflow:hidden;border-radius:2px;isolation:isolate;background:#1d394d;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease);border:1px solid #6b899c55}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.3s var(--ease)}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061825f7,transparent 95%);z-index:-1}.service-card>div{min-height:inherit;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end}.service-card .number{font-size:.875rem;color:#b8e9e1;letter-spacing:.15em;margin-bottom:auto}.service-card h3{font-size:clamp(1.8rem,2.5vw,2.7rem);margin:3rem 0 .8rem}.service-card p{font-size:1rem;max-width:32rem;color:#e2eaf0;line-height:1.65}.service-card .explore{font-size:.875rem;font-weight:700;border-bottom:1px solid #c5ddd7;align-self:flex-start;margin-top:1.3rem}.service-card:hover img{transform:scale(1.06)}.service-grid .card-0{grid-row:span 2;min-height:55rem}.service-grid .card-0>div{height:100%}.specialties{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;margin-top:2.7rem}.specialties a{display:flex;align-items:center;gap:1rem;padding:1.4rem 0;border-bottom:1px solid #526c7d;font-size:1.15rem}.specialties a span{color:var(--mint);font-size:.875rem}.specialties a b{margin-left:auto;color:var(--orange);font-size:1.5rem}.specialties a:hover{color:var(--mint)}.detail-story{display:grid;grid-template-columns:1.15fr 1fr;background:#c9d9df;min-height:45rem}.detail-image{position:relative;overflow:hidden;background:#627c87}.detail-image img{width:100%;height:100%;object-fit:cover;position:absolute;transition:filter 1.3s ease,transform 1.3s ease}.detail-image[data-light=warm] img{filter:sepia(.12) saturate(1.12)}.detail-image[data-light=neutral] img{filter:saturate(.8) brightness(1.06)}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:4rem 2rem 1.5rem;background:linear-gradient(transparent,#081b29ce);color:white;font-size:.875rem}.detail-copy{padding:clamp(3rem,6vw,7rem);align-self:center}.detail-copy h2{font-size:clamp(3rem,5vw,5rem);line-height:1.04}.detail-copy>p:not(.eyebrow){margin:1.8rem 0;max-width:30rem}.light-switch{display:flex;gap:.5rem;margin-top:1.8rem}.light-switch button{border:1px solid #57798b;color:var(--navy);background:transparent;padding:.65rem 1.15rem;font-size:.9375rem}.light-switch button[aria-pressed=true]{background:var(--navy);color:white}.detail-copy small{display:block;margin-top:.6rem;font-size:.875rem;color:#3a5362}.process{background:var(--deep);color:#edf3f6}.process .eyebrow{color:var(--mint)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;border-top:1px solid #4b6b7e;position:relative;padding-top:2rem}.steps:before{content:'';height:2px;width:33%;background:var(--mint);position:absolute;top:-1px;left:0;animation:route 12s ease-in-out infinite}.steps article>span{font-size:.875rem;color:var(--mint)}.steps h3{font-size:1.8rem;margin:1.5rem 0 1rem}.steps p{font-size:1rem;color:#cad9e1}.outdoor{height:39rem;position:relative;isolation:isolate;overflow:hidden;color:white;background:var(--deep)}.outdoor-image{position:absolute;inset:0;z-index:-2}.outdoor-image img{width:100%;height:110%;object-fit:cover;object-position:center 60%}.outdoor:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081b29d9,transparent)}.outdoor-copy{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.outdoor .eyebrow{color:#ceede7}.outdoor h2{font-size:clamp(3.8rem,7vw,7rem);margin-bottom:2rem}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.faq details{border-bottom:1px solid #9db2bf}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1.125rem;font-weight:700;cursor:pointer;list-style:none;padding:1.4rem 0}.faq summary::-webkit-details-marker{display:none}.faq details p{padding-bottom:1.5rem;color:var(--muted);font-size:1rem}.faq details[open] summary span{transform:rotate(45deg)}.media-note{font-size:.875rem;color:var(--muted);margin-top:2rem}.closing{padding:5rem 0;background:#173d4b;color:white;border-top:1px solid #759e9f66}.closing .eyebrow{color:var(--mint)}.closing h2{font-size:clamp(2.7rem,5.5vw,5rem);margin-bottom:2.4rem}.closing .button{font-size:1.2rem;padding:1.1rem 1.7rem}.call{font-size:1.1rem;margin-left:1rem}footer{background:#d0dde3;padding:4rem 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:4rem}.footer-grid img{width:17rem;mix-blend-mode:multiply}.footer-grid p{font-size:1rem;margin-top:1.5rem;max-width:22rem}.footer-grid h3{font-size:1.2rem;margin-bottom:1rem}.footer-grid a{display:block;font-size:1rem;margin-bottom:.6rem;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #a1b6c1;padding:1.5rem 0;margin-top:3rem;display:flex;justify-content:space-between;gap:1rem;font-size:.875rem}.mobile-contact{display:none}.page-title{padding-top:5rem;padding-bottom:5rem}.page-title h1{max-width:72rem}.page-title p:not(.eyebrow){margin:1.5rem 0;max-width:50rem}.all-services{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.all-services .service-card{min-height:29rem}.service-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:white;padding:5rem 0;min-height:35rem}.service-hero>img,.service-hero .shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.service-hero .shade{z-index:-1;background:linear-gradient(90deg,#081b29f0,#081b29b8 60%,#081b2950)}.service-hero .eyebrow{color:var(--mint);margin-top:1.5rem}.service-hero h1{max-width:65rem}.service-hero p:not(.eyebrow){margin:1.5rem 0 2rem;max-width:43rem}.crumb{font-size:.9375rem;border-bottom:1px solid #cbdce7}.scope-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:6rem}.scope-grid>div>p:not(.eyebrow){margin-top:1.5rem}.scope{padding:0;list-style:none;margin-top:2rem}.scope li{padding:1rem 0;border-bottom:1px solid var(--line)}.scope li:before{content:'+';color:var(--teal);margin-right:1rem}.scope-grid aside{align-self:start;background:#c5d7de;border:1px solid var(--line);padding:2rem;position:sticky;top:8rem}.scope-grid aside p{margin:1.2rem 0 1.8rem;font-size:1rem}.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem}.quote-grid h1{font-size:clamp(2.6rem,4.5vw,4.3rem)}.quote-grid>div>p:not(.eyebrow){margin:1.5rem 0;max-width:32rem}.quote-grid>div>a{display:block}.quote-phone{font-size:1.6rem;font-weight:700;margin-top:2rem}.quote-detail{display:grid;grid-template-columns:2rem 1fr;gap:1rem;border-top:1px solid var(--line);padding-top:2rem;margin-top:2rem}.quote-detail span{color:var(--teal);font-size:.875rem}.quote-detail p{font-size:1rem}form{padding:2.5rem;border:1px solid #a7bdc8;background:#edf1f3;box-shadow:0 2rem 4rem #102a3e0a}form h2{font-size:1.8rem}.form-intro{font-size:.875rem;color:var(--muted);margin:1rem 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.form-grid label{display:flex;flex-direction:column;gap:.5rem;font-size:.9375rem;font-weight:700}.form-grid .full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #7e9aaa;border-radius:2px;background:#f9fbfc;padding:.8rem;font-size:1rem;color:var(--navy);min-height:3rem}textarea{resize:vertical}.privacy-note{font-size:.875rem;margin:1.5rem 0}.privacy-note a{text-decoration:underline}form>.button{width:100%;cursor:pointer}.honeypot{position:absolute;left:-9999px}.legal p{max-width:56rem!important}.legal>a{text-decoration:underline}.reveal{opacity:1}.motion .reveal.pending{opacity:0;transform:translateY(24px)}.motion .reveal{transition:opacity .8s ease,transform .8s var(--ease)}@keyframes camera{from{transform:scale(1.02)}to{transform:scale(1.1) translateX(-1%)}}@keyframes route{0%,100%{left:0}50%{left:67%}}
@media(max-width:1150px){.wrap{width:calc(100% - 4rem)}.nav{gap:1rem}.logo{width:12rem}.nav nav{gap:1rem;font-size:.875rem}.nav>.button{display:none}.intro-grid{grid-template-columns:1fr;gap:1rem}.section-head{display:block}.section-head>.text-link{display:inline-block;margin-top:1.5rem}.section-head>p{max-width:44rem;margin-top:1.5rem}.detail-copy{padding:3rem}.quote-grid{gap:2.5rem}.scope-grid{gap:3rem}.footer-grid{gap:2rem}.hero-content>p:not(.eyebrow){max-width:35rem}.service-grid .card-0{min-height:53rem}}
@media(max-width:760px){html{scroll-padding-top:5.5rem}.wrap{width:calc(100% - 2rem)}.section{padding:3.7rem 0}.topbar{font-size:.75rem;letter-spacing:.03em}.topbar span{max-width:15rem}.nav{min-height:5rem;gap:.7rem;flex-wrap:nowrap}.logo{width:11rem;max-width:50%;margin-right:auto}.languages{gap:.4rem}.menu{display:block;flex:none}.nav nav{display:none;position:absolute;left:0;right:0;top:100%;background:#e9eef0;padding:1rem 1.5rem;border-bottom:1px solid var(--line);margin:0}.nav nav.open{display:flex;flex-direction:column;gap:.3rem}.nav nav a{padding:.6rem 0}.hero{height:auto;min-height:44rem}.hero-content{min-height:44rem;padding:4rem 0 6rem}.hero h1{font-size:clamp(2.7rem,8.6vw,4.3rem)}.hero-content>p:not(.eyebrow){font-size:1rem;margin:1.5rem 0 1.8rem}.hero-shade{background:linear-gradient(90deg,#081b29dd,#081b297d)}.hero .actions{align-items:stretch}.hero .actions .button{flex:1 1 auto}.hero-note{font-size:.8125rem;gap:1rem}.hero-note>span:last-child{max-width:15rem;text-align:right}.eyebrow{font-size:.8125rem;letter-spacing:.1em}h2{font-size:clamp(2rem,6.4vw,3rem)}.service-grid,.all-services{grid-template-columns:1fr}.service-grid .card-0{grid-row:auto;min-height:31rem}.service-card,.all-services .service-card{min-height:28rem}.service-card>div{padding:1.5rem}.service-card h3{font-size:2rem}.specialties{grid-template-columns:1fr;margin-top:1.5rem}.specialties a{font-size:1.05rem}.detail-story{grid-template-columns:1fr}.detail-image{min-height:31rem}.detail-copy{padding:3rem 1.5rem}.detail-copy h2{font-size:3.5rem}.detail-copy h2{word-spacing:.2em}.steps{grid-template-columns:1fr;gap:2rem;padding-top:2rem}.steps article{border-bottom:1px solid #456073;padding-bottom:1.5rem}.steps h3{margin:.6rem 0;font-size:1.65rem}.outdoor{height:33rem}.outdoor h2{font-size:4.5rem}.faq-grid,.scope-grid,.quote-grid{grid-template-columns:1fr;gap:2.5rem}.faq summary{font-size:1.05rem}.closing{padding:3.5rem 0}.closing .actions{align-items:stretch;flex-direction:column}.closing .button{font-size:1.05rem}.call{font-size:1rem;margin:0}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block;padding-bottom:6rem}.footer-bottom span{display:block;margin:.3rem 0}.mobile-contact{display:block;position:fixed;bottom:0;left:0;right:0;z-index:90;text-align:center;padding:.9rem 1rem;background:var(--orange);color:var(--deep);font-weight:700;font-size:1rem;box-shadow:0 -5px 25px #102a3e22}.page-title{padding:3rem 0}.page-title h1{font-size:2.7rem}.service-hero{padding:3rem 0;min-height:32rem}.service-hero h1{font-size:clamp(2.5rem,8vw,3.5rem)}.service-hero p:not(.eyebrow){font-size:1rem}.scope-grid aside{position:static}.quote-grid h1{font-size:3rem}form{padding:1.4rem}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.quote-phone{font-size:1.5rem}.service-card{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal.pending{opacity:1;transform:none}.service-card{transform:none!important}.hero-media video{display:none}.outdoor-image img{transform:none!important}}
/* Expanded service collection and editorial pages */
.nav nav{gap:1.25rem}.nav nav a{white-space:nowrap}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid .card-0{grid-row:auto;min-height:30rem}.service-grid .service-card{min-height:30rem}.service-grid .service-card h3{font-size:2rem}.service-card img[src$='lighting.webp']{object-position:center 35%}.closing h2{max-width:78rem;font-size:clamp(2.6rem,4.5vw,4.6rem);text-wrap:balance}.about-teaser{background:#c5d6dc}.about-teaser .intro-grid{grid-template-columns:1fr 1fr}.about-teaser .intro-grid p:not(.eyebrow){margin-top:0;margin-bottom:1.8rem}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:start}.brand-panel{background:radial-gradient(ellipse at 50% 25%,#235965,transparent 70%),var(--deep);color:white;min-height:30rem;padding:3rem;display:flex;flex-direction:column;justify-content:center;position:sticky;top:8rem;border:1px solid #38616b;box-shadow:0 2rem 5rem #102a3e20}.brand-panel img{background:#e8eff0;padding:1rem;box-shadow:0 0 40px #86d6ce30}.brand-panel p{font-family:Display,sans-serif;font-size:2rem;line-height:1.2;margin:3rem 0 2rem}.brand-panel span{font-size:.75rem;letter-spacing:.15em;color:var(--mint)}.about-copy p+p{margin-top:1.7rem}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.blog-card{display:flex;flex-direction:column;min-width:0;background:#ccdbe1;border:1px solid #a6bdc8;transition:transform .3s}.blog-card:hover{transform:translateY(-5px)}.blog-card>img{width:100%;height:15rem;object-fit:cover}.blog-card>div{padding:1.5rem;display:flex;flex-direction:column;flex:1}.blog-card .eyebrow{font-size:.7rem;margin-bottom:1rem}.blog-card h3{font-size:1.6rem;line-height:1.25}.blog-card p:not(.eyebrow){font-size:1rem;margin:1rem 0 1.5rem}.blog-card .text-link{align-self:flex-start;margin-top:auto;white-space:normal}.article-heading h1{max-width:75rem}.article-heading .eyebrow{margin-top:2rem}.article-photo img{width:100%;height:clamp(16rem,40vw,33rem);object-fit:cover}.article-body{width:min(49rem,calc(100% - 3rem));margin:4rem auto 6rem}.article-body section{margin-bottom:3rem}.article-body h2{font-size:clamp(1.7rem,2.5vw,2.4rem);margin-bottom:1.1rem;line-height:1.2}.article-body p{line-height:1.9}.article-sources{border-top:1px solid var(--line);padding-top:2rem}.article-sources ul{padding-left:1.2rem}.article-sources a{text-decoration:underline;text-underline-offset:4px}.article-sources p{font-size:.9375rem;color:var(--muted)}.article-next{padding:2rem;background:#c5d7de;margin-top:3rem}
@media(max-width:1250px){.nav{gap:1rem}.nav nav{gap:1rem;font-size:.875rem}.nav>.button{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{gap:3rem}}
@media(max-width:760px){.service-grid,.blog-grid,.about-grid,.about-teaser .intro-grid{grid-template-columns:1fr}.brand-panel{position:static;min-height:23rem;padding:2rem}.about-grid{gap:2.5rem}.service-grid .service-card{min-height:28rem}.blog-card>img{height:14rem}.article-body{width:calc(100% - 2rem);margin:3rem auto}.article-next{padding:1.5rem}.page-title h1{font-size:clamp(2.35rem,7.5vw,3rem)}.closing h2{font-size:clamp(2.35rem,7.5vw,3rem)}}
/* Readability and a compact, scroll-responsive home tour. */
body{font-size:1.125rem;line-height:1.8}.eyebrow{font-size:1rem}.service-card p,.steps p,.blog-card p:not(.eyebrow),.faq details p,.scope-grid aside p,.footer-grid p,.footer-grid a,.detail-copy>p:not(.eyebrow),.privacy-note,.form-intro,.article-sources p{font-size:1.125rem}.service-card .explore,.text-link,.crumb,.form-grid label,.languages,.image-caption,.hero-note,.nav nav,.nav>.button,.footer-bottom,.topbar{font-size:1rem}.nav nav{gap:1rem}.nav{gap:1.2rem}.logo{width:13rem}.nav>.button{padding:.7rem .9rem}.form-grid input,.form-grid select,.form-grid textarea{font-size:1.125rem}.blog-card .eyebrow{font-size:.9375rem}.hero-journey{position:relative;height:155svh;background:var(--deep)}.tour-hero{position:sticky;top:6rem;height:calc(100svh - 6rem);min-height:40rem;max-height:none}.tour-hero .hero-media{transform:scale(var(--tour-scale,1));will-change:transform}.tour-hero .hero-media img{animation:none}.tour-hero .hero-media video{object-fit:cover}.tour-hero .hero-shade{background:linear-gradient(0deg,#061825f2 0%,#061825c7 20%,#06182535 56%,#06182522 100%)}.tour-brand{position:absolute;left:50%;top:30%;width:min(38rem,65vw);padding:1.1rem 1.8rem;background:#edf2f3eb;border:1px solid #ffffff50;box-shadow:0 1rem 4rem #06182530;transform:translate(-50%,-50%) translateY(var(--brand-y,0px)) scale(var(--brand-scale,1));opacity:var(--brand-opacity,1);will-change:transform,opacity;pointer-events:none}.tour-brand img{width:100%;mix-blend-mode:multiply}.tour-hero .hero-content{justify-content:flex-end;padding:2rem 0 3rem;height:100%;}.tour-hero .hero-content h1{font-size:clamp(2rem,3.4vw,3.6rem);max-width:79rem;line-height:1.14;text-wrap:balance}.tour-hero .hero-content>.eyebrow{margin-bottom:.8rem}.tour-hero .hero-content>p:not(.eyebrow){font-size:1.25rem;max-width:60rem;margin:1rem 0 1.5rem;line-height:1.6}.tour-progress{position:absolute;bottom:0;height:3px;left:0;right:0;background:#ffffff25}.tour-progress span{display:block;height:100%;background:var(--mint);transform-origin:left;transform:scaleX(var(--tour-progress,.03))}.service-directory{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:2.5rem}.service-directory a{display:flex;flex-direction:column;gap:.65rem;border:1px solid #66818e;padding:1rem 1.15rem;line-height:1.4;font-size:1.125rem;min-height:7.5rem;background:#1a394b;transition:background .25s,border-color .25s}.service-directory a:hover{background:#285064;border-color:var(--mint)}.service-directory a span{color:var(--mint);font-size:1rem}.card-scope{list-style:none;padding:0;margin:.5rem 0 0;font-size:1.125rem;line-height:1.6}.card-scope li{position:relative;padding-left:1rem;margin:.35rem 0;color:#f0f5f7}.card-scope li:before{content:'•';position:absolute;left:0;color:var(--mint)}.service-card:after{background:linear-gradient(0deg,#061825 0%,#061825eb 35%,#06182522 100%)}.service-grid .service-card{min-height:34rem}.service-card .number{font-size:1rem}.about-visual{margin:0;background:var(--navy);color:white;position:sticky;top:8rem}.about-visual img{width:100%;height:30rem;object-fit:cover}.about-visual p{font-family:Display,sans-serif;font-size:1.75rem;line-height:1.35;padding:1.75rem}.closing h2{white-space:nowrap;font-size:clamp(1.125rem,3.6vw,3.4rem);max-width:none;letter-spacing:-.035em;text-wrap:nowrap}.article-body{font-size:1.25rem}.about-copy{font-size:1.25rem}.detail-copy small{font-size:1rem}.footer-grid{grid-template-columns:1.2fr 1fr .9fr}
@media(max-width:1400px){.nav>.button{display:none}.nav nav{margin-left:auto}.nav{gap:1rem}.service-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.logo{width:11rem}.nav nav{font-size:.9375rem;gap:.8rem}.languages{font-size:.9375rem}.nav{gap:.8rem}.service-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid .service-card{min-height:32rem}.tour-brand{top:27%;width:min(34rem,70vw)}.tour-hero .hero-content h1{font-size:2.5rem}}
@media(max-width:760px){body{font-size:1.125rem}.topbar{font-size:.875rem}.topbar span{max-width:13rem}.nav{min-height:5rem;gap:.55rem}.logo{width:10rem;max-width:46%}.languages{font-size:.875rem;gap:.4rem}.hero-journey{height:auto}.tour-hero{position:relative;top:0;height:auto;min-height:46rem}.tour-brand{top:7rem;width:80%;padding:.8rem 1rem}.tour-hero .hero-content{min-height:46rem;padding:17rem 0 2.5rem}.tour-hero .hero-content h1{font-size:clamp(2rem,7vw,2.6rem);text-wrap:balance}.tour-hero .hero-content>p:not(.eyebrow){font-size:1.125rem}.tour-hero .hero-content>.eyebrow{font-size:.9375rem}.tour-hero .actions .button{font-size:1.0625rem}.service-directory{gap:.6rem}.service-directory a{font-size:1.0625rem;padding:1rem;min-height:7rem}.service-grid .service-card{min-height:32rem}.about-visual{position:static}.about-visual img{height:23rem}.about-copy,.article-body{font-size:1.125rem}.closing h2{font-size:clamp(1.0625rem,4.5vw,2rem);margin-bottom:1.7rem}.footer-grid{grid-template-columns:1fr 1fr}.text-link{white-space:normal}}
@media(max-width:360px){.languages{gap:.25rem}.nav{gap:.4rem}.logo{width:9rem}.service-directory a{padding:.8rem;font-size:1rem}}
@media(prefers-reduced-motion:reduce){.hero-journey{height:auto}.tour-hero{position:relative;top:0}.tour-brand{transform:translate(-50%,-50%);opacity:1}.tour-hero .hero-media{transform:none}.tour-progress{display:none}}
@media(min-width:761px) and (max-width:950px){.nav nav{display:none;position:absolute;left:0;right:0;top:100%;background:#e9eef0;padding:1rem 2rem;border-bottom:1px solid var(--line);margin:0}.nav nav.open{display:flex;flex-direction:column;gap:.5rem}.nav nav a{padding:.6rem 0}.menu{display:block;flex:none}.logo{margin-right:auto}.nav{min-height:6rem}.languages{font-size:1rem}}

/* Final architectural identity and responsive narrative. */
:root{--navy:#20292d;--deep:#141c20;--teal:#087b82;--mint:#90dad6;--orange:#9ae0d8;--paper:#e2e8e5;--ink:#20292d;--muted:#415961}
.button{color:#17282b}.button:hover{background:#bdeee7}.logo img{mix-blend-mode:normal}.footer-grid img{mix-blend-mode:normal}
.hero-journey{height:245svh}.tour-hero{position:sticky;top:6rem;height:calc(100svh - 6rem);min-height:38rem;max-height:none}
.tour-hero .hero-media{transform:none}.architecture-frames{perspective:1200px}.architecture-frames .journey-frame{opacity:0;animation:none;transform:scale(1.03);will-change:transform,opacity}.architecture-frames .frame-0{opacity:1}
.tour-hero .hero-shade{background:linear-gradient(0deg,#101b20f5 0%,#101b20bf 29%,#101b2045 64%,#101b2070 100%)}
.tour-brand{top:30%;width:min(50rem,70vw);background:none;border:0;padding:0;box-shadow:none}.tour-brand img{mix-blend-mode:normal;filter:drop-shadow(0 4px 20px #0004)}
.tour-hero .hero-content{padding:2rem 0 5rem;justify-content:flex-end;min-height:0}.tour-hero .hero-content h1{font-size:clamp(1.7rem,3.15vw,3rem);white-space:nowrap;letter-spacing:-.035em}.tour-hero .hero-content>p:not(.eyebrow){margin:.8rem 0 1.25rem;max-width:55rem;font-size:1.1875rem}
.journey-stages{position:absolute;left:7%;right:7%;bottom:1.6rem;display:flex;justify-content:space-between;gap:1rem;color:#d3ded9;font-size:1rem;line-height:1.4}.journey-stages span{border-top:1px solid #ffffff50;padding-top:.7rem;flex:1;transition:color .3s,border-color .3s}.journey-stages .active{color:#9ae0d8;border-color:#9ae0d8}
.service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.service-grid .service-card{grid-column:span 2}.service-grid .service-card:nth-child(n+7){grid-column:span 3}
.office-brand-image{overflow:hidden;align-self:stretch;min-height:30rem}.office-brand-image img{width:100%;height:100%;object-fit:cover;object-position:37% center}.about-teaser .intro-grid{grid-template-columns:1fr 1fr;gap:4rem}.about-teaser h2{font-size:clamp(2rem,3vw,3.1rem)}.about-teaser .intro-grid p:not(.eyebrow){font-size:1.1875rem;margin-bottom:1.8rem}.about-visual img{object-position:35% center}
.interior-tour{position:relative;min-height:43rem;display:flex;align-items:flex-end;isolation:isolate;background:var(--deep);color:white;overflow:hidden}.interior-tour-media{position:absolute;inset:0;z-index:-2}.interior-tour-media img,.interior-tour-media video{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.interior-tour-media video{opacity:0;transition:opacity 1s}.interior-tour-media video.playing{opacity:1}.interior-tour:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#141c20e6,#141c2040),linear-gradient(0deg,#141c20b0,transparent)}.interior-tour-copy{padding-top:6rem;padding-bottom:6rem}.interior-tour h2{max-width:45rem}.interior-tour p:not(.eyebrow){max-width:36rem;margin:1.6rem 0;font-size:1.25rem}.interior-tour .eyebrow{color:var(--mint)}
@media(max-width:1250px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid .service-card,.service-grid .service-card:nth-child(n+7){grid-column:auto}}
@media(max-width:1000px){.about-teaser .intro-grid{gap:2rem}.tour-brand{width:75vw}.tour-hero .hero-content h1{font-size:clamp(1.5rem,3.35vw,2.5rem)}}
@media(max-width:760px){.hero-journey{height:195svh}.tour-hero{position:sticky;top:5rem;height:calc(100svh - 5rem);min-height:35rem}.tour-brand{top:24%;width:82%;padding:0}.tour-hero .hero-content{min-height:0;padding:2rem 0 5rem}.tour-hero .hero-content h1{font-size:clamp(1.05rem,3.75vw,1.8rem);white-space:nowrap}.tour-hero .hero-content>p:not(.eyebrow){font-size:1.125rem;line-height:1.6}.journey-stages{font-size:.875rem;left:1.5rem;right:1.5rem;gap:.5rem;bottom:1.3rem}.service-grid{grid-template-columns:1fr}.service-grid .service-card,.service-grid .service-card:nth-child(n+7){grid-column:auto}.about-teaser .intro-grid{grid-template-columns:1fr}.office-brand-image{min-height:0;height:22rem}.interior-tour{min-height:38rem}.interior-tour-copy{padding:4rem 0}.interior-tour h2{font-size:2.5rem}}
@media(max-height:700px) and (min-width:761px){.tour-brand{top:23%;width:38rem}.tour-hero .hero-content{padding-bottom:4rem}.tour-hero .hero-content h1{font-size:2.1rem}.tour-hero .hero-content>p:not(.eyebrow){margin:.5rem 0 1rem}.tour-hero{min-height:34rem}}
@media(prefers-reduced-motion:reduce){.hero-journey{height:auto}.tour-hero{position:relative;top:0;height:48rem}.architecture-frames .journey-frame{will-change:auto;transform:none!important}.tour-brand{opacity:1;transform:translate(-50%,-50%)}.journey-stages,.tour-progress{display:none}.interior-tour-media video{display:none}}

@media(max-width:760px){.tour-hero .hero-content h1{font-size:clamp(1.65rem,5.4vw,2.35rem);white-space:normal;text-wrap:balance}.tour-brand{top:22%}}


/* Harmonized palette: warm charcoal foundation, champagne-gold details, emerald accents. */
:root{color-scheme:dark;--navy:#22231f;--deep:#111310;--teal:#087b82;--mint:#a0c5bf;--gold:#c6aa77;--orange:#c6aa77;--paper:#1b1c19;--ink:#eee9df;--muted:#c7c5bb;--line:#45473e;--header-height:6.75rem}
body{background:var(--paper);color:var(--ink)}
header{background:#191b18f5;border-bottom:1px solid #c6aa7740}.topbar{background:#111310;color:#d5d1c5}
.nav{min-height:6.75rem;gap:1.5rem}.logo{width:21.25rem;max-width:none;flex:none}.logo img,.footer-brand img,.tour-brand img{width:100%;height:auto;mix-blend-mode:normal;filter:none}
.nav nav{gap:1.3rem}.nav nav a:hover,.languages a:hover{color:var(--gold)}.languages a[aria-current=true]{border-color:var(--gold)}.menu{border-color:#797b6d}.menu span{background:#eee9df}
.eyebrow,.hero .eyebrow,.services .eyebrow,.process .eyebrow,.closing .eyebrow,.interior-tour .eyebrow{color:var(--gold)}
.button{background:var(--gold);color:#191b16;border-color:var(--gold)}.button:hover{background:#dbc398;border-color:#dbc398}.button.secondary{background:#181a178f;color:#eee9df;border-color:#c8beaa80}.button.secondary:hover{background:#253e36}
.intro{background:#262620;border-top:1px solid #c6aa7728;border-bottom:1px solid #c6aa7728}.services{background:#171916}.detail-story{background:#2b2924}.process{background:#171916}.about-teaser{background:#242520}.faq{background:#20211d}.closing{background:linear-gradient(110deg,#1a3832,#172a24 78%);border-top:1px solid #c6aa7755}footer{background:#111310;color:#eee9df}.footer-bottom{border-color:#48483c;color:#c8c6bb}
.footer-brand{width:min(100%,23rem)}.footer-grid img{width:100%;max-width:none}.footer-grid>div:first-child{min-width:0}.footer-grid h3{color:#d9c49e}.footer-grid p,.footer-grid a{color:#d2cfc3}
.service-directory a{background:#22251f;border-color:#505246;color:#eee9df}.service-directory a:hover{background:#243931;border-color:var(--gold)}.service-directory a span{color:var(--gold)}
.service-card{border-color:#515247;background:#232620}.service-card:after{background:linear-gradient(0deg,#111410 0%,#111410df 35%,#11141000 90%)}.service-card .number{color:#d8c49f}.service-card .explore{border-color:var(--gold)}.card-scope li{color:#ece9de}.card-scope li:before{color:var(--gold)}
.steps{border-color:#555849}.steps:before{background:var(--gold)}.steps article>span{color:var(--gold)}.steps p{color:#c7c8bc}.faq details{border-color:#505247}.faq details p{color:#d0cec2}
.light-switch button{color:#eee9df;border-color:#a29f8e}.light-switch button[aria-pressed=true]{background:#c6aa77;color:#191c16;border-color:#c6aa77}.detail-copy small{color:#c5c4b7}
.scope-grid aside,.article-next{background:#292b24;border-color:#545647}.scope li:before{color:var(--gold)}.blog-card{background:#252721;border-color:#4e5143}.blog-card p:not(.eyebrow){color:#cccabd}.blog-card .text-link,.article-sources a,.text-link{color:#ddc69e}.page-title p:not(.eyebrow),.about-copy p,.article-body p{color:#d4d0c5}.article-body h2{color:#f0ebdf}
form{background:#252820;border-color:#5d604d;box-shadow:0 2rem 4rem #0002}.form-grid input,.form-grid select,.form-grid textarea{background:#151a14;color:#eee9df;border-color:#868a78}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#b7bcaa}.privacy-note,.form-intro{color:#cdcebd}.quote-phone{color:var(--gold)}
.about-visual{background:#292a23}.about-visual p{color:#eee4d1}.article-sources{border-color:#555746}
.tour-hero{top:var(--header-height);height:calc(100svh - var(--header-height))}.tour-hero .hero-shade{background:linear-gradient(0deg,#111310f5 0%,#111310b0 28%,#11131012 65%,#11131060 100%)}.tour-brand{width:min(50rem,76vw);top:29%}.journey-stages .active{color:#dcc394;border-color:#c6aa77}.tour-progress span{background:var(--gold)}
.mobile-contact{background:var(--gold);color:#191c16}.skip{color:#191c16;background:#fff}.scope-grid aside,.about-visual{top:calc(var(--header-height) + 2rem)}
@media(max-width:1400px){.nav{gap:1.1rem}.logo{width:20rem}.nav>.button{display:none}}
@media(max-width:1100px){.nav nav{display:none;position:absolute;left:0;right:0;top:100%;background:#1b2019;padding:1.2rem 2rem;border-bottom:1px solid #565d4a;margin:0}.nav nav.open{display:flex;flex-direction:column;gap:.5rem}.nav nav a{padding:.6rem 0}.menu{display:block;flex:none}.logo{margin-right:auto}.nav{min-height:6.75rem}.languages{font-size:1rem}}
@media(max-width:760px){.nav{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;min-height:0;padding:.6rem 0 .5rem}.logo{grid-column:1/-1;justify-self:center;width:min(22rem,100%);max-width:none;margin:0}.languages{justify-self:start;gap:1rem;font-size:.875rem}.menu{justify-self:end;width:40px;height:36px;padding:7px}.tour-hero{top:var(--header-height);height:calc(100svh - var(--header-height));min-height:33rem}.tour-brand{width:86%;top:21%}.footer-brand{width:min(100%,23rem)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.about-visual,.scope-grid aside{position:static}.tour-hero .hero-content{padding-bottom:4.5rem}.tour-hero .hero-content>p:not(.eyebrow){font-size:1.125rem}.tour-hero .hero-content>.eyebrow{font-size:.875rem}.journey-stages{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.tour-hero{top:0;height:48rem;position:relative}}

/* Neutral photographic overlays keep stone, oak and brass colors true. */
.tour-hero .hero-shade{background:linear-gradient(0deg,#111310f5 0%,#111310b3 27%,#11131012 64%,#11131055 100%)}
.interior-tour:after{background:linear-gradient(90deg,#171915e0,#17191525),linear-gradient(0deg,#111310b0,transparent 65%)}
.service-hero .shade{background:linear-gradient(90deg,#171915ee,#171915b5 55%,#17191535)}
.outdoor:after{background:linear-gradient(90deg,#171915d9,#17191515 85%)}
.image-caption{background:linear-gradient(transparent,#171915d9);color:#eee9df}
.service-hero .eyebrow,.quote-detail span,.specialties a span,.service-card .number{color:var(--gold)}
.service-card p,.hero-content>p:not(.eyebrow),.section-head>p{color:#dedbd1}
.services .text-link,.specialties a b{color:#ddc69e}.specialties a{border-color:var(--line)}
.journey-stages{color:#dbd7cc}.steps article{border-color:var(--line)}
.detail-image[data-light=warm] img{filter:sepia(.38) saturate(1.3) brightness(.96) contrast(1.03)}
.detail-image[data-light=neutral] img{filter:sepia(0) saturate(.42) brightness(1.13) contrast(1.02)}
.service-directory a:hover,.blog-card:hover{border-color:#b6a078}
.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#dec496}

/* Clearly distinguish the two lighting previews without changing the material image. */
.detail-image img{transition:filter .55s ease}
.detail-image:after{content:'';position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;transition:background .55s ease}
.detail-image[data-light=warm]:after{background:rgba(237,162,74,.23)}
.detail-image[data-light=neutral]:after{background:rgba(175,205,240,.16)}
.detail-image .image-caption{z-index:1}
.light-switch button{display:inline-flex;align-items:center;gap:.65rem}
.light-switch button:before{content:'';width:.8rem;height:.8rem;border-radius:50%;border:1px solid #9c927c;flex:none}
.light-switch button[data-light-mode=warm]:before{background:#f2bf75}
.light-switch button[data-light-mode=neutral]:before{background:#f1f4f2}
@media(prefers-reduced-motion:reduce){.detail-image img,.detail-image:after{transition:none}}

/* Preserve the recording's detail instead of enlarging a narrow mobile crop. */
+.interior-tour{max-width:112rem;margin-inline:auto}
+@media(max-width:760px){
+ .interior-tour{display:flex;flex-direction:column;align-items:stretch;min-height:0;isolation:auto}
+ .interior-tour-media{position:relative;inset:auto;z-index:0;width:100%;aspect-ratio:1788/1006;overflow:hidden}
+ .interior-tour-media img,.interior-tour-media video{object-fit:contain}
+ .interior-tour:after{display:none}
+ .interior-tour-copy{padding-top:2.5rem;padding-bottom:3rem}
+}
+
.project-context{background:#242520}.planning-copy{max-width:72rem}.planning-copy p{font-size:clamp(1.125rem,1.5vw,1.3rem);line-height:1.75}.article-publisher{font-size:1rem;color:var(--muted)}

.footer-bottom{flex-wrap:wrap;gap:1rem}.site-credit{font-size:1rem;line-height:1.6}.site-credit a{display:inline;color:var(--gold);text-underline-offset:.2em}.site-credit a:hover,.site-credit a:focus-visible{text-decoration:underline}@media(max-width:760px){.site-credit{display:block;max-width:100%}}
