@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");

*{box-sizing:border-box;margin:0}
html,body{min-height:100%;scroll-behavior:smooth}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
:root{
  --bg:#050505;
  --fg:#f5f5f5;
  --muted:#bdbdbd;
  --pad:clamp(16px,2.4vw,32px);
  --grid:max(68rem,74vw);
  --sp-black:#050505;
  --sp-white:#fff;
  --sp-hairW:rgba(255,255,255,.16);
  --sp-hairW2:rgba(255,255,255,.30);
  --cta-left:56px;
  --section-title-size:clamp(24px,3vw,38px);
  --section-title-line:.98;
  --section-title-tracking:.06em;
  --display-font:Inter,"Helvetica Neue",Arial,sans-serif;
}
body{
  font-family:var(--display-font);
  background:var(--bg);
  color:var(--fg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
[hidden]{display:none!important}

#about,#work,#workGrid,#clients,#reviews,#team,#how,#contact,#offices,#news{
  scroll-margin-top:96px;
}
#about{scroll-margin-top:92px}

main > section:not(.hero),
.globe-zone{
  position:relative;
}
main > section:not(.hero):not(.interlude):not(.stage):not(.resources):not(.news-section)::before,
.globe-zone::before{
  display:none!important;
}
section[data-theme="light"]:not(.resources):not(.news-section)::before,
.globe-zone::before{
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.88));
}
section[data-theme="dark"]:not(.resources):not(.news-section)::before{
  background:linear-gradient(to bottom,rgba(5,5,5,0),rgba(5,5,5,.92));
}
.stage::before{display:none!important}
main > section:not(.hero) > *,
.globe-zone > *{
  position:relative;
  z-index:1;
}

/* Premium cursor */
@media (hover:hover) and (pointer:fine){
  html,body{cursor:none!important}
  *,a,button,[role="button"],label,input,textarea,select,summary{cursor:none!important}
  input,textarea{caret-color:auto}
  .cursor-dot,.cursor-ring{
    position:fixed;
    top:0;left:0;
    transform:translate(-50%,-50%);
    pointer-events:none;
    z-index:2147483647;
    opacity:0;
    mix-blend-mode:difference;
  }
  .cursor-dot{width:8px;height:8px;border-radius:50%;background:#fff;transition:opacity .2s ease}
  .cursor-ring{
    width:36px;height:36px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.7);
    transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .2s,opacity .2s;
  }
  .cursor-ring.cursor--hover{border-color:#fff}
}

/* Nav */
.nav{
  position:fixed;
  inset:0 0 auto 0;
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 var(--pad);
  z-index:1000;
  color:#f5f5f5;
  background:transparent;
  transition:transform .32s cubic-bezier(.19,1,.22,1),color .25s ease;
}
.nav--hidden{transform:translateY(-110%)}
.nav.nav--on-light{color:#111}
.brand__mark{
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.92rem;
  transition:text-shadow .25s,opacity .25s;
}
.brand__mark:hover{text-shadow:0 0 8px rgba(255,255,255,.4)}
.nav__group{display:flex;align-items:center;gap:18px}
.link{
  position:relative;
  text-transform:uppercase;
  font-size:.8rem;
  letter-spacing:.18em;
  font-weight:500;
}
.link::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-6px;height:1px;
  background:currentColor;
  opacity:.2;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s,opacity .35s;
}
.link:hover::after{transform:scaleX(1);opacity:.5}
.nav-estimate{
  position:relative;
  overflow:visible;
  isolation:isolate;
  min-height:38px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.38);
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.95);
  font-size:.68rem;
  font-weight:820;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-shadow:0 10px 26px rgba(0,0,0,.62),0 0 18px rgba(255,255,255,.14);
  box-shadow:0 14px 34px rgba(0,0,0,.34),0 0 0 rgba(255,255,255,0),inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
  animation:navEstimatePulse 1.75s ease-in-out infinite;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease;
}
.nav-estimate::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.74);
  box-shadow:0 0 22px rgba(255,255,255,.16);
  opacity:0;
  pointer-events:none;
  animation:navEstimateRipple 1.75s ease-out infinite;
}
.nav-estimate::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  z-index:-1;
  width:64px;
  height:64px;
  border-radius:inherit;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 66%);
  transform:translate(-50%,-50%) scale(.78);
  opacity:.22;
  pointer-events:none;
  animation:navEstimateGlow 1.75s ease-in-out infinite;
}
.nav-estimate:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.68);background:rgba(255,255,255,.07);box-shadow:0 18px 42px rgba(0,0,0,.38),0 0 34px rgba(255,255,255,.16),inset 0 1px 0 rgba(255,255,255,.18)}
.nav.nav--on-light .nav-estimate{border-color:rgba(0,0,0,.30);background:rgba(0,0,0,.035);color:#050505;text-shadow:none;box-shadow:0 12px 30px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.46)}
.nav.nav--on-light .nav-estimate::before{border-color:rgba(0,0,0,.52);box-shadow:0 0 22px rgba(0,0,0,.10)}
.nav.nav--on-light .nav-estimate::after{background:radial-gradient(circle,rgba(0,0,0,.14),transparent 66%)}
@keyframes navEstimatePulse{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 14px 34px rgba(0,0,0,.34),0 0 0 rgba(255,255,255,0),inset 0 1px 0 rgba(255,255,255,.10)}
  50%{transform:translateY(-1px) scale(1.018);box-shadow:0 18px 46px rgba(0,0,0,.42),0 0 30px rgba(255,255,255,.18),inset 0 1px 0 rgba(255,255,255,.18)}
}
@keyframes navEstimateRipple{
  0%,58%,100%{transform:scale(.96);opacity:0}
  15%{opacity:.42}
  52%{transform:scale(1.24);opacity:0}
}
@keyframes navEstimateGlow{
  0%,100%{transform:translate(-50%,-50%) scale(.78);opacity:.18}
  50%{transform:translate(-50%,-50%) scale(1.24);opacity:.42}
}
.lang{display:flex;align-items:center;gap:12px;margin-left:0}
.lang--desktop{position:relative}
.lang__trigger{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.075);
  color:currentColor;
  display:grid;
  place-items:center;
  font-size:.72rem;
  font-weight:760;
  letter-spacing:.14em;
  box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease;
}
.lang--desktop.is-open .lang__trigger,
.lang__trigger:hover{transform:translateY(-1px);background:#fff;color:#080808;border-color:rgba(255,255,255,.58)}
.nav.nav--on-light .lang__trigger{border-color:rgba(0,0,0,.12);background:rgba(0,0,0,.045)}
.nav.nav--on-light .lang--desktop.is-open .lang__trigger,
.nav.nav--on-light .lang__trigger:hover{background:#080808;color:#fff;border-color:rgba(0,0,0,.24)}
.lang__menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:74px;
  padding:8px;
  border-radius:18px;
  background:rgba(5,5,5,.94);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 22px 60px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}
.lang__menu[hidden]{display:none}
.lang__menu .lang__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:36px;
  border-radius:12px;
  color:#fff;
  background:transparent;
}
.lang__menu .lang__btn.is-active{background:rgba(255,255,255,.12)}
.lang__btn{
  border:0;
  background:none;
  color:inherit;
  padding:6px 2px;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
  opacity:.58;
  transition:opacity .18s,transform .18s;
}
.lang__btn:hover{opacity:.9;transform:translateY(-1px)}
.lang__btn.is-active{opacity:1}
.burger{
  display:none;
  width:32px;height:32px;
  border:0;background:none;color:currentColor;padding:0;
  flex-direction:column;justify-content:center;gap:7px;
}
.burger__line{
  height:2px;width:100%;
  border-radius:999px;
  background:currentColor;
  transition:transform .25s ease;
}
.burger--active .burger__line:nth-child(1){transform:translateY(4px) rotate(45deg)}
.burger--active .burger__line:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{
  position:fixed;
  top:0;right:0;bottom:0;
  width:min(80vw,320px);
  background:#000;
  color:#fff;
  padding:76px 28px 32px;
  transform:translateX(100%);
  opacity:0;
  pointer-events:none;
  transition:transform .28s ease,opacity .28s ease;
  z-index:999;
}
.mobile-menu ul{list-style:none;padding:0;margin:0}
.mobile-menu li{margin:14px 0}
.mobile-menu a{
  font-size:.92rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:400;
}
.mobile-menu--open{transform:translateX(0);opacity:1;pointer-events:auto}
.lang--mobile{justify-content:center;margin:18px 0 0;padding-top:18px}
body.nav-lock{overflow:hidden}
@media (max-width:768px){
  .nav__group{display:none}
  .burger{display:flex}
  .nav.nav--menu-open .brand__mark{opacity:0;pointer-events:none}
  .nav.nav--menu-open .burger{position:absolute;left:var(--pad);right:auto}
  .lang__btn{font-size:.82rem;padding:8px 4px}
}
@media (min-width:769px) and (max-width:1180px){
  .nav__group{gap:12px}
  .link{font-size:.66rem;letter-spacing:.13em}
  .nav-estimate{font-size:.62rem;letter-spacing:.12em;padding:0 12px}
}
@media (min-width:769px){.mobile-menu{display:none!important}}

