/* The header becomes translucent so the content can visibly blur behind it. */
header,html[data-theme="light"] header{border:0;box-shadow:none;outline:0}
header.header-scrolled{background:rgba(11,11,16,.68);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%)}
html[data-theme="light"] header.header-scrolled{background:rgba(250,248,255,.72)}
header.header-scrolled .nav{background:transparent;border:0;box-shadow:none}
header .navlinks{border:0}
@supports not (backdrop-filter:blur(1px)){header.header-scrolled{background:rgba(11,11,16,.96)}html[data-theme="light"] header.header-scrolled{background:rgba(250,248,255,.96)}}
/* Use a visible foreground haze layer, with the content above it. */
.cta{border:0;overflow:visible;box-shadow:0 -14px 48px -12px #ac55ff50}
.cta:before{z-index:0;top:-32px;left:1%;right:1%;height:112px;background:linear-gradient(90deg,#8602fd55,#b06affaa 45%,#ff599570 80%,#8602fd40);filter:blur(28px);opacity:.85;border-radius:50%;pointer-events:none}
.cta:after{z-index:0}
.cta>.wrap{z-index:2}
.cta-haze{position:absolute;left:0;right:0;top:-40px;height:100px;border-radius:28px;pointer-events:none;z-index:1;background:linear-gradient(to bottom,transparent,#b381ff22,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);mask-image:linear-gradient(to bottom,transparent,#000 45%,transparent)}
html[data-theme="light"] .cta{box-shadow:0 -18px 45px -15px #59277e55}
html[data-theme="light"] .cta:before{background:linear-gradient(90deg,#61288845,#ac63fa65 45%,#ff599550 80%,#8602fd30);opacity:.9}
/* A sliding glass pill links city selection to the map highlight. */
.location-tabs{position:relative;isolation:isolate;width:fit-content;margin-left:auto;margin-right:auto;padding:5px;gap:6px;border:1px solid var(--line);border-radius:10px;background:#8602fd08}
.location-tabs:before{content:'';position:absolute;left:0;top:var(--tab-y,5px);width:var(--tab-width,0px);height:var(--tab-height,44px);transform:translateX(var(--tab-x,5px));background:linear-gradient(120deg,#8602fd55,#bf8eff22);border:1px solid #bd80ff80;border-radius:6px;box-shadow:0 0 20px #8602fd18;transition:transform .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1);z-index:-1;pointer-events:none}
.location-tab{border-color:transparent;border-radius:6px;transition:color .3s,transform .3s}
.location-tab[aria-pressed="true"]{border-color:transparent;background:transparent;color:var(--accent);transform:translateY(-1px)}
.location-pin:before{transition:background .3s,transform .3s,box-shadow .3s}
.location-pin[aria-pressed="true"]:before{animation:city-activate .65s ease-out,map-ping 3s .65s ease-in-out infinite;background:#c591ff}
.location-pin[aria-pressed="true"] .pin-caption{border-color:#c591ff88;color:var(--accent);box-shadow:0 4px 20px #8602fd20}
.pin-caption{transition:color .3s,box-shadow .3s,border-color .3s}
.location-panel:not([hidden]){animation:location-enter .45s ease-out}
.map-route path{animation:route-travel 12s linear infinite;stroke:#c591ff;stroke-width:1.8}
#our-locations[data-selected="london"] .map-route path{animation-direction:reverse}
@keyframes city-activate{0%{transform:scale(.7);box-shadow:0 0 0 0 #bf8effaa}55%{transform:scale(1.5);box-shadow:0 0 0 14px #bf8eff22}100%{transform:scale(1);box-shadow:0 0 0 6px #bf8eff22}}
@keyframes location-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes route-travel{to{stroke-dashoffset:-180}}
/* Continent totals are supplied by the agency; unset is distinct from zero. */
.continent-badge{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);color:var(--ink);border-radius:7px;padding:8px 11px;min-width:78px;cursor:pointer;box-shadow:0 6px 20px #0001;transition:transform .3s,background .3s,border-color .3s}
.continent-badge:hover,.continent-badge[aria-pressed="true"]{transform:translate(-50%,-50%) translateY(-4px);border-color:#b76aff;background:color-mix(in srgb,var(--surface) 85%,#8602fd 15%)}
.continent-badge b{font-size:22px;font-variant-numeric:tabular-nums;color:var(--accent);min-width:2ch;line-height:1}.continent-badge span{font:9px monospace;white-space:nowrap}.continent-badge small{font-size:8px;color:var(--muted)}
.continent-note{text-align:center;font-size:11px;color:var(--muted);margin:0 20px 20px;line-height:1.7}
.client-reach-title{margin:20px 25px 4px;text-align:center;font-size:16px}.continent-badge{animation:continent-enter .6s both}.continent-badge:nth-of-type(2n){animation-delay:.08s}
@keyframes continent-enter{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.cta:before{height:90px;top:-25px;filter:blur(22px)}.location-tabs{max-width:calc(100% - 24px)}.location-tab{padding:13px 10px}.continent-badge{min-width:70px;padding:7px 9px}.continent-badge b{font-size:18px}.continent-badge span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.location-tabs:before,.location-tab,.pin-caption,.location-pin:before,.continent-badge{transition:none!important;animation:none!important}.location-panel:not([hidden]),.map-route path{animation:none!important}.continent-badge:hover,.continent-badge[aria-pressed="true"]{transform:translate(-50%,-50%)}}
.motion-paused .location-tabs:before,.motion-paused .location-tab,.motion-paused .pin-caption,.motion-paused .continent-badge{transition:none}.motion-paused .map-route path,.motion-paused .location-panel:not([hidden]),.motion-paused .location-pin:before,.motion-paused .continent-badge{animation:none}
.location-tabs:before{z-index:0}.location-tab{position:relative;z-index:1}
