/* =========================================================
   ABOUT US V2 - editorial company page, deliberately not a homepage clone
   ========================================================= */
.vm-about2{background:#f1f1ef;color:#111}
.a2-shell{width:min(calc(100% - 80px),1400px);margin:0 auto}
.a2-label{display:block;margin:0 0 20px;color:#d90a2c;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.a2-label--dark{color:#ff4560}
.vm-about2 h2{margin:0;font-size:clamp(40px,5vw,76px);line-height:.96;letter-spacing:-.055em;font-weight:600}
.vm-about2 h2 em{font-style:normal;color:#d90a2c}

/* Unique editorial hero */
.a2-hero{position:relative;padding-top:78px;background:#07080a;color:#fff;overflow:hidden}
.a2-hero__index{position:absolute;z-index:3;left:28px;top:128px;color:rgba(255,255,255,.32);font-size:10px;letter-spacing:.18em;writing-mode:vertical-rl}
.a2-hero__inner{width:min(calc(100% - 80px),1400px);min-height:720px;margin:0 auto;display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:68px;padding:70px 0 52px}
.a2-hero__copy{position:relative;z-index:4}
.a2-kicker{margin:0 0 22px;color:rgba(255,255,255,.46);font-size:10px;font-weight:700;letter-spacing:.18em}
.a2-hero h1{margin:0;max-width:700px;font-size:clamp(67px,8vw,132px);line-height:.82;letter-spacing:-.075em;text-transform:uppercase;font-weight:700}
.a2-hero h1 span{display:block;color:rgba(255,255,255,.32);font-weight:500}
.a2-breadcrumbs{display:flex;align-items:center;gap:10px;margin-top:27px;color:rgba(255,255,255,.52);font-size:10px;font-weight:600}
.a2-breadcrumbs a{color:#fff;text-decoration:none}
.a2-breadcrumbs svg{width:15px;height:15px;fill:none;stroke:#d90a2c;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.a2-hero__lead{max-width:610px;margin:28px 0 0;color:rgba(255,255,255,.66);font-size:15px;line-height:1.8}
.a2-hero__visual{position:relative;height:540px}
.a2-hero__image{position:absolute;inset:0;background-size:cover;background-position:center;clip-path:polygon(12% 0,100% 0,100% 86%,78% 100%,0 100%,0 18%);transition:transform .2s ease-out}
.a2-hero__visual:before{content:"";position:absolute;z-index:2;inset:27px -22px -22px 28px;border:1px solid rgba(255,255,255,.14);clip-path:polygon(12% 0,100% 0,100% 86%,78% 100%,0 100%,0 18%)}
.a2-hero__frame{position:absolute;z-index:3;inset:auto 20px 20px 20px;display:flex;justify-content:space-between;padding:12px 15px;background:rgba(5,5,7,.74);backdrop-filter:blur(10px);color:rgba(255,255,255,.48);font-size:10px;letter-spacing:.16em}
.a2-hero__marquee{height:52px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;white-space:nowrap}
.a2-hero__marquee div{display:inline-block;padding:18px 0;color:rgba(255,255,255,.25);font-size:11px;font-weight:700;letter-spacing:.22em;animation:a2Marquee 28s linear infinite}
@keyframes a2Marquee{to{transform:translateX(-50%)}}

/* Company intro */
.a2-intro{padding:118px 0 108px}
.a2-intro__top{display:grid;grid-template-columns:.82fr 1.18fr;gap:110px;align-items:start}
.a2-intro__prose{padding-top:27px;border-top:1px solid rgba(0,0,0,.14);color:#555;font-size:14px;line-height:1.78}
.a2-intro__lead{margin-top:0!important;color:#151515;font-size:21px!important;line-height:1.58!important;font-weight:500}
.a2-facts{margin-top:86px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(0,0,0,.14);border-left:1px solid rgba(0,0,0,.14)}
.a2-facts>div{min-height:245px;padding:26px;border-right:1px solid rgba(0,0,0,.14);border-bottom:1px solid rgba(0,0,0,.14)}
.a2-facts span{color:#d90a2c;font-size:10px;font-weight:700}
.a2-facts strong{display:block;margin:76px 0 10px;font-size:19px}
.a2-facts p{margin:0;color:#616166;font-size:12px;line-height:1.72}

/* Story - photographic/editorial composition */
.a2-story{position:relative;min-height:690px;background:#090a0d;color:#fff;overflow:hidden}
.a2-story__art{position:absolute;inset:0 49% 0 0;background-size:cover;background-position:center}
.a2-story:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,10,13,.18) 0%,rgba(9,10,13,.4) 41%,#090a0d 58%,#090a0d 100%)}
.a2-story__layout{position:relative;z-index:2;min-height:690px;display:grid;grid-template-columns:1fr .84fr;gap:125px;align-items:center}
.a2-story__title{padding-left:46%}
.a2-story__title h2{font-size:clamp(40px,4vw,65px)}
.a2-story__body{padding:50px 0 50px 40px;border-left:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.62);font-size:14px;line-height:1.8}

/* Manifesto */
.a2-manifesto{padding:116px 0 124px;background:#f1f1ef}
.a2-manifesto__head{display:grid;grid-template-columns:.35fr 1fr;gap:50px;align-items:end;margin-bottom:62px}
.a2-manifesto__head h2{max-width:940px}
.a2-manifesto__list{border-top:1px solid rgba(0,0,0,.15)}
.a2-manifesto__list article{display:grid;grid-template-columns:80px .72fr 1fr;gap:35px;align-items:start;padding:34px 0;border-bottom:1px solid rgba(0,0,0,.15)}
.a2-manifesto__list span{color:#d90a2c;font-size:10px;font-weight:700}
.a2-manifesto__list h3{margin:0;font-size:27px;line-height:1.1;letter-spacing:-.04em}
.a2-manifesto__list p{max-width:580px;margin:0;color:#616166;font-size:13px;line-height:1.75}

/* Connected-team section */
.a2-build{position:relative;padding:120px 0;background:#07080a;color:#fff;overflow:hidden}
.a2-build__visual{position:absolute;inset:0 0 0 52%;background-size:cover;background-position:center;opacity:.42;filter:saturate(.75)}
.a2-build:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07080a 0%,#07080a 49%,rgba(7,8,10,.88) 62%,rgba(7,8,10,.15) 100%)}
.a2-build__layout{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.15fr;gap:105px}
.a2-build__disciplines{background:rgba(7,8,10,.73);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.13)}
.a2-build__disciplines div{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.a2-build__disciplines span{color:#ff4560;font-size:10px;font-weight:700;letter-spacing:.12em}
.a2-build__disciplines p{margin:0;color:rgba(255,255,255,.62);font-size:12px;line-height:1.7}

/* Global offices - diagram rather than cards */
.a2-global{padding:115px 0 124px;background:#f1f1ef}
.a2-global__head{display:grid;grid-template-columns:1fr 430px;gap:70px;align-items:end}
.a2-global__head>p{margin:0;color:#626267;font-size:13px;line-height:1.75}
.a2-office-map{position:relative;height:490px;margin-top:70px;border:1px solid rgba(0,0,0,.13);overflow:hidden;background:
  linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px);
  background-size:70px 70px;
}
.a2-office-map:before{content:"";position:absolute;width:640px;height:640px;border:1px solid rgba(0,0,0,.08);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.a2-office-map__axis{position:absolute;background:rgba(0,0,0,.11)}
.a2-office-map__axis--x{height:1px;left:4%;right:4%;top:50%}
.a2-office-map__axis--y{width:1px;top:5%;bottom:5%;left:50%}
.a2-office{position:absolute;width:190px;padding-left:23px}
.a2-office i{position:absolute;left:0;top:5px;width:8px;height:8px;background:#d90a2c;transform:rotate(45deg);box-shadow:0 0 14px rgba(217,10,44,.25)}
.a2-office span{display:block;margin-bottom:8px;color:#8a8a8d;font-size:10px;font-weight:700;letter-spacing:.16em}
.a2-office strong{font-size:17px}
.a2-office--ny{left:15%;top:19%}
.a2-office--ldn{left:56%;top:17%}
.a2-office--cpt{left:27%;top:70%}
.a2-office--jhb{left:68%;top:67%}

/* Keep awards, but do not copy homepage layout rhythm around them */
.vm-about2 .vm-recognition{padding:112px 0;background:#08090b}
.vm-about2 .vm-recognition:before{animation-duration:15s}
.vm-about2 .vm-recognition .vm-section-inner{width:min(calc(100% - 80px),1400px)}
.vm-about2 .vm-recognition__heading h2{font-size:clamp(42px,4.6vw,70px)}

/* FAQ */
.a2-faq{padding:116px 0;background:#f1f1ef}
.a2-faq__layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}
.a2-faq__items{border-top:1px solid rgba(0,0,0,.15)}
.a2-faq details{border-bottom:1px solid rgba(0,0,0,.15)}
.a2-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:25px 0;font-size:16px;font-weight:600}
.a2-faq summary::-webkit-details-marker{display:none}
.a2-faq summary span{color:#d90a2c;font-size:22px;font-weight:400;transition:.2s ease}
.a2-faq details[open] summary span{transform:rotate(45deg)}
.a2-faq details p{margin:-2px 70px 25px 0;color:#616166;font-size:13px;line-height:1.75}

/* CTA */
.a2-cta{padding:100px 0;background:#d90a2c;color:#fff}
.a2-cta__inner{display:grid;grid-template-columns:1fr auto;gap:55px;align-items:end}
.a2-cta__inner .a2-label{grid-column:1/-1;margin-bottom:-20px}
.a2-cta h2{font-size:clamp(44px,5vw,75px)}
.a2-cta h2 em{color:#fff;font-style:normal;font-weight:400}
.a2-cta a{height:54px;padding:0 21px;display:inline-flex;align-items:center;gap:14px;background:#090a0d;color:#fff;text-decoration:none;border-radius:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.a2-cta a svg{width:17px;height:17px;fill:none;stroke:#ff4560;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* About page has section-scoped motion only */
.a2-intro,.a2-story,.a2-manifesto,.a2-build,.a2-global,.a2-faq,.a2-cta{position:relative;overflow:hidden}
.a2-manifesto:before{
  content:"";position:absolute;top:74px;right:-9%;width:420px;height:420px;
  border:1px solid rgba(0,0,0,.055);border-radius:50%;animation:a2Spin 26s linear infinite;
}
.a2-build:after{
  content:"";position:absolute;left:-25%;bottom:36px;width:34%;height:1px;
  background:linear-gradient(90deg,transparent,#d90a2c,transparent);animation:a2Line 9s linear infinite;
}
.a2-global:after{
  content:"";position:absolute;left:-12%;top:28px;width:16%;height:2px;
  background:#d90a2c;opacity:.55;animation:a2Global 11s ease-in-out infinite;
}
@keyframes a2Spin{to{transform:rotate(360deg)}}
@keyframes a2Line{to{left:115%}}
@keyframes a2Global{50%{left:48%;width:5%}100%{left:104%;width:16%}}

@media(max-width:1100px){
  .a2-shell,.a2-hero__inner{width:min(calc(100% - 52px),1400px)}
  .a2-hero__inner{grid-template-columns:1fr 1fr;gap:38px}
  .a2-intro__top,.a2-build__layout,.a2-faq__layout{gap:60px}
  .a2-facts{grid-template-columns:1fr 1fr}
  .a2-story__layout{gap:65px}
  .a2-global__head{grid-template-columns:1fr 360px}
}
@media(max-width:820px){
  .a2-shell,.a2-hero__inner{width:min(calc(100% - 34px),1400px)}
  .a2-hero__inner{grid-template-columns:1fr;padding-top:92px}
  .a2-hero__visual{height:390px}
  .a2-hero__index{display:none}
  .a2-hero h1{font-size:clamp(58px,16vw,100px)}
  .a2-intro,.a2-manifesto,.a2-build,.a2-global,.a2-faq{padding:82px 0}
  .a2-intro__top,.a2-manifesto__head,.a2-build__layout,.a2-global__head,.a2-faq__layout{grid-template-columns:1fr;gap:40px}
  .a2-facts{grid-template-columns:1fr}
  .a2-story__art{inset:0 0 46% 0;opacity:.55}
  .a2-story:before{background:linear-gradient(0deg,#090a0d 0%,#090a0d 48%,rgba(9,10,13,.1) 78%)}
  .a2-story__layout{grid-template-columns:1fr;gap:25px;padding:430px 0 70px;min-height:auto}
  .a2-story__title{padding-left:0}
  .a2-story__body{padding:25px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.13)}
  .a2-manifesto__list article{grid-template-columns:45px 1fr}
  .a2-manifesto__list p{grid-column:2}
  .a2-build__visual{inset:48% -15% 0 18%;opacity:.25}
  .a2-build:before{background:linear-gradient(180deg,#07080a 0%,#07080a 52%,rgba(7,8,10,.78) 100%)}
  .a2-office-map{height:560px}
  .a2-office--ny{left:9%;top:16%}.a2-office--ldn{left:55%;top:24%}.a2-office--cpt{left:13%;top:68%}.a2-office--jhb{left:55%;top:74%}
  .a2-cta__inner{grid-template-columns:1fr}
}
@media(max-width:520px){
  .a2-build__disciplines div{grid-template-columns:1fr;gap:8px}
  .a2-office{width:145px}.a2-office strong{font-size:14px}
  .a2-office--ldn,.a2-office--jhb{left:52%}
}
@media(prefers-reduced-motion:reduce){
  .a2-hero__marquee div,.a2-manifesto:before,.a2-build:after,.a2-global:after{animation:none!important}
}



.a2-hero__image,.a2-story__art,.a2-build__visual{background-image:var(--bg-lg)!important}
@media(max-width:820px){.a2-hero__image,.a2-story__art,.a2-build__visual{background-image:var(--bg-sm)!important}}


/* V3 laptop composition control */
@media (min-width:821px) and (max-width:1600px){
  .a2-shell,.a2-hero__inner{width:min(calc(100% - 88px),1180px)!important}
  .a2-hero__inner{min-height:650px!important;gap:52px!important;padding:58px 0 46px!important}
  .a2-hero__visual{height:480px!important}
  .a2-hero h1{font-size:clamp(62px,7vw,105px)!important}
  .a2-intro{padding:96px 0 92px!important}
  .a2-intro__top{gap:78px!important}
  .a2-facts{margin-top:70px!important}
  .a2-story{min-height:610px!important}
  .a2-story__layout{min-height:610px!important;gap:82px!important}
  .a2-manifesto,.a2-build,.a2-global,.a2-faq{padding:94px 0!important}
  .a2-build__layout{gap:76px!important}
}
@media (min-width:821px) and (max-width:1380px){
  .a2-shell,.a2-hero__inner{width:min(calc(100% - 72px),1080px)!important}
  .a2-hero__inner{grid-template-columns:.9fr 1.1fr!important;min-height:600px!important}
  .a2-hero__visual{height:430px!important}
  .a2-hero h1{font-size:clamp(58px,6.4vw,88px)!important}
  .a2-intro__top{gap:64px!important}
  .a2-manifesto__list article{grid-template-columns:60px .8fr 1fr!important}
}