/* Hero + nebula */
.hero{
  min-height:100vh;
  min-height:100svh;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#050505;
}
.nebula-bg{
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
  overflow:hidden;
  background:
    radial-gradient(850px 520px at 30% 18%,rgba(89,171,255,.28),transparent 60%),
    radial-gradient(700px 420px at 68% 62%,rgba(255,92,203,.18),transparent 65%),
    #050505;
  opacity:.95;
  transition:opacity 1.2s cubic-bezier(.19,1,.22,1);
}
.nebula-bg canvas{width:100%;height:100%;display:block}
.hero-video{
  position:absolute;
  inset:0;
  z-index:-2;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  transform:scale(1.055);
  background:#050505;
  transition:
    opacity 2.05s cubic-bezier(.19,1,.22,1),
    transform 2.35s cubic-bezier(.19,1,.22,1);
}
.hero-video::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.04);
  pointer-events:none;
}
.hero-video__media{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.025);
  filter:saturate(.92) contrast(1.08) brightness(.64);
}
.hero-video__veil{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.56) 0%,rgba(0,0,0,.20) 36%,rgba(0,0,0,.38) 100%),
    linear-gradient(90deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.56) 100%);
}
.hero-video__grain{
  position:absolute;
  inset:0;
  opacity:.11;
  mix-blend-mode:screen;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 4px);
  background-size:100% 5px,5px 100%;
}
.hero--video-live .hero-video{
  opacity:1;
  transform:scale(1);
}
.hero--video-live .nebula-bg{opacity:0}
.hero__content{
  position:relative;
  z-index:2;
  text-align:center;
  padding:120px var(--pad) 80px;
  transition:
    opacity 1.25s cubic-bezier(.19,1,.22,1),
    transform 1.45s cubic-bezier(.19,1,.22,1),
    filter 1.45s cubic-bezier(.19,1,.22,1);
  will-change:opacity,transform,filter;
}
.hero__name{
  font-family:var(--display-font);
  font-synthesis:none;
  font-optical-sizing:none;
  display:flex;
  justify-content:center;
  align-items:baseline;
  flex-wrap:nowrap;
  max-width:100%;
  overflow:visible;
  font-size:clamp(2rem,6vw,4rem);
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  white-space:nowrap;
  margin-bottom:16px;
}
#logoText span{display:inline-block;flex:0 0 auto;transition:transform .22s ease-out,text-shadow .3s ease-out}
#logoText span[data-space="true"]{pointer-events:none}
.hero__slogan{
  font-family:var(--display-font);
  font-synthesis:none;
  font-optical-sizing:none;
  margin-top:24px;
  font-size:clamp(1.1rem,2.4vw,1.6rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px) scale(.98);
  animation:heroSloganIntro 1.2s ease forwards .4s;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:.6em;
}
.hero__slogan span{display:inline-block;animation:subtleGlow 6s ease-in-out infinite alternate}
.hero--video-live .hero__content{
  opacity:.96;
  transform:translate3d(0,0,0) scale(.4);
  filter:none;
}
.hero__scroll{
  position:absolute;
  left:50%;bottom:40px;
  transform:translateX(-50%);
  opacity:0;
  animation:indicatorFadeIn 1.2s ease forwards .9s;
  pointer-events:none;
}
.scroll-indicator__mouse{
  width:22px;height:36px;
  border-radius:14px;
  border:1.5px solid rgba(255,255,255,.7);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:7px;
  box-shadow:0 0 10px rgba(0,0,0,.6);
}
.scroll-indicator__wheel{
  width:3px;height:7px;border-radius:999px;
  background:rgba(255,255,255,.9);
  animation:scrollWheel 1.5s ease-in-out infinite;
}
.hero__reveal{
  position:absolute;
  left:0;bottom:0;width:100%;height:40vh;
  background:#fff;
  transform:translateY(40vh);
  pointer-events:none;
  z-index:4;
}
@keyframes heroSloganIntro{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes subtleGlow{0%,100%{text-shadow:none}50%{text-shadow:0 0 6px rgba(255,255,255,.15)}}
@keyframes indicatorFadeIn{to{opacity:1}}
@keyframes scrollWheel{0%{transform:translateY(0);opacity:1}60%{transform:translateY(8px);opacity:.2}100%{transform:translateY(0);opacity:0}}

/* Light intro */
.interlude{
  background:#fff;
  color:#0a0a0a;
  text-align:center;
  padding:140px var(--pad) 62px;
}
.hero__title{
  font-family:var(--display-font);
  font-synthesis:none;
  font-optical-sizing:none;
  font-size:clamp(3rem,9.6vw,7rem);
  line-height:.9;
  font-weight:800;
  letter-spacing:0;
}
.swap{
  font-family:var(--display-font);
  font-synthesis:none;
  font-optical-sizing:none;
}
.stage{
  background:#fff;
  color:#0a0a0a;
  padding:0 var(--pad) 220px;
  text-align:center;
  position:relative;
  z-index:1;
  scroll-margin-top:32vh;
}
.stage__title{
  max-width:52rem;
  margin:0 auto;
  font-weight:301;
  font-size:clamp(1.02rem,1.5vw,1.26rem);
  line-height:1.8;
  letter-spacing:.01em;
  position:relative;
  z-index:4;
}

/* Resources */
.resources{
  position:relative;
  overflow:hidden;
  z-index:3;
  margin-top:-72px;
  background:#fff;
  color:#0b0b0b;
  padding:clamp(28px,3vw,42px) 0 clamp(94px,7vw,118px);
  isolation:isolate;
  scroll-margin-top:96px;
}
.resources::before,.resources::after{display:none}
.resources__inner{width:min(826px,calc(100% - 48px));margin:0 auto}
.resources__head{
  margin-bottom:18px;
  text-align:center;
}
.resources__kicker{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(0,0,0,.46);
}
.resources__title{
  margin:0;
  font-size:var(--section-title-size);
  line-height:var(--section-title-line);
  letter-spacing:var(--section-title-tracking);
  text-transform:uppercase;
  text-wrap:balance;
}
.resources__body{
  position:relative;
  display:block;
}
.resources-nps{
  position:relative;
  min-height:118px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.026)),rgba(255,255,255,.024);
  box-shadow:0 18px 50px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);
  padding:17px;
  overflow:hidden;
  display:grid;
  gap:12px;
}
.resources-nps::before{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-76px;
  top:-74px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 66%);
}
.resources-nps__label{
  position:relative;
  z-index:1;
  display:block;
  font-size:clamp(19px,2.2vw,27px);
  line-height:1;
  font-weight:760;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.92);
}
.resources-nps__score{
  position:relative;
  z-index:1;
  display:inline-block;
  margin-top:10px;
  font-size:clamp(28px,3.4vw,42px);
  line-height:.82;
  font-weight:760;
}
.resources-nps__scale{
  position:relative;
  z-index:1;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.resources-nps__text{
  position:relative;
  z-index:1;
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:clamp(11px,.95vw,13px);
  line-height:1.42;
}
.resources__grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-flow:dense;gap:9px}
.resource-card{
  position:relative;
  min-height:74px;
  border-radius:13px;
  border:1px solid rgba(0,0,0,.08);
  background:linear-gradient(135deg,rgba(0,0,0,.035),rgba(0,0,0,.012) 45%,rgba(0,0,0,.026)),#fff;
  box-shadow:0 16px 40px rgba(0,0,0,.075),inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
  padding:clamp(10px,1vw,13px);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
  transform:translateY(18px);
  opacity:0;
  filter:blur(8px);
  transition:opacity .85s cubic-bezier(.19,1,.22,1),transform .85s cubic-bezier(.19,1,.22,1),filter .85s cubic-bezier(.19,1,.22,1),border-color .28s ease,background .28s ease;
  transition-delay:calc(var(--resource-i,0) * 80ms);
}
.resource-card:nth-child(odd) .resource-card__halo{animation-delay:-2.4s}
.resources.is-in .resource-card{opacity:1;transform:translateY(0);filter:blur(0)}
.resource-card:nth-child(1){--resource-i:0}
.resource-card:nth-child(2){--resource-i:1}
.resource-card:nth-child(3){--resource-i:2}
.resource-card:nth-child(4){--resource-i:3}
.resource-card:nth-child(5){--resource-i:4}
.resource-card:nth-child(6){--resource-i:5}
.resource-card:nth-child(7){--resource-i:6}
.resource-card:nth-child(8){--resource-i:7}
.resource-card:nth-child(9){--resource-i:8}
.resource-card--offices{grid-column:4 / span 3;min-height:82px}
.resource-card--accounts{grid-column:1 / span 2}
.resource-card--wide{grid-column:3 / span 4}
.resource-card:not(.resource-card--wide):not(.resource-card--offices):not(.resource-card--accounts):not(.resource-card--featured):not(.resource-card--since){grid-column:span 2}
.resource-card--wide-sm{grid-column:1 / span 2}
.resource-card--since{grid-column:1 / span 3;min-height:82px}
.resource-card--wide{
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
  justify-items:center;
  row-gap:12px;
  text-align:center;
}
.resource-card--wide .resource-card__num{align-self:center;justify-content:center}
.resource-card--wide .resource-card__text{align-self:center;text-align:center}
.resource-card--featured{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.resource-card--since{text-align:left;align-items:flex-start;justify-content:center}
.resource-card--offices{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;text-align:left}
.resource-card--accounts{justify-content:center}
.resource-card--offices .resource-card__num,
.resource-card--offices .resource-card__text,
.resource-card--accounts .resource-card__num,
.resource-card--accounts .resource-card__text{align-self:flex-start}
.resource-card--offices .resource-card__num,
.resource-card--offices .resource-card__text{align-self:center}
.resource-card--featured{grid-column:3 / span 4;min-height:74px;background:linear-gradient(135deg,rgba(0,0,0,.05),rgba(0,0,0,.018) 42%,rgba(0,0,0,.035)),#fff;border-color:rgba(0,0,0,.11)}
.resource-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0%,rgba(0,0,0,.075) 42%,transparent 58%);
  transform:translateX(-120%);
  opacity:0;
}
.resources.is-in .resource-card::before{
  animation:resourceScan 2.4s cubic-bezier(.19,1,.22,1) both;
  animation-delay:calc(280ms + var(--resource-i,0) * 120ms);
}
.resource-card::after{
  content:"";
  display:none;
  position:absolute;
  left:18px;
  right:18px;
  bottom:12px;
  height:1px;
  background:linear-gradient(to right,rgba(0,0,0,.28),rgba(0,0,0,.07),transparent);
  transform-origin:left;
  transform:scaleX(.28);
  opacity:.62;
  transition:transform .35s ease,opacity .35s ease;
}
.resource-card:hover{border-color:rgba(0,0,0,.16);background:linear-gradient(135deg,rgba(0,0,0,.05),rgba(0,0,0,.018) 42%,rgba(0,0,0,.035)),#fff}
.resource-card:hover::after{transform:scaleX(.92);opacity:.92}
.resource-card__halo{
  position:absolute;
  width:170px;
  height:170px;
  right:-90px;
  top:-96px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(0,0,0,.09),rgba(0,0,0,.028) 38%,transparent 68%);
  opacity:.52;
  pointer-events:none;
  filter:blur(2px);
  animation:resourceHaloDrift 7.4s ease-in-out infinite;
}
.resource-card__num{
  position:relative;
  z-index:1;
  display:flex;
  align-items:baseline;
  gap:.16em;
  color:rgba(0,0,0,.92);
  font-weight:760;
  letter-spacing:0;
  line-height:.82;
  white-space:nowrap;
}
.resource-card__prefix,
.resource-card__pretext,
.resource-card__aftertext{font-size:clamp(14px,1.6vw,22px);color:rgba(0,0,0,.62);letter-spacing:.08em;text-transform:uppercase}
.resource-card__value,.resource-card__suffix{font-size:clamp(25px,3.4vw,42px);font-variant-numeric:tabular-nums}
.resource-card--wide .resource-card__value{font-size:clamp(25px,3.4vw,42px)}
.resource-card--featured .resource-card__value,
.resource-card--featured .resource-card__suffix{font-size:clamp(25px,3.4vw,42px);font-weight:760}
.resource-card__text{
  position:relative;
  z-index:1;
  margin:0;
  max-width:42ch;
  color:rgba(0,0,0,.66);
  font-size:clamp(11px,1vw,13px);
  line-height:1.35;
  letter-spacing:.025em;
  overflow-wrap:normal;
  white-space:pre-line;
}
.resource-card__text--office{display:grid;gap:7px;margin:0;white-space:normal;align-self:center}
.resource-card__officeLine{display:flex;align-items:baseline;gap:.26em;flex-wrap:nowrap;margin:0;color:rgba(0,0,0,.92);font-size:clamp(17px,1.8vw,24px);line-height:1;font-weight:760;letter-spacing:0;text-transform:uppercase;white-space:nowrap}
.resource-card__officeMain,
.resource-card__officeRegion{font:inherit;letter-spacing:inherit;color:inherit;text-transform:inherit}
.resource-card__officeSub{margin:0;font-size:clamp(11px,1vw,13px);line-height:1.25;color:rgba(0,0,0,.56);letter-spacing:.02em}
.resource-card--wide .resource-card__text{max-width:68ch;margin:0 auto}
.resource-card--featured .resource-card__num{justify-content:center}
.resource-card--featured .resource-card__text{font-weight:400;color:rgba(0,0,0,.66);letter-spacing:.025em;text-transform:none;text-align:center;margin-inline:auto}
@keyframes resourceScan{0%{transform:translateX(-120%);opacity:0}20%{opacity:.55}100%{transform:translateX(120%);opacity:0}}
@keyframes resourceHaloDrift{
  0%,100%{transform:translate3d(0,0,0) scale(.94);opacity:.40}
  42%{transform:translate3d(-24px,26px,0) scale(1.08);opacity:.66}
  68%{transform:translate3d(-8px,44px,0) scale(.98);opacity:.50}
}

/* Globe */
.globe-zone{
  position:relative;
  z-index:2;
  background:#fff;
  overflow:clip;
}
.globe-heading{
  position:relative;
  background:#fff;
  color:#0b0b0b;
  padding:clamp(22px,3.2vw,42px) 0 0;
  z-index:1;
}
.globe-intro{
  position:relative;
  width:min(1120px,calc(100% - 48px));
  margin:0 auto;
  text-align:center;
}
.globe-intro__kicker{
  margin:0 0 10px;
  color:rgba(0,0,0,.48);
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.globe-intro__title{
  margin:0;
  font-size:var(--section-title-size);
  line-height:var(--section-title-line);
  letter-spacing:var(--section-title-tracking);
  text-transform:uppercase;
  text-wrap:balance;
}
.globe-bridge{
  position:relative;
  background:#fff;
  height:clamp(624px,89vh,936px);
  overflow:hidden;
  z-index:1;
}
.globe-dome{
  position:absolute;
  left:50%;
  bottom:var(--domeBottom,-6vh);
  transform:translateX(-50%);
  width:100vw;
  height:1100px;
  pointer-events:none;
  z-index:2;
}
#globeCanvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.globe-label{
  --globe-label-x:-50%;
  --globe-label-y:-50%;
  position:absolute;
  opacity:0;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.88);
  color:#fff;
  font-size:.68rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
  pointer-events:none;
  transform:translate(var(--globe-label-x),var(--globe-label-y));
  transition:opacity .42s ease,transform .42s cubic-bezier(.19,1,.22,1);
  z-index:3;
}
.globe-label--visible{opacity:1}
.globe-label--top{--globe-label-x:-50%;--globe-label-y:calc(-100% - 16px)}
#workGrid{position:relative;z-index:5}

