/* Name-led identity and an unobstructed film, shared by both runtimes. */
:root{--paper:#f1f2ee;--ink:#203b32;--muted:#4d5e54;--sage:#e5e8d4;--gutter:clamp(23px,4vw,64px)}
body{font-size:16px;line-height:1.6}p{text-wrap:pretty;max-width:60ch}h1,h2,h3{text-wrap:balance}
.brand>svg{width:158px;height:78px}.brand{gap:0}.site-header{height:112px;border:0}.language{border:0;border-radius:0;font-size:14px}.desktop-nav,.header-actions{font-size:14px}.header-phone{border:0}.desktop-nav a:after{display:none}
/* The name is the architecture; the work stays visible rather than under a slogan. */
.hero{display:flex;flex-direction:column;justify-content:flex-start;height:auto;min-height:0;max-height:none;background:var(--ink);overflow:hidden}
.hero-content{order:0;display:grid;grid-template-columns:1.45fr 1fr;gap:5vw;align-items:end;padding:44px var(--gutter) 42px}
.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(104px,15.3vw,246px);font-weight:800;line-height:.85;letter-spacing:-.065em;white-space:nowrap;padding-bottom:.05em;max-width:none}
.hero-lower{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-bottom:3px}
.hero-lower p{max-width:33ch;font-size:16px;line-height:1.6;color:var(--paper)}.hero-lower .button{margin:0}
.button{justify-content:center;gap:0;padding:18px 25px;min-height:58px;font-size:16px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);box-shadow:none}.button:active{transform:translateY(1px)}
.hero-media{order:1;position:relative;inset:auto;z-index:auto;transform:none!important;will-change:auto;height:clamp(360px,39vw,600px);background:#39453e}
.hero video{height:100%;width:100%;object-fit:cover;object-position:50% 58%}.hero-shade{display:none}
.hero-meta{order:2;padding-top:10px;padding-bottom:10px;background:var(--ink);border:0;font-size:14px;letter-spacing:0;min-height:64px}.hero-meta>a{text-decoration:underline;text-underline-offset:5px}.hero-meta>span{font-size:14px}
.video-control{min-width:95px;justify-content:center;padding:8px 18px;min-height:44px;font-size:14px;background:#344e42}.video-control:hover{background:#45614f}
.section{padding-top:120px;padding-bottom:120px}.intro-top{display:block}.intro-top h2{font-size:clamp(46px,5vw,72px)}.intro-grid{margin-top:44px;gap:8vw}.intro-copy>p{font-size:16px;line-height:1.65}.intro-grid figcaption{font-size:14px;color:var(--muted)}
.text-link{justify-content:flex-start;font-size:16px;border:0;text-decoration:underline;text-underline-offset:6px}.sector-copy .text-link{font-size:16px}.text-link:hover{text-decoration-thickness:2px}
.section-heading .section-intro,.sector-copy>p,.steps p{font-size:16px;line-height:1.65;color:var(--ink)}.section-intro{max-width:32ch}.section-heading h2,.process h2,.faq h2{font-size:clamp(46px,5vw,72px)}
.expertise{background:#e4e8e0}.sector-tabs{border:0;gap:12px}.sector-tabs button,.sector-tabs button+button{font-size:16px;padding:15px 20px;border:0;color:var(--ink);background:#d9dfd3}.sector-tabs button[aria-selected=true]{font-weight:600;color:var(--paper);background:var(--ink)}
.sector-image:hover img{transform:none}.sector-image img{aspect-ratio:1.35}.image-label{display:none}.sector-copy h3{font-size:28px}.sector-copy ul{font-size:16px}.sector-copy li{border:0;padding:6px 0}.media-note{font-size:14px;line-height:1.6;max-width:65ch;color:var(--muted);margin-top:25px}
/* One deliberate click-to-play scene accompanies the actual preparation sequence. */
.process-story{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(35px,6vw,90px);align-items:start}.process-story figure{min-width:0}.planning-visual{position:relative;background:#d6d9cd;overflow:hidden}
.process-story .planning-visual img,.process-story .planning-visual video{aspect-ratio:1.3;object-fit:cover;object-position:30% 55%;width:100%;height:auto}.process-story figcaption{font-size:14px;color:var(--muted);margin-top:14px}
.process-story .steps{display:block;border:0}.process-story .steps li{padding:0 0 30px;border:0}.process-story .steps li:last-child{padding-bottom:0}.process-story .steps h3{font-size:28px;margin-bottom:10px}.process-story .steps p{font-size:16px;max-width:100%;color:var(--ink);line-height:1.6}.process .section-heading{margin-bottom:46px}
.media-play{left:18px;right:auto;bottom:18px;max-width:calc(100% - 36px);font-size:14px;background:var(--paper);padding:13px 18px;box-shadow:none}.media-play[hidden]{display:none}.media-play:hover{background:white}
.faq{padding-top:0;grid-template-columns:1fr 1.4fr;gap:5vw}.faq-list{border:0}details{border:0}.faq summary{font-size:16px;line-height:1.5;padding:22px 0}.faq-list details p{font-size:16px;line-height:1.6;color:var(--ink)}.faq-list details+details{margin-top:8px}.plus{flex-shrink:0}
.contact{padding-bottom:60px}.contact-heading h2{font-size:clamp(46px,5vw,72px)}.contact-heading>div>p{font-size:16px;color:var(--paper);line-height:1.65}.contact-details{border:0;margin-top:65px}.contact-details span{font-size:14px;color:#d4ddcf}.contact-details p{font-size:16px}.contact-note{font-size:14px;color:#d4ddcf;max-width:65ch;line-height:1.6}
.site-footer{background:var(--ink);color:var(--paper);padding-top:30px}.site-footer .brand>svg{width:clamp(240px,28vw,410px);height:auto}.footer-top{align-items:flex-end;gap:40px;padding-bottom:60px}.footer-top>p,.back-top{font-size:14px;color:var(--paper)}.back-top{border:0;text-decoration:underline;text-underline-offset:5px}.footer-bottom{border:0;font-size:14px;color:#d4ddcf}.footer-bottom small{font-size:14px}.privacy summary,.privacy p{font-size:14px;color:#d4ddcf}.privacy p{max-width:65ch}.privacy summary:before{content:none}
@media(max-width:1100px){.desktop-nav{gap:17px;font-size:14px}.hero-content{gap:3vw}.hero h1{font-size:14vw}.hero-lower p{font-size:16px}.contact-details{grid-template-columns:1fr 1.4fr 1fr}.section{padding-top:95px;padding-bottom:95px}.sector-panel{gap:40px}}
@media(max-width:760px){
.site-header{height:91px}.brand>svg{width:132px;height:65px}.language{font-size:14px}.hero-content{display:block;padding:35px 23px 30px}.hero h1{font-size:22vw;line-height:1;letter-spacing:-.065em;padding:0;margin-left:-3px}.hero-lower{margin-top:24px;padding:0;gap:22px}.hero-lower p{font-size:16px;line-height:1.55;max-width:32ch}.hero-lower .button{margin:0;min-height:52px;font-size:14px}
.hero-media{height:auto;aspect-ratio:1.77778}.hero video{position:absolute;inset:0;object-position:50% 58%}.hero-meta{padding:8px 23px;min-height:60px;font-size:14px}.hero-meta>span{display:none}.video-control{font-size:14px;min-width:78px}
.section{padding:76px 23px}.intro-top h2,.section-heading h2,.process h2,.faq h2{font-size:46px;line-height:1.05}.intro-grid{margin-top:30px;gap:30px}.intro-copy>p{font-size:16px}.intro-grid figcaption{font-size:14px}.section-heading .section-intro,.sector-copy>p{font-size:16px;max-width:100%}.sector-copy h3{font-size:28px}.sector-copy ul{font-size:16px}.sector-copy .text-link,.text-link{font-size:14px}.sector-tabs button,.sector-tabs button+button{font-size:17px;padding:14px}.media-note{font-size:14px;max-width:60ch}
.process-story{display:flex;flex-direction:column;gap:35px}.process-story figure,.process-story .steps{width:100%}.process-story .planning-visual img,.process-story .planning-visual video{aspect-ratio:1.35;object-position:28% 55%}.process-story .steps li{padding:0 0 28px}.process-story .steps h3{font-size:28px}.process-story .steps p{font-size:16px}.process .section-heading{margin-bottom:32px}.process-story figcaption{font-size:14px}.media-play{font-size:14px;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:13px}
.faq{padding-top:0}.faq summary{font-size:17px}.faq-list details p{font-size:16px}.contact-heading h2{font-size:46px}.contact-heading>div>p{font-size:16px}.contact-details{grid-template-columns:1fr;margin-top:40px}.contact-details span{font-size:14px}.contact-details p{font-size:16px}.contact-note{font-size:14px}.site-footer{padding:25px 23px}.footer-top{display:flex;flex-wrap:wrap;gap:28px}.site-footer .brand>svg{width:240px;height:auto}.footer-top>p,.back-top{font-size:14px}.footer-bottom,.footer-bottom small{font-size:14px}.privacy summary,.privacy p{font-size:14px}
}
@media(max-width:350px){.brand>svg{width:119px;height:60px}.hero-content{padding-top:28px}.hero h1{font-size:22vw}.contact-details a{font-size:16px}.hero-meta{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-media{transform:none!important}.button{transition:none}.button:hover{transform:none}}
