
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');
:root{
  --ink:#16191c; --muted:#6a7177; --blue:#179bd4; --blue2:#7dc5e7;
  --line:#e2e6e8; --soft:#f4f6f7; --dark:#151f27; --paper:#fff;
  --max:1520px; --pad:max(28px,5vw); --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img,video{display:block;max-width:100%}
.wrap{width:min(var(--max),calc(100% - 2*var(--pad)));margin:auto}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.eyebrow{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.23em;color:var(--blue);font-weight:700;margin-bottom:16px}
.section-title{font-size:clamp(25px,2.74vw,43px);line-height:1.06;letter-spacing:-.045em;font-weight:300;margin:0}
.section-intro{font-size:14px;color:var(--muted);max-width:610px;margin:0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:34px}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.text-link .arr{transition:transform .25s}
.text-link:hover .arr{transform:translateX(5px)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:255px;height:54px;object-fit:contain;object-position:left center}
.menu{display:flex;align-items:center;gap:30px;font-size:11px;font-weight:600;letter-spacing:.055em;text-transform:uppercase}
.menu a{position:relative;padding:12px 0}
.menu a:not(.talk):after{content:"";position:absolute;left:0;bottom:4px;width:0;height:2px;background:var(--blue);transition:width .3s var(--ease)}
.menu a:hover:after,.menu a.active:after{width:100%}
.talk{padding:12px 18px!important;border:1px solid #aab5bd;transition:.25s}
.talk:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.menu-btn{display:none;border:0;background:transparent;font-size:26px}
.progress-top{position:fixed;z-index:60;top:0;left:0;height:2px;background:var(--blue);width:0}

.hero{height:max(660px,92svh);position:relative;background:#111;overflow:hidden;padding-top:82px}
.hero-slide{position:absolute;inset:82px 0 0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s}
.hero-slide.active{opacity:1;visibility:visible;pointer-events:auto;cursor:pointer;transition:opacity .35s ease,visibility 0s}
.hero-slide .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.025);transition:transform 7.5s linear}
.hero-slide.active .bg{transform:scale(1)}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,13,18,.76) 0%,rgba(7,13,18,.52) 35%,rgba(7,13,18,.16) 70%,rgba(7,13,18,.06) 100%)}