/* Work switch */
.work-switch{
  position:relative;
  z-index:6;
  margin-top:-92px;
  scroll-margin-top:92px;
  padding:34px var(--pad) 26px;
  background:linear-gradient(180deg,rgba(5,5,5,.94),#050505 54%,#050505 100%);
  color:#fff;
  box-shadow:0 -32px 60px rgba(0,0,0,.42);
}
.work-switch__kicker{
  width:max-content;
  margin:0 auto 12px;
  color:rgba(255,255,255,.48);
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.work-switch__inner{
  width:max-content;
  max-width:calc(100% - 48px);
  margin:0 auto;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  padding:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 50px rgba(0,0,0,.36);
}
.work-switch__btn{
  min-width:128px;
  border:0;
  border-radius:999px;
  padding:12px 22px;
  background:transparent;
  color:rgba(255,255,255,.58);
  font-size:12px;
  font-weight:760;
  letter-spacing:.22em;
  text-transform:uppercase;
  transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.work-switch__btn:hover{color:#fff;transform:translateY(-1px)}
.work-switch__btn.is-active{
  background:#fff;
  color:#050505;
  box-shadow:0 14px 32px rgba(255,255,255,.12);
}

/* Work */
#workGrid{background:#050505;padding:0}
.wall{
  width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(12,1fr);
}
.tile{
  grid-column:span 4;
  position:relative;
  overflow:hidden;
  opacity:1;
  transform:none;
  filter:none;
}
.tile img{
  width:100%;
  height:auto;
  min-height:clamp(320px,28vw,460px);
  display:block;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#111;
  transition:transform .7s ease;
}
.tile:hover img{transform:scale(1.06)}
.tile__caption{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  opacity:0;
  transition:opacity .35s,backdrop-filter .35s;
  background:rgba(0,0,0,.45);
  color:#fff;
  text-align:center;
  padding:12px;
  z-index:3;
}
.tile:hover .tile__caption{opacity:1;backdrop-filter:blur(2px)}
.js .tile{
  opacity:0;
  transform:translate3d(0,18px,0) scale(.985);
  filter:blur(8px);
  will-change:transform,opacity,filter;
  transition:opacity .62s cubic-bezier(.19,1,.22,1),transform .82s cubic-bezier(.19,1,.22,1),filter .82s cubic-bezier(.19,1,.22,1);
  transition-delay:var(--reveal-delay,0ms);
}
.js .tile::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,#050505 0%,#000 100%);
  transform:translate3d(0,0,0);
  transition:transform .92s cubic-bezier(.19,1,.22,1);
  transition-delay:calc(var(--reveal-delay,0ms) + 60ms);
  z-index:2;
}
.js .tile.is-in{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.js .tile.is-in::before{transform:translate3d(0,-101%,0)}
@media (max-width:1100px){.tile{grid-column:span 6}}
@media (max-width:680px){.tile{grid-column:1/-1}}

/* Clients */
#clients.clients--marquee{
  background:#fff;
  color:#0b0b0b;
  margin-top:0;
  padding:clamp(108px,9vw,150px) var(--pad) clamp(72px,6vw,104px);
}
#clients.clients--marquee::before,
.reviews::before,
.howpath::before,
.offices-cards::before{display:none!important}
.clients__inner{max-width:var(--grid);margin:0 auto}
.clients__head{text-align:center;margin:0 0 clamp(22px,3vw,40px)}
.clients__kicker{margin:0 0 10px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:rgba(0,0,0,.45)}
.clients__headline{
  margin:0 auto;
  max-width:32ch;
  font-size:var(--section-title-size);
  line-height:var(--section-title-line);
  font-weight:760;
  letter-spacing:var(--section-title-tracking);
  text-transform:uppercase;
  text-wrap:balance;
}
.logo-marquee{--gap:54px;--logo-h:30px;--fade:18%}
.logo-marquee__viewport{
  overflow:hidden;
  padding:16px 0;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent);
  mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent);
}
.logo-marquee__track{
  display:flex;
  width:max-content;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.logo-marquee__set{display:flex;align-items:center;gap:var(--gap);padding-right:var(--gap)}
.logo-marquee__logo{
  display:block;
  height:var(--logo-h);
  width:auto;
  max-width:180px;
  object-fit:contain;
  filter:grayscale(1) brightness(0);
  opacity:.74;
  user-select:none;
  pointer-events:none;
}

/* Reviews */
.reviews{
  background:#fff;
  color:#0b0b0b;
  margin-top:0;
  padding:clamp(72px,6vw,104px) var(--pad) 110px;
  position:relative;
  z-index:6;
}
.reviews__inner{max-width:var(--grid);margin:0 auto;display:grid;gap:18px;align-items:start}
@media (min-width:980px){
  .reviews__inner{
    grid-template-columns:1.05fr .95fr;
    grid-template-areas:"head card" "tabs card";
    column-gap:clamp(26px,4vw,64px);
    align-items:center;
  }
  .reviews__head{grid-area:head}
  .reviews__card{grid-area:card}
  .reviews__tabs{grid-area:tabs}
}
.reviews__head{text-align:center}
.reviews__kicker{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;opacity:.75;margin:0 0 10px}
.reviews__title{font-size:var(--section-title-size);font-weight:760;letter-spacing:var(--section-title-tracking);line-height:var(--section-title-line);text-transform:uppercase;text-wrap:balance;margin:0 0 12px}
.reviews__lead{color:rgba(0,0,0,.58);max-width:52ch;line-height:1.75;margin:0 auto}
.reviews__card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:#0b0b0b;
  width:100%;
  min-height:clamp(280px,34vw,420px);
  display:grid;
  place-items:center;
  color:inherit;
  box-shadow:0 18px 54px rgba(0,0,0,.55);
  transition:transform .55s cubic-bezier(.19,1,.22,1),box-shadow .55s ease;
}
.reviews__card:hover{transform:translateY(-3px);box-shadow:0 28px 80px rgba(0,0,0,.65)}
.reviews__thumb{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 520px at 30% 20%,rgba(255,255,255,.08),transparent 55%),
    radial-gradient(700px 420px at 80% 70%,rgba(255,255,255,.06),transparent 60%),
    linear-gradient(180deg,#0c0c0c,#070707);
  transform:scale(1.04);
}
.reviews__card::after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(80% 70% at 50% 40%,rgba(0,0,0,0) 0%,rgba(0,0,0,.60) 72%,rgba(0,0,0,.82) 100%);
}
.reviews__play{position:relative;width:86px;height:86px;display:grid;place-items:center;border-radius:999px;z-index:2}
.reviews__playRing{position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.58);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 14px 34px rgba(0,0,0,.55);backdrop-filter:blur(6px)}
.reviews__playTri{width:0;height:0;border-left:14px solid rgba(255,255,255,.92);border-top:9px solid transparent;border-bottom:9px solid transparent;transform:translateX(2px)}
.reviews__caption{
  position:absolute;left:16px;right:16px;bottom:16px;z-index:2;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.30);
  backdrop-filter:blur(8px);
  border-radius:16px;
  padding:14px 14px 12px;
  text-align:left;
}
.reviews__quote{display:block;color:#e9e9e9;line-height:1.55;margin-bottom:8px}
.reviews__meta{display:block;color:#bdbdbd;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
.reviews__tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-inline:auto}
.reviews__tab{
  border:1px solid rgba(0,0,0,.14);
  background:rgba(0,0,0,.035);
  color:rgba(0,0,0,.74);
  padding:10px 12px;
  border-radius:999px;
  font-size:.82rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:transform .35s,background .35s,border-color .35s;
}
.reviews__tab:hover{transform:translateY(-1px)}
.reviews__tab span{opacity:.72;margin-right:8px}
.reviews__tab.is-active{background:#050505;color:#fff;border-color:#050505}
#reviews.rv-ready [data-rv]{opacity:0;transform:translateY(16px);filter:blur(3px);transition:opacity .85s cubic-bezier(.19,1,.22,1),transform .85s cubic-bezier(.19,1,.22,1),filter .85s cubic-bezier(.19,1,.22,1)}
#reviews.rv-ready [data-rv].is-inview{opacity:1;transform:translateY(0);filter:blur(0)}
body.reviews-lock{overflow:hidden}
.reviews-modal{position:fixed;inset:0;z-index:2200;display:none}
.reviews-modal.is-open{display:block}
.reviews-modal__bg{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}
.reviews-modal__panel{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:min(980px,calc(100vw - 28px));
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:#050505;
  overflow:hidden;
  box-shadow:0 24px 90px rgba(0,0,0,.65);
}
.reviews-modal__frame{aspect-ratio:16/9;width:100%;background:#000}
.reviews-modal__frame iframe,.reviews-modal__frame video{width:100%;height:100%;display:block;border:0}
.reviews-modal__close{
  position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.35);color:#fff;z-index:2;
}
.reviews-modal__close::before,.reviews-modal__close::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:currentColor;transform-origin:center}
.reviews-modal__close::before{transform:translate(-50%,-50%) rotate(45deg)}
.reviews-modal__close::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* Team */
.team{position:relative;margin-top:0;padding:clamp(88px,9vw,132px) 0 clamp(64px,8vw,120px);background:#050505;color:#fff}
.team__inner{width:min(1180px,calc(100% - 48px));margin:0 auto}
.team__head{text-align:center}
.team__kicker{font-size:12px;letter-spacing:.28em;opacity:.72;text-transform:uppercase;margin-bottom:10px}
.team__headRow{position:relative;display:flex;align-items:center;justify-content:center;gap:18px}
.team__title{margin:0;font-size:var(--section-title-size);letter-spacing:var(--section-title-tracking);text-transform:uppercase;line-height:var(--section-title-line);font-weight:760;text-wrap:balance}
.team__controls{position:absolute;right:0;bottom:0;display:flex;gap:10px;flex-shrink:0}
.team-nav-btn{
  width:56px;height:56px;border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(10px);
  display:inline-flex;align-items:center;justify-content:center;
  padding:0;color:rgba(255,255,255,.92);
  transition:transform .25s,border-color .25s,background .25s,box-shadow .25s;
}
.team-nav-btn svg{width:20px;height:20px}
.team-nav-btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.42);background:rgba(0,0,0,.46);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.team__railWrap{position:relative;margin-top:28px}
.team__railWrap::before,.team__railWrap::after{content:"";position:absolute;top:0;bottom:44px;width:64px;pointer-events:none;z-index:2}
.team__railWrap::before{left:-6px;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,0))}
.team__railWrap::after{right:-6px;background:linear-gradient(270deg,rgba(0,0,0,.85),rgba(0,0,0,0))}
.team__rail{
  display:flex;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:8px 6px 18px;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.team__rail::-webkit-scrollbar{display:none}
.team-card{
  scroll-snap-align:start;
  flex:0 0 clamp(250px,28vw,320px);
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:radial-gradient(120% 120% at 20% 10%,rgba(255,255,255,.08),rgba(255,255,255,0) 55%),rgba(255,255,255,.03);
  box-shadow:0 30px 80px rgba(0,0,0,.55);
  overflow:hidden;
  position:relative;
  animation:teamFloat 7.5s ease-in-out infinite;
}
.team-card:nth-child(2n){animation-duration:8.6s;animation-delay:-1.8s}
.team-card:nth-child(3n){animation-duration:9.3s;animation-delay:-3.1s}
.team-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.22)}
.team-card__media{aspect-ratio:4/5;background:rgba(255,255,255,.04);position:relative;overflow:hidden}
.team-card__media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);filter:grayscale(1) contrast(1.08) brightness(.92)}
.team-card.is-colorpop .team-card__media img{filter:none}
.team-card__body{padding:16px 16px 18px}
.team-card__name{font-size:14px;letter-spacing:.22em;text-transform:uppercase;opacity:.95}
.team-card__role{margin-top:8px;font-size:16px;letter-spacing:.02em;opacity:.86}
.team-card__meta{margin-top:12px;display:flex;align-items:center;gap:10px;font-size:13px;opacity:.72;letter-spacing:.06em;text-transform:uppercase}
.team-card__dot{width:4px;height:4px;border-radius:999px;background:rgba(255,255,255,.45)}
.team__dots{position:relative;width:100%;display:flex;justify-content:center;align-items:center;gap:10px;margin-top:18px;padding-bottom:18px;z-index:3}
.team-dot{width:7px;height:7px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);padding:0;transition:transform .25s,background .25s,border-color .25s}
.team-dot.is-active{background:rgba(255,255,255,.85);border-color:rgba(255,255,255,.85);transform:scale(1.25)}
@keyframes teamFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.team .reveal{opacity:0;transform:translateY(18px);filter:blur(8px);transition:transform 1.05s cubic-bezier(.22,.61,.36,1),opacity 1.05s cubic-bezier(.22,.61,.36,1),filter 1.05s cubic-bezier(.22,.61,.36,1);transition-delay:var(--td,0s)}
.team .reveal.is-inview{opacity:1;transform:translateY(0);filter:blur(0)}
.team-showcase{width:min(1240px,100%);margin:clamp(26px,4vw,44px) auto 0;display:grid;grid-template-columns:minmax(500px,520px) 172px minmax(320px,1fr);column-gap:12px;align-items:start}
.team-photo-grid{display:flex;gap:12px;overflow-x:auto;padding:4px 4px 10px;scrollbar-width:none}
.team-photo-grid::-webkit-scrollbar{display:none}
.team-photo-col{display:flex;flex-direction:column;gap:12px;flex:0 0 auto}
.team-photo-col--shift-lg{margin-top:68px}
.team-photo-col--shift-md{margin-top:32px}
.team-photo-card{display:block;appearance:none;border:0;padding:0;overflow:hidden;flex:0 0 auto;border-radius:14px;background:#111;opacity:1;transition:opacity .34s ease,transform .42s cubic-bezier(.19,1,.22,1)}
.team-photo-card--sm{width:155px;height:165px}
.team-photo-card--md{width:162px;height:172px}
.team-photo-card--lg{width:172px;height:182px}
.team-photo-card img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) brightness(.77);transform:scale(1.01);transition:filter .48s ease,transform .62s cubic-bezier(.19,1,.22,1)}
.team-photo-card.is-active img{filter:grayscale(0) brightness(1);transform:scale(1.045)}
.team-showcase.has-active .team-photo-card:not(.is-active),.team-showcase.has-active .team-member-row:not(.is-active){opacity:.48}
.team-side-photos{display:flex;flex-direction:column;gap:12px;padding-top:84px}
.team-side-photo{width:162px;margin:0}
.team-side-photo img{width:162px;height:172px;border-radius:14px;object-fit:cover;display:block;filter:grayscale(1) contrast(1.08) brightness(.77)!important;box-shadow:0 20px 52px rgba(0,0,0,.34);transform:scale(1.01);transition:filter .48s ease,transform .62s cubic-bezier(.19,1,.22,1),opacity .34s ease}
.team-side-photo:hover img,.team-side-photo.is-active img{filter:grayscale(0) brightness(1)!important;transform:scale(1.045)}
.team-side-photo figcaption{display:none}
.team-side-photo figcaption strong{display:block;font-size:12px;line-height:1.1;font-weight:780;letter-spacing:.04em}
.team-side-photo figcaption span{display:block;margin-top:4px;color:rgba(255,255,255,.58);font-size:9px;line-height:1.25;font-weight:360;letter-spacing:.08em}
.team-member-list{display:grid;grid-template-columns:1fr;gap:16px;padding-top:10px;margin-left:clamp(28px,3.2vw,50px)}
.team-member-row{appearance:none;border:0;background:transparent;color:inherit;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:6px;align-items:center;padding:0;opacity:1;transition:opacity .3s ease}
.team-member-row__mark{width:16px;height:12px;border-radius:5px;background:rgba(255,255,255,.24);transition:width .3s ease,background .3s ease}
.team-member-row.is-active .team-member-row__mark{width:22px;background:#fff}
.team-member-row__main{display:flex;align-items:center;gap:8px;min-width:0}
.team-member-row__name{font-size:18px;font-weight:660;line-height:1;letter-spacing:0;color:rgba(255,255,255,.84);transition:color .25s ease}
.team-member-row.is-active .team-member-row__name{color:#fff}
.team-member-row__role{grid-column:2;font-size:10px;letter-spacing:.20em;text-transform:uppercase;color:rgba(255,255,255,.48);line-height:1.25}
.team-member-row__social{display:flex;gap:4px;opacity:0;transform:translateX(-6px);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.team-member-row.is-active .team-member-row__social{opacity:1;transform:translateX(0);pointer-events:auto}
.team-member-row__social a{width:18px;height:18px;display:grid;place-items:center;border-radius:5px;background:rgba(255,255,255,.10);color:rgba(255,255,255,.82);font-size:8px;text-transform:uppercase}

/* How */
.howpath{
  position:relative;
  margin-top:0;
  background:#fff;
  color:#0b0b0b;
}
.howpath__inner{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:clamp(96px,9vw,138px) 0 clamp(64px,7vw,108px)}
.howpath__head{text-align:center;margin-bottom:clamp(28px,3vw,44px)}
.howpath__kicker{margin:0 0 10px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:rgba(0,0,0,.55)}
.howpath__title{margin:0;font-size:var(--section-title-size);letter-spacing:var(--section-title-tracking);line-height:var(--section-title-line);text-transform:uppercase;font-weight:760;text-wrap:balance}
.howpath__layout{display:grid;grid-template-columns:180px 1fr;gap:clamp(24px,3vw,48px);align-items:start}
.howpath__rail{position:sticky;top:96px;align-self:start}
.howpath__railNo{font-variant-numeric:tabular-nums;font-size:clamp(56px,6.5vw,96px);letter-spacing:.02em;line-height:.95;color:rgba(0,0,0,.22)}
.howpath__railName{margin-top:12px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:rgba(0,0,0,.72)}
.howpath__list{list-style:none;padding:0;margin:0;display:grid}
.howpath__item{display:grid;grid-template-columns:96px 1fr;column-gap:clamp(18px,2vw,28px);padding:clamp(18px,2.2vw,26px) 0;outline:none;opacity:.72}
.howpath__item::after{content:"";grid-column:1/-1;height:1px;margin-top:clamp(18px,2.2vw,26px);background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.11),rgba(0,0,0,0))}
.howpath__item:last-child::after{display:none}
.howpath__plate{display:grid;justify-items:end;row-gap:8px;padding-top:2px}
.howpath__plateNo{font-variant-numeric:tabular-nums;font-size:18px;letter-spacing:.12em;color:rgba(0,0,0,.32)}
.howpath__plateTag{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:rgba(0,0,0,.42)}
.howpath__h{margin:0 0 10px;font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:rgba(0,0,0,.78);line-height:1.2}
.howpath__p{margin:0;font-size:clamp(15px,1.45vw,18px);letter-spacing:0;line-height:1.25;color:rgba(0,0,0,.78);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.howpath__item.is-active{opacity:1}
.howpath__item.is-active .howpath__plateNo{color:rgba(0,0,0,.62)}
.howpath__item.is-active .howpath__h,.howpath__item.is-active .howpath__p{color:rgba(0,0,0,.92)}
.howpath .how-reveal{opacity:0;transform:translateY(18px);filter:blur(10px);transition:opacity 520ms ease,transform 820ms cubic-bezier(.2,.8,.2,1),filter 820ms cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0ms)}
.howpath.is-in .how-reveal{opacity:1;transform:translateY(0);filter:blur(0)}
.howpath.is-reset .how-reveal{transition:none!important}

/* Project start curtain */
.project-curtain{
  position:relative;
  min-height:200vh;
  background:#050505;
  isolation:isolate;
}
.project-start{
  position:sticky;
  top:0;
  z-index:1;
  min-height:100vh;
  height:100vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  background:#050505;
  color:#f5f5f5;
}
.project-start__grid{
  position:absolute;
  inset:0;
  z-index:-3;
  opacity:.7;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.25),#000 20%,#000 78%,transparent);
}
.project-start__aurora{
  position:absolute;
  left:50%;
  top:52%;
  width:min(980px,86vw);
  height:min(620px,62vh);
  border-radius:999px;
  z-index:-2;
  transform:translate(-50%,-50%) scale(.94);
  background:
    radial-gradient(circle at 42% 45%,rgba(255,255,255,.14),transparent 34%),
    radial-gradient(circle at 64% 50%,rgba(120,190,255,.12),transparent 46%),
    radial-gradient(circle at 50% 60%,rgba(255,255,255,.06),transparent 62%);
  filter:blur(58px);
  animation:projectAurora 8s ease-in-out infinite alternate;
}
.project-start__word{
  position:absolute;
  left:50%;
  bottom:-7vh;
  z-index:-1;
  transform:translateX(-50%);
  font-size:clamp(124px,31vw,520px);
  line-height:.78;
  font-weight:900;
  letter-spacing:-.05em;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.07);
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 64%);
  -webkit-background-clip:text;
  background-clip:text;
  pointer-events:none;
  user-select:none;
}
.project-start__inner{
  width:min(980px,calc(100% - 48px));
  margin:-8vh auto 0;
  text-align:center;
  transform:translateY(18px) scale(.96);
  opacity:0;
  filter:blur(12px);
  transition:opacity 1s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1),filter 1s cubic-bezier(.19,1,.22,1);
}
.project-start.is-in .project-start__inner{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.project-start__kicker{
  margin:0 0 14px;
  color:rgba(255,255,255,.54);
  font-size:12px;
  letter-spacing:.30em;
  text-transform:uppercase;
}
.project-start__title{
  margin:0;
  font-size:clamp(42px,8vw,116px);
  line-height:.9;
  font-weight:860;
  letter-spacing:-.035em;
  text-wrap:balance;
  text-transform:uppercase;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.55));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 0 28px rgba(255,255,255,.10));
}
.project-start__arrow{
  position:relative;
  margin-top:clamp(28px,4vw,48px);
  width:58px;
  height:58px;
  display:inline-grid;
  place-items:center;
  border-radius:0;
  border:0;
  background:transparent;
  color:#fff;
  box-shadow:none;
  overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
  animation:projectArrowPulse 2.4s ease-in-out infinite;
}
.project-start__arrow::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:7px;
  width:58px;
  height:1px;
  border:0;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.44),transparent);
  transform:translateX(-50%) scaleX(.62);
  opacity:.38;
  animation:projectArrowLine 2.4s ease-in-out infinite;
}
.project-start__arrow svg{position:relative;z-index:1;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.project-start__arrow:hover{transform:translateY(3px);color:#fff}
@keyframes projectAurora{to{transform:translate(-50%,-50%) scale(1.08);opacity:.95}}
@keyframes projectButtonSheen{0%,38%{transform:translateX(-65%)}72%,100%{transform:translateX(65%)}}
@keyframes projectArrowPulse{0%,100%{transform:translateY(0);opacity:.82}50%{transform:translateY(8px);opacity:1}}
@keyframes projectArrowLine{0%,100%{transform:translateX(-50%) scaleX(.45);opacity:.18}50%{transform:translateX(-50%) scaleX(1);opacity:.48}}

/* Contact form */
#contact.contact{
  position:relative;
  z-index:2;
  margin-top:0;
  min-height:100vh;
  display:grid;
  align-items:center;
  padding:clamp(64px,8vw,108px) 0 clamp(64px,8vw,104px);
  background:#050505;
  color:rgba(255,255,255,.92);
}
#contact .contact__inner{width:min(780px,calc(100% - 48px));margin:0 auto;position:relative}
.project-curtain #contact .contact__inner{
  opacity:0;
  transform:translateY(72px) scale(.985);
  filter:blur(12px);
  transition:opacity .95s cubic-bezier(.19,1,.22,1),transform 1.1s cubic-bezier(.19,1,.22,1),filter 1.1s cubic-bezier(.19,1,.22,1);
}
.project-curtain.is-form-in #contact .contact__inner{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
#contact .contact__head{margin-bottom:18px;text-align:center}
#contact .contact__title{margin:0;font-size:var(--section-title-size);letter-spacing:var(--section-title-tracking);line-height:var(--section-title-line);font-weight:760;text-transform:uppercase;text-wrap:balance}
#contact .contact__sub{margin:8px 0 0;font-size:12px;letter-spacing:.02em;color:rgba(255,255,255,.46)}
#contact .msf__card{
  position:relative;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  box-shadow:0 18px 44px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
  animation:msfCardGlow 11s ease-in-out infinite;
}
@keyframes msfCardGlow{
  0%,100%{border-color:rgba(255,255,255,.12);box-shadow:0 18px 44px rgba(0,0,0,.55),0 0 18px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.05)}
  48%{border-color:rgba(255,255,255,.23);box-shadow:0 22px 56px rgba(0,0,0,.60),0 0 42px rgba(255,255,255,.12),0 0 82px rgba(140,190,255,.05),inset 0 1px 0 rgba(255,255,255,.085)}
}
#contact .msf-form{padding:18px;position:relative;z-index:1}
#contact .msf__steps{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 14px}
#contact .msf-step{
  width:38px;height:38px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.68);
  transition:background 220ms,border-color 220ms,color 220ms,opacity 220ms;
}
#contact .msf-step:disabled{cursor:not-allowed;opacity:.55}
#contact .msf-step__num{font-size:12px;font-weight:600;letter-spacing:.02em}
#contact .msf-step.is-active{background:rgba(255,255,255,.92);color:#050505;border-color:rgba(255,255,255,.30);box-shadow:0 0 22px rgba(255,255,255,.10)}
#contact .msf-step.is-done{background:rgba(255,255,255,.08);color:rgba(255,255,255,.52)}
#contact .msf-step__line{width:56px;height:2px;border-radius:999px;background:rgba(255,255,255,.12);position:relative;overflow:hidden}
#contact .msf-step__lineFill{position:absolute;inset:0;background:rgba(255,255,255,.42);transform:scaleX(0);transform-origin:0 50%;transition:transform 520ms cubic-bezier(.2,.8,.2,1)}
#contact .msf__progress{height:2px;width:100%;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden;margin-bottom:16px}
#contact .msf__bar{height:100%;background:linear-gradient(to right,rgba(255,255,255,.52),rgba(255,255,255,.92));transition:width 520ms cubic-bezier(.2,.8,.2,1)}
#contact .msf__docsNotice{
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.025);
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.38;
  letter-spacing:.02em;
}
#contact .msf__panel{display:grid;gap:12px}
#contact .msf__panelHead{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
#contact .msf__label{font-size:16px;letter-spacing:0;font-weight:560;color:rgba(255,255,255,.90)}
#contact .msf__count{font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.42)}
#contact .msf__input{
  width:100%;height:54px;border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.92);
  padding:0 16px;
  outline:none;
  transition:border-color 200ms,background 200ms,box-shadow 200ms;
}
#contact .msf__input::placeholder{color:rgba(255,255,255,.28)}
#contact .msf__input:focus{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.04);box-shadow:0 0 0 4px rgba(255,255,255,.04)}
#contact .msf__hint{margin:8px 0 0;font-size:11px;color:rgba(255,255,255,.40);line-height:1.35}
#contact .msf-phone{display:grid;grid-template-columns:116px 1fr;gap:10px;align-items:stretch}
#contact .msf-phone__cc{
  height:54px;border-radius:16px;border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);color:rgba(255,255,255,.92);
  padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;
}
#contact .msf-phone__code{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78)}
#contact .msf-cc{
  position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.65);
  backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;
}
#contact .msf-cc__panel{
  width:min(520px,100%);
  max-height:min(72vh,620px);
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(10,10,10,.92),rgba(10,10,10,.88));
  box-shadow:0 18px 54px rgba(0,0,0,.6);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto 1fr;
}
#contact .msf-cc__top{display:flex;gap:10px;align-items:center;padding:12px;border-bottom:1px solid rgba(255,255,255,.08)}
#contact .msf-cc__search{width:100%;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);color:rgba(255,255,255,.92);padding:0 14px;outline:none}
#contact .msf-cc__close{width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);color:rgba(255,255,255,.80);display:grid;place-items:center}
#contact .msf-cc__list{overflow:auto;padding:8px}
#contact .msf-cc__item{width:100%;border:0;background:transparent;color:rgba(255,255,255,.90);padding:12px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
#contact .msf-cc__itemLeft{display:flex;align-items:center;gap:10px;min-width:0}
#contact .msf-cc__itemName{font-size:12px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgba(255,255,255,.84)}
#contact .msf-cc__itemCode{font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.52)}
#contact .msf-cc__item.is-active,#contact .msf-cc__item:hover{background:rgba(255,255,255,.06)}
#contact .msf__docsTop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;border:1px dashed rgba(255,255,255,.14);background:rgba(255,255,255,.02)}
#contact .msf__docsMeta{display:grid;gap:6px;min-width:0}
#contact .msf__docsLabel{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.42)}
#contact .msf__docsHint{font-size:11px;color:rgba(255,255,255,.46);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38ch}
#contact .msf__attachBtn{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:rgba(255,255,255,.86);user-select:none}
#contact .msf__attachIc{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.02)}
#contact .msf__attachTx{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.70)}
#contact .msf__file{display:none}
#contact .msf__nodocs{margin-top:12px;display:inline-flex;align-items:center;gap:10px;user-select:none}
#contact .msf__check{position:absolute;opacity:0;pointer-events:none}
#contact .msf__checkUi{width:18px;height:18px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.02);position:relative}
#contact .msf__checkUi::after{content:"";position:absolute;inset:3px;border-radius:4px;background:rgba(255,255,255,.92);transform:scale(0);transition:transform 180ms}
#contact .msf__nodocs input:checked + .msf__checkUi::after{transform:scale(1)}
#contact .msf__nodocsTx{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
#contact .msf-legal{
  display:grid;
  gap:10px;
  margin:14px 0 0;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.025);
}
#contact .msf-legal__row{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  align-items:start;
}
#contact .msf-legal__check{position:absolute;opacity:0;pointer-events:none}
#contact .msf-legal__box{
  width:18px;
  height:18px;
  margin-top:1px;
  border-radius:6px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.02);
  position:relative;
}
#contact .msf-legal__box::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:4px;
  background:#fff;
  transform:scale(0);
  transition:transform 180ms ease;
}
#contact .msf-legal__check:checked + .msf-legal__box::after{transform:scale(1)}
#contact .msf-legal__text{
  font-size:11px;
  line-height:1.42;
  color:rgba(255,255,255,.58);
}
#contact .msf-legal__text a{
  color:rgba(255,255,255,.92);
  text-decoration:underline;
  text-underline-offset:3px;
}
#contact .msf__cta{
  margin-top:16px;width:100%;height:52px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.92);
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background 200ms,border-color 200ms,opacity 200ms;
}
#contact .msf__cta:disabled{opacity:.45;cursor:not-allowed}
#contact .msf__ctaLabel{font-size:11px;letter-spacing:.18em;text-transform:uppercase;position:relative;z-index:2}
@keyframes msfPulseRing{0%{transform:translate(-50%,-50%) scale(.94);opacity:0}16%{opacity:.42}55%{opacity:.18}100%{transform:translate(-50%,-50%) scale(1.9);opacity:0}}
#contact .msf__cta.is-busy::after{content:"";position:absolute;left:50%;top:50%;width:52px;height:52px;border-radius:999px;border:1px solid rgba(255,255,255,.85);animation:msfPulseRing 1.05s infinite;pointer-events:none}
#contact .msf__back{margin-top:10px;width:100%;background:transparent;border:0;color:rgba(255,255,255,.42);font-size:12px;padding:10px 0 0}
#contact .msf__status{margin:10px 0 0;font-size:11px;color:rgba(255,255,255,.55);min-height:16px}
#contact .contact-success{width:100%;min-height:320px;display:grid;place-items:center;position:relative;opacity:0;transform:translateY(10px) scale(.985);transition:opacity 520ms cubic-bezier(.16,1,.3,1),transform 520ms cubic-bezier(.16,1,.3,1);overflow:hidden}
#contact .contact-success.is-on{opacity:1;transform:translateY(0) scale(1)}
#contact .contact-success__sparkles{position:absolute;left:50%;top:48%;width:min(460px,80vw);height:150px;transform:translate(-50%,-50%);pointer-events:none;opacity:.82}
#contact .contact-success__sparkles span{position:absolute;width:3px;height:3px;border-radius:999px;background:#fff;box-shadow:0 0 14px rgba(255,255,255,.9);opacity:0;animation:successSpark 4s linear infinite}
#contact .contact-success__sparkles span:nth-child(1){left:8%;top:52%;animation-delay:0s}
#contact .contact-success__sparkles span:nth-child(2){left:22%;top:34%;animation-delay:.6s}
#contact .contact-success__sparkles span:nth-child(3){left:42%;top:58%;animation-delay:1.1s}
#contact .contact-success__sparkles span:nth-child(4){left:61%;top:28%;animation-delay:1.7s}
#contact .contact-success__sparkles span:nth-child(5){left:76%;top:48%;animation-delay:2.3s}
#contact .contact-success__sparkles span:nth-child(6){left:90%;top:38%;animation-delay:3s}
#contact .contact-success__text{position:relative;z-index:2;width:min(520px,86vw);padding:0 18px;text-align:center;font-size:clamp(18px,2.7vw,34px);font-weight:760;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.92);line-height:1.08;text-wrap:balance}
#contact .contact-success__beam{position:absolute;left:50%;top:calc(50% + 62px);width:min(520px,78vw);height:2px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),#fff,rgba(255,255,255,.22),transparent);box-shadow:0 0 18px rgba(255,255,255,.55),0 0 46px rgba(120,210,255,.22);overflow:hidden}
#contact .contact-success__beam::after{content:"";position:absolute;top:-3px;bottom:-3px;width:80px;left:-90px;background:linear-gradient(90deg,transparent,#fff,transparent);filter:blur(1px);animation:successBeam 2.2s cubic-bezier(.19,1,.22,1) infinite}
#contact.is-success .contact__head,#contact.is-success .msf{display:none!important}
@keyframes successSpark{0%{transform:translate3d(-24px,18px,0) scale(.6);opacity:0}12%{opacity:1}72%{opacity:.72}100%{transform:translate3d(34px,-24px,0) scale(1.25);opacity:0}}
@keyframes successBeam{0%{transform:translateX(0);opacity:0}18%{opacity:1}100%{transform:translateX(calc(min(520px,78vw) + 120px));opacity:0}}

