@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500&display=swap');
:root{--serif:"Bodoni Moda",Georgia,serif}
header nav{gap:27px;font-size:12px;letter-spacing:.15px;white-space:nowrap}
.mobile-languages{display:none}
.language-switcher{position:relative}.language-trigger{display:flex;align-items:center;gap:8px;padding:10px 3px;border:0;background:transparent;color:#fff;font:500 11px/1 var(--sans);letter-spacing:1px;cursor:pointer}.language-flag{font-size:16px;line-height:1;letter-spacing:0}.language-trigger i{width:7px;height:7px;margin-left:1px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}.language-switcher.open .language-trigger i{transform:rotate(225deg) translate(-1px,-1px)}.language-menu{position:absolute;top:calc(100% + 12px);right:-13px;min-width:94px;padding:7px;background:#080808;border:1px solid #ffffff2e;box-shadow:0 14px 35px #0006;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s}.language-switcher.open .language-menu{opacity:1;visibility:visible;transform:none}.language-menu a{display:flex;align-items:center;gap:9px;padding:10px 12px;color:#aaa;font-size:11px;letter-spacing:1px}.language-menu b,.mobile-languages b{font:inherit}.language-menu a:hover,.language-menu a.active{color:#fff;background:#ffffff12}
.hero-inner{padding-bottom:42px}.hero-eyebrow{font-size:11px;font-weight:500;letter-spacing:2.2px;margin:0 0 25px}.hero h1{font-size:clamp(44px,4.2vw,64px);line-height:1.02;max-width:1050px;text-transform:none;margin-bottom:22px}.hero-sub{font-size:13px}.hero-cta{bottom:15px}
.project-track h3{font-size:19px;line-height:1.15}.project-track p{font-size:9px}.project-track img{height:390px}
.cta{padding:90px 4vw 100px}.cta h2{font-size:clamp(42px,5.1vw,74px);line-height:.98;margin:30px auto 45px;max-width:1100px}.cta p{font-size:10px}.cta a{padding:16px 24px}
.reference-footer{min-height:650px}.footer-brand{padding-top:55px;padding-bottom:105px}.footer-logo{width:185px;height:100px;margin-bottom:18px}.footer-brand>p{font-size:15px;max-width:400px;margin-bottom:28px}.footer-email{font-size:15px}.socials{margin-top:22px}.footer-right{padding-top:55px;padding-bottom:105px}.newsletter h2{font-size:44px;margin-bottom:18px}.newsletter>p{font-size:15px;max-width:590px;margin-bottom:20px}.newsletter-form{grid-template-columns:1fr 165px;max-width:680px}.newsletter-form input{height:56px}.footer-columns{margin-top:75px;gap:35px}.footer-columns h3{font-size:19px;margin-bottom:12px}.footer-columns a{font-size:14px}.reference-bottom{bottom:20px}
@media(max-width:850px){.hero-inner{padding-bottom:65px}.hero-eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:42px}.hero-sub{font-size:11px}.project-track img{height:340px}.cta{padding:75px 22px 80px}.cta h2{font-size:42px}.reference-footer{min-height:0}.footer-brand,.footer-right{padding-top:45px}.newsletter h2{font-size:38px}.footer-columns{margin-top:55px}}

