:root{
  --white:#FFFFFF; --pale:#F2F2F2; --blue:#6A7799; --indigo:#6B719C; --grey:#626265; --char:#626265; --black:#5A5A5A;
  --rule:#808184;
  --line-l:rgba(128,129,132,.35); --line-d:rgba(255,255,255,.22);
  --line-grad:linear-gradient(90deg,#6B719C,#6A7799);
  --font:"Hanken Grotesk","Readex Pro",system-ui,sans-serif;
  --gutter:clamp(16px,3vw,48px);
  --ease:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(.34,1.3,.5,1);
  --t-s:.875rem;
  --t-ui:.9375rem;
  --t-body:1.0625rem;
  --t-lead:clamp(1.0625rem,1rem + .4vw,1.3rem);
  --t-l:clamp(1.35rem,1rem + .9vw,1.9rem);
  --t-sub:clamp(1.9rem,1rem + 1.8vw,2.8rem);
  --t-xl:clamp(1.9rem,1rem + 2.6vw,3.4rem);
  --t-stat:clamp(2.6rem,1.4rem + 3vw,4.6rem);
  --t-hero:clamp(2.9rem,1.2rem + 5.4vw,6rem);
  --t-display:clamp(4.5rem,11vw,9.5rem);
  --header:80px;
  --focus:var(--black);
}
@supports (transition-timing-function:linear(0,1)){
  :root{--spring:linear(0,.18 3%,.52 7%,.83 12%,1.03 19%,1.07 25%,1.04 33%,1 45%,.995 60%,1)}
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:calc(var(--header) + 8px)}
body{margin:0;background:var(--white);color:var(--black);font:400 var(--t-body)/1.55 var(--font);-webkit-font-smoothing:antialiased}
:root[dir=rtl] body{line-height:1.75}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
button,input,textarea,select{font:inherit;color:inherit}
a,button{touch-action:manipulation}
button{background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{list-style:none;padding:0}
::selection{background:var(--indigo);color:#fff}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.wrap{padding-inline:var(--gutter);max-width:1600px;margin-inline:auto}
.skip{position:absolute;top:-80px;inset-inline-start:var(--gutter);background:var(--black);color:var(--white);padding:10px 14px;z-index:60}
.skip:focus{top:10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sec{position:relative;isolation:isolate;padding-block:clamp(80px,10vw,160px)}
.light{background:var(--white)}
.pale{background:var(--pale)}
.char{background:var(--indigo);color:var(--white);--blue:var(--white);--focus:var(--white);--pale:#FFFFFF}
.black{background:var(--black);color:var(--white);--blue:var(--white);--focus:var(--white)}
.black.close{background:var(--grey)}
.h2{font-size:var(--t-xl);font-weight:300;letter-spacing:-.025em;line-height:1.08;margin-bottom:clamp(32px,4vw,56px)}
:root[dir=rtl] .h2{font-weight:400;letter-spacing:0;line-height:1.4}
.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--white) 94%,transparent);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px 0 var(--line-l)}
.bar{display:flex;align-items:center;gap:clamp(14px,2.4vw,40px);min-height:var(--header);font-size:var(--t-ui)}
.brand{display:flex;align-items:center;text-decoration:none;margin-inline-end:auto}
.brand img{height:58px;width:auto}
.tools{display:flex;align-items:center;gap:18px;padding-inline-start:clamp(14px,2vw,30px);border-inline-start:1px solid var(--line-l)}
[data-lang-toggle]{font-family:"Readex Pro",var(--font);padding:8px 4px}
[data-lang-toggle]:hover{text-decoration:underline;text-underline-offset:.3em}
#prog{position:absolute;inset:auto 0 0;height:2px;background:var(--line-grad);transform:scaleX(0);transform-origin:0 50%}
:root[dir=rtl] #prog{transform-origin:100% 50%}
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--black);color:var(--white);padding:15px 26px;font-weight:600;font-size:var(--t-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s,transform .12s var(--ease)}
.btn:hover{background:var(--indigo)}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.55;cursor:progress}
.hero .btn,.black .btn,.char .btn{background:var(--white);color:var(--black)}
.hero .btn:hover,.black .btn:hover,.char .btn:hover{background:var(--pale)}
.btn.alt{background:transparent;color:currentColor;border-color:currentColor;font-weight:500}
.hero .btn.alt{color:var(--white)}
.hero .btn.alt:hover{background:var(--white);color:var(--black)}
.light .btn.alt:hover,.pale .btn.alt:hover{background:var(--black);color:var(--white)}
.btn.sm{padding:10px 18px;font-size:var(--t-ui);white-space:nowrap}
.btn svg{width:18px;height:18px;transition:transform .5s var(--spring)}
.btn:hover svg{transform:translateX(5px)}
:root[dir=rtl] .btn svg{transform:scaleX(-1)}
:root[dir=rtl] .btn:hover svg{transform:scaleX(-1) translateX(5px)}
.close h2{font-size:var(--t-hero);font-weight:300;letter-spacing:-.035em;line-height:1;max-width:16ch;text-wrap:balance;margin-bottom:36px}
:root[dir=rtl] .close h2{font-weight:300;letter-spacing:0;line-height:1.3}
.offices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 0;margin-top:clamp(56px,7vw,104px);border-top:1px solid var(--line-d);padding-top:28px;font-size:var(--t-ui)}
.offices>div{padding-inline-end:24px}
.offices h3{font-size:var(--t-body);font-weight:600;margin-bottom:2px}
.offices p{margin:4px 0 8px;max-width:32ch;min-height:4.35em;line-height:1.45;opacity:.85}
.offices>.hq h3{display:inline-block;padding:2px 8px;background:var(--white);color:var(--black)} /* box starts on the column edge, like the text below */
.offices a{display:flex;align-items:center;min-height:32px;width:max-content;max-width:100%;overflow-wrap:anywhere;color:var(--white)}
.offices .ph{display:flex;align-items:center;gap:6px}
.offices .ph .call{justify-content:center;width:32px;opacity:.8}
.offices .ph .call:hover{opacity:1}
.offices .ph .call svg{width:16px;height:16px}
.site-foot{background:var(--grey);color:var(--white);padding-block:28px;--focus:var(--white)}
.site-foot.joined{padding-block:0 32px}
.site-foot .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:14px clamp(20px,3vw,44px);position:relative}
.site-foot.joined .wrap{padding-top:28px}
.site-foot.joined .wrap::before{content:"";position:absolute;inset:0 var(--gutter) auto;height:1px;background:var(--line-d)}
.site-foot .brand-link{display:inline-flex}
.foot-nav{display:flex;flex-wrap:wrap;gap:0 clamp(16px,2vw,28px);margin-inline-end:auto}
.site-foot img{height:50px;width:auto;filter:invert(1) hue-rotate(180deg) brightness(1.08)}
.site-foot span{font-size:var(--t-s);color:var(--pale)}
.site-foot .flink{font-size:var(--t-ui);font-weight:600;min-height:44px;display:inline-flex;align-items:center;color:#fff;text-underline-offset:.25em}
.site-foot .flink:hover{text-decoration-thickness:2px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important}
}
.page-head{padding-block:clamp(56px,8vw,120px) clamp(40px,5vw,72px)}
.page-head h1{font-size:var(--t-hero);font-weight:300;letter-spacing:-.035em;line-height:1;max-width:12ch;text-wrap:balance}
[data-split] .wo{white-space:nowrap}
:root[dir=rtl] .page-head h1{font-weight:300;letter-spacing:0;line-height:1.3}
.page-head p{margin-top:24px;font-size:var(--t-lead);color:var(--char);max-width:46ch;line-height:1.5}
.nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,36px);font-size:var(--t-ui)}
.nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--char);box-shadow:inset 0 -1px 0 transparent;transition:color .2s,box-shadow .3s var(--ease)}
.nav a:hover{color:var(--black);box-shadow:inset 0 -1px 0 currentColor}
.nav a[aria-current=page]{color:var(--black);box-shadow:none;background:var(--line-grad) 0 100%/100% 2px no-repeat}
.tools .btn[aria-current=page]{background:var(--char)}
@media (max-width:1100px){
  .offices{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}
}
@media (max-width:800px){
  :root{--header:116px}
  .bar{flex-wrap:wrap;min-height:0;row-gap:0}
  .brand,.tools{height:68px}
  .brand img{height:48px}
  .nav{order:3;flex:1 0 100%;height:48px;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--line-l);gap:22px;white-space:nowrap}
}
@media (max-width:540px){
  .bar{gap:0 10px}
  .tools{gap:10px;padding-inline-start:10px}
  .btn.sm{padding:9px 12px;font-size:var(--t-s)}
  .offices{grid-template-columns:1fr}
  .offices p{min-height:0}
}
.doc-inline{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-ui);font-weight:500;text-underline-offset:.25em}
.doc-inline svg{width:13px;height:13px;flex:none}
:root[dir=rtl] .doc-inline svg{transform:scaleX(-1)}
.card-main .doc-inline{color:var(--pale)}