/* Offices */
.offices-cards{position:relative;margin-top:0;background:#fff;color:#0b0b0b;padding:clamp(76px,8vw,118px) 0 clamp(42px,6vw,84px)}
.offices-cards__inner{width:min(1120px,calc(100% - 48px));margin:0 auto}
.offices-cards__head{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;margin-bottom:22px}
.offices-cards__title{margin:0;font-size:var(--section-title-size);letter-spacing:var(--section-title-tracking);line-height:var(--section-title-line);font-weight:760;text-transform:uppercase;text-wrap:balance}
.offices-cards__sub{margin:0;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(0,0,0,.45);white-space:nowrap}
.offices-cards__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.office-card{position:relative}
.office-card__btn{width:100%;appearance:none;border:0;background:transparent;padding:0;text-align:left;color:inherit}
.office-card__frame{
  position:relative;overflow:hidden;border-radius:18px;height:156px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(720px 260px at 18% 0%,rgba(255,255,255,.075),transparent 58%),
    radial-gradient(540px 240px at 82% 18%,rgba(90,140,180,.10),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));
  box-shadow:0 18px 46px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);
  transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:height 420ms cubic-bezier(.2,.8,.2,1),border-color 280ms,background 280ms,transform 140ms linear;
}
.office-card__bg{position:absolute;inset:0;pointer-events:none;background:#101113}
.office-card__gridPattern{position:absolute;inset:-1px;opacity:.10;background-image:linear-gradient(to right,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;transition:opacity 260ms ease}
.office-card__fallbackMap{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:
    radial-gradient(260px 140px at 54% 48%,rgba(255,255,255,.13),transparent 54%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.01));
  opacity:.92;
}
.office-card__fallbackRoad{
  position:absolute;
  left:-12%;
  right:-12%;
  height:2px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  box-shadow:0 0 18px rgba(255,255,255,.05);
}
.office-card__fallbackRoad.r1{top:28%;transform:rotate(-7deg)}
.office-card__fallbackRoad.r2{top:58%;height:5px;transform:rotate(12deg);background:rgba(255,255,255,.22)}
.office-card__fallbackRoad.r3{top:45%;left:20%;right:auto;width:2px;height:100%;transform:rotate(18deg);background:rgba(255,255,255,.15)}
.office-card__fallbackRoad.r4{top:0;left:70%;right:auto;width:2px;height:100%;transform:rotate(-12deg);background:rgba(255,255,255,.13)}
.office-card__yandex-img{
  position:absolute;
  inset:-20px;
  width:calc(100% + 40px);
  height:calc(100% + 40px);
  object-fit:cover;
  border:0;
  pointer-events:none;
  opacity:.72;
  transform:scale(1.035);
  filter:grayscale(1) invert(1) hue-rotate(180deg) saturate(.18) brightness(1.02) contrast(1.28);
  transition:opacity 320ms ease,transform 520ms cubic-bezier(.2,.8,.2,1),filter 320ms ease;
}
.office-card__map{position:absolute;inset:0;width:100%;height:100%;opacity:.34;transition:opacity 260ms ease,transform 420ms cubic-bezier(.2,.8,.2,1)}
.office-card__route{fill:none;stroke:rgba(255,255,255,.14);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:760;stroke-dashoffset:760}
.office-card__route.is-main{stroke:rgba(255,255,255,.24);stroke-width:3.2}
.office-card__route.is-mid{stroke:rgba(255,255,255,.17);stroke-width:2.4}
.office-card__route.is-thin{stroke:rgba(255,255,255,.10);stroke-width:1.2}
.office-card__buildings .bld{
  position:absolute;
  display:block;
  border-radius:4px;
  border:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  opacity:.38;
  transform:scale(.96);
  transition:opacity 260ms ease,transform 420ms cubic-bezier(.2,.8,.2,1);
}
.office-card__buildings .b1{top:34%;left:10%;width:16%;height:22%}
.office-card__buildings .b2{top:13%;left:34%;width:12%;height:16%}
.office-card__buildings .b3{top:68%;left:74%;width:18%;height:18%}
.office-card__buildings .b4{top:20%;right:10%;width:10%;height:26%}
.office-card__buildings .b5{top:55%;left:6%;width:8%;height:12%}
.office-card__buildings .b6{top:8%;left:74%;width:14%;height:10%}
.office-card__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.86),rgba(0,0,0,.28) 48%,rgba(0,0,0,.08));opacity:.58}
.office-card__pin{position:absolute;left:var(--pin-x,50%);top:var(--pin-y,50%);transform:translate(-50%,-50%) scale(.92);opacity:.72;transition:opacity 260ms ease,transform 420ms cubic-bezier(.2,.8,.2,1)}
.office-card__pin::before{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.24);transform:translate(-50%,-50%) scale(.72);opacity:.55}
.office-card__pinDot{display:block;width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 0 0 4px rgba(255,255,255,.10),0 0 24px rgba(255,255,255,.24)}
.office-card__content{position:relative;z-index:2;height:100%;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.office-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.office-card__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);color:rgba(255,255,255,.85)}
.office-card__status{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);backdrop-filter:blur(10px)}
.office-card__dot{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.85);box-shadow:0 0 14px rgba(255,255,255,.16)}
.office-card__statusText{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.office-card__bottom{margin:-8px;padding:12px;border-radius:16px;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.72));box-shadow:0 14px 36px rgba(0,0,0,.36);backdrop-filter:blur(10px);transform:translateY(-8px)}
.office-card__name{margin:0;font-size:14px;letter-spacing:0;font-weight:560;color:rgba(255,255,255,.94);transition:transform 280ms cubic-bezier(.2,.8,.2,1)}
.office-card__addr,.office-card__coords{margin:6px 0 0;font-size:11px;line-height:1.35;letter-spacing:.02em;color:rgba(255,255,255,.72);opacity:1;transform:translateY(0);transition:opacity 220ms,transform 260ms cubic-bezier(.2,.8,.2,1)}
.office-card__coords{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.office-card__contacts{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity 220ms,transform 260ms cubic-bezier(.2,.8,.2,1)}
.office-card__phone{margin:0 0 10px;font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.75)}
.office-action{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.90);color:#080808;box-shadow:0 10px 24px rgba(0,0,0,.30),0 0 0 1px rgba(255,255,255,.10)}
.office-action__ic{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#080808;color:#fff}
.office-action__ic svg{width:15px;height:15px;display:block}
.office-action__tx{font-size:10px;letter-spacing:.20em;text-transform:uppercase;white-space:nowrap;color:rgba(255,255,255,.70)}
.office-action .office-action__tx{color:#080808;font-weight:760}
.office-card__underline{margin-top:12px;height:1px;width:100%;background:linear-gradient(to right,rgba(255,255,255,.55),rgba(255,255,255,.12),transparent);transform-origin:0 50%;transform:scaleX(.28);opacity:.7;transition:transform 360ms ease,opacity 260ms ease}
.office-card__hint{display:block;margin-top:8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.30)}
.office-card.is-expanded .office-card__frame{height:322px}
.office-card:focus-within .office-card__frame{height:322px}
.office-card.is-expanded .office-card__gridPattern{opacity:.04}
.office-card:focus-within .office-card__gridPattern{opacity:.04}
.office-card.is-expanded .office-card__yandex-img{opacity:.94;transform:scale(1.01);filter:grayscale(1) invert(1) hue-rotate(180deg) saturate(.22) brightness(1.08) contrast(1.32)}
.office-card:focus-within .office-card__yandex-img{opacity:.94;transform:scale(1.01);filter:grayscale(1) invert(1) hue-rotate(180deg) saturate(.22) brightness(1.08) contrast(1.32)}
.office-card.is-expanded .office-card__shade,.office-card:focus-within .office-card__shade{opacity:.36}
.office-card.is-expanded .office-card__map{opacity:.82;transform:scale(1.035)}
.office-card:focus-within .office-card__map{opacity:.82;transform:scale(1.035)}
.office-card.is-expanded .office-card__buildings .bld{opacity:.72;transform:scale(1)}
.office-card:focus-within .office-card__buildings .bld{opacity:.72;transform:scale(1)}
.office-card.is-expanded .office-card__pin{opacity:1;transform:translate(-50%,-50%) scale(1)}
.office-card:focus-within .office-card__pin{opacity:1;transform:translate(-50%,-50%) scale(1)}
.office-card.is-expanded .office-card__pin::before{animation:officePinPulse 1.55s ease-in-out infinite}
.office-card:focus-within .office-card__pin::before{animation:officePinPulse 1.55s ease-in-out infinite}
.office-card.is-expanded .office-card__route{animation:officeDash 840ms ease forwards;animation-delay:var(--d,0ms)}
.office-card:focus-within .office-card__route{animation:officeDash 840ms ease forwards;animation-delay:var(--d,0ms)}
.office-card.is-expanded .office-card__addr,.office-card.is-expanded .office-card__coords,.office-card.is-expanded .office-card__contacts{opacity:1;transform:translateY(0)}
.office-card:focus-within .office-card__addr,.office-card:focus-within .office-card__coords,.office-card:focus-within .office-card__contacts{opacity:1;transform:translateY(0)}
.office-card.is-expanded .office-card__contacts{pointer-events:auto}
.office-card:focus-within .office-card__contacts{pointer-events:auto}
.office-card.is-expanded .office-card__underline{transform:scaleX(1);opacity:1}
.office-card:focus-within .office-card__underline{transform:scaleX(1);opacity:1}
.office-card.is-expanded .office-card__hint{opacity:0;transform:translateY(-4px);pointer-events:none}
.office-card:focus-within .office-card__hint{opacity:0;transform:translateY(-4px);pointer-events:none}
@keyframes officeDash{to{stroke-dashoffset:0}}
@keyframes officePinPulse{0%,100%{transform:translate(-50%,-50%) scale(.74);opacity:.45}50%{transform:translate(-50%,-50%) scale(1.12);opacity:.10}}

/* News */
.news-section{
  position:relative;
  background:#050505;
  color:#f5f5f5;
  margin-top:0;
  padding:clamp(92px,9vw,136px) 0 clamp(72px,8vw,116px);
  overflow:hidden;
}
.news-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.72;
  background:
    radial-gradient(760px 360px at 14% 0%,rgba(255,255,255,.09),transparent 62%),
    radial-gradient(680px 360px at 90% 28%,rgba(110,210,255,.07),transparent 64%);
}
.news-section__inner{position:relative;width:min(1120px,calc(100% - 48px));margin:0 auto}
.news-section__head{max-width:680px;margin:0 0 26px}
.news-section__kicker{margin:0 0 10px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.news-section__title{margin:0;font-size:var(--section-title-size);line-height:var(--section-title-line);font-weight:760;letter-spacing:var(--section-title-tracking);text-transform:uppercase;text-wrap:balance}
.news-section__lines{display:grid;gap:6px;margin-top:20px;width:min(420px,100%)}
.news-section__lines span{display:block;height:1px;border-radius:999px;background:rgba(255,255,255,.52);transform-origin:left;opacity:.8}
.news-section__lines span:nth-child(1){width:100%}
.news-section__lines span:nth-child(2){width:68%;opacity:.55}
.news-section__lines span:nth-child(3){width:38%;opacity:.32}
.news-grid{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  margin-right:calc((min(1120px, calc(100vw - 48px)) - 100vw) / 2);
  padding:0 calc((100vw - min(1120px, calc(100vw - 48px))) / 2) 6px 0;
}
.news-grid::-webkit-scrollbar{display:none}
.news-card{
  flex:0 0 clamp(300px,31vw,380px);
  scroll-snap-align:start;
  position:relative;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));
  box-shadow:0 24px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.06);
  cursor:pointer;
  opacity:0;
  transform:translateY(22px) scale(.985);
  filter:blur(8px);
  transition:opacity .78s cubic-bezier(.19,1,.22,1),transform .78s cubic-bezier(.19,1,.22,1),filter .78s cubic-bezier(.19,1,.22,1),border-color .26s ease;
}
.news-section.is-in .news-card{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.news-card:nth-child(2){transition-delay:90ms}
.news-card:nth-child(3){transition-delay:180ms}
.news-card:nth-child(4){transition-delay:270ms}
.news-card:nth-child(5){transition-delay:360ms}
.news-card:nth-child(6){transition-delay:450ms}
.news-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.20)}
.news-card__media{position:relative;height:230px;overflow:hidden;background:#111}
.news-card__media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(1.08) brightness(.72);transform:scale(1.02);transition:transform .7s cubic-bezier(.19,1,.22,1),filter .32s ease}
.news-card:hover .news-card__media img{transform:scale(1.075);filter:saturate(.95) contrast(1.1) brightness(.80)}
.news-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,5,.88),rgba(5,5,5,.08) 58%,rgba(5,5,5,.20));pointer-events:none}
.news-card__save{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(0,0,0,.28);
  backdrop-filter:blur(10px);
}
.news-card__save::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:15px;border:1.6px solid rgba(255,255,255,.86);border-bottom:0;transform:translate(-50%,-50%);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}
.news-card__save.is-active{background:#fff}
.news-card__save.is-active::before{border-color:#050505}
.news-card__meta{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.76);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.news-card__body{padding:18px}
.news-card__tag{margin:0 0 10px;color:rgba(255,255,255,.46);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.news-card__body h3{margin:0;font-size:clamp(16px,1.55vw,20px);line-height:1.2;font-weight:660;letter-spacing:.01em;color:rgba(255,255,255,.94)}
.news-section__actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px}
.news-section__all{
  width:max-content;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:11px;
  font-weight:760;
  letter-spacing:.20em;
  text-transform:uppercase;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.news-section__all:hover{background:#fff;color:#050505;transform:translateY(-2px)}
.news-section__nav{display:flex;align-items:center;gap:8px;margin-left:auto}
.news-section__arrow{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.045);
  color:#fff;
  display:grid;
  place-items:center;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.news-section__arrow:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.09)}
.news-section__arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.news-modal{position:fixed;inset:0;z-index:2250;display:none}
.news-modal.is-open{display:block}
.news-modal__bg{position:absolute;inset:0;background:rgba(0,0,0,.74);backdrop-filter:blur(10px)}
.news-modal__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(980px,calc(100vw - 28px));max-height:min(780px,calc(100vh - 28px));overflow:auto;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:#090909;color:#f5f5f5;box-shadow:0 24px 90px rgba(0,0,0,.65)}
.news-modal__media{height:clamp(220px,34vw,360px);background:#111}
.news-modal__media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) brightness(.76)}
.news-modal__content{padding:clamp(20px,3vw,34px)}
.news-modal__meta{margin:0 0 12px;color:rgba(255,255,255,.52);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.news-modal__content h3{margin:0 0 18px;font-size:clamp(24px,3vw,38px);line-height:1.05;letter-spacing:.02em;text-transform:uppercase}
.news-modal__text{display:grid;gap:14px;color:rgba(255,255,255,.70);font-size:15px;line-height:1.65}
.news-modal__close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.42);color:#fff;z-index:2}
.news-modal__close::before,.news-modal__close::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:2px;background:currentColor;transform-origin:center}
.news-modal__close::before{transform:translate(-50%,-50%) rotate(45deg)}
.news-modal__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
body.news-lock{overflow:hidden}

