:root{
  --navy:#163049;
  --navy-deep:#0b1e2d;
  --navy-black:#081722;
  --blue-grey:#566b7c;
  --silver:#9aa8b2;
  --stone:#f3f1ed;
  --stone-2:#e9e6df;
  --white:#fff;
  --text:#16232e;
  --muted:#66737d;
  --line:rgba(22,48,73,.16);
  --line-light:rgba(255,255,255,.16);
  --max:1360px;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--text);font-family:var(--sans);line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img,svg{display:block;max-width:100%}::selection{background:#d8e0e6;color:var(--navy)}
.shell{width:min(var(--max),calc(100% - 104px));margin-inline:auto}.narrow{width:min(860px,calc(100% - 104px));margin-inline:auto}.skip{position:fixed;left:16px;top:-80px;z-index:1000;background:#fff;padding:11px 15px;box-shadow:0 8px 30px rgba(0,0,0,.14)}.skip:focus{top:16px}

/* NAVIGATION */
.topbar{position:fixed;inset:0 0 auto;height:92px;z-index:100;color:#fff;background:linear-gradient(180deg,rgba(5,17,27,.48),transparent);transition:background .28s ease,box-shadow .28s ease,color .28s ease,backdrop-filter .28s ease}
.topbar.scrolled,.topbar.open{background:rgba(255,255,255,.97);color:var(--navy);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(22,48,73,.09),0 18px 55px rgba(17,36,52,.06)}
.nav{height:100%;display:flex;align-items:center;gap:38px}.logo{display:inline-flex;align-items:center;flex:0 0 auto}.logo img{width:158px;height:auto;filter:brightness(0) invert(1);transition:filter .25s ease,width .25s ease}.topbar.scrolled .logo img,.topbar.open .logo img{filter:none}
.navlinks{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:620}.navlinks>a{position:relative;padding:38px 0 36px;opacity:.76;transition:opacity .2s}.navlinks>a:hover,.navlinks>a.active{opacity:1}.navlinks>a:not(.lang):after{content:"";position:absolute;left:0;bottom:27px;width:0;height:1px;background:currentColor;transition:width .25s}.navlinks>a:hover:after,.navlinks>a.active:after{width:100%}.lang{border-left:1px solid currentColor;padding-left:22px!important;opacity:.55!important}.lang:hover{opacity:1!important}.menu{display:none;margin-left:auto;border:0;background:transparent;width:44px;height:44px;cursor:pointer}.menu span,.menu:before,.menu:after{content:"";display:block;width:25px;height:1px;background:currentColor;margin:6px auto;transition:.2s}

/* TYPOGRAPHY */
.eyebrow,.kicker{font-size:9.5px;letter-spacing:.23em;text-transform:uppercase;font-weight:650}.eyebrow{color:#d6e0e6;margin-bottom:28px}.kicker{color:#6d7c87;margin-bottom:16px}.dark .kicker{color:#aebcc6}.display,.hero h1,.pagehero h1,.article-head h1{font-weight:330;letter-spacing:-.047em}.display{font-size:clamp(46px,5.1vw,76px);line-height:.99;margin:12px 0 30px;max-width:980px}.intro{font-size:18px;line-height:1.78;color:var(--muted);font-weight:380}.intro p:first-child{margin-top:0}.intro p:last-child{margin-bottom:0}.dark .intro{color:#b8c4cc}.rule-link{display:inline-flex;align-items:center;gap:10px;margin-top:27px;font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;font-weight:680}.rule-link:after{content:"↗";font-size:14px;transition:transform .2s}.rule-link:hover:after{transform:translate(3px,-3px)}

/* HERO */
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;color:#fff;padding:178px 0 118px;overflow:hidden;background:var(--navy-deep) url("hero-architecture.webp") center 40%/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,21,32,.94) 0%,rgba(7,25,38,.84) 42%,rgba(7,25,38,.38) 72%,rgba(7,25,38,.28) 100%)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,31,.1),rgba(6,20,31,.18) 55%,rgba(6,20,31,.55));pointer-events:none}.hero .shell{position:relative;z-index:2}.hero-grid{display:block}.hero-copy{max-width:930px}.hero h1{font-size:clamp(66px,8.6vw,132px);line-height:.86;margin:0;max-width:990px}.hero .lead{font-size:clamp(17px,1.55vw,22px);font-weight:330;line-height:1.65;color:#dce4e9;max-width:720px;margin:34px 0 0}.hero .actions{margin-top:38px}.hero-visual,.hero-note,.hero-proof,.scroll-cue{display:none}
.hero-bottom{display:flex;gap:34px;align-items:center;margin-top:78px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22);max-width:930px;color:#c1ccd4;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.hero-bottom span{display:inline-flex;align-items:center;gap:9px}.hero-bottom span:before{content:"";width:18px;height:1px;background:#fff;opacity:.65}
.actions{display:flex;gap:11px;flex-wrap:wrap}.btn{min-height:52px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;font-weight:680;transition:background .2s,color .2s,border .2s,transform .2s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:#fff;color:var(--navy)}.btn.primary:hover{background:#edf0f2}.btn.outline{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.02)}.btn.outline:hover{border-color:#fff;background:rgba(255,255,255,.06)}.btn.dark{border-color:var(--navy);color:var(--navy)}.btn.dark:hover{background:var(--navy);color:#fff}

/* PAGE HERO */
.pagehero{position:relative;overflow:hidden;padding:190px 0 104px;background:var(--navy-deep);color:#fff;min-height:560px;display:flex;align-items:flex-end}.pagehero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,21,32,.95),rgba(8,27,41,.77) 58%,rgba(8,27,41,.6));z-index:1}.pagehero:after{content:"";position:absolute;right:6vw;bottom:-60px;width:180px;height:260px;border-left:32px solid rgba(255,255,255,.05);border-right:42px solid rgba(255,255,255,.05);transform:skewX(-3deg);z-index:1}.pagehero .shell{position:relative;z-index:2}.pagehero h1{font-size:clamp(56px,7vw,100px);line-height:.93;margin:0;max-width:1040px}.pagehero .lead{max-width:820px;margin:30px 0 0;font-size:18px;line-height:1.7;color:#d5dfe5;font-weight:330}.pagehero.pe-hero{background:url("industrial.webp") center 50%/cover no-repeat}.pagehero.cf-hero{background:url("technology.webp") center 50%/cover no-repeat}.pagehero.expertise-hero{background:url("hero-architecture.webp") center 47%/cover no-repeat}.pagehero.media-hero{background:url("media-camera.webp") center 48%/cover no-repeat}.pagehero.venues-hero{background:url("venues-culture-hospitality.webp") center 52%/cover no-repeat}

/* CORE SECTIONS */
.section{padding:132px 0}.white{background:#fff}.paper2{background:var(--stone)}.dark{background:var(--navy-black);color:#fff}.grid2{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:110px;align-items:start}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.section-rule{border-top:1px solid var(--line)}
.statement{padding:154px 0 146px;background:#fff}.statement .display{font-size:clamp(52px,6.2vw,92px);max-width:1140px}.statement-copy{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;margin-top:54px;padding-top:30px;border-top:1px solid var(--line)}.statement-copy .meta{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#7d8992}.statement-copy .intro{max-width:680px}

/* SERVICES AS EDITORIAL INDEX */
.service-index{margin-top:56px;border-top:1px solid var(--line-light)}.service-item{display:grid;grid-template-columns:80px minmax(240px,.65fr) 1.35fr 36px;gap:30px;align-items:center;padding:42px 0;border-bottom:1px solid var(--line-light);transition:background .2s}.service-item:hover{background:rgba(255,255,255,.025)}.service-item .n{font-size:10px;letter-spacing:.16em;color:#8295a3}.service-item h3{font-size:clamp(28px,3vw,44px);font-weight:380;letter-spacing:-.035em;margin:0}.service-item p{margin:0;color:#b5c2ca;max-width:590px}.service-item .arrow{font-size:28px;font-weight:250;text-align:right}.service-pair{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);margin-top:54px}.service-panel{min-height:380px;padding:42px 44px;position:relative;display:flex;align-items:flex-end}.service-panel+ .service-panel{border-left:1px solid var(--line-light);background:#fff;color:var(--navy)}.service-panel .n{position:absolute;top:38px;left:44px;font-size:10px;letter-spacing:.15em;color:#9fb0bc}.service-panel h3{font-size:38px;font-weight:380;letter-spacing:-.035em;margin:0 0 14px}.service-panel p{margin:0;color:#b4c1c9}.service-panel+ .service-panel p{color:var(--muted)}

/* EXPERTISE / IMAGERY */
.sector-intro{display:grid;grid-template-columns:.86fr 1.14fr;gap:90px;align-items:end;margin-bottom:54px}.sector-grid,.visual-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.sector-card,.visual-card{position:relative;overflow:hidden;background:var(--navy);min-height:370px;color:#fff}.sector-card:nth-child(1),.sector-card:nth-child(2),.visual-card:nth-child(1),.visual-card:nth-child(2){grid-column:span 6;min-height:480px}.sector-card:nth-child(n+3),.visual-card:nth-child(n+3){grid-column:span 4}.sector-card img,.visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.04);transition:transform .65s cubic-bezier(.2,.65,.2,1),filter .4s}.sector-card:after,.visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,36,.06) 20%,rgba(7,24,36,.18) 52%,rgba(5,18,28,.9) 100%)}.sector-card:hover img,.visual-card:hover img{transform:scale(1.028);filter:saturate(.84) contrast(1.05)}.sector-card .body,.visual-card .body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:31px 34px}.sector-card .index{display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#bac8d0;margin-bottom:13px}.sector-card h3,.visual-card h3{font-size:30px;font-weight:360;letter-spacing:-.035em;margin:0 0 9px}.sector-card p,.visual-card p{margin:0;max-width:520px;color:#d3dde3;font-size:13.5px;line-height:1.55}.dark .visual-card{border:1px solid rgba(255,255,255,.08)}

/* CARDS, PROCESS, TAGS */
.cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--line)}.card{padding:34px 34px 40px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.card+ .card{padding-left:34px}.card:last-child{border-right:0}.card .num{font-size:10px;letter-spacing:.16em;color:#7d8b96;margin-bottom:55px}.card h3{margin:0 0 12px;font-size:20px;font-weight:560}.card p{margin:0;color:var(--muted);font-size:14px}.dark .cards{border-color:var(--line-light)}.dark .card{border-color:var(--line-light)}.dark .card p{color:#afbdc6}.process{margin-top:54px;border-top:1px solid var(--line)}.process-row{display:grid;grid-template-columns:80px minmax(220px,.7fr) 1.3fr;gap:38px;align-items:start;padding:32px 0;border-bottom:1px solid var(--line)}.process-row .n{font-size:10px;letter-spacing:.15em;color:#7f8b95;padding-top:5px}.process-row h3{margin:0;font-size:20px;font-weight:520}.process-row p{margin:0;color:var(--muted)}.dark .process,.dark .process-row{border-color:var(--line-light)}.dark .process-row p{color:#b5c1c8}.sector-badges,.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.sector-badges span,.tag{padding:9px 12px;border:1px solid var(--line);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#66747e}.dark .sector-badges span{border-color:var(--line-light);color:#bdc9d1}

/* IMAGE + TEXT */
.banner-split{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:96px;align-items:center}.image-frame{overflow:hidden;background:var(--navy);position:relative}.image-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.72) contrast(1.04)}.image-frame:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(22,48,73,.1);pointer-events:none}.dark .image-frame:after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.bullet-list{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--line)}.bullet-list li{padding:17px 0 17px 24px;border-bottom:1px solid var(--line);position:relative;color:#43505a}.bullet-list li:before{content:"";position:absolute;left:0;top:25px;width:6px;height:6px;border-radius:50%;background:var(--navy)}.dark .bullet-list{border-color:var(--line-light)}.dark .bullet-list li{border-color:var(--line-light);color:#bdc8cf}.dark .bullet-list li:before{background:#fff}

/* TEAM */
.team-minimal{margin-top:56px;border-top:1px solid var(--line)}.team-member{display:grid;grid-template-columns:42px 96px minmax(220px,.66fr) minmax(0,1.24fr) 26px;gap:26px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center;transition:padding-left .25s,background .25s}.team-member:hover{padding-left:8px;background:linear-gradient(90deg,rgba(22,48,73,.02),transparent)}.team-member .index{font-size:10px;letter-spacing:.14em;color:#87949e;align-self:start;padding-top:10px}.team-thumb{position:relative;overflow:hidden;background:#e7edf2;aspect-ratio:4/5;border:1px solid rgba(22,48,73,.08)}.team-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03) brightness(.99)}.team-member h3{font-size:27px;font-weight:390;letter-spacing:-.03em;margin:0}.team-member .role{margin-top:6px}.team-member p{margin:0;color:var(--muted);max-width:620px}.team-member .arrow{font-size:22px;font-weight:300;text-align:right}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:50px}.person{padding:34px 34px 36px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.person+ .person{padding-left:34px}.person:last-child{border-right:0}.person .monogram{display:none}.person-body{padding:0}.person h3{font-size:24px;font-weight:390;letter-spacing:-.025em;margin:0 0 7px}.role{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#74828d;font-weight:650}.person p{color:var(--muted);font-size:14px;margin:26px 0 0}.profile{display:grid;grid-template-columns:minmax(260px,310px) minmax(0,820px);gap:72px;padding:78px 0;border-bottom:1px solid var(--line);align-items:start}.profile:first-child{border-top:1px solid var(--line)}.profile-media{position:relative}.profile-no{font-size:11px;letter-spacing:.18em;color:#7f8e98;margin-bottom:14px}.profile-photo{position:relative;overflow:hidden;background:#e7edf2;border:1px solid rgba(22,48,73,.08);box-shadow:0 28px 60px rgba(10,28,43,.08)}.profile-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.9) contrast(1.03) brightness(.99)}.profile h2{font-size:42px;font-weight:360;letter-spacing:-.04em;margin:0 0 9px}.profile p{color:var(--muted);font-size:16px;line-height:1.78}

/* INSIGHTS */
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:50px;border-top:1px solid var(--line)}.insight{min-height:330px;padding:30px 34px 30px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column}.insight+ .insight{padding-left:34px}.insight:last-child{border-right:0}.insight .meta{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#82909a}.insight h3{font-size:25px;font-weight:380;line-height:1.2;letter-spacing:-.03em;margin:26px 0 15px}.insight p{margin:0;color:var(--muted);font-size:14px}.insight .rule-link{margin-top:auto;padding-top:28px}

/* CONTACT + LEGAL + ARTICLE */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-card{padding:10px 0;border-top:1px solid var(--line)}.contact-line{display:grid;grid-template-columns:130px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.contact-line span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#83909a}.contact-line strong{font-weight:460}.legal-content h2,.legal-content h3{font-weight:420;letter-spacing:-.02em}.legal-content h2{font-size:34px;margin-top:0}.legal-content h3{font-size:19px;margin-top:35px}.legal-content p{color:var(--muted)}.article-shell{width:min(900px,calc(100% - 104px));margin-inline:auto}.article-head{padding:188px 0 86px;background:var(--navy-deep);color:#fff}.article-head h1{font-size:clamp(52px,6vw,82px);line-height:.98;margin:0}.article-head .deck{font-size:19px;color:#ced9e0;max-width:760px;margin-top:28px}.article-head .meta{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#9fb0bc;margin-bottom:22px}.article-body{padding:90px 0 120px}.article-body h2{font-size:31px;font-weight:400;letter-spacing:-.03em;margin:52px 0 17px}.article-body p,.article-body li{font-size:17px;color:#46535d;line-height:1.8}.note{background:var(--stone);padding:26px 30px;border-left:2px solid var(--navy);margin:38px 0}

/* CTA + FOOTER */
.cta{padding:112px 0;background:var(--stone);border-top:1px solid var(--line)}.cta .display{font-size:clamp(44px,5vw,72px);max-width:900px}.footer{background:var(--navy-black);color:#aebbc4;padding:78px 0 32px}.footer-grid{display:grid;grid-template-columns:1.8fr .7fr .7fr;gap:70px}.footer .logo img{width:170px;filter:brightness(0) invert(1)}.footer h4{font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:650;color:#718391;margin:0 0 20px}.footer a{display:block;margin:9px 0;font-size:12.5px}.footer a:hover{color:#fff}.footer p{font-size:13px;line-height:1.7}.footer .address{margin-top:21px;color:#82929d}.legal-row{margin-top:60px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:9px;letter-spacing:.05em;color:#667985}

/* MOTION */
.fade{opacity:0;transform:translateY(16px);transition:opacity .75s ease,transform .75s ease}.fade.visible{opacity:1;transform:none}

@media(max-width:1100px){
  .shell{width:min(var(--max),calc(100% - 64px))}.narrow,.article-shell{width:min(860px,calc(100% - 64px))}.navlinks{gap:20px}.navlinks>a{font-size:9px}.hero h1{font-size:clamp(64px,9vw,108px)}.grid2,.statement-copy,.sector-intro,.banner-split{gap:62px}.sector-card:nth-child(1),.sector-card:nth-child(2),.visual-card:nth-child(1),.visual-card:nth-child(2){min-height:420px}
}
@media(max-width:920px){
  .topbar{height:78px}.logo img{width:142px}.menu{display:block}.navlinks{display:none;position:fixed;left:0;right:0;top:78px;bottom:0;background:#fff;color:var(--navy);padding:34px 32px;flex-direction:column;align-items:flex-start;gap:0;overflow:auto}.navlinks.open{display:flex}.navlinks>a{width:100%;font-size:17px;letter-spacing:-.01em;text-transform:none;font-weight:390;padding:17px 0;border-bottom:1px solid var(--line)}.navlinks>a:after{display:none}.lang{border-left:0;padding-left:0!important;margin-top:14px;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.14em!important;border-bottom:0!important}.topbar:not(.scrolled):not(.open) .menu{color:#fff}.topbar.open .logo img{filter:none}.hero{min-height:850px;padding:150px 0 92px}.hero-bottom{margin-top:56px;flex-wrap:wrap}.grid2,.statement-copy,.sector-intro,.banner-split,.contact-grid{grid-template-columns:1fr;gap:42px}.section{padding:100px 0}.statement{padding:110px 0}.service-item{grid-template-columns:50px 1fr 28px}.service-item p{grid-column:2/4;margin-top:-10px}.service-pair{grid-template-columns:1fr}.service-panel+ .service-panel{border-left:0;border-top:1px solid var(--line-light)}.sector-card:nth-child(n),.visual-card:nth-child(n){grid-column:span 6;min-height:380px}.cards,.team-grid,.insight-grid{grid-template-columns:1fr}.card,.card+ .card,.person,.person+ .person,.insight,.insight+ .insight{padding:28px 0;border-right:0}.team-member{grid-template-columns:34px 86px minmax(170px,.7fr) 1.2fr 24px}.profile{grid-template-columns:240px 1fr;gap:40px}
}
@media(max-width:640px){
  .shell,.narrow,.article-shell{width:min(100% - 38px,var(--max))}.hero{min-height:760px;padding:130px 0 70px;background-position:58% 40%}.hero:before{background:linear-gradient(90deg,rgba(5,20,31,.95),rgba(6,22,34,.78) 80%,rgba(6,22,34,.64))}.hero h1{font-size:55px}.hero .lead{font-size:16.5px}.hero-bottom{gap:15px 25px;margin-top:48px;font-size:8px}.pagehero{min-height:480px;padding:138px 0 70px}.pagehero h1{font-size:49px}.pagehero .lead{font-size:16.5px}.section{padding:82px 0}.statement{padding:88px 0}.display,.statement .display{font-size:42px}.intro{font-size:16.5px}.service-item{padding:31px 0;grid-template-columns:38px 1fr 22px;gap:16px}.service-item h3{font-size:28px}.service-item p{font-size:14px}.sector-card:nth-child(n),.visual-card:nth-child(n){grid-column:span 12;min-height:390px}.sector-card .body,.visual-card .body{padding:25px}.sector-card h3,.visual-card h3{font-size:27px}.cards{margin-top:38px}.process-row{grid-template-columns:40px 1fr;gap:12px 18px}.process-row p{grid-column:2}.team-member{grid-template-columns:28px 72px 1fr 20px;gap:14px}.team-member p{grid-column:3/4;margin-top:6px}.team-member .arrow{align-self:center}.profile{grid-template-columns:1fr;gap:28px;padding:58px 0}.profile h2{font-size:34px}.footer-grid{grid-template-columns:1fr;gap:38px}.cta{padding:76px 0}.contact-line{grid-template-columns:1fr;gap:6px}.btn{min-height:50px}.article-head{padding:138px 0 62px}.article-head h1{font-size:46px}.article-body{padding:65px 0 90px}.article-body p,.article-body li{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.fade{opacity:1!important;transform:none!important;transition:none!important}.sector-card img,.visual-card img{transition:none!important}}
.white .btn.primary,.paper2 .btn.primary{background:var(--navy);color:#fff}.white .btn.primary:hover,.paper2 .btn.primary:hover{background:var(--navy-deep)}.section .actions{margin-top:32px}.profile-no{font-size:11px;letter-spacing:.18em;color:#7f8e98;padding-top:10px}.footer .logo{display:inline-flex}.footer .logo img{filter:brightness(0) invert(1)}

/* =========================================================
   MOBILE FINISHING — 2026-08
   ========================================================= */
html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #7891a5;outline-offset:4px}

@media(max-width:920px){
  .topbar{height:calc(78px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
  .navlinks{top:calc(78px + env(safe-area-inset-top));padding:28px max(28px,env(safe-area-inset-right)) calc(38px + env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));overscroll-behavior:contain}
  .navlinks>a{min-height:54px;display:flex;align-items:center}
  .menu{min-width:44px;min-height:44px;color:inherit;position:relative}
  .topbar.open .menu span{opacity:0}
  .topbar.open .menu:before{transform:translateY(7px) rotate(45deg)}
  .topbar.open .menu:after{transform:translateY(-7px) rotate(-45deg)}
  .menu span,.menu:before,.menu:after{transform-origin:center;transition:transform .22s ease,opacity .18s ease}
  .hero,.pagehero{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .profile-photo img,.team-thumb img{filter:saturate(.82) contrast(1.025) brightness(.985)}
}

@media(max-width:640px){
  .shell,.narrow,.article-shell{width:min(calc(100% - 40px),var(--max))}
  .topbar{height:calc(72px + env(safe-area-inset-top))}
  .nav{gap:18px}.logo img{width:132px}.navlinks{top:calc(72px + env(safe-area-inset-top));padding-top:22px}
  .navlinks>a{font-size:18px;padding:14px 0;min-height:52px}.lang{margin-top:10px!important}

  /* Hero */
  .hero{min-height:100svh;padding:calc(112px + env(safe-area-inset-top)) 0 calc(50px + env(safe-area-inset-bottom));background-position:61% center}
  .hero:before{background:linear-gradient(90deg,rgba(5,20,31,.96) 0%,rgba(6,22,34,.88) 68%,rgba(6,22,34,.62) 100%)}
  .hero-copy{max-width:100%}.eyebrow{font-size:8.5px;letter-spacing:.2em;margin-bottom:22px}
  .hero h1{font-size:clamp(50px,14.4vw,61px);line-height:.89;letter-spacing:-.052em}
  .hero .lead{font-size:16px;line-height:1.62;max-width:34ch;margin-top:28px}
  .hero .actions{margin-top:30px;gap:9px}
  .hero-bottom{margin-top:42px;padding-top:18px;display:grid;grid-template-columns:repeat(3,max-content);gap:11px 20px;font-size:7.5px;letter-spacing:.13em;max-width:100%}
  .hero-bottom span{gap:7px}.hero-bottom span:before{width:12px}

  /* Page heroes */
  .pagehero{min-height:440px;padding:calc(122px + env(safe-area-inset-top)) 0 58px;background-position:center center}
  .pagehero:before{background:linear-gradient(90deg,rgba(6,21,32,.96),rgba(8,27,41,.82) 72%,rgba(8,27,41,.66))}
  .pagehero:after{width:100px;height:180px;border-left-width:18px;border-right-width:24px;right:4vw;opacity:.72}
  .pagehero h1{font-size:clamp(42px,12.2vw,50px);line-height:.96;letter-spacing:-.047em;hyphens:auto;overflow-wrap:break-word}
  .pagehero .lead{font-size:16px;line-height:1.62;margin-top:24px;max-width:35ch}

  /* Rhythm / type */
  .section{padding:76px 0}.statement{padding:82px 0}.cta{padding:70px 0 calc(70px + env(safe-area-inset-bottom))}
  .display,.statement .display{font-size:clamp(37px,10.6vw,44px);line-height:1.01;letter-spacing:-.043em;margin-bottom:24px;hyphens:auto}
  .intro{font-size:16px;line-height:1.7}.kicker{font-size:8.5px;letter-spacing:.2em;margin-bottom:13px}
  .grid2,.statement-copy,.sector-intro,.banner-split,.contact-grid{gap:32px}
  .statement-copy{margin-top:38px;padding-top:22px}
  .statement-copy .intro{max-width:none}

  /* Buttons */
  .btn{min-height:52px;padding:0 22px}.section .actions{margin-top:26px}

  /* Services */
  .service-index{margin-top:38px}.service-item{padding:28px 0;grid-template-columns:30px minmax(0,1fr) 20px;gap:11px 14px;align-items:start}
  .service-item .n{padding-top:6px}.service-item h3{font-size:27px;line-height:1.08;hyphens:auto}.service-item p{grid-column:2/4;margin:2px 0 0;font-size:14px;line-height:1.65}.service-item .arrow{font-size:23px;line-height:1}
  .service-panel{min-height:330px;padding:30px}.service-panel .n{top:28px;left:30px}.service-panel h3{font-size:34px}.service-panel p{font-size:14px}

  /* Expertise imagery */
  .sector-intro{margin-bottom:36px}.sector-grid,.visual-grid{gap:12px}
  .sector-card:nth-child(n),.visual-card:nth-child(n){grid-column:span 12;min-height:330px}
  .sector-card img,.visual-card img{filter:saturate(.66) contrast(1.04);object-position:center}
  .sector-card .body,.visual-card .body{padding:23px 22px 24px}.sector-card h3,.visual-card h3{font-size:26px;line-height:1.08}.sector-card p,.visual-card p{font-size:13px;line-height:1.55}
  .image-frame img{aspect-ratio:5/4;filter:saturate(.67) contrast(1.035)}
  .bullet-list{margin-top:26px}.bullet-list li{padding:15px 0 15px 20px;font-size:14px}.bullet-list li:before{top:23px}

  /* Cards / process */
  .cards{margin-top:32px}.card{min-height:auto;padding:27px 0}.card h3{font-size:20px}.card p{font-size:14px;line-height:1.6}
  .process{margin-top:36px}.process-row{padding:25px 0;grid-template-columns:32px 1fr;gap:8px 15px}.process-row .n{font-size:9px}.process-row h3{font-size:20px}.process-row p{grid-column:2;font-size:14px;line-height:1.65}

  /* Homepage team teasers */
  .team-minimal{margin-top:40px}.team-member{grid-template-columns:26px 78px minmax(0,1fr) 18px;gap:12px;padding:21px 0;align-items:center}
  .team-member:hover{padding-left:0}.team-thumb{width:78px;aspect-ratio:4/5}.team-member .index{padding-top:0;align-self:center;font-size:8px}.team-member h3{font-size:21px;line-height:1.05}.team-member .role{font-size:8px;margin-top:5px}.team-member p{grid-column:3/5;margin-top:-2px;font-size:13px;line-height:1.5}.team-member .arrow{font-size:18px}

  /* Full team profiles */
  .profile{grid-template-columns:1fr;gap:27px;padding:54px 0}.profile-media{width:min(78vw,300px)}.profile-no{padding-top:0;margin-bottom:12px;font-size:9px}.profile-photo{box-shadow:0 20px 48px rgba(10,28,43,.07)}.profile h2{font-size:35px;line-height:1.02}.profile p{font-size:15px;line-height:1.72}.tags{gap:7px}.tag{font-size:8px;padding:8px 10px}

  /* Insights */
  .insight-grid{margin-top:36px}.insight,.insight+ .insight{min-height:auto;padding:26px 0}.insight h3{font-size:24px;margin:18px 0 12px}.insight p{font-size:14px}.insight .rule-link{padding-top:18px}

  /* Contact */
  .contact-card{margin-top:6px}.contact-line{padding:17px 0}.contact-line span{font-size:8px}.contact-line strong{font-size:15px;overflow-wrap:anywhere}

  /* Articles */
  .article-head{padding:calc(122px + env(safe-area-inset-top)) 0 56px}.article-head h1{font-size:clamp(40px,11.5vw,47px);hyphens:auto}.article-head .deck{font-size:16px;line-height:1.65}.article-body{padding:58px 0 78px}.article-body h2{font-size:27px;margin-top:42px}.article-body p,.article-body li{font-size:15.5px;line-height:1.75}.note{padding:22px 23px;margin:30px 0}

  /* Footer */
  .footer{padding:62px 0 calc(26px + env(safe-area-inset-bottom))}.footer-grid{gap:32px}.footer .logo img{width:154px}.footer p{font-size:12.5px}.footer .address{font-size:12px}.footer h4{margin-bottom:13px}.footer a{min-height:36px;display:flex;align-items:center;margin:0}.legal-row{margin-top:42px;gap:9px;line-height:1.55}
}

@media(max-width:480px){
  .hero .actions,.section .actions{flex-direction:column;align-items:stretch}.hero .actions .btn,.section .actions .btn{width:100%}
  .hero-bottom{grid-template-columns:1fr;gap:10px;margin-top:36px}.hero-bottom span:before{width:16px}
  .profile-media{width:100%;max-width:300px}
}

@media(max-width:380px){
  .shell,.narrow,.article-shell{width:min(calc(100% - 32px),var(--max))}.logo img{width:124px}
  .hero h1{font-size:47px}.pagehero h1{font-size:40px}.display,.statement .display{font-size:36px}
  .team-member{grid-template-columns:22px 68px minmax(0,1fr) 16px;gap:10px}.team-thumb{width:68px}.team-member h3{font-size:19px}.team-member p{font-size:12.5px}
  .sector-card:nth-child(n),.visual-card:nth-child(n){min-height:305px}
}

@media(orientation:landscape) and (max-height:520px) and (max-width:920px){
  .hero{min-height:640px;padding-top:110px}.pagehero{min-height:410px}.navlinks{padding-top:14px}.navlinks>a{min-height:44px;padding:9px 0;font-size:15px}
}

/* Mobile image delivery */
@media(max-width:640px){
  .hero{background-image:url("hero-architecture-mobile.webp")}
  .pagehero.pe-hero{background-image:url("industrial-mobile.webp")}
  .pagehero.cf-hero{background-image:url("technology-mobile.webp")}
  .pagehero.expertise-hero{background-image:url("hero-architecture-mobile.webp")}
  .pagehero.media-hero{background-image:url("media-camera-mobile.webp")}
  .pagehero.venues-hero{background-image:url("venues-culture-hospitality-mobile.webp")}
}

/* INDIVIDUAL PERSON PROFILE PAGES */
.person-hero{position:relative;overflow:hidden;background:var(--navy-deep);color:#fff;padding:158px 0 88px;min-height:690px;display:flex;align-items:center}.person-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(6,21,32,.98),rgba(10,35,52,.92) 56%,rgba(13,43,62,.72));pointer-events:none}.person-hero:after{content:"";position:absolute;right:5vw;top:15%;width:22vw;height:58%;min-width:190px;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.05);transform:skewX(-4deg);pointer-events:none}.person-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:96px;align-items:center}.person-hero-copy h1{font-size:clamp(58px,6.6vw,96px);line-height:.94;font-weight:330;letter-spacing:-.047em;margin:0;max-width:760px}.person-role{margin-top:18px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#aebdc7;font-weight:650}.person-hero .lead{font-size:18px;line-height:1.72;color:#d5e0e6;max-width:690px;margin:28px 0 0;font-weight:340}.person-back{color:#fff;margin-top:34px}.person-hero-photo{position:relative;overflow:hidden;background:#dfe7ec;box-shadow:0 36px 90px rgba(0,0,0,.22)}.person-hero-photo:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);pointer-events:none}.person-hero-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.84) contrast(1.035) brightness(.98)}.person-content-grid{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);gap:105px;align-items:start}.person-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.person-copy{max-width:820px}.person-copy p{font-size:17px;line-height:1.82;color:#4b5964;margin:0 0 25px}.profile-link{margin-top:24px}.profile h2 a:hover{color:var(--navy)}
@media(max-width:920px){.person-hero{min-height:auto;padding:132px 0 78px}.person-hero-grid{grid-template-columns:1fr;gap:46px}.person-hero-copy{max-width:760px}.person-hero-photo{width:min(76vw,430px)}.person-content-grid{grid-template-columns:1fr;gap:42px}.person-tags{max-width:720px}}
@media(max-width:640px){.person-hero{padding:118px 0 60px}.person-hero-grid{gap:38px}.person-hero-copy h1{font-size:51px}.person-hero .lead{font-size:16.5px}.person-hero-photo{width:min(86vw,360px);margin-inline:auto}.person-content-grid{gap:34px}.person-copy p{font-size:16px;line-height:1.76}.person-tags .tag{font-size:8px}}
@media(max-width:380px){.person-hero-copy h1{font-size:45px}.person-hero-photo{width:min(88vw,330px)}}

/* MOBILE NAVIGATION — robust full-screen drawer */
@media(max-width:920px){
  .topbar.open{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;color:var(--navy);box-shadow:0 1px 0 rgba(22,48,73,.09)}
  .nav{position:static}
  .navlinks,
  .navlinks.open{
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100vw!important;
    max-width:none!important;
    height:calc(100dvh - 78px - env(safe-area-inset-top))!important;
    min-height:calc(100vh - 78px - env(safe-area-inset-top))!important;
    margin:0!important;
    padding:30px max(32px,env(safe-area-inset-right)) calc(42px + env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left))!important;
    background:#fff!important;
    color:var(--navy)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    z-index:110;
    box-shadow:0 28px 70px rgba(8,23,34,.12);
  }
  .navlinks.open{display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
  .navlinks>a{
    flex:0 0 auto;
    width:100%;
    min-height:58px;
    padding:16px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:18px;
    line-height:1.2;
    letter-spacing:-.015em;
    text-transform:none;
    font-weight:390;
    border-bottom:1px solid var(--line);
  }
  .navlinks>a:not(.lang):after{
    content:"→"!important;
    position:static!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin-left:24px;
    background:none!important;
    font-size:20px;
    font-weight:300;
    opacity:.45;
  }
  .navlinks>a.active{font-weight:520}
  .navlinks .lang{
    width:auto;
    align-self:flex-start;
    min-height:42px;
    margin-top:22px!important;
    padding:0!important;
    border:0!important;
    font-size:10px!important;
    line-height:42px;
    text-transform:uppercase!important;
    letter-spacing:.16em!important;
    opacity:.62!important;
  }
  .menu{z-index:120}
}
@media(max-width:640px){
  .navlinks,.navlinks.open{
    height:calc(100dvh - 72px - env(safe-area-inset-top))!important;
    min-height:calc(100vh - 72px - env(safe-area-inset-top))!important;
    padding:22px max(22px,env(safe-area-inset-right)) calc(34px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))!important;
  }
  .navlinks>a{min-height:56px;padding:15px 0;font-size:18px}
}
@media(max-width:380px){
  .navlinks,.navlinks.open{padding-top:14px!important}
  .navlinks>a{min-height:52px;padding:12px 0;font-size:17px}
}
