:root{--ink:#13262d;--muted:#526569;--night:#101b20;--night-2:#182a30;--aqua:#5ce1e6;--cream:#f4f6f3;--line:#d8e1df;--serif:Georgia,"Times New Roman",serif;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--aqua);outline-offset:4px}p{line-height:1.7}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-weight:600}h2{font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1.09;letter-spacing:-.055em}h3{letter-spacing:-.035em}.container{width:min(1360px,calc(100% - 96px));margin-inline:auto}.section{padding-block:clamp(86px,10vw,150px)}.eyebrow{font-size:.72rem;line-height:1.45;letter-spacing:.19em;font-weight:800;color:#27777b;margin-bottom:28px}.eyebrow.light{color:var(--aqua)}.skip-link{position:absolute;left:12px;top:-100px;z-index:20;padding:12px 16px;background:var(--aqua);color:var(--night)}.skip-link:focus{top:12px}
.site-header{background:var(--night);color:#e9f5f5;position:relative;z-index:2;border-bottom:1px solid #ffffff1f}.header-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:block;flex:0 0 auto}.brand img{width:224px;height:auto}.main-nav{display:flex;gap:clamp(16px,2.8vw,42px);align-items:center}.main-nav a,.language-switch{font-size:.79rem;font-weight:650}.main-nav a{transition:color .2s}.main-nav a:hover,.language-switch a:hover{color:var(--aqua)}.language-switch{display:flex;gap:9px;align-items:center;white-space:nowrap}.language-switch span[aria-current]{color:var(--aqua)}.language-switch span[aria-hidden]{color:#60777c}
.hero{background:var(--night);color:#fff;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;min-height:690px;align-items:stretch}.hero-copy{padding:clamp(86px,9.5vw,145px) 7vw 100px 0;display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:1}.hero h1{font-size:clamp(3.4rem,6.5vw,7rem);line-height:1.025;letter-spacing:-.07em;margin:0 0 34px;max-width:800px}.hero h1 em,.feature-copy h2 em,.hospitality h2 em{font-family:var(--serif);font-weight:400;color:var(--aqua);letter-spacing:-.08em}.hero-lead{font-size:clamp(1.08rem,1.5vw,1.35rem);line-height:1.65;color:#d2e0e1;max-width:580px;margin-bottom:38px}.hero-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:16px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:58px;padding:15px 21px;border:1px solid transparent;border-radius:0;font-size:.87rem;line-height:1.45;font-weight:750;transition:background .2s,border-color .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--aqua);border-color:var(--aqua);color:var(--night)}.button-primary:hover{background:#a1f2f3;border-color:#a1f2f3}.button-secondary{background:transparent;border-color:#6f9698;color:var(--ink)}.button-secondary:hover{background:#e6f6f4;border-color:#3a8588}.button-on-dark{color:#e7f2f3;border-color:#7b9c9f}.button-on-dark:hover{background:#ffffff0d;border-color:var(--aqua);color:var(--aqua)}.button span{font-size:1.2em}.hero-foot{display:flex;align-items:center;gap:15px;margin-top:auto;padding-top:70px;color:#a7bcbe;font-size:.75rem;letter-spacing:.06em}.mini-line{width:34px;height:1px;background:var(--aqua)}.hero-visual{position:relative;min-height:640px;margin:0;overflow:hidden}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101b2050,transparent 30%),linear-gradient(0deg,#101b2088,transparent 34%);pointer-events:none}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-visual figcaption{position:absolute;z-index:1;bottom:28px;left:32px;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#fff}
.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1fr .75fr;gap:10vw;align-items:start}.intro h2{margin:0}.intro-copy{padding-top:36px}.intro-copy .large{font-size:clamp(1.18rem,1.65vw,1.54rem);line-height:1.55;font-weight:500;color:var(--ink)}.intro-copy p:not(.large){color:var(--muted);font-size:.97rem;margin:23px 0 30px}
.services{background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:10vw;margin-bottom:58px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;color:var(--muted);font-size:1rem;margin:0 0 6px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:var(--cream);padding:28px clamp(20px,2.4vw,38px) 34px;min-height:365px;display:flex;flex-direction:column}.service-number{font-size:.69rem;letter-spacing:.13em;color:#526f72}.service-symbol{font-family:var(--serif);font-size:3.8rem;color:#27777b;line-height:1;margin:37px 0 28px}.service-card h3{font-size:1.27rem;margin:0 0 14px}.service-card p{font-size:.88rem;color:var(--muted);margin:0}
.benefits{background:#fff}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.benefit-grid article{padding:29px;border:1px solid var(--line);min-height:290px;background:linear-gradient(145deg,#f8fbf9 0%,#fff 60%)}.benefit-grid article span{display:block;color:#27777b;font-size:.7rem;font-weight:800;letter-spacing:.14em;margin-bottom:65px}.benefit-grid h3{font-size:1.32rem;line-height:1.23;margin-bottom:13px}.benefit-grid p{font-size:.88rem;color:var(--muted);margin:0}
.feature-band{display:grid;grid-template-columns:1fr 1fr;background:var(--night-2);color:#fff}.feature-image{min-height:550px}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-copy{padding:clamp(76px,8vw,130px) max(48px,calc((100vw - 1360px)/2)) clamp(76px,8vw,130px) clamp(55px,7vw,125px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.feature-copy h2{color:#fff}.feature-copy>p:not(.eyebrow){color:#bdd0d1;max-width:480px;margin-bottom:30px}
.projects{background:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{background:#f2f5f2;border:1px solid #e8eeeb;min-height:425px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.project-card:nth-child(4n+2){background:#e8f0ed}.project-card:nth-child(4n+3){background:#e7eef0}.project-card .project-index{font-size:.68rem;letter-spacing:.13em;color:#4d7779;font-weight:800;position:relative;z-index:1}.project-card>div{position:relative;z-index:1}.project-card h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.13;margin:0 0 15px}.project-card p{font-size:.88rem;line-height:1.63;margin:0 0 23px;color:#53696b;max-width:370px}.project-tags{display:flex;flex-wrap:wrap;gap:7px}.project-tags span{padding:7px 10px;border:1px solid #aac5c2;border-radius:20px;font-size:.64rem;font-weight:700;color:#3a6668}.project-card.featured{background:var(--night);color:white}.project-card.featured:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#101b2070 0%,#101b2000 30%,#101b20ed 100%)}.project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-card.featured .project-index,.project-card.featured p,.project-card.featured .project-tags span{color:#fff}.project-card.featured .project-tags span{border-color:#ffffff8c;background:#10222968}.project-note{text-align:right;color:#526f72;font-size:.78rem;margin:24px 0 0}
.hospitality{background:#13252b;color:white}.hospitality-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-block:100px}.hospitality-copy h2{max-width:620px}.hospitality-copy p:not(.eyebrow){color:#b8cbcd;max-width:530px}.hospitality-grid>img{width:100%;height:430px;object-fit:cover}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.steps article{padding:25px 25px 0 0}.steps article+article{border-left:1px solid var(--line);padding-left:25px}.steps span{display:block;color:#27777b;font-size:.72rem;font-weight:800;letter-spacing:.15em;margin-bottom:50px}.steps h3{font-size:1.28rem;margin-bottom:12px}.steps p{font-size:.88rem;color:var(--muted);margin:0}
.site-footer{background:var(--night);color:#cfddde;padding:70px 0 24px}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner img{width:240px;height:auto}.footer-inner p{font-size:.83rem;color:#92a9ac;margin:15px 0 0}.footer-links{display:flex;align-items:flex-start;gap:30px;font-size:.78rem}.footer-links a:hover{color:var(--aqua)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff26;padding-top:24px;margin-top:75px;color:#789296;font-size:.72rem}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.footer-bottom a:hover{color:var(--aqua)}
@media(max-width:1100px){.header-inner{min-height:95px}.brand img{width:190px}.main-nav{gap:16px}.main-nav a{font-size:.72rem}.hero-grid{min-height:620px}.hero-copy{padding-right:35px}.service-grid,.benefit-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:310px}.project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:min(100% - 38px,560px)}.header-inner{min-height:85px;flex-wrap:wrap;justify-content:space-between;gap:0;padding-block:15px}.brand img{width:173px}.language-switch{margin-left:auto}.main-nav{order:3;overflow:auto;width:100%;gap:25px;padding-top:20px;white-space:nowrap}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:73px 0 58px}.hero h1{font-size:clamp(3.25rem,12vw,5.4rem)}.hero-lead{max-width:500px}.hero-foot{padding-top:55px}.hero-visual{min-height:385px;max-height:480px}.intro-grid{grid-template-columns:1fr;gap:20px}.intro-copy{padding-top:0}.section-heading{display:block}.section-heading>p{margin-top:30px}.feature-band{grid-template-columns:1fr}.feature-image{min-height:380px;max-height:520px}.feature-copy{padding:75px 19px}.hospitality-grid{grid-template-columns:1fr;gap:35px;padding-block:80px}.hospitality-grid>img{height:350px}.steps{grid-template-columns:repeat(2,1fr);row-gap:35px}.steps article:nth-child(3){border-left:0;padding-left:0}.steps span{margin-bottom:25px}.footer-inner{flex-direction:column}.footer-bottom{margin-top:50px}}
@media(max-width:550px){.section{padding-block:78px}.hero-actions{align-items:stretch;flex-direction:column;gap:14px;width:100%}.hero-visual{min-height:330px}.service-grid,.benefit-grid{grid-template-columns:1fr}.service-card{min-height:290px}.service-symbol{margin:30px 0 20px}.benefit-grid article{min-height:220px}.benefit-grid article span{margin-bottom:35px}.project-grid{grid-template-columns:1fr}.project-card{min-height:370px}.project-card.featured{min-height:475px}.steps{grid-template-columns:1fr}.steps article,.steps article+article,.steps article:nth-child(3){border-left:0;padding:20px 0 0;border-top:1px solid var(--line)}.steps article:first-child{border-top:0}.steps span{margin-bottom:15px}.footer-bottom{flex-direction:column}.footer-links{flex-direction:column;gap:16px}}

.project-card{transition:transform .22s,box-shadow .22s;min-height:490px}
.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #13262d1a}
.project-card>div{margin-top:auto}
.project-card.featured:after{background:linear-gradient(180deg,rgba(12,27,33,.54) 0%,rgba(12,27,33,.22) 20%,rgba(12,27,33,.58) 34%,rgba(12,27,33,.86) 100%)}
.project-card .project-tags{max-height:none}
.project-card-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:58px;margin-top:23px;padding:15px 21px;border:1px solid #6f9698;color:var(--ink);font-size:.87rem;line-height:1.45;font-weight:750;transition:background .2s,border-color .2s}.project-card:hover .project-card-link{background:#e6f6f4;border-color:#3a8588}
.project-card.featured .project-card-link{color:#e7f2f3;border-color:#7b9c9f;background:#101b2066}.project-card.featured:hover .project-card-link{background:#101b2099;border-color:var(--aqua)}
.project-card-art{position:absolute;top:15%;right:8%;font-size:9rem;line-height:1;font-weight:700;letter-spacing:-.1em;color:#d0e2dc}
.project-card-art i{font:normal 7rem Georgia,serif;color:#bbd7d0;position:absolute;right:-8px;top:40px}
@media(max-width:550px){.project-card{min-height:450px}.project-card.featured{min-height:560px}}
.button,.project-card-link{max-width:100%}
html{scroll-behavior:auto}
.main-nav a,.language-switch a,.language-switch span[aria-current]{display:inline-flex;align-items:center;min-height:44px}.language-switch a,.language-switch span[aria-current]{min-width:32px;justify-content:center}.footer-links a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){.main-nav{flex-wrap:wrap;gap:0 20px;overflow:visible;padding-top:12px;white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.contact-section{background:#eaf2ee;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,125px);align-items:center}.contact-intro h2{max-width:620px;margin-bottom:24px}.contact-intro>p:not(.eyebrow){max-width:480px;color:var(--muted);margin-bottom:30px}.contact-details{font-style:normal;min-width:0}.contact-person{padding-bottom:30px}.contact-person>span{display:block;font-size:.68rem;letter-spacing:.16em;font-weight:750;color:#356c6e;margin-bottom:12px}.contact-person>strong{font-size:clamp(1.65rem,2.4vw,2.35rem);font-weight:600;letter-spacing:-.035em}.contact-row{display:grid;grid-template-columns:75px minmax(0,1fr) 18px;align-items:start;gap:18px;padding:25px 0;border-top:1px solid #bfd2cd}.contact-label{font-size:.75rem;color:#4b6665;padding-top:5px}.contact-value{font-size:clamp(.95rem,1.3vw,1.12rem);font-weight:550;line-height:1.7;overflow-wrap:anywhere}.contact-row>span:last-child:not(.contact-value){padding-top:5px;color:#39888a}.contact-row[href]:hover .contact-value{color:#237d80}.contact-address{padding-bottom:0}.footer-contact{display:flex;flex-direction:column;gap:12px;font-size:.85rem}.footer-contact a:hover{color:var(--aqua)}.footer-links{flex-wrap:wrap}.site-footer .footer-inner{align-items:flex-start}.site-footer .footer-contact{overflow-wrap:anywhere}
@media(max-width:1000px){.contact-row{grid-template-columns:62px minmax(0,1fr) 15px;gap:12px}.footer-inner{flex-wrap:wrap}.footer-links{font-size:.72rem;gap:18px}}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:45px}.contact-person{padding-bottom:24px}.contact-row{padding-block:20px}.contact-address{padding-bottom:0}.contact-value{font-size:1rem}.footer-contact{margin-top:8px}.footer-links{margin-top:8px}}

.hero-visual--smart{background:#00212b;min-height:660px;isolation:isolate}
.hero-visual--smart:after{background:linear-gradient(0deg,#00212b 0%,transparent 18%,transparent 85%,#00212b 100%)}
.smart-hero-stage{position:absolute;top:50%;left:0;width:100%;aspect-ratio:1122/1402;transform:translateY(-50%)}
.hero-visual--smart .smart-hero-stage>img{display:block;width:100%;height:auto}
.smart-signal{position:absolute;width:8%;aspect-ratio:1;border:1px solid #71f8ff;border-radius:50%;opacity:0;animation:smart-signal 3.6s ease-out infinite;pointer-events:none}
.smart-signal--lighting{left:40%;top:19.1%}
.smart-signal--energy{left:76.7%;top:11.6%;animation-delay:.9s}
.smart-signal--climate{left:64.3%;top:25.6%;animation-delay:1.8s}
.smart-signal--control{left:84.4%;top:52.7%;animation-delay:2.7s}
@keyframes smart-signal{0%{transform:scale(.45);opacity:0}15%{opacity:.85}65%,100%{transform:scale(1.9);opacity:0}}
.hero-visual--smart figcaption{bottom:30px;left:28px;right:80px;font-size:.66rem;line-height:1.8;letter-spacing:.13em;color:#d6f5f5}
.smart-motion-toggle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.smart-motion-label{position:absolute;z-index:2;bottom:24px;right:22px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #65a1a7;border-radius:50%;color:#e6ffff;background:#00212b;cursor:pointer}
.smart-motion-label svg{width:16px;height:16px;fill:currentColor}
.smart-motion-label .smart-play{display:none}
.smart-motion-toggle:focus-visible+.smart-motion-label{outline:3px solid #5ddfe6;outline-offset:4px}
.smart-motion-toggle:checked~.smart-hero-stage .smart-signal{animation-play-state:paused;opacity:0}
.smart-motion-toggle:checked+.smart-motion-label .smart-pause{display:none}
.smart-motion-toggle:checked+.smart-motion-label .smart-play{display:block}
@media(max-width:760px){.hero-visual--smart{min-height:450px;max-height:none}.hero-visual--smart figcaption{left:20px;bottom:26px;font-size:.6rem;letter-spacing:.08em}.smart-motion-label{right:16px;bottom:20px}}
@media(min-width:551px) and (max-width:760px){.hero-visual--smart{min-height:620px}}
@media(prefers-reduced-motion:reduce){.smart-signal{animation:none!important}.smart-motion-toggle,.smart-motion-label{display:none}.hero-visual--smart figcaption{right:28px}}