.hero-slide::before{content:"Explore ↘";position:absolute;z-index:4;right:var(--pad);top:34px;color:#fff;font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:0;transform:translateY(-4px);transition:.25s}
.hero-slide.active:hover::before{opacity:.75;transform:none}
.hero-content a,.hero-ui button{cursor:pointer}

.hero-content{position:absolute;z-index:3;left:var(--pad);top:50%;transform:translateY(-46%);max-width:660px;color:#fff}
.hero-kicker{font-size:10px;letter-spacing:.25em;text-transform:uppercase;font-weight:600;opacity:.84;margin-bottom:18px}
.hero h1{font-size:clamp(31px,3.48vw,53px);font-weight:300;line-height:1.02;letter-spacing:-.05em;margin:0 0 20px}
.hero p{font-size:clamp(14px,1.25vw,18px);font-weight:300;max-width:570px;color:rgba(255,255,255,.92);margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:44px;padding:12px 20px;border:1px solid rgba(255,255,255,.76);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;transition:transform .25s,background .25s,color .25s,border-color .25s}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.btn:hover{transform:translateY(-2px);background:#fff;color:#111;border-color:#fff}
.hero-ui{position:absolute;z-index:5;left:var(--pad);right:var(--pad);bottom:28px;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:35px}
.hero-tabs{display:grid;grid-template-columns:repeat(5,minmax(84px,150px));gap:12px;max-width:720px;width:65%}
.hero-tab{border:0;background:none;color:#fff;text-align:left;padding:0;cursor:pointer}
.hero-tab .bar{height:1px;background:rgba(255,255,255,.35);margin-bottom:9px;position:relative;overflow:hidden}
.hero-tab .fill{position:absolute;inset:0 100% 0 0;background:#fff}
.hero-tab.active .fill{animation:heroProgress 6.5s linear forwards}
.hero-tab span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;opacity:.62}
.hero-tab.active span{opacity:1}
@keyframes heroProgress{to{right:0}}
.hero-arrows{display:flex;gap:8px}
.circle-btn{width:44px;height:44px;border:1px solid rgba(255,255,255,.52);background:rgba(0,0,0,.15);color:#fff;cursor:pointer;font-size:20px;transition:.2s}
.circle-btn:hover{background:#fff;color:#111}
.scroll-cue{position:absolute;right:var(--pad);bottom:98px;z-index:5;color:#fff;font-size:9px;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;display:flex;align-items:center;gap:10px;opacity:.72}
.scroll-cue:after{content:"";width:1px;height:56px;background:rgba(255,255,255,.55)}

section{padding:86px 0}
.services{background:#fff}
.service-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-card{padding:31px 26px 30px;border-right:1px solid var(--line);min-height:230px;position:relative;overflow:hidden;cursor:pointer;transition:background .3s}
.service-card:last-child{border-right:0}
.service-card:before{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.service-card:hover:before,.service-card:focus-visible:before{transform:scaleX(1)}
.service-num{font-size:10px;color:var(--blue);letter-spacing:.12em;margin-bottom:36px}
.service-card h3{font-size:12px;text-transform:uppercase;letter-spacing:.02em;margin:0 0 12px}
.service-card p{font-size:12px;color:var(--muted);margin:0;max-width:230px}
.service-more{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s var(--ease),opacity .3s;margin-top:0;font-size:11px;color:#444}
.service-card:hover .service-more,.service-card:focus-visible .service-more{max-height:90px;opacity:1;margin-top:16px}
.service-arrow{position:absolute;right:24px;bottom:24px;color:var(--blue);font-size:19px;transition:transform .25s}
.service-card:hover .service-arrow,.service-card:focus-visible .service-arrow{transform:translate(3px,-3px)}

.projects{background:var(--soft);overflow:hidden}
.project-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(315px,30vw);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 14px;scrollbar-width:none}
.project-rail::-webkit-scrollbar{display:none}
.project-card{height:505px;position:relative;overflow:hidden;background:#222;scroll-snap-align:start}
.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}
.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.12) 59%,rgba(0,0,0,.03))}
.project-card:hover img{transform:scale(1.045)}
.project-card .project-copy{position:absolute;z-index:2;left:25px;right:25px;bottom:24px;color:#fff;transition:transform .35s}
.project-card:hover .project-copy{transform:translateY(-7px)}
.project-type{font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.project-card h3{font-size:20px;line-height:1.2;margin:7px 0 3px}
.project-card p{font-size:11px;margin:0;opacity:.83}
.project-extra{max-height:0;opacity:0;font-size:10px;margin-top:9px;transition:.3s;overflow:hidden}
.project-card:hover .project-extra{max-height:36px;opacity:.82}
.rail-tools{display:flex;align-items:center;gap:9px}
.rail-tools button{width:40px;height:40px;border:1px solid #c8d0d4;background:transparent;cursor:pointer}
.rail-tools button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

.recognition{background:#fff}
.award-layout{display:grid;grid-template-columns:1.05fr 3fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.award-intro{padding:35px 38px 36px 0;border-right:1px solid var(--line)}
.award-intro h2{font-size:clamp(29px,2.82vw,43px);font-weight:300;line-height:1.04;letter-spacing:-.045em;margin:0 0 18px}
.award-intro p{font-size:13px;color:var(--muted);max-width:320px}
.award-cards{display:grid;grid-template-columns:repeat(5,1fr)}
.award{padding:36px 24px;border-right:1px solid var(--line);min-height:300px;position:relative;transition:background .25s}
.award:last-child{border-right:0}
.award:hover{background:#f7f9fa}
.award .year{font-size:11px;font-weight:700;margin-bottom:28px}
.award strong{font-size:12px;text-transform:uppercase;line-height:1.4;display:block;margin-bottom:18px}
.award p{font-size:11px;color:var(--muted);margin:0}
.badge{display:inline-flex;padding:5px 7px;border:1px solid #ccd5da;font-size:8px;letter-spacing:.12em;text-transform:uppercase;margin-top:18px}
.badge.win{border-color:var(--blue);color:#087cae}

.about{background:var(--soft)}
.about-grid{display:grid;grid-template-columns:.72fr 1.55fr;gap:58px;align-items:center}
.about-copy h2{font-size:clamp(28px,2.9vw,45px);font-weight:300;line-height:1.05;letter-spacing:-.045em;margin:0 0 20px}
.about-copy p{font-size:13px;color:var(--muted);max-width:480px}
.video-shell{height:470px;position:relative;overflow:hidden;background:#000;box-shadow:0 25px 60px rgba(0,0,0,.08)}
.video-shell video{width:100%;height:100%;object-fit:cover}
.video-shell:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.34),transparent 42%);pointer-events:none}
.video-controls{position:absolute;z-index:3;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;align-items:center;color:#fff}
.video-control{border:1px solid rgba(255,255,255,.65);background:rgba(0,0,0,.22);color:#fff;padding:10px 14px;cursor:pointer;font-size:9px;letter-spacing:.11em;text-transform:uppercase;backdrop-filter:blur(6px)}
.video-control:hover{background:#fff;color:#111}
.video-label{font-size:9px;letter-spacing:.13em;text-transform:uppercase;opacity:.82}

.sectors{background:#fff}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sector-card{height:255px;position:relative;overflow:hidden;background:#222}
.sector-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease),filter .35s}
.sector-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.03) 66%)}
.sector-card:hover img{transform:scale(1.05);filter:saturate(.88)}
.sector-copy{position:absolute;z-index:2;left:19px;right:19px;bottom:17px;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:12px}
.sector-copy span{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.sector-copy b{font-weight:400;font-size:20px;transition:transform .25s}
.sector-card:hover b{transform:translateX(5px)}
.sector-index{position:absolute;z-index:2;top:16px;right:17px;color:#fff;font-size:9px;opacity:.7}

.closing{background:var(--dark);color:#fff;padding:86px 0}
.closing-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:60px}
.closing h2{font-size:clamp(28px,3.33vw,50px);font-weight:300;letter-spacing:-.05em;line-height:1.01;margin:0}
.closing p{font-size:13px;color:#b8c0c5;margin:0 0 22px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:42px}
.footer-logo img{width:230px;max-width:100%;height:auto;filter:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:34px;display:flex;justify-content:space-between;color:#7f8a91;font-size:8px}

.cursor-dot,.cursor-ring{position:fixed;z-index:1000;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);display:none}
.cursor-dot{width:4px;height:4px;background:var(--blue)}
.cursor-ring{width:28px;height:28px;border:1px solid rgba(23,155,212,.64);transition:width .18s,height .18s,background .18s}
.cursor-ring.hot{width:44px;height:44px;background:rgba(23,155,212,.09)}

@media (pointer:fine) and (min-width:901px){.cursor-dot,.cursor-ring{display:block}}
@media(max-width:1120px){
  .menu{display:none}.menu-btn{display:block}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .service-card:nth-child(even){border-right:0}.service-card:nth-child(5){grid-column:1/-1;border-top:1px solid var(--line)}
  .award-layout{grid-template-columns:1fr}.award-intro{border-right:0;border-bottom:1px solid var(--line);padding-right:0}
  .award-cards{grid-template-columns:repeat(2,1fr)}.award{border-bottom:1px solid var(--line)}
  .about-grid{grid-template-columns:1fr}.sector-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  :root{--pad:22px}
  header{height:68px}.brand img{width:190px;height:46px}
  .hero{padding-top:68px;min-height:690px;height:88svh}.hero-slide{inset:68px 0 0}
  .hero-content{top:44%;}.hero h1{font-size:42px}.hero p{font-size:13px}
  .hero-tabs{width:100%;grid-template-columns:repeat(5,1fr);gap:6px}.hero-tab span{display:none}
  .hero-ui{bottom:18px}.scroll-cue{display:none}
  section{padding:62px 0}.section-head{align-items:start;flex-direction:column}
  .service-grid,.award-cards,.sector-grid,.footer-grid,.closing-grid{grid-template-columns:1fr}
  .service-card{border-right:0;border-bottom:1px solid var(--line)}
  .project-rail{grid-auto-columns:84vw}
  .project-card{height:460px}
  .video-shell{height:310px}
  .sector-card{height:230px}
  .footer-bottom{flex-direction:column;gap:10px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* V3: orderly, aligned editorial cards */
@media (min-width: 769px){
 .project-card,.project-card:nth-child(2),.project-card:nth-child(3),
 .projects.expanded .project-card:nth-child(n+4){
   height:440px!important;margin-top:0!important;max-width:none!important;
 }
}
.project-card{background:#e7ebed}
.project-card img{display:block}
.sector-choice{cursor:pointer}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}.v38-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin:14px 0 24px}
.v38-btn{appearance:none;border:1px solid #159ed3;background:#159ed3;color:#fff;padding:13px 19px;font:700 12px Montserrat,Arial,sans-serif;letter-spacing:.05em;cursor:pointer}
.v38-btn.secondary{background:#fff;color:#147ca6}
.v38-btn:hover{background:#183640;color:#fff}
.v38-select{display:flex;align-items:center;gap:8px;margin-top:8px;font:600 12px Montserrat,Arial,sans-serif;color:#237e9f;cursor:pointer}
.v38-select input{accent-color:#149bd0;width:16px;height:16px}
.v38-note{font-size:12px;color:#64747d;margin-right:auto}

@media(max-width:760px){.v38-actions{justify-content:flex-start}.v38-note{flex-basis:100%}}


:root{--ink:#20272b;--muted:#727b80;--blue:#1997d0;--soft:#f5f6f4;--dark:#26323a;--pad:max(24px,5.2vw)}
body{background:#fff}
section{padding:clamp(90px,10vw,164px) 0}
.eyebrow{letter-spacing:.2em;font-size:10px}
.section-title{font-weight:400;font-size:clamp(28px,3.7vw,56px);letter-spacing:-.055em}
.section-head{margin-bottom:46px}
.menu{gap:25px}
.hero{height:min(930px,96svh);min-height:660px;background:#d6dedf}
.hero-slide:after{background:linear-gradient(90deg,rgba(12,24,32,.50),rgba(12,24,32,.12) 64%,transparent)}
.hero-slide .bg{filter:saturate(.82) brightness(1.1)}
.hero-content{max-width:850px;top:48%}
.hero h1{font-weight:400;font-size:clamp(36px,4.37vw,74px);letter-spacing:-.062em;line-height:1.04}
.hero-kicker{letter-spacing:.19em}
.hero-actions .btn{background:transparent;border-color:rgba(255,255,255,.9)}
.hero-actions .btn:hover{background:white}
.hero-tabs{grid-template-columns:repeat(5,minmax(48px,110px));max-width:650px}
.hero-tab span{font-size:8px}
.services{padding-top:100px;padding-bottom:110px}
.services .section-intro{max-width:350px}
.service-grid{grid-template-columns:repeat(4,1fr);border-top:1px solid #e6e9e9;border-bottom:1px solid #e6e9e9}
.service-card{min-height:174px;padding:27px 23px 25px}
.service-num{margin-bottom:36px}
.service-card h3{font-size:clamp(13px,1.2vw,17px);text-transform:none;font-weight:500;letter-spacing:-.03em;line-height:1.25;max-width:210px}
.service-card p,.service-more{display:none}
.service-ambient{display:none}
.sectors{background:#f5f6f4}
.sector-stage{display:grid;grid-template-columns:1.3fr 1fr;min-height:610px;background:#fff}
.sector-visual{position:relative;min-height:610px;overflow:hidden;background:linear-gradient(135deg,#dbe4e7,#9cabb2)}
.sector-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:opacity .35s,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.sector-visual:hover img{transform:scale(1.035)}
.sector-visual-caption{position:absolute;bottom:23px;left:28px;font-size:10px;color:white;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 5px #222}
.sector-panel{padding:clamp(32px,4vw,70px);display:flex;flex-direction:column;justify-content:center}
.sector-active-title{font-size:clamp(25px,2.49vw,45px);font-weight:400;line-height:1.1;letter-spacing:-.05em;margin:4px 0 10px}
.sector-panel-note{font-size:12px;color:var(--muted);margin:0 0 32px}
.sector-choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.sector-choice{background:transparent;border:1px solid #d8dee1;padding:9px 12px;font-size:10px;color:#4c575d;cursor:pointer;transition:.2s}
.sector-choice:hover,.sector-choice.chosen{border-color:var(--blue);color:#087eaf;background:#f1f9fc}
.sector-view{color:var(--ink)}
.sector-link-list{display:none}
.projects{background:white}
.project-rail{display:grid;grid-template-columns:1.25fr .85fr 1fr;grid-auto-flow:unset;gap:22px;overflow:visible;padding:0 var(--pad);align-items:start}
.project-card{height:470px;background:#d9e0e3}
.project-card:nth-child(2){height:340px;margin-top:90px}
.project-card:nth-child(3){height:400px;margin-top:35px}
.project-card:nth-child(n+4){display:none}
.projects.expanded .project-rail{grid-template-columns:repeat(3,1fr)}
.projects.expanded .project-card:nth-child(n+4){display:block;height:400px;margin-top:0}
.project-card:after{background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 48%)}
.project-card img{filter:saturate(.9)}
.project-card h3{font-size:18px}
.project-more{text-align:right;margin-top:30px}
.quiet-toggle{background:transparent;border:0;border-bottom:1px solid #87959d;padding:8px 0;color:#26323a;cursor:pointer;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.quiet-toggle:hover{color:var(--blue);border-color:var(--blue)}
.rail-tools{display:none}
.about{background:#f5f6f4}
.about-grid{grid-template-columns:.8fr 1.4fr;gap:6vw}
.about-copy h2{font-size:clamp(32px,3.57vw,55px);font-weight:400}
.about-copy p{font-size:14px;line-height:1.8}
.video-shell{height:490px;box-shadow:none;background:#e4e9e9}
.recognition{background:white}
.award-layout{display:block;border:0}
.award-intro{border:0;padding:0 0 36px;display:flex;align-items:end;justify-content:space-between;gap:28px}
.award-intro h2{font-size:clamp(30px,3.4vw,52px);font-weight:400}
.award-intro p{max-width:270px}
.award-cards{grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.award{min-height:220px;padding:27px 24px;border-bottom:1px solid var(--line)}
.award:nth-child(n+4){display:none}
.recognition.expanded .award-cards{grid-template-columns:repeat(5,1fr)}
.recognition.expanded .award:nth-child(n+4){display:block}
.recognition .quiet-toggle{margin-top:25px}
.closing{background:#eef3f4;color:var(--ink);padding:clamp(110px,12vw,190px) 0}
.closing h2{font-size:clamp(38px,4.44vw,71px);font-weight:400}
.closing p{color:#58656c;font-size:13px}
.closing .btn.primary{background:transparent;border-color:var(--blue);color:#087cae}
.closing .btn.primary:hover{background:var(--blue);color:white}
@media(max-width:1120px){
 .service-grid{grid-template-columns:repeat(2,1fr)}
 .sector-stage{grid-template-columns:1fr}
 .sector-visual{min-height:440px}
 .project-rail{grid-template-columns:repeat(2,1fr)}
 .project-card:nth-child(3){grid-column:1/-1;max-width:70%;margin:0 auto}
 .award-cards{grid-template-columns:repeat(2,1fr)}
 .recognition.expanded .award-cards{grid-template-columns:repeat(2,1fr)}
 .menu{display:flex;position:fixed;top:70px;left:0;right:0;background:white;padding:26px var(--pad);flex-direction:column;align-items:flex-start;gap:8px;box-shadow:0 20px 30px #0001;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s}
 .menu.open{opacity:1;visibility:visible;transform:none}
 .menu-btn{display:block}
}
@media(max-width:700px){
 .hero{min-height:650px}
 .hero h1{font-size:clamp(35px,8.3vw,50px)}
 .service-grid{grid-template-columns:1fr 1fr}
 .service-card{min-height:165px;padding:24px 14px}
 .service-card:nth-child(even){border-right:0}
 .service-card h3{font-size:12px}
 .sector-visual{min-height:340px}
 .sector-panel{padding:32px 25px}
 .project-rail,.projects.expanded .project-rail{grid-template-columns:1fr;gap:25px}
 .project-card,.project-card:nth-child(2),.project-card:nth-child(3),.projects.expanded .project-card:nth-child(n+4){height:420px;margin:0;max-width:none;grid-column:auto}
 .award-intro{display:block}
 .award-cards,.recognition.expanded .award-cards{grid-template-columns:1fr}
 .award{min-height:160px}
 .closing-grid{grid-template-columns:1fr}
 .closing h2{font-size:48px}
}
@media(prefers-reduced-motion:reduce){.hero-slide .bg{transform:none!important}}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

.hero-slide .bg{object-position:center center}
.hero-slide:nth-child(3) .bg{object-position:center center}
.recognition .award-layout{display:block!important}
.recognition .award-intro{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;margin-bottom:42px!important}
.recognition .award-intro .eyebrow{order:0!important;color:#2199cf!important;font-size:12px!important;letter-spacing:.16em!important}
.recognition .award-intro h2{order:1!important;font-size:clamp(33px,4.44vw,65px)!important;line-height:1.05!important;margin:0!important}
.recognition .award-intro p{order:2!important;margin:0!important;color:#7b8387!important}
.recognition .award-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:36px!important;border-top:1px solid #dce2e5!important}
.recognition .award{border:0!important;border-bottom:1px solid #dce2e5!important;padding:28px 0!important;background:transparent!important}
.recognition .award-status{display:block!important;margin-top:15px!important;color:#2199cf!important;border:0!important;background:none!important;padding:0!important;font-size:12px!important;letter-spacing:.09em!important;text-transform:uppercase!important}
.bim-feature{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;margin-top:18px;border-top:1px solid #cdd6db}
.bim-feature span{font-size:10px;letter-spacing:.13em;color:#2299ce}
.bim-feature a{font-size:clamp(16px,2vw,24px);color:#20282b;text-decoration:none}
.bim-feature a b{color:#2299ce}
@media(max-width:760px){.recognition .award-cards{grid-template-columns:1fr!important;gap:0!important}.bim-feature{align-items:flex-start;flex-direction:column}}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

.service-card{min-height:205px}.service-card h3{font-size:clamp(12px,1.05vw,15px);line-height:1.5}
.vh-news{background:#fff;padding:110px 0 120px}.news-heading{margin-bottom:36px}
.news-grid{display:grid;grid-template-columns:1.22fr 1fr 1fr;gap:22px}.news-story{display:block;min-width:0}
.news-image{aspect-ratio:1.48;overflow:hidden;background:#e9edef}.news-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.news-story:hover .news-image img{transform:scale(1.045)}.news-meta{display:flex;justify-content:space-between;border-bottom:1px solid #dce1e4;padding:15px 0 11px;color:#178bbd;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.13em}.news-meta span{color:#919ca3}
.news-story h3{font-size:clamp(16px,1.55vw,23px);line-height:1.25;letter-spacing:-.035em;font-weight:500;margin:16px 0 12px;max-width:420px}.news-arrow{font-size:11px;font-weight:600;letter-spacing:.04em}
.footer-social{margin-top:20px;border-top:1px solid rgba(255,255,255,.15);padding-top:12px}.footer-social a{font-size:12px;color:#fff}
@media(max-width:900px){.news-grid{grid-template-columns:repeat(2,1fr)}.news-feature{grid-column:1/-1}.news-feature .news-image{aspect-ratio:2.2}}
@media(max-width:600px){.vh-news{padding:72px 0}.news-grid{grid-template-columns:1fr;gap:30px}.news-feature{grid-column:auto}.news-feature .news-image{aspect-ratio:1.48}}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

/* V7: photo-first, quiet editorial hero, no overlay on primary imagery */
.hero{height:clamp(620px,86svh,850px)!important;min-height:620px!important;background:#15222a!important}
.hero-slide{overflow:hidden!important}
.hero-slide:after,.hero-slide:before{display:none!important}
.hero-photo{position:absolute;left:39%;right:0;top:0;bottom:0;overflow:hidden;background:#1b2931}
.hero-photo .bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:none!important;transform:none!important}
.hero-slide:nth-of-type(5) .hero-photo .bg{object-position:center 48%!important}
.hero-content{left:0!important;top:0!important;transform:none!important;width:39%!important;max-width:none!important;height:100%;padding:clamp(125px,19vh,205px) clamp(25px,3.7vw,65px) 125px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:#142530;color:#fff!important}
.hero-kicker{font-size:10px!important;line-height:1.5!important;letter-spacing:.16em!important;margin-bottom:18px!important}
.hero h1{font-size:clamp(25px,2.41vw,41px)!important;line-height:1.16!important;letter-spacing:-.035em!important;font-weight:400!important;max-width:100%!important;margin:0 0 30px!important;overflow-wrap:normal}
.hero-actions .btn{font-size:10px!important;letter-spacing:.09em!important;padding:14px 17px!important;white-space:normal}
.hero-ui{left:clamp(25px,3.7vw,65px)!important;right:clamp(25px,3.7vw,65px)!important;bottom:22px!important;pointer-events:none}
.hero-tabs{width:100%!important;max-width:780px!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:11px!important}
.hero-tab,.hero-arrows{pointer-events:auto}
.hero-tab span{font-size:9px!important;line-height:1.5!important}
.hero-slide:nth-of-type(5) .hero-photo{background:#142530}
.hero-slide:nth-of-type(5) .hero-photo .bg{object-fit:contain!important;background:#142530}
.services .service-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;background:#fff!important}
.services .service-card{display:flex!important;flex-direction:column!important;position:relative!important;min-width:0!important;min-height:315px!important;padding:16px 16px 22px!important;border:0!important;border-right:1px solid #dfe3e5!important;border-bottom:1px solid #dfe3e5!important;background:#fff!important}
.services .service-card:last-of-type{border-right:0!important}
.service-illustration{width:100%;height:205px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.service-illustration img{width:100%;height:100%;object-fit:contain;transition:transform .45s ease}
.service-card:hover .service-illustration img{transform:scale(1.045)}
.services .service-card h3{font-size:clamp(14px,1.22vw,19px)!important;font-weight:400!important;line-height:1.3!important;letter-spacing:-.025em!important;margin:20px 22px 0 0!important}
.services .service-arrow{position:absolute!important;bottom:22px!important;right:17px!important;color:#1489c8!important;font-size:23px!important}
.services .service-ambient{display:none!important}
.section-title{font-size:clamp(29px,3.4vw,50px)!important}
.closing h2{font-size:clamp(32px,3.82vw,55px)!important;line-height:1.12!important}
.recognition .award-intro h2{font-size:clamp(32px,3.4vw,50px)!important}
.news-image{aspect-ratio:1.5!important}
.news-image img{object-fit:cover!important}
.news-story:nth-child(2) .news-image img{object-position:center 42%}
.news-story:nth-child(3) .news-image img{object-position:center 28%}
@media(max-width:1050px){
.hero-content{width:43%!important}.hero-photo{left:43%}
.hero h1{font-size:clamp(28px,3.2vw,42px)!important}
.services .service-card{padding:12px!important}.service-illustration{height:155px}
}
@media(max-width:700px){
.hero{height:740px!important;min-height:740px!important}
.hero-photo{left:0!important;right:0!important;top:0!important;bottom:40%!important}
.hero-content{top:60%!important;bottom:0!important;width:100%!important;height:40%!important;padding:18px 25px 68px!important;justify-content:center}
.hero h1{font-size:clamp(26px,6vw,38px)!important;margin-bottom:16px!important}
.hero-kicker{margin-bottom:8px!important}
.hero-actions .btn{padding:10px 13px!important}
.hero-ui{bottom:13px!important;left:22px!important;right:22px!important}
.hero-tabs{gap:5px!important}.hero-tab span{display:none!important}
.services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.services .service-card{min-height:235px!important}.service-illustration{height:145px}
.services .service-card h3{font-size:15px!important}
}
@media(max-width:420px){.services .service-grid{grid-template-columns:1fr!important}.service-illustration{height:195px}.services .service-card{min-height:270px!important}}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

/* V8: photographic hero, seamless overlay, image-first composition */
.hero{height:clamp(650px,88svh,900px)!important;background:#16222b!important}
.hero-slide{isolation:isolate!important}
.hero-photo{position:absolute!important;inset:0!important;background:#15222b!important}
.hero-photo .bg{width:100%!important;height:100%!important;object-fit:cover!important;object-position:68% center!important}
.hero-slide:after{content:"";display:block!important;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(9,20,29,.88) 0%,rgba(9,20,29,.80) 21%,rgba(9,20,29,.55) 39%,rgba(9,20,29,.18) 58%,rgba(9,20,29,0) 78%)!important}
.hero-slide:before{display:none!important}
.hero-content{position:absolute!important;z-index:3!important;left:var(--pad)!important;top:50%!important;transform:translateY(-50%)!important;width:min(35vw,525px)!important;max-width:525px!important;height:auto!important;background:transparent!important;padding:0!important;display:block!important;color:white!important}
.hero h1{font-size:clamp(29px,2.75vw,45px)!important;line-height:1.19!important;letter-spacing:-.04em!important;font-weight:400!important;margin-bottom:23px!important}
.hero-kicker{font-size:10px!important;margin-bottom:14px!important}
.hero-actions .btn{font-size:10px!important;min-height:44px!important}
.hero-slide:nth-of-type(5) .hero-photo .bg{object-fit:cover!important;object-position:center!important;background:none!important}
.hero-ui{z-index:6!important;bottom:26px!important}
.hero-tabs{max-width:1040px!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;width:78%!important;gap:16px!important}
.hero-tab span{font-size:clamp(8px,.7vw,10px)!important;white-space:nowrap!important;letter-spacing:.015em!important}
.hero-slide:nth-of-type(3) .bg{object-position:73% center!important}
.hero-slide:nth-of-type(4) .bg{object-position:72% center!important}
.hero-slide:nth-of-type(6) .bg{object-position:72% center!important}
.services .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.services .service-card{min-height:330px!important;background:white!important}
.service-illustration{height:210px!important;background:white!important}
.service-illustration img{mix-blend-mode:multiply!important;object-fit:contain!important}
.services .service-card h3{font-size:clamp(14px,1.13vw,18px)!important;text-transform:none!important}
.sector-visual img{object-fit:cover!important}
.bim-feature{display:flex!important;align-items:center!important;gap:15px!important;justify-content:space-between!important;margin:22px 0 0!important;padding:15px 0!important;border-top:1px solid #e1e6e9!important;border-bottom:1px solid #e1e6e9!important;background:none!important}
.bim-feature span{font-size:10px!important;letter-spacing:.1em!important;color:#168fc7!important}
.bim-feature a{font-size:14px!important;font-weight:500!important}
.bim-feature b{color:#168fc7}
.watermark-host{position:relative;isolation:isolate;overflow:visible}
.watermark-host::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-12vw;top:35%;width:clamp(400px,60vw,1050px);height:650px;background:url("../assets/official-isotype.png") center/contain no-repeat;transform:rotate(-90deg);opacity:.065}
#studio .wrap,#news .wrap{position:relative;z-index:1}
.footer-social{display:flex!important;gap:20px!important;align-items:center;flex-wrap:wrap}
.footer-social a,.footer-social .social-pending{font-size:12px!important;color:white!important;white-space:nowrap}
.footer-social .social-pending{opacity:.55;cursor:help}
@media(max-width:950px){
.hero-content{width:44vw!important}
.hero h1{font-size:clamp(27px,3.5vw,38px)!important}
.hero-tabs{width:83%!important;gap:8px!important}
}
@media(max-width:700px){
.hero{height:710px!important;min-height:710px!important}
.hero-photo{inset:0!important}
.hero-photo .bg{object-position:65% center!important}
.hero-slide:after{background:linear-gradient(0deg,rgba(9,20,29,.92) 0%,rgba(9,20,29,.78) 34%,rgba(9,20,29,.12) 80%)!important}
.hero-content{top:auto!important;bottom:108px!important;left:24px!important;right:24px!important;transform:none!important;width:auto!important;max-width:none!important;height:auto!important;padding:0!important}
.hero h1{font-size:clamp(27px,6vw,37px)!important;line-height:1.16!important}
.hero-kicker{margin-bottom:9px!important}
.hero-ui{bottom:18px!important}
.hero-tab span{display:none!important}
.hero-tabs{width:78%!important}
.services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.services .service-card{min-height:240px!important}
.service-illustration{height:145px!important}
.watermark-host::before{left:-55vw;top:55%;opacity:.045}
.bim-feature{flex-wrap:wrap}
}
@media(max-width:420px){
.services .service-grid{grid-template-columns:1fr!important}
.services .service-card{min-height:260px!important}
.service-illustration{height:170px!important}
}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

/* V9: clear separation between technical expertise and sector CTA */
.bim-feature{margin-top:24px!important;margin-bottom:28px!important;padding:21px 0!important}
.sector-view{display:inline-flex!important;align-items:center!important;margin-top:12px!important;line-height:1.6!important}
.sector-panel{padding-bottom:38px!important}
/* The official mark rotates intact and crosses the studio/recognition boundary */
#studio.watermark-host{position:relative!important;isolation:auto!important;overflow:visible!important}
#studio.watermark-host::before{
 content:""!important;position:absolute!important;pointer-events:none!important;
 left:-5vw!important;top:35%!important;width:min(56vw,820px)!important;
 height:780px!important;background:url("../assets/isotype-watermark.png") center/contain no-repeat!important;
 transform:rotate(-90deg)!important;opacity:.13!important;z-index:4!important;
}
#studio .wrap,#recognition .wrap{position:relative!important;z-index:5!important}
#recognition{position:relative!important;z-index:1!important}
/* News images and cards share identical geometry */
.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;align-items:stretch!important}
.news-story,.news-feature{grid-column:auto!important;display:flex!important;flex-direction:column!important}
.news-image,.news-feature .news-image{width:100%!important;aspect-ratio:1.42!important;flex:none!important}
.news-image img{object-fit:cover!important;object-position:center center!important}
.news-story h3{font-size:clamp(17px,1.5vw,23px)!important;line-height:1.35!important}
.news-arrow{margin-top:auto!important;padding-top:24px!important}
/* All three social profiles aligned on a single row */
.footer-social{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:24px!important;margin-top:24px!important}
.footer-social a{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;gap:5px!important;font-size:12px!important}
@media(max-width:900px){
 .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .news-story:last-child{grid-column:1/-1!important;max-width:calc(50% - 12px)}
 #studio.watermark-host::before{left:-16vw!important;top:50%!important;width:75vw!important;opacity:.10!important}
}
@media(max-width:650px){
 .news-grid{grid-template-columns:1fr!important}
 .news-story:last-child{grid-column:auto!important;max-width:none!important}
 .footer-social{gap:14px!important;flex-wrap:wrap!important}
 #studio.watermark-host::before{left:-40vw!important;top:65%!important;width:110vw!important;opacity:.09!important}
 .bim-feature{margin-bottom:32px!important}
}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

/* V10: preserve the complete building and keep text over dark free space */
.hero-slide:nth-of-type(2) .hero-photo {background:#071726!important}
.hero-slide:nth-of-type(2) .hero-photo .bg {
  left:auto!important;right:0!important;width:79%!important;
  object-position:center center!important;object-fit:cover!important;
}
.hero-slide:nth-of-type(2)::after {
  background:linear-gradient(90deg,rgba(7,19,30,.94) 0%,rgba(7,19,30,.84) 25%,rgba(7,19,30,.38) 47%,rgba(7,19,30,.02) 75%)!important;
}
.news-image img[src*="news-galway-original"] {
  width:100%!important;height:100%!important;object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:700px){
.hero-slide:nth-of-type(2) .hero-photo .bg{width:100%!important;object-position:44% center!important}
.hero-slide:nth-of-type(2)::after{background:linear-gradient(90deg,rgba(7,19,30,.85),rgba(7,19,30,.35))!important}
}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

/* V11 editorial refinements */
.recognition .section-head{margin-bottom:26px!important}
.recognition .award-layout{margin-top:12px!important}
.hero-slide:nth-of-type(2) .hero-photo .bg{object-position:57% center!important}
.hero-slide:nth-of-type(2) .hero-content{max-width:420px!important}
.hero-slide:nth-of-type(2) .hero h1{font-size:clamp(29px,3vw,46px)!important}
.video-shell video{display:block;width:100%;height:100%;object-fit:cover}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

/* V12: editorial recognition and verified locally packaged credential artwork */
.recognition{padding-top:76px!important;padding-bottom:54px!important}
.recognition .award-intro{margin-bottom:26px!important}
.recognition .award-cards{gap:26px!important}
.recognition .award{min-height:290px!important;padding:22px 0 18px!important}
.recognition .award-mark{height:85px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px}
.recognition .fitout-mark span{font-size:25px;font-weight:300;line-height:1.1;color:#159bd4;letter-spacing:.02em}
.recognition .fitout-mark b{font-weight:500}
.recognition .typographic-mark span{font-size:28px;font-weight:700;line-height:.82;letter-spacing:-.055em;color:#222f39}
.recognition .typographic-mark small{font-size:11px;letter-spacing:.22em;font-weight:600}
.recognition .award .year{margin-bottom:8px!important;color:#777}
.recognition .award strong{margin-bottom:9px!important;font-size:13px!important}
.recognition .award p{font-size:12px!important;line-height:1.65!important}
.recognition .award-source{display:inline-block;margin-top:12px;color:#188fc3;font-size:10px;font-weight:600}
.recognition .award-source:hover{text-decoration:underline}
.credentials{padding:68px 0 72px;background:#f7f9fa;border-top:1px solid #e7edef;border-bottom:1px solid #e7edef}
.credentials-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}
.credentials-heading p{font-size:13px;color:#69757b;max-width:300px;margin:0}
.credential-group{border-top:1px solid #dce4e8;padding:23px 0 24px}
.credential-group-title{font-size:10px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;color:#66777f;margin-bottom:20px}
.credential-logos{display:flex;align-items:center;gap:26px;justify-content:space-between;flex-wrap:wrap}
.credential-logos img{width:auto;height:auto;max-height:94px;max-width:190px;object-fit:contain;mix-blend-mode:multiply}
.credential-logos img:first-child{max-width:350px}
.credentials-sustainability{gap:16px 24px;justify-content:flex-start}
.credentials-sustainability img{max-height:82px;max-width:150px}
.credentials-sustainability img:first-child{max-width:150px}
.credentials-note{font-size:10px;line-height:1.6;color:#7c878d;margin:12px 0 0}
@media(max-width:800px){.credentials-heading{display:block}.credentials-heading p{margin-top:16px}.credential-logos{justify-content:flex-start;gap:18px}.credential-logos img{max-height:70px;max-width:125px}.credential-logos img:first-child{max-width:250px}.credentials-sustainability img{max-height:66px;max-width:100px}}
@media(max-width:560px){.recognition .award-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.recognition .award{min-height:250px!important}.recognition .award-mark{height:65px}.recognition .fitout-mark span{font-size:17px}.recognition .typographic-mark span{font-size:20px}.recognition .award strong{font-size:10px!important}.recognition .award p{font-size:10px!important}.recognition .award-status{font-size:9px!important}.recognition.expanded .award-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.credentials{padding:45px 0}}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

/* Sector controls: never crop the text or choices */
.sector-stage{grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);min-height:560px}
.sector-visual{min-height:560px}
.sector-panel{min-width:0;padding:clamp(24px,3vw,50px)}
.sector-active-title,.sector-panel-note,.sector-view{overflow-wrap:anywhere}
.sector-choices{gap:7px}
.sector-choice{font-size:11px;padding:10px 12px}
.sector-visual img{object-position:center center}
.award-mark.fitout-mark img{height:72px;width:180px;object-fit:contain;object-position:left center}
.credential-logos{justify-content:flex-start;column-gap:34px;row-gap:26px}
.credential-logos img{max-height:68px;max-width:170px;width:auto;object-fit:contain;image-rendering:auto}
.credential-logos img:first-child{max-width:300px;max-height:68px}
.credentials-sustainability img{max-height:68px;max-width:130px}
.credentials-sustainability img:first-child{max-width:130px}
@media(max-width:1050px){.sector-stage{grid-template-columns:minmax(0,1fr)}.sector-visual{min-height:420px}.sector-panel{padding:32px 24px}.sector-active-title{font-size:clamp(30px,5vw,46px)}}
@media(max-width:650px){.sector-visual{min-height:340px}.credential-logos img{max-height:54px;max-width:115px}.credential-logos img:first-child{max-width:220px}.award-mark.fitout-mark img{height:60px;width:145px}}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

/* V14: keep the sector image and its control panel within the viewport */
.sector-choices{display:flex!important;flex-wrap:wrap!important;gap:8px!important;max-width:100%!important}
.sector-choice{white-space:normal!important;max-width:100%!important}
.sector-panel,.sector-copy,.sector-info{min-width:0!important}
.recognition .fitout-mark img{width:100%;max-width:290px;height:82px;object-fit:contain;object-position:left center}
.credentials img{object-fit:contain;image-rendering:auto}
@media(max-width:1100px){.sector-choices{gap:6px!important}.sector-choice{font-size:12px!important}}
@media(max-width:760px){.recognition .award-cards{grid-template-columns:1fr!important}.recognition .fitout-mark img{max-width:260px}}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}
@media(max-width:1000px){footer.vh-shared-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){footer.vh-shared-footer .footer-grid{grid-template-columns:1fr!important}footer.vh-shared-footer .footer-bottom{flex-direction:column!important}}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

body{margin:0;background:#fff;color:#24313a;font-family:Montserrat,Arial,sans-serif}
.projects-hero{padding:82px 0 36px;background:linear-gradient(115deg,#f0f4f6,#fafbfc 72%);border-bottom:1px solid #e3e8eb}
.projects-hero .eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#5b7484;font-weight:600;margin:0 0 17px}
.projects-hero h1{font-size:clamp(31px,3.1vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:0 0 12px}
.projects-hero p{font-size:13px;line-height:1.8;color:#66747e;max-width:550px;margin:0}
.projects-controls{padding:28px 0 16px;background:white}
.projects-search{position:relative;max-width:100%;margin-bottom:14px}
.projects-search input{width:100%;box-sizing:border-box;border:1px solid #dbe2e6;background:#fff;padding:15px 18px 15px 44px;font:400 12px Montserrat,Arial,sans-serif;outline:none;border-radius:2px}
.projects-search input:focus,.filter-field select:focus{border-color:#179bd4}
.projects-search svg{position:absolute;left:16px;top:15px;color:#82919a}
.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.filter-field label{display:block;font-size:10px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;color:#586873;margin-bottom:8px}
.filter-field select{width:100%;padding:13px 12px;background:white;border:1px solid #dbe2e6;color:#33434c;font:500 11px Montserrat,Arial,sans-serif;border-radius:2px}
.projects-meta{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 0 13px;border-bottom:1px solid #e4e9ec}
.projects-meta span{font-size:11px;color:#71808b}
.projects-meta button{border:0;background:transparent;color:#167faf;font:600 11px Montserrat,Arial,sans-serif;cursor:pointer}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 22px;padding:30px 0 90px}
.portfolio-card{min-width:0;text-decoration:none!important;color:inherit!important;display:block}
.portfolio-visual{aspect-ratio:1.44;overflow:hidden;background:#e8edf0;position:relative}
.portfolio-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.portfolio-card:hover img{transform:scale(1.035)}
.portfolio-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;padding:22px;background:linear-gradient(135deg,#dbe3e7,#eef2f4);color:#63747e}
.portfolio-placeholder .line{width:42px;height:2px;background:#179bd4}
.portfolio-placeholder .ph-label{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#667983}
.portfolio-copy{padding:14px 1px 0}
.portfolio-copy h2{font-size:14px!important;font-weight:600!important;letter-spacing:-.01em;line-height:1.45!important;margin:0 0 5px!important;color:#263741}
.portfolio-copy .place{font-size:11px;color:#63747e;margin:0 0 8px}
.portfolio-copy .tags{font-size:10px;color:#3685a6;line-height:1.8;margin:0}
.portfolio-empty{padding:70px 0;text-align:center;color:#6c7a82;font-size:13px}
.project-detail{padding:56px 0 100px}.project-detail .back{display:inline-block;margin-bottom:28px;font-size:11px;color:#188ab9;text-decoration:none}
.project-detail h1{font-size:clamp(26px,3vw,40px);font-weight:400;line-height:1.25;margin:0 0 14px}
.project-detail .detail-loc{font-size:12px;color:#6d7b83;margin:0 0 24px}
.project-detail .detail-img{max-height:560px;width:100%;object-fit:cover;display:block}
.project-detail .detail-fallback{height:310px;background:#e7edf0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#7d8b92;letter-spacing:.1em;text-transform:uppercase}
.project-detail .detail-body{max-width:790px;margin:34px 0;font-size:13px;line-height:2;color:#43515a}
.project-detail .detail-cats{font-size:11px;color:#3983a6;line-height:1.9}
@media(max-width:850px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-hero{padding:62px 0 32px}}
@media(max-width:560px){.portfolio-grid{grid-template-columns:1fr;gap:28px}.filters{grid-template-columns:1fr}.projects-hero{padding:48px 0 30px}.projects-hero h1{font-size:31px}.portfolio-copy h2{font-size:14px!important}}
.projects-hero{position:relative;isolation:isolate;background:#fafbfc;overflow:hidden}.projects-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -5% -60px 45%;background:url('../assets/blueprint-1.png') center / cover no-repeat;opacity:.38;pointer-events:none}.projects-hero .wrap{position:relative}.portfolio-visual img{object-fit:cover}.portfolio-placeholder{background:linear-gradient(145deg,#f5f7f8,#edf1f3)}@media(max-width:700px){.projects-hero:before{inset:0 0 0 35%;opacity:.22}}

.portfolio-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:38px 24px!important;align-items:start!important}
.portfolio-card{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;grid-column:auto!important;text-decoration:none}
.portfolio-card.featured-card{grid-column:span 2!important}
.portfolio-visual{width:100%!important;height:clamp(240px,31vw,440px)!important;aspect-ratio:auto!important;overflow:hidden!important;background:#f3f5f5}
.portfolio-card.featured-card .portfolio-visual{height:clamp(340px,46vw,590px)!important}
.portfolio-visual img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
.portfolio-copy{padding:13px 0 0!important;max-width:100%!important}
.portfolio-copy h2{font-size:17px!important;line-height:1.35!important}
.portfolio-copy .place,.portfolio-copy .tags{overflow-wrap:anywhere;font-size:13px!important}
.portfolio-placeholder{width:100%!important;height:100%!important;min-height:0!important;display:flex;align-items:flex-end;background:#f0f3f3}
.portfolio-placeholder .ph-label{font-size:11px!important;letter-spacing:.07em!important;padding:18px!important}
@media(max-width:640px){.portfolio-grid{grid-template-columns:1fr!important;gap:28px!important}.portfolio-card.featured-card{grid-column:auto!important}.portfolio-visual,.portfolio-card.featured-card .portfolio-visual{height:260px!important}}


body{font-family:Montserrat,Arial,sans-serif}
main{position:relative;isolation:isolate}
main:before{content:"";pointer-events:none;position:absolute;top:90px;right:0;width:min(53vw,760px);height:570px;background:url("../assets/architectural-linework.png") center/contain no-repeat;opacity:.19;z-index:-1}
section{position:relative}
section:not(.hero):not(.projects-hero):not(.film):nth-of-type(2n):after{content:"";position:absolute;right:0;bottom:0;width:min(30vw,420px);height:260px;background:url("../assets/architectural-linework.png") center/contain no-repeat;opacity:.13;pointer-events:none;z-index:0}
section>*{position:relative;z-index:1}
@media(max-width:700px){main:before{width:75vw;opacity:.12}section:not(.hero):nth-of-type(2n):after{width:55vw;opacity:.09}}


.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:38px 21px!important;align-items:start!important}
.portfolio-card,.portfolio-card.featured-card{grid-column:auto!important;width:100%!important}
.portfolio-visual,.portfolio-card.featured-card .portfolio-visual{height:auto!important;aspect-ratio:4/3!important;max-height:295px!important;overflow:hidden}
.portfolio-card:nth-child(6n+2) .portfolio-visual{aspect-ratio:5/4!important}
.portfolio-card:nth-child(6n+3) .portfolio-visual{aspect-ratio:1.52!important}
.portfolio-card:nth-child(6n+4) .portfolio-visual{aspect-ratio:1.28!important}
.portfolio-card img{width:100%;height:100%;object-fit:cover}
@media(max-width:880px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.portfolio-grid{grid-template-columns:1fr!important}.portfolio-visual{max-height:310px!important}}


main{background-image:url("../assets/architectural-linework.png"),url("../assets/architectural-linework.png");background-position:right 3% top 18%,left 0 bottom 20%;background-size:min(52vw,670px) auto,min(42vw,540px) auto;background-repeat:no-repeat}
main:before,section:not(.hero):after{background-image:url("../assets/architectural-linework.png")!important;background-size:contain!important;opacity:.18!important}
@media(max-width:760px){main{background-size:75vw auto,70vw auto}}


html{scroll-behavior:smooth}body,button,input,select,textarea{font-family:Montserrat,Arial,sans-serif!important}
h1,h2,h3{letter-spacing:-.035em}h1{font-size:clamp(32px,4.1vw,58px)!important;line-height:1.15!important;font-weight:500!important}
h2{font-size:clamp(25px,2.7vw,39px)!important;line-height:1.25!important}
.hero h1{max-width:720px!important}
main:before,section:not(.hero):after{background-image:url("../assets/architectural-linework.png")!important;background-size:contain!important;opacity:.32!important}
main{background-image:url("../assets/architectural-linework.png")!important;background-repeat:no-repeat!important;background-size:min(45vw,580px) auto!important;background-position:right top 140px!important}
.btn{padding:13px 19px!important;font-size:12px!important;letter-spacing:.01em!important}
@media(max-width:760px){main{background-size:72vw auto!important}}


body,button,input,select,textarea{font-family:Montserrat,Arial,sans-serif!important}
body{letter-spacing:0!important;line-height:1.65}
h1,h2,h3{font-family:Montserrat,Arial,sans-serif!important;letter-spacing:-.022em!important;font-weight:500!important;text-wrap:balance}
h1{font-size:clamp(32px,4vw,55px)!important;line-height:1.18!important}
h2{font-size:clamp(25px,2.8vw,39px)!important;line-height:1.24!important}
p{line-height:1.78!important}
.eyebrow{letter-spacing:.14em!important;font-size:10px!important}
main{background-image:none!important;position:relative;isolation:isolate}
main:before{content:""!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;pointer-events:none!important;z-index:-1!important;opacity:.038!important;background:url("../assets/architectural-linework.png") no-repeat right -70px top 460px / min(42vw,590px) auto!important}
main:after{content:"";position:absolute;left:0;top:1650px;width:43%;height:780px;background:url("../assets/architectural-linework.png") no-repeat left top / contain;opacity:.03;pointer-events:none;z-index:-1}
section:not(.hero):after,.intro:after,.story:after,.team:after,.credentials:after{display:none!important}
section:not(.hero){background-image:none!important}
.btn,button{font-size:12px!important;font-weight:600!important;letter-spacing:.005em!important}
@media(max-width:760px){main:before{background-size:75vw auto!important}}

.vh-shared-footer .footer-logo img{filter:none!important;background:white!important;padding:10px!important;max-width:100%!important}.vh-shared-footer .footer-grid{overflow-wrap:anywhere}
main section:nth-of-type(2n),.intro,.story,.credentials,.projects-toolbar{position:relative;isolation:isolate}main section:nth-of-type(2n):before,.story:before,.credentials:before{content:"";position:absolute;inset:0;background:url("../assets/architectural-linework.png") no-repeat right -30px center / min(48vw,650px) auto;opacity:.045;pointer-events:none;z-index:-1}

/* Official transparent logo artwork for dark backgrounds. */
.vh-shared-footer .footer-logo img{display:block!important;width:min(255px,100%)!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center!important;filter:none!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.vh-shared-footer .footer-grid{min-width:0}
.vh-shared-footer .footer-grid>*{min-width:0}
.vh-shared-footer a,.vh-shared-footer p{overflow-wrap:break-word}
@media(max-width:850px){.vh-shared-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px!important}}
@media(max-width:540px){.vh-shared-footer .footer-grid{grid-template-columns:minmax(0,1fr)!important}}
/* Architectural linework is a quiet background, never a framed image. */
body :is(.editorial,.projects-section,.service-details,.service-capabilities,.services,.sectors,.about,.recognition,.credentials,.story,.values,.team,.projects-controls,.projects-hero,.offices,.enquiry,.endnote,.studio-heading){position:relative;isolation:isolate}
body :is(.editorial,.service-details,.service-capabilities,.sectors,.recognition,.values,.offices)::before{
 content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
 background-image:url("../assets/architectural-linework.png");
 background-repeat:no-repeat;background-position:right -100px center;
 background-size:min(65vw,900px) auto;opacity:.075;
}
body :is(.projects-section,.team,.projects-controls,.enquiry)::before{
 content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
 background-image:url("../assets/architectural-linework.png");
 background-repeat:no-repeat;background-position:left -190px top -100px;
 background-size:min(54vw,700px) auto;opacity:.052;
}
body :is(.editorial,.service-details,.service-capabilities,.sectors,.recognition,.values,.offices,.projects-section,.team,.projects-controls,.enquiry)>*{position:relative;z-index:1}
@media(max-width:700px){
 body :is(.editorial,.projects-section,.service-details,.service-capabilities,.sectors,.recognition,.values,.team,.projects-controls,.offices,.enquiry)::before{background-size:110vw auto;opacity:.04}
}@media(max-width:850px){footer.vh-shared-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:540px){footer.vh-shared-footer .footer-grid{grid-template-columns:minmax(0,1fr)!important}}

/* Plan linework belongs behind content, not behind the section background. */
body :is(.editorial,.service-details,.service-capabilities,.sectors,.recognition,.values,.offices,.projects-section,.team,.projects-controls,.enquiry,.services,.about,.story,.credentials,.studio-heading,.projects-hero,.endnote){position:relative;isolation:isolate}
body :is(.editorial,.service-details,.service-capabilities,.sectors,.recognition,.values,.offices,.projects-section,.team,.projects-controls,.enquiry,.services,.about,.story,.credentials,.studio-heading,.projects-hero,.endnote)::before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background-image:url("../assets/architectural-linework.png");background-repeat:no-repeat;
 background-position:right -110px top -140px;background-size:min(56vw,720px) auto;
 opacity:.105;
}
body :is(.projects-section,.team,.projects-controls,.services,.story,.projects-hero)::before{
 background-position:left -155px top -100px;opacity:.085;
}
body :is(.editorial,.service-details,.service-capabilities,.sectors,.recognition,.values,.offices,.projects-section,.team,.projects-controls,.enquiry,.services,.about,.story,.credentials,.studio-heading,.projects-hero,.endnote)>*{position:relative;z-index:1}
@media(max-width:700px){
 body :is(.editorial,.service-details,.service-capabilities,.sectors,.recognition,.values,.offices,.projects-section,.team,.projects-controls,.enquiry,.services,.about,.story,.credentials,.studio-heading,.projects-hero,.endnote)::before{background-size:105vw auto;opacity:.065}
}


.portfolio-card.v27-plan .portfolio-visual{background:#f6f6f2;overflow:hidden}
.portfolio-card.v27-plan .portfolio-visual img{object-fit:cover;transform:scale(1.03);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .9s ease;filter:saturate(.78)}
.portfolio-card.v27-plan:hover .portfolio-visual img{transform:scale(1.13);filter:saturate(1.15)}
.portfolio-card.v27-plan .portfolio-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.2) 49%,transparent 62%);transform:translateX(-125%);transition:transform 1.15s ease}
.portfolio-card.v27-plan:hover .portfolio-visual:after{transform:translateX(125%)}
.portfolio-card.v27-plan .portfolio-visual:before{content:"DRAWING / MASTERPLAN";position:absolute;left:16px;bottom:16px;z-index:2;background:rgba(255,255,255,.92);color:#34434b;padding:9px 12px;font:600 9px Montserrat,Arial,sans-serif;letter-spacing:.14em}
@media(prefers-reduced-motion:reduce){.portfolio-card.v27-plan .portfolio-visual img,.portfolio-card.v27-plan .portfolio-visual:after{transition:none!important}}


@media(pointer:fine){body.v27-cursor-ready,body.v27-cursor-ready a,body.v27-cursor-ready button{cursor:none!important}
#v27-dot,#v27-ring{position:fixed;left:0;top:0;z-index:99999;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);will-change:left,top}
#v27-dot{width:7px;height:7px;background:#179bd4}#v27-ring{width:34px;height:34px;border:1px solid rgba(23,155,212,.75);transition:width .22s,height .22s,background .22s,border-color .22s}
body.v27-hover #v27-ring{width:62px;height:62px;background:rgba(23,155,212,.10);border-color:#179bd4}
body.v27-image-hover #v27-ring{width:78px;height:78px;background:rgba(255,255,255,.10);border-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
}
@media(pointer:coarse),(prefers-reduced-motion:reduce){#v27-dot,#v27-ring{display:none!important}}


/* Deliberate, slow cinematic motion throughout the site; no hover required. */
@keyframes v36Cine {0%{transform:scale(1)}100%{transform:scale(1.065)}}
@keyframes v36Draw {from{stroke-dashoffset:1200;opacity:.18}to{stroke-dashoffset:0;opacity:.7}}
@media(prefers-reduced-motion:no-preference){
.hero-slide img,.slide img,.project-card img,.service-card img,.editorial .feature img,.team img,.studio-photo img,.hero-image img,.project-image img,.film img{
 animation:v36Cine 19s ease-in-out infinite alternate!important;transform-origin:center center;
}
.hero-slide,.slide,.project-card,.service-card,.feature-image,.hero-image,.project-image{overflow:hidden}
.v36-blueprint path,.v36-blueprint line,.v36-blueprint polyline{stroke-dasharray:1200;animation:v36Draw 11s ease-in-out infinite alternate}
}
.v36-blueprint{position:absolute;left:-4vw;top:3%;width:min(42vw,600px);height:430px;pointer-events:none;opacity:.38;z-index:0}
.v36-blueprint *{fill:none;stroke:#179bd4;stroke-width:1.1}
.projects-hero,.service-hero{position:relative;isolation:isolate}
.projects-hero>* ,.service-hero>*{position:relative;z-index:1}
.v36-architecture-feature{position:relative;display:block;min-height:460px;overflow:hidden;color:#24343d;text-decoration:none;background:#f6f8f8}
.v36-architecture-feature .v36-photo{position:absolute;inset:0;background-image:url('../assets/wp-674.jpg');background-position:center 49%;background-size:cover;animation:v36Cine 22s ease-in-out infinite alternate}
.v36-architecture-feature .v36-fade{position:absolute;inset:0;background:linear-gradient(90deg,#f8f9f9 0%,#f8f9f9 24%,rgba(248,249,249,.93) 36%,rgba(248,249,249,.15) 66%,transparent 100%)}
.v36-architecture-feature .v36-copy{position:relative;z-index:2;max-width:530px;padding:85px 5vw}
.v36-architecture-feature h2{font-size:clamp(28px,3.1vw,45px);line-height:1.12;margin:20px 0 24px}
.v36-architecture-feature p{line-height:1.75}
.v36-architecture-feature .v36-cta{display:inline-block;margin-top:32px;border-bottom:2px solid #179bd4;padding-bottom:10px;color:#137eac;font-weight:700}
@media(max-width:700px){.v36-architecture-feature{min-height:520px}.v36-architecture-feature .v36-photo{background-position:63% center}.v36-architecture-feature .v36-fade{background:linear-gradient(90deg,rgba(248,249,249,.98),rgba(248,249,249,.77) 75%,rgba(248,249,249,.3))}.v36-architecture-feature .v36-copy{padding:80px 25px}.v36-blueprint{width:85vw}}
@media(prefers-reduced-motion:reduce){.v36-architecture-feature .v36-photo{animation:none}}


.vh-signature-drawing{position:relative;min-height:245px;padding:38px max(5vw,24px);background:#fbfcfc;overflow:hidden;display:flex;align-items:center;justify-content:flex-end}
.vh-signature-drawing .vh-drawing{width:min(74vw,1050px);height:auto;display:block;overflow:visible}
.vh-drawing path{fill:none;stroke:#179bd4;stroke-width:1.35;stroke-linejoin:round;stroke-linecap:round;opacity:.68;stroke-dasharray:1800;stroke-dashoffset:1800;animation:vh-draw-line 3.5s cubic-bezier(.22,.65,.3,1) forwards;animation-delay:calc(var(--i)*.065s)}
@keyframes vh-draw-line{to{stroke-dashoffset:0}}
.vh-signature-drawing::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fbfcfc 0%,transparent 65%)}
@media(max-width:700px){.vh-signature-drawing{min-height:150px;padding:24px 15px}.vh-signature-drawing .vh-drawing{width:100%}}
@media(prefers-reduced-motion:reduce){.vh-drawing path{animation:none;stroke-dashoffset:0}}
/* Automatic cinematic motion on imagery, never dependent on hover */
@keyframes vh-v37-cinema{0%{transform:scale(1)}100%{transform:scale(1.065)}}
.hero-slide.active img,.hero-slide.active .hero-image,.service-hero img,.service-hero picture img,.service-card img,.project-card img,.project-tile img,.selected-project img,.vh-editorial-card img{animation:vh-v37-cinema 9s ease-in-out infinite alternate;transform-origin:center center}
@media(prefers-reduced-motion:reduce){.hero-slide.active img,.hero-slide.active .hero-image,.service-hero img,.service-card img,.project-card img,.project-tile img,.selected-project img,.vh-editorial-card img{animation:none}}


/* Restore service hero overlay: the old broad child rule displaced absolute captions. */
.service-hero > .service-hero-content{position:absolute!important;left:7%!important;bottom:9%!important;top:auto!important;z-index:5!important;max-width:min(760px,85vw);color:#fff!important;transform:none!important}
.service-hero .service-hero-content h1{font-size:clamp(32px,4vw,59px)!important;line-height:1.13!important;margin:14px 0 0!important;color:#fff!important;opacity:1!important;visibility:visible!important;transform:none!important}
.service-hero > img{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.service-hero:after{z-index:1!important}
.service-hero{min-height:430px!important}
@media(max-width:680px){.service-hero{min-height:350px!important}.service-hero > .service-hero-content{bottom:8%!important}.service-hero .service-hero-content h1{font-size:clamp(29px,7vw,42px)!important}}
/* Four restrained, elongated architectural drawings anchored upper-right, not after content. */
.vh-signature-drawing{display:none!important}
.vh38-drawing-host{position:relative!important;isolation:isolate}
.vh38-linework{position:absolute;right:2.5%;top:12px;width:min(48vw,780px);height:205px;pointer-events:none;z-index:0;opacity:.55;overflow:hidden}
.vh38-linework svg{width:100%;height:100%;display:block}
.vh38-linework path{fill:none;stroke:#179bd4;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200;animation:vh38Draw 3.3s cubic-bezier(.3,.05,.2,1) forwards;animation-delay:calc(var(--i)*.055s)}
@keyframes vh38Draw{to{stroke-dashoffset:0}}
.vh38-drawing-host>*:not(.vh38-linework){position:relative;z-index:1}
.vh38-drawing-host{padding-top:max(75px, var(--vh38-original-padding,0px))}
@media(max-width:800px){.vh38-linework{width:67vw;height:120px;opacity:.30;top:0}.vh38-drawing-host{padding-top:55px}}
@media(prefers-reduced-motion:reduce){.vh38-linework path{animation:none;stroke-dashoffset:0}}
/* Cinema: self-running microzoom, never tied to hover. */
@keyframes vh38Cine{0%{transform:scale(1.015)}100%{transform:scale(1.075)}}
@media(prefers-reduced-motion:no-preference){
.hero-slide.active .hero-photo img,.hero-slide.active img.bg,.project-card img,.service-card img,
.projects-grid img,.projects-section img,.selected-work img,.team img,.editorial img,
.v34-feature-link img,.v27-drawings img,.sector-card img,.card img,.film img{
 animation:vh38Cine 11s ease-in-out infinite alternate!important;transform-origin:center!important;
}
.v36-architecture-feature .v36-photo{animation:vh38Cine 11s ease-in-out infinite alternate!important}
}
.projects-section img,.project-card img,.service-card img,.v34-feature-link img{object-fit:cover}
.project-card,.service-card,.v34-feature-link{overflow:hidden}
.v36-architecture-feature{min-height:420px!important}
.v36-architecture-feature h2{font-size:clamp(27px,3vw,43px)!important}


/* V41: decorative SVGs live in a right-hand safe zone. */
.v36-blueprint{left:auto!important;right:0!important;max-width:45vw!important;transform:none!important;pointer-events:none!important}
.vh-signature-drawing{display:none!important}
@media(max-width:700px){.v36-blueprint{max-width:38vw!important;opacity:.18!important}}


/* V42: right-hand decorative drawings only. No content or gallery changes. */
.vh38-drawing-host{position:relative!important;isolation:isolate!important;overflow:hidden!important}
.vh38-drawing-host > .vh38-linework{
  position:absolute!important;left:auto!important;right:0!important;
  margin-left:auto!important;margin-right:0!important;
  transform:none!important;width:min(44vw,700px)!important;
  max-width:44%!important;height:205px!important;top:0!important;
  pointer-events:none!important;z-index:0!important;overflow:hidden!important;
}
.vh38-drawing-host > .vh38-linework svg{width:100%!important;height:100%!important}
.vh38-drawing-host > :not(.vh38-linework){position:relative;z-index:1}
.v36-blueprint{left:auto!important;right:0!important;max-width:42vw!important;pointer-events:none!important}
@media(max-width:760px){
 .vh38-drawing-host > .vh38-linework{width:44vw!important;max-width:44%!important;height:125px!important;opacity:.30!important}
 .v36-blueprint{max-width:42vw!important}
}