.blog-page{min-height:100vh;background:#050505;color:#f5f5f5}
.blog-placeholder{min-height:100vh;display:grid;place-content:center;gap:16px;width:min(780px,calc(100% - 48px));margin:0 auto;text-align:center}
.blog-placeholder__back{position:fixed;left:var(--pad);top:28px;font-size:.9rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.blog-placeholder__kicker{margin:0;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.blog-placeholder h1{margin:0;font-size:var(--section-title-size);letter-spacing:var(--section-title-tracking);line-height:var(--section-title-line);text-transform:uppercase}
.blog-placeholder p{margin:0;color:rgba(255,255,255,.68);line-height:1.7}

.contacts-modal{position:fixed;inset:0;z-index:2240;display:none}
.contacts-modal.is-open{display:block}
.contacts-modal__bg{position:absolute;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(10px)}
.contacts-modal__panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(760px,calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  overflow:auto;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:#070707;
  color:#f5f5f5;
  padding:clamp(20px,3vw,34px);
  box-shadow:0 24px 90px rgba(0,0,0,.66);
}
.contacts-modal__close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff}
.contacts-modal__close::before,.contacts-modal__close::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:2px;background:currentColor;transform-origin:center}
.contacts-modal__close::before{transform:translate(-50%,-50%) rotate(45deg)}
.contacts-modal__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.contacts-modal__kicker{margin:0 0 10px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.contacts-modal__title{max-width:18ch;margin:0 auto 24px;text-align:center;font-size:clamp(24px,3.4vw,38px);line-height:.98;letter-spacing:.06em;text-transform:uppercase}
.contacts-modal__title span{display:block}
.contacts-modal__mailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.contacts-modal__mail{display:grid;gap:8px;padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035)}
.contacts-modal__mail span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.contacts-modal__mail strong{font-size:15px;letter-spacing:.02em}
.contacts-modal__offices{display:grid;gap:10px}
.contacts-office{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.10)}
.contacts-office h3{margin:0 0 6px;font-size:14px;letter-spacing:.20em;text-transform:uppercase}
.contacts-office a{color:rgba(255,255,255,.78);letter-spacing:.04em}
.contacts-office__details{border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.05);color:#fff;padding:9px 12px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.contacts-office__req{grid-column:1/-1;margin:0;color:rgba(255,255,255,.58);font-size:12px;line-height:1.55}
.contacts-office__messengers{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.contacts-office__messengers a,
.contacts-modal__socials a{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);font-size:10px;font-weight:760;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.contacts-icon,.contacts-social{min-width:34px}
.contacts-icon--tg{border-color:rgba(65,175,255,.38)!important;background:rgba(65,175,255,.12)!important}
.contacts-icon--wpp{border-color:rgba(37,211,102,.38)!important;background:rgba(37,211,102,.12)!important}
.contacts-icon--max{border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.075)!important}
.contacts-social--ig{border-color:rgba(255,92,168,.38)!important;background:rgba(255,92,168,.11)!important}
.contacts-social--hh{border-color:rgba(219,35,42,.38)!important;background:rgba(219,35,42,.10)!important}
.contacts-social--vk{border-color:rgba(80,140,220,.38)!important;background:rgba(80,140,220,.10)!important}
.contacts-social--in{border-color:rgba(10,102,194,.42)!important;background:rgba(10,102,194,.12)!important}
.contacts-modal__socials{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10)}
body.contacts-lock{overflow:hidden}