/* Production homepage hero geometry */
header{position:absolute;height:86px;padding:0 3.35vw;background:transparent}
.hero{height:100vh;min-height:620px;max-height:none}
.hero-video{filter:none}
.hero-bg{background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.38) 47%,rgba(0,0,0,.13) 100%),linear-gradient(0deg,rgba(0,0,0,.38),transparent 42%)}
.hero-inner{position:absolute;display:block;height:auto;left:7vw;top:31%;width:min(900px,65vw);padding:0}
.hero-eyebrow{font-family:var(--h2m-body-font,"Helvetica Neue",Arial,sans-serif);font-size:12px;line-height:1.35;letter-spacing:1.8px;margin:0 0 25px;text-transform:uppercase}
.hero h1{font-family:var(--h2m-heading-font,"Iowan Old Style",Baskerville,"Times New Roman",serif);font-size:clamp(52px,4.2vw,62px);line-height:1.02;letter-spacing:-.7px;max-width:900px;margin:0 0 35px}
.hero-sub{display:none}
.hero-cta{position:static;display:inline-flex;align-items:center;gap:70px;font-family:var(--h2m-body-font,"Helvetica Neue",Arial,sans-serif);font-size:10px;line-height:1;letter-spacing:1.1px;border-bottom:1px solid rgba(255,255,255,.65);padding:0 0 12px;min-width:202px}
.home-meta{position:absolute;z-index:3;left:7vw;right:7vw;bottom:30px;display:grid;grid-template-columns:1fr auto;align-items:center;color:#fff;font-family:var(--h2m-body-font,"Helvetica Neue",Arial,sans-serif)}
.home-legacy,.home-legacy button,.home-legacy input,.home-legacy textarea,.home-legacy select{font-family:var(--h2m-body-font,"Helvetica Neue",Arial,sans-serif)}
.home-legacy h1,.home-legacy h2,.home-legacy h3,.home-legacy .kicker{font-family:var(--h2m-heading-font,"Iowan Old Style",Baskerville,"Times New Roman",serif)}
.home-slide-label{margin:0;text-align:left;font-size:12px;letter-spacing:1.8px;text-transform:uppercase}
.hero-arrows{display:flex;justify-content:flex-end;gap:20px}.hero-arrows button{border:0;background:transparent;color:#fff;font-size:22px;font-weight:300;padding:5px;opacity:.85}
@media(max-width:850px){header{position:fixed;height:70px;transform:none!important}.hero{height:100svh;min-height:650px}.hero-inner{left:22px;right:22px;top:29%;width:auto}.hero-eyebrow{font-size:10px;margin-bottom:20px}.hero h1{font-size:clamp(39px,11vw,52px);line-height:1.01;margin-bottom:30px}.home-meta{left:22px;right:22px;bottom:24px;grid-template-columns:1fr auto}.home-slide-label{font-size:9px}.hero-arrows{gap:8px}.hero-arrows button{font-size:18px}}
@media(max-width:850px){header.open nav{gap:18px}.mobile-languages{display:flex;gap:8px;margin-top:22px;padding-top:22px;border-top:1px solid #ffffff2e;font:500 10px var(--sans)}.mobile-languages a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:48px;height:48px;border:1px solid #ffffff38}.mobile-languages a span{font-size:17px;line-height:1}.mobile-languages a.active{background:#fff;color:#050505;border-color:#fff}}

.section-label{display:block;grid-column:1/-1;margin:0 0 -35px;font:500 10px/1.2 var(--sans);letter-spacing:2px;color:#777}.pillars .section-label{padding:0 24px;margin:0;align-self:center}.intro-copy p{font-weight:300;color:#3d3d3d}.intro-copy p:first-child{font-size:17px}.section-head h2,.expertise>h2,.also-specialise>h2{letter-spacing:-.4px}
@media(max-width:850px){.section-label{margin-bottom:-18px}.pillars .section-label{grid-column:1/-1;padding:10px 16px 0}}

.live-hero-slides,.live-hero-slide{position:absolute;inset:0}.live-hero-slides{z-index:0;overflow:hidden}.live-hero-slide{background-position:center;background-size:cover;opacity:0;transform:scale(1.015);transition:opacity 1s ease,transform 7s ease}.live-hero-slide.active{opacity:1;transform:scale(1)}.hero-bg{z-index:1}.hero-inner{z-index:2;transition:opacity .18s ease,transform .18s ease}.hero-inner.changing{opacity:0;transform:translateY(7px)}.home-brand-signature{height:0;opacity:0;overflow:hidden;transition:.3s}.home-brand-signature.is-visible{height:72px;opacity:1;margin-bottom:18px}.home-brand-signature img{width:auto;max-width:260px;height:100%;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
@media(max-width:850px){.home-brand-signature.is-visible{height:54px;margin-bottom:14px}.home-brand-signature img{max-width:190px}}

.logo-rail{overflow:hidden}.logo-rail>div{display:flex;width:max-content;min-width:0;grid-template-columns:none;animation:partnerMarquee 28s linear infinite;will-change:transform}.logo-rail img{flex:0 0 calc(100vw / 6);width:calc(100vw / 6);height:116px}.logo-rail:hover>div{animation-play-state:paused}@keyframes partnerMarquee{to{transform:translateX(-50%)}}
@media(max-width:850px){.logo-rail>div{height:92px;animation-duration:21s}.logo-rail img{flex-basis:calc(100vw / 3);width:calc(100vw / 3);height:92px;padding:18px 24px}}
@media(prefers-reduced-motion:reduce){.logo-rail>div{animation-duration:70s}}

/* Fluid hero: scale against both viewport width and usable viewport height. */
.hero{height:100vh;height:100svh;height:100dvh;min-height:0}
.hero-inner{top:clamp(112px,28dvh,31%);max-height:calc(100dvh - 205px)}
.hero-eyebrow{font-size:clamp(9px,min(1vw,1.8dvh),12px);margin-bottom:clamp(12px,2.8dvh,25px)}
.hero h1{font-size:clamp(32px,min(4.2vw,7dvh),62px);line-height:1.02;margin-bottom:clamp(18px,3.8dvh,35px)}
.hero-cta{font-size:clamp(9px,min(.8vw,1.6dvh),11px);padding-bottom:clamp(8px,1.6dvh,12px)}
.home-meta{bottom:clamp(12px,3dvh,30px)}
.home-brand-signature.is-visible{height:clamp(42px,8dvh,72px);margin-bottom:clamp(10px,2.4dvh,18px)}

@media(max-width:850px){.hero{height:100vh;height:100svh;height:100dvh;min-height:0}.hero-inner{top:clamp(92px,24dvh,190px);max-height:calc(100dvh - 170px)}.hero-eyebrow{font-size:clamp(8px,min(2.6vw,1.8dvh),10px);margin-bottom:clamp(10px,2.4dvh,20px)}.hero h1{font-size:clamp(29px,min(10.5vw,7dvh),52px);line-height:1;margin-bottom:clamp(16px,3dvh,30px)}.home-meta{bottom:clamp(10px,2.5dvh,24px)}.home-brand-signature.is-visible{height:clamp(36px,7dvh,54px);margin-bottom:clamp(8px,2dvh,14px)}}
@media(max-height:650px){header{height:64px}.hero-inner{top:clamp(78px,20dvh,126px);max-height:calc(100dvh - 130px)}.hero h1{font-size:clamp(27px,min(4.5vw,6.7dvh),44px);margin-bottom:14px}.hero-eyebrow{margin-bottom:10px}.hero-cta{padding-bottom:8px}.home-meta{bottom:8px}.home-brand-signature.is-visible{height:34px;margin-bottom:7px}}
@media(max-width:850px) and (max-height:650px){.hero-inner{left:20px;right:20px;top:clamp(74px,18dvh,112px)}.hero h1{font-size:clamp(26px,min(9vw,6.5dvh),42px)}.home-slide-label{display:none}.home-meta{grid-template-columns:1fr auto}}