/* Contact pill */
.contact-pill{
  --pill-x:84px;
  position:fixed;right:16px;top:50%;
  transform:translate3d(var(--pill-x),-50%,0);
  opacity:0;pointer-events:none;
  width:32px;height:119px;border-radius:999px;
  border:1px solid rgba(0,0,0,.92);
  background:linear-gradient(180deg,#151515,#000);
  color:#f5f5f5;
  display:flex;align-items:center;justify-content:center;
  z-index:1300;
  box-shadow:0 10px 26px rgba(0,0,0,.28),0 6px 18px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .38s cubic-bezier(.19,1,.22,1),opacity .28s,background .28s,color .28s,width .38s cubic-bezier(.19,1,.22,1),height .38s cubic-bezier(.19,1,.22,1);
}
.contact-pill--visible{--pill-x:0px;opacity:1;pointer-events:auto}
.contact-pill--visible:not(.contact-pill--open){
  animation:contactPillBreath 3s ease-in-out infinite;
}
.contact-pill--visible:not(.contact-pill--open)::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:inherit;
  border:1px solid currentColor;
  opacity:0;
  pointer-events:none;
  animation:contactPillRipple 3s ease-out infinite;
}
.contact-pill__label{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;line-height:1;white-space:nowrap;transform:rotate(90deg)}
.contact-pill__label,.contact-pill__icons{position:relative;z-index:1}
.contact-pill--on-dark{background:linear-gradient(180deg,#fff,#e9e9e9);color:#111;border-color:rgba(255,255,255,.85);box-shadow:0 10px 26px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.7),0 0 28px rgba(255,255,255,.22),inset 0 1px 0 rgba(255,255,255,.96)}
.contact-pill--open{width:212px;height:52px;justify-content:flex-start;padding:8px 12px}
.contact-pill--open .contact-pill__label{transform:rotate(0);font-size:.78rem}
.contact-pill__icons{position:absolute;top:50%;right:12px;transform:translateY(-50%) translateX(10px);opacity:0;pointer-events:none;display:flex;gap:8px;transition:opacity .22s,transform .28s cubic-bezier(.19,1,.22,1)}
.contact-pill--open .contact-pill__icons{opacity:1;pointer-events:auto;transform:translateY(-50%) translateX(0)}
.contact-pill__icon{width:46px;height:46px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.9);background:#0b0b0b;color:#f5f5f5;font-size:12px;letter-spacing:.12em;box-shadow:0 10px 22px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12)}
.contact-pill__icon svg{width:23px;height:23px;display:block}
.contact-pill--on-dark .contact-pill__icon{background:#fff;color:#111;border-color:rgba(0,0,0,.12)}
@keyframes contactPillRipple{
  0%,58%,100%{transform:scale(.96);opacity:0}
  12%{opacity:.48}
  48%{transform:scale(1.34);opacity:0}
}
@keyframes contactPillBreath{
  0%,100%{transform:translate3d(var(--pill-x),-50%,0) scale(1)}
  44%{transform:translate3d(var(--pill-x),-50%,0) scale(1.075)}
}

.cookie-banner{
  position:fixed;
  left:18px;
  right:18px;
  bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:2300;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
  width:min(780px,calc(100vw - 36px));
  margin:0 auto;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,5,5,.88);
  color:#f5f5f5;
  box-shadow:0 18px 60px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(16px);
}
.cookie-banner.is-hidden{display:none}
.cookie-banner__text{display:grid;gap:4px;font-size:12px;line-height:1.45;color:rgba(255,255,255,.68)}
.cookie-banner__text strong{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff}
.cookie-banner__text a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.cookie-banner__actions{display:flex;gap:8px}
.cookie-banner__btn{
  height:40px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:#fff;
  padding:0 14px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.cookie-banner__btn.is-primary{background:#fff;color:#050505;border-color:#fff}

.project-modal-scrim{
  position:fixed;
  inset:0;
  z-index:2190;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(10px);
}
body.project-modal-open{overflow:hidden}
body.project-modal-open .cta-float-left,
body.project-modal-open .cookie-banner{display:none}
body.project-modal-open .project-curtain{
  position:relative;
  z-index:2300;
  isolation:auto;
}
body.project-modal-open #projectStart{pointer-events:none}
body.project-modal-open #contact{
  position:fixed!important;
  inset:0!important;
  z-index:2301!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  pointer-events:none;
}
body.project-modal-open #contact .contact__inner{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  pointer-events:none;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}
body.project-modal-open #contact .contact__head{display:none!important}
body.project-modal-open #contact .msf{
  position:fixed;
  inset:0;
  z-index:2301;
  display:grid!important;
  place-items:center;
  padding:clamp(14px,3vw,28px);
  pointer-events:auto;
}
body.project-modal-open #contact .msf__card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:min(640px,calc(100vw - 28px));
  max-height:calc(100vh - 56px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow:auto;
  overscroll-behavior:contain;
  animation:projectFormIn .38s cubic-bezier(.19,1,.22,1) both,msfCardGlow 11s ease-in-out infinite;
}
@keyframes projectFormIn{from{opacity:0;transform:translateY(16px) scale(.985);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
#contact .msf__close{
  display:none;
  position:fixed;
  top:calc(18px + env(safe-area-inset-top));
  right:calc(18px + env(safe-area-inset-right));
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(10,10,10,.72);
  color:#fff;
  z-index:2202;
}
#contact .msf__close::before,
#contact .msf__close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  background:currentColor;
  transform-origin:center;
}
#contact .msf__close::before{transform:translate(-50%,-50%) rotate(45deg)}
#contact .msf__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
body.project-modal-open #contact .msf__close{display:block}
body.project-modal-open #contact.is-success .contact-success{
  position:fixed;
  inset:0;
  z-index:2304;
  padding:18px;
  min-height:100svh;
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(2px);
  pointer-events:none;
}
body.project-modal-open #contact.is-success .msf{
  display:grid!important;
  pointer-events:none;
}
body.project-modal-open #contact.is-success .msf__card{
  animation:projectFormIn .38s cubic-bezier(.19,1,.22,1) both!important;
  filter:brightness(.34) saturate(.74);
  box-shadow:0 24px 90px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.08);
}
body.project-modal-open #contact.is-success .msf__close{
  pointer-events:auto;
}
body.project-modal-open #contact.is-success .contact-success__text{
  width:min(640px,84vw);
  font-size:clamp(22px,3.2vw,44px);
  line-height:1.04;
  letter-spacing:.035em;
  text-transform:none;
}
body.project-modal-open #contact.is-success .contact-success__beam{
  top:calc(50% + 72px);
}
body.project-modal-open #contact.is-success .contact-success__sparkles{
  opacity:.95;
}

/* CTA */
.cta-float-left{
  appearance:none;border:0;background:transparent;
  position:fixed;left:var(--cta-left);right:auto;bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:9998;
  display:inline-flex;align-items:center;gap:14px;
  padding:10px 2px;user-select:none;
  transform:translate3d(var(--mx,0px),var(--my,0px),0);
  opacity:1;
  transition:opacity .28s,transform .28s;
}
.cta-float-left__orb{width:54px;height:54px;border-radius:999px;border:1px solid var(--sp-hairW);background:rgba(255,255,255,.03);display:grid;place-items:center;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.35);transition:background .45s,border-color .45s,box-shadow .45s}
.cta-float-left__arrow{stroke:var(--sp-white);transition:stroke .45s,transform .45s}
.cta-float-left__label{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;font-weight:760;text-transform:uppercase;letter-spacing:.24em;color:rgba(255,255,255,.94);white-space:nowrap;text-shadow:0 10px 26px rgba(0,0,0,.72),0 0 18px rgba(255,255,255,.18)}
.cta-float-left .cta-float-left__orb{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.32);box-shadow:0 14px 38px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.06),0 0 28px rgba(255,255,255,.12)}
.cta-float-left.is-near .cta-float-left__orb{border-color:var(--sp-hairW2)}
.cta-float-left:hover .cta-float-left__orb{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.38)}
.cta-float-left:hover .cta-float-left__arrow{stroke:var(--sp-black);transform:translate3d(1px,-1px,0)}
.cta-float-left.is-hidden{pointer-events:none;opacity:0;transform:translate3d(var(--mx,0px),calc(var(--my,0px) + 14px),0) scale(.98)}
@keyframes ctaMobilePulse{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 12px 34px rgba(0,0,0,.38),0 0 0 0 rgba(255,255,255,.26)}
  42%{transform:translateY(-3px) scale(1.075);box-shadow:0 20px 50px rgba(0,0,0,.50),0 0 0 13px rgba(255,255,255,0)}
}
.cta-float-left:not(.is-hidden) .cta-float-left__orb{animation:ctaMobilePulse 1.7s ease-in-out infinite}

/* Footer */
footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-top:-28px;
  padding:76px var(--pad) 48px;
  color:#bdbdbd;
  text-align:center;
  background:#050505;
}
footer>*{position:relative;z-index:1}
footer::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-120px;
  transform:translateX(-50%) translateY(-10px) scale(1.01);
  width:min(860px,92vw);
  height:420px;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(60% 60% at 50% 78%,rgba(110,210,255,.30) 0%,rgba(0,0,0,0) 62%),
    radial-gradient(58% 58% at 58% 86%,rgba(210,130,255,.26) 0%,rgba(0,0,0,0) 66%),
    radial-gradient(58% 58% at 42% 88%,rgba(255,120,210,.20) 0%,rgba(0,0,0,0) 68%);
  -webkit-mask-image:linear-gradient(to top,#000 0%,#000 42%,rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to top,#000 0%,#000 42%,rgba(0,0,0,0) 100%);
  filter:blur(22px) saturate(1.12) contrast(1.06);
  mix-blend-mode:screen;
  opacity:.72;
  animation:footerGlowDrift 6s ease-in-out infinite;
}
.footer-left{font-weight:700;letter-spacing:.18em}
.footer-copy{margin:0;color:rgba(245,245,245,.72);font-size:12px;letter-spacing:.10em;text-transform:uppercase}
.footer-note{max-width:720px;margin:8px auto 0;color:rgba(245,245,245,.38);font-size:10px;line-height:1.45;letter-spacing:.04em}
.footer-contact{font-size:.9rem;display:flex;gap:10px;align-items:center;justify-content:center;margin:12px 0 20px;line-height:1.8}
.footer-contact a{display:flex;align-items:center;justify-content:center;gap:10px;color:#f5f5f5}
.footer-socials{position:relative;display:flex;justify-content:center;gap:10px;align-items:center;margin:14px 0 18px}
.footer-socials::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:220px;
  height:34px;
  transform:translateX(-50%);
  pointer-events:none;
  background:radial-gradient(52% 70% at var(--footer-glow-x,50%) 50%,rgba(255,255,255,.24),rgba(120,190,255,.12) 46%,transparent 72%);
  filter:blur(10px);
  opacity:.78;
  transition:background-position .6s ease;
}
.social{width:44px;height:44px;border-radius:999px;display:inline-grid;place-items:center;color:#f5f5f5;border:1px solid rgba(245,245,245,.14);background:rgba(245,245,245,.03);position:relative;transition:transform .18s,border-color .18s,background .18s,opacity .45s ease;opacity:.50}
.social:hover{transform:translateY(-2px);border-color:rgba(245,245,245,.26);background:rgba(245,245,245,.06)}
.social__icon{width:18px;height:18px}
.social__path{stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:120;opacity:.92;transition:stroke-dashoffset .55s,opacity .18s}
.social:hover .social__path,.social.is-pulse .social__path{stroke-dashoffset:0;opacity:1}
.social.is-pulse{opacity:1;animation:footerSocialGlow var(--pulse-dur,1800ms) ease both}
@keyframes footerSocialGlow{0%,100%{transform:translateY(0);border-color:rgba(245,245,245,.14);background:rgba(245,245,245,.03)}18%,70%{transform:translateY(-2px);border-color:rgba(245,245,245,.30);background:rgba(245,245,245,.07)}}
@keyframes footerGlowDrift{0%,100%{opacity:.62;filter:blur(22px) saturate(1.08)}50%{opacity:.95;filter:blur(26px) saturate(1.2)}}

/* Mobile */
@media (min-width:821px) and (max-width:1080px){
  .team-showcase{grid-template-columns:minmax(500px,1fr) minmax(300px,.8fr);gap:32px}
  .team-side-photos{display:none}
  .team-member-list{padding-left:10px}
}
@media (max-width:820px){
  :root{--section-title-size:clamp(22px,6.4vw,30px)}
  .offices-cards__grid{grid-template-columns:1fr}
  .interlude{padding:104px var(--pad) 48px}
  .stage{padding:0 16px 158px}
  .resources__head{grid-template-columns:1fr;align-items:start}
  .resources__body{grid-template-columns:1fr}
  .resources__grid{grid-template-columns:repeat(4,1fr);grid-auto-flow:dense}
  .resource-card{min-height:74px}
  .resource-card--wide .resource-card__text{max-width:none;width:100%}
  .hero-video__media{filter:saturate(.9) contrast(1.08) brightness(.58)}
  .hero{min-height:100svh;place-items:center}
  .hero__content{padding:96px var(--pad) 118px}
  .hero-video__media{object-position:center center}
  .hero-video__veil{
    background:
      linear-gradient(180deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.20) 42%,rgba(0,0,0,.50) 100%),
      linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.10) 48%,rgba(0,0,0,.42) 100%);
  }
  .hero--video-live .hero__content{opacity:.96;transform:translate3d(0,0,0) scale(.4);filter:none}
  .globe-heading{padding:clamp(8px,2.4vw,14px) 0 0}
  .globe-bridge{height:clamp(342px,52vh,492px)}
  .globe-intro{padding:0;width:calc(100% - 32px)}
  .globe-intro__title{max-width:14ch;margin-inline:auto;line-height:1.08}
  .globe-intro__kicker{font-size:10px;letter-spacing:.22em}
  .globe-dome{height:clamp(430px,70vh,640px);bottom:var(--domeBottom,-3vh)}
  .team-showcase{display:block;width:100%;margin-top:24px}
  .team-photo-grid{margin-inline:calc(-1 * var(--pad));padding-inline:var(--pad);padding-bottom:14px;overflow-x:auto;scroll-snap-type:x proximity}
  .team-side-photos,.team-member-list{display:none!important}
  .team-photo-col--shift-lg{margin-top:46px}
  .team-photo-col--shift-md{margin-top:22px}
  .team-photo-card{height:auto!important;overflow:visible;border-radius:0;background:transparent;scroll-snap-align:start;display:grid;grid-template-rows:auto auto auto}
  .team-photo-card img{grid-row:1;border-radius:13px;height:120px}
  .team-photo-card::before{content:attr(data-team-name);grid-row:2;display:block;width:100%;margin-top:12px;color:#fff;font-size:12px;font-weight:780;line-height:1.18;letter-spacing:.035em;text-transform:uppercase;text-align:left}
  .team-photo-card::after{content:attr(data-team-role);grid-row:3;display:block;width:100%;margin-top:4px;color:rgba(255,255,255,.62);font-size:9px;font-weight:360;line-height:1.25;letter-spacing:.07em;text-transform:uppercase;text-align:left}
  .team-photo-card--sm{width:116px}
  .team-photo-card--md{width:120px}
  .team-photo-card--lg{width:128px}
  .howpath__layout{grid-template-columns:1fr;gap:18px}
  .howpath__rail{position:relative;top:auto;display:flex;justify-content:space-between;align-items:baseline;padding:10px 0 6px}
  .howpath__railNo{font-size:44px;line-height:1}
  .howpath__item{grid-template-columns:72px 1fr}
  .howpath__p{-webkit-line-clamp:2}
  .project-start{min-height:92vh}
  .project-start__inner{width:calc(100% - 32px)}
  .project-start__inner{margin-top:-6vh}
  .project-start__kicker{font-size:10px;letter-spacing:.24em}
  .project-start__title{font-size:clamp(38px,13vw,62px);line-height:.96;letter-spacing:-.025em}
  .project-start__arrow{width:52px;height:52px}
  .project-start__word{bottom:6vh;font-size:31vw;letter-spacing:-.105em}
}
@media (max-width:768px){
  :root{--teamCardW:min(78vw,360px);--teamSidePad:calc((100vw - var(--teamCardW)) / 2)}
  #team .team__rail{scroll-snap-type:x proximity!important;padding-inline:var(--teamSidePad)!important;scroll-padding-inline:var(--teamSidePad)!important;scroll-behavior:auto!important;touch-action:pan-x pan-y!important;overscroll-behavior-x:contain}
  #team .team-card{scroll-snap-align:center!important;scroll-snap-stop:normal!important;flex:0 0 var(--teamCardW)!important;min-width:var(--teamCardW)!important}
  .hero--video-live .hero__content{transform:translate3d(0,0,0) scale(.48)}
  .team__head{text-align:left}
  .team__headRow{align-items:flex-start;justify-content:space-between}
  .team__controls{position:static;justify-content:flex-end;margin-top:0}
  .team-nav-btn{width:52px;height:52px}
  .contact-pill{right:12px;width:29px;height:101px}
  .contact-pill--open{width:min(216px,calc(100vw - 24px));height:50px}
  .contact-pill__icon{width:43px;height:43px}
  .cta-float-left{left:14px;bottom:calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:11px;padding:8px 6px}
  .cta-float-left__orb{width:52px;height:52px}
  .cta-float-left:not(.is-hidden) .cta-float-left__orb{animation-duration:1.55s}
  .cta-float-left__label{font-size:10px;font-weight:760;letter-spacing:.20em;line-height:1;text-align:center}
  .cookie-banner{grid-template-columns:minmax(0,1fr);gap:12px;left:12px;right:auto;bottom:calc(94px + env(safe-area-inset-bottom));width:calc(100vw - 24px)}
  .cookie-banner__actions{width:100%;justify-content:stretch}
  .cookie-banner__btn{flex:1 1 0;min-width:0;padding:0 10px}
  .work-switch{margin-top:-74px;padding:28px 16px 22px}
  .work-switch__kicker{font-size:10px;margin-bottom:10px}
  .work-switch__inner{width:min(360px,100%);gap:6px}
  .work-switch__btn{min-width:0;flex:1;padding:11px 12px}
  .news-grid{margin-left:0;margin-right:calc(-1 * var(--pad));padding-right:var(--pad)}
  .news-card{flex-basis:min(82vw,340px)}
  .news-section__head{text-align:center;margin-inline:auto}
  .news-section__lines{margin-inline:auto}
}
@media (max-width:430px){
  .hero{min-height:100svh}
  .hero__content{padding:88px 16px 126px}
  .hero--video-live .hero__content{transform:translate3d(0,0,0) scale(.5)}
  .hero__name{font-size:clamp(1.52rem,7vw,1.98rem);letter-spacing:.105em}
  .hero__slogan{font-size:clamp(.72rem,3.4vw,.94rem);letter-spacing:.14em;gap:.42em}
  .cta-float-left{left:12px;bottom:calc(18px + env(safe-area-inset-bottom));gap:10px}
}
@media (max-width:560px){
  .resources{margin-top:-48px;padding:18px 0 132px;background:#fff}
  .resources__inner{width:calc(100% - 28px)}
  .resources__head{margin-bottom:10px;text-align:center}
  .resources__kicker{margin-bottom:8px;font-size:10px;letter-spacing:.22em}
  .resources__title{font-size:clamp(20px,6.2vw,25px)}
  .resources__body{gap:7px}
  .resources__grid{grid-template-columns:repeat(4,1fr);gap:12px}
  .resource-card--offices{grid-column:span 2;order:-7;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;column-gap:7px}
  .resource-card--accounts{grid-column:span 2}
  .resource-card--wide{grid-column:1 / -1;grid-row:span 1;display:grid;align-items:center;justify-items:center;gap:8px;text-align:center}
  .resource-card:not(.resource-card--wide):not(.resource-card--offices):not(.resource-card--accounts):not(.resource-card--featured):not(.resource-card--since){grid-column:span 2}
  .resource-card--wide-sm{grid-column:span 2;order:-6}
  .resource-card--since{grid-column:span 2;order:-10;min-height:54px;align-items:flex-start;text-align:left}
  .resource-card--featured{grid-column:span 2;order:7;min-height:54px;align-items:center;text-align:center}
  .resource-card{border-radius:10px;padding:9px;min-height:52px;gap:5px}
  .resource-card--wide{min-height:92px;padding-top:15px}
  .resource-card--wide .resource-card__num{align-self:center;justify-content:center;width:100%;display:flex;margin-top:8px}
  .resource-card--wide .resource-card__prefix{display:inline-block;margin:0 .24em 0 0;font-size:clamp(9px,3.2vw,13px);line-height:1;letter-spacing:.12em}
  .resource-card__prefix{font-size:clamp(9px,3.2vw,13px)}
  .resource-card__value,.resource-card__suffix{font-size:clamp(16px,5.3vw,21px)}
  .resource-card--wide .resource-card__value{font-size:clamp(16px,5.3vw,21px)}
  .resource-card--featured .resource-card__value,.resource-card--featured .resource-card__suffix{font-size:clamp(16px,5.3vw,21px)}
  .resource-card__text{font-size:7.6px;line-height:1.16;margin-top:3px;letter-spacing:.035em}
  .resource-card--offices{align-items:flex-start;text-align:left}
  .resource-card--offices .resource-card__num{align-self:flex-start;grid-row:auto;grid-column:auto}
  .resource-card--offices .resource-card__text{margin-top:0;grid-row:auto;grid-column:auto;font-size:7.6px;line-height:1.16;white-space:normal}
  .resource-card__officeLine{font-size:clamp(9px,3vw,12px);line-height:1.05;gap:.2em;white-space:nowrap}
  .resource-card__officeSub{font-size:7.6px;line-height:1.15;white-space:normal;letter-spacing:0}
  .resource-card--since .resource-card__num{justify-content:flex-start}
  .resource-card--wide .resource-card__text{align-self:center;text-align:center;margin-top:0;max-width:48ch;width:100%;font-size:9.2px;line-height:1.28}
  .resource-card--featured .resource-card__num{justify-content:flex-start}
  .resource-card--featured .resource-card__text{text-align:left;margin-inline:0}
  .resource-card__pretext,.resource-card__aftertext{font-size:clamp(8px,2.8vw,11px)}
  .globe-label{font-size:.52rem;letter-spacing:.075em;padding:5px 8px;max-width:112px;overflow:hidden;text-overflow:ellipsis}
  .logo-marquee{--gap:38px;--logo-h:24px}
  .news-section__inner{width:calc(100% - 32px)}
  .news-card__media{height:200px}
  .news-section__actions{align-items:center;gap:12px}
  .news-section__all{width:auto;min-height:44px;flex:1}
  .news-section__arrow{width:40px;height:40px}
  .offices-cards__head{flex-direction:column;align-items:center;text-align:center}
  .offices-cards__sub{white-space:normal}
  .contact-pill__label{font-size:.61rem;letter-spacing:.13em}
  .contact-pill--open .contact-pill__label{font-size:.66rem}
  .office-card__frame{height:158px}
  .office-card.is-expanded .office-card__frame{height:340px}
  .contacts-modal__mailGrid{grid-template-columns:1fr}
  .contacts-office{grid-template-columns:1fr}
  .contacts-office__details{width:max-content}
  .team-member-list{grid-template-columns:1fr}
  #contact .msf-phone{grid-template-columns:104px 1fr}
  #contact .contact__inner{width:calc(100% - 32px)}
  #contact .msf__docsTop{align-items:flex-start;flex-direction:column}
  #contact .msf__docsHint{max-width:100%}
  #contact .msf__steps{gap:8px}
  #contact .msf-step__line{width:34px}
  body.project-modal-open #contact .msf{padding:12px}
  body.project-modal-open #contact .msf__card{max-height:84vh}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .nebula-bg canvas{display:none}
  .js .tile,.js .tile::before{transform:none!important;filter:none!important}
  .js .tile{opacity:1!important}
  .js .tile::before{display:none!important}
  .team-card{animation:none!important}
}
