/* Site-wide styles: brand tokens, base elements, fonts and shared components (cursor, eyes, form steps, nav). Section styles live in Bricks global classes. */

:root {
  --vw-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --vw-lens-mask: url(/wp-content/uploads/visible-websites-eye-lens-mask.png);
  --vw-pupil: #0A0A0F;
  --vw-sclera: #F1F0F1;
  --vw-paper: #F8F7F5;
  --vw-white: #FFFFFF;
  --vw-violet: #5A2FD6;
  --vw-halo: #A48CFF;
  --vw-blue: #2A27F3;
  --vw-magenta: #EC2AE6;
  --vw-red: #E2261F;
  --vw-orange: #EE7C1B;
  --vw-yellow: #F2E31C;
  --vw-indigo: #1F1B7A;
  --vw-graphite: #1C1B23;
  --vw-slate: #6E6B7B;
  --vw-mist: #D9D7DF;
  --vw-lavender: #E4DFF5;
  --vw-ink: #0A0A0F;
  --vw-ink-2: #3B3946;
  --vw-ink-3: #6E6B7B;
  --vw-rule: #E1DFE6;
  --vw-rule-dark: rgba(241,240,241,.12);
  --vw-grad-signal: linear-gradient(90deg,#2A27F3 0%,#5A2FD6 52%,#8A4CF0 100%);
  --vw-grad-halo: linear-gradient(90deg,#8C9BFF,#A48CFF 50%,#CDBBFF);
  /* Aura text fill for the hero highlight and .vw-grad-halo headings. The hero animates it (seenAura); headings are static. */
  --vw-aura-ink: radial-gradient(closest-side,rgba(86,82,255,.9),rgba(86,82,255,0)),radial-gradient(closest-side,rgba(236,42,230,.8),rgba(236,42,230,0)),radial-gradient(closest-side,rgba(196,182,255,.9),rgba(196,182,255,0)),radial-gradient(closest-side,rgba(226,38,31,.35),rgba(226,38,31,0)),linear-gradient(120deg,#7A5CFF,#9479FF 50%,#7A5CFF);
  --vw-aura-ink-size: 160% 260%,140% 240%,120% 200%,90% 160%,100% 100%;
  --vw-aura-ink-pos: -60% 30%,140% 70%,40% -60%,120% 140%,0 0;
  --vw-head: 'Poppins','Poppins Fallback',Arial,sans-serif;
  --vw-body: 'Instrument Sans','Instrument Sans Fallback',Arial,sans-serif;
  --vw-r-btn: 8px;
  --vw-r-pill: 999px;
  --vw-r-card: 20px;
  --vw-r-panel: 28px;
  --vw-ease: cubic-bezier(.2,.8,.2,1);
  --vw-ease-out: cubic-bezier(.16,1,.3,1);
  --vw-wrap: 1312px;
  --vw-gutter: 64px;
  --vw-nav-h: 84px;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--vw-paper);
  color: var(--vw-ink);
  font-family: var(--vw-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img,
svg {
  display: block;
  max-width: 100%;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure {
  margin: 0;
}
ul,
ol {
  list-style: none;
  padding: 0;
}
:focus-visible {
  outline: 2px solid var(--vw-violet);
  outline-offset: 3px;
  border-radius: 6px;
}
.vw-grad {
  background: var(--vw-grad-signal);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* Highlighted words in dark headings. Token: --vw-aura-ink. */
.vw-grad-halo,
.vw-hero .vw-hero-tag .vw-grad-halo {
  background-image: var(--vw-aura-ink);
  background-size: var(--vw-aura-ink-size);
  background-position: var(--vw-aura-ink-pos);
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
html.vw-js [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .9s var(--vw-ease-out),transform .9s var(--vw-ease-out);
  transition-delay: var(--d,0s);
}
html.vw-js [data-reveal].vw-in {
  opacity: 1;
  transform: none;
}
.vw-eye {
  display: block;
  overflow: visible;
}
.vw-eye .vw-lid {
  transform-box: view-box;
  transform-origin: 325.7px 301.55px;
  transition: transform .09s ease-in;
}
.vw-eye.vw-blink .vw-lid {
  transform: scaleY(.06);
}
.vw-eye .vw-iris {
  transition: transform .5s var(--vw-ease-out);
}
@property --k {
  syntax:'<percentage>';
  inherits:false;
  initial-value:100%;
}
@keyframes lensBlink {
  0% {
    --k: 0%;
  }
  55% {
    --k: 100%;
  }
  70% {
    --k: 6%;
  }
  100% {
    --k: 100%;
  }
}
@keyframes ringBlink {
  0% {
    scale: 1 0;
  }
  55% {
    scale: 1 1;
  }
  70% {
    scale: 1 .06;
  }
  100% {
    scale: 1 1;
  }
}
.vw-stars {
  display: flex;
  gap: 2px;
}
.vw-stars svg {
  width: 14px;
  height: 14px;
  fill: var(--vw-halo);
}
@keyframes prog {
  to {
    width: 100%;
  }
}
@keyframes marquee {
  to {
    transform: translateX(-50%);
  }
}
.vw-logo-text {
  font-family: var(--vw-head);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(10,10,15,.64);
}
section {
  position: relative;
}
@keyframes orbSpin {
  to {
    transform: rotate(360deg);
  }
}
.vw-orb-icon {
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
  margin: -17px 0 0 -17px;
  color: #fff;
  will-change: transform;
  opacity: .92;
}
.vw-orb-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
@keyframes ping {
  0% {
    transform: scale(.8);
    opacity: .9;
  }
  100% {
    transform: scale(1.9);
    opacity: 0;
  }
}
@keyframes caret {
  50% {
    opacity: 0;
  }
}
/* Cursor bubble */
.vw-cursor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 95;
  pointer-events: none;
  transform: translate3d(-300px,-300px,0);
  will-change: transform;
}
.vw-cur-d {
  position: absolute;
  left: -34px;
  top: -34px;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #fff;
  background: #07070B;
  isolation: isolate;
  transform: scale(.35);
  opacity: 0;
  transition: transform .32s cubic-bezier(.4,0,.2,1), opacity .22s ease;
}
.vw-cursor.vw-on .vw-cur-d {
  transform: scale(1);
  opacity: 1;
  transition: transform .62s cubic-bezier(.16,1,.3,1), opacity .2s ease;
}
.vw-cursor.vw-on.vw-down .vw-cur-d {
  transform: scale(.9);
  transition: transform .18s cubic-bezier(.16,1,.3,1);
}
.vw-cur-fw {
  position: absolute;
  inset: -22%;
  z-index: -2;
  will-change: transform;
}
.vw-cur-f {
  position: absolute;
  inset: 0;
  will-change: transform;
  animation: vwCurAura 22s ease-in-out infinite alternate;
  background:
    radial-gradient(40% 30% at 26% 84%, rgba(42,39,243,.95), rgba(42,39,243,0) 100%),
    radial-gradient(34% 26% at 60% 92%, rgba(90,47,214,.9), rgba(90,47,214,0) 100%),
    radial-gradient(22% 22% at 82% 22%, rgba(236,42,230,.5), rgba(236,42,230,0) 100%),
    radial-gradient(18% 20% at 88% 62%, rgba(226,38,31,.5), rgba(226,38,31,0) 100%),
    radial-gradient(14% 12% at 80% 84%, rgba(238,124,27,.6), rgba(238,124,27,0) 100%),
    radial-gradient(34% 22% at 36% 12%, rgba(31,27,122,.95), rgba(31,27,122,0) 100%);
}
@keyframes vwCurAura {
  0% { transform: translate(-4%,2%) scale(1); }
  50% { transform: translate(3%,-3%) scale(1.06); }
  100% { transform: translate(5%,3%) scale(1.02); }
}
.vw-cur-d::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .07;
  mix-blend-mode: overlay;
  background-image: var(--vw-grain);
  background-size: 90px;
}
.vw-cur-ar {
  display: block;
  width: 24px;
  height: 24px;
  opacity: 0;
  transform: translate(9px,-9px);
  transition: transform .3s cubic-bezier(.4,0,.2,1), opacity .18s ease;
}
.vw-cursor.vw-pre .vw-cur-ar {
  transform: translate(-9px,9px) !important;
  transition: none !important;
}
.vw-cursor.vw-on .vw-cur-ar {
  transform: none;
  opacity: 1;
  transition: transform .7s cubic-bezier(.16,1,.3,1) .05s, opacity .3s ease .05s;
}
.vw-has-cursor [data-cursor],
.vw-has-cursor [data-cursor] * {
  cursor: none;
}
@keyframes bob {
  50% {
    transform: translateY(-8px);
  }
}
@keyframes float {
  0%,
  100% {
    transform: translateY(-10px);
  }
  50% {
    transform: translateY(12px);
  }
}
.vw-qmark {
  width: 46px;
  height: 36px;
  color: var(--vw-halo);
}
.vw-map-svg {
  width: 100%;
  height: 100%;
}
.vw-map-svg .vw-route {
  fill: none;
  stroke: rgba(164,140,255,.55);
  stroke-width: 1.4;
  stroke-dasharray: 4 5;
  stroke-dashoffset: 0;
  animation: dash 26s linear infinite;
}
.vw-map-svg .vw-route-glow {
  fill: none;
  stroke: url(#routeGrad);
  stroke-width: 2.4;
  stroke-dasharray: 60 900;
  animation: travel 5s var(--vw-ease) infinite;
}
@keyframes dash {
  to {
    stroke-dashoffset: -400;
  }
}
@keyframes travel {
  0% {
    stroke-dashoffset: 60;
  }
  100% {
    stroke-dashoffset: -760;
  }
}
.vw-map-svg .vw-route-glow.vw-rev {
  animation-name: travelBack;
  animation-delay: -2.5s;
}
@keyframes travelBack {
  0% {
    stroke-dashoffset: -760;
  }
  100% {
    stroke-dashoffset: 60;
  }
}
@keyframes pinPulse {
  0% {
    transform: scale(.6);
    opacity: 1;
  }
  100% {
    transform: scale(3.4);
    opacity: 0;
  }
}
.vw-form {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 640px;
  background: var(--vw-white);
  border-radius: var(--vw-r-panel);
  padding: 40px 48px 46px;
  border: 1px solid rgba(10,10,15,.06);
  overflow: hidden;
}
.vw-form::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: linear-gradient(90deg,#2A27F3 0%,#5A2FD6 22%,#EC2AE6 46%,#E2261F 68%,#EE7C1B 86%,#F2E31C 100%);
  pointer-events: none;
}
.vw-step-count {
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--vw-violet);
}
.vw-step-name {
  color: var(--vw-ink-3);
}
.vw-fsteps {
  position: relative;
  flex: 1;
  margin-top: 44px;
}
.vw-fstep {
  display: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.vw-fstep.vw-on {
  display: block;
  animation: stepIn .6s var(--vw-ease-out) both;
}
.vw-fstep.vw-on.vw-rev {
  animation-name: stepBack;
}
@keyframes stepIn {
  from {
    opacity: 0;
    transform: translateX(26px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes stepBack {
  from {
    opacity: 0;
    transform: translateX(-26px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.vw-fq {
  display: block;
  max-width: 460px;
  margin-bottom: 36px;
  padding: 0;
  font-family: var(--vw-head);
  font-weight: 500;
  font-size: clamp(26px,2.4vw,34px);
  line-height: 1.15;
  letter-spacing: -.025em;
  color: var(--vw-pupil);
}
.vw-form.vw-sent .vw-fsteps {
  display: none;
}
@keyframes drift {
  to {
    transform: translate(var(--dx,40px),var(--dy,-30px)) scale(var(--ds,1.08));
  }
}
@keyframes live {
  0% {
    box-shadow: 0 0 0 0 rgba(164,140,255,.55);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(164,140,255,0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(164,140,255,0);
  }
}
.vw-word {
  margin-top: 96px;
  position: relative;
}
.vw-word svg {
  width: 100%;
  height: auto;
  overflow: visible;
}
.vw-word .vw-letters path {
  fill: var(--vw-sclera);
}
.vw-word .vw-eye {
  cursor: pointer;
}
@media (max-width:1280px) {
  :root {
    --vw-gutter: 40px;
  }
}
@media (max-width:720px) {
  :root {
    --vw-gutter: 20px;
    --vw-nav-h: 72px;
  }
  body {
    font-size: 16px;
  }
  .vw-form {
    padding: 28px 22px;
  }
}
@media (prefers-reduced-motion:reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms!important;
    animation-iteration-count: 1!important;
    transition-duration: .001ms!important;
    scroll-behavior: auto!important;
  }
  html.vw-js [data-reveal] {
    opacity: 1;
    transform: none;
  }
}
@font-face {
  font-family:Poppins;
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url(/wp-content/uploads/poppins-latin-300.woff2) format('woff2');
}
@font-face {
  font-family:Poppins;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(/wp-content/uploads/poppins-latin-400.woff2) format('woff2');
}
@font-face {
  font-family:Poppins;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(/wp-content/uploads/poppins-latin-500.woff2) format('woff2');
}
@font-face {
  font-family:Poppins;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(/wp-content/uploads/poppins-latin-600.woff2) format('woff2');
}
@font-face {
  font-family:'Instrument Sans';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(/wp-content/uploads/instrument-sans-latin-400.woff2) format('woff2');
}
@font-face {
  font-family:'Instrument Sans';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url(/wp-content/uploads/instrument-sans-latin-500.woff2) format('woff2');
}
@font-face {
  font-family:'Instrument Sans';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(/wp-content/uploads/instrument-sans-latin-600.woff2) format('woff2');
}
@font-face {
  font-family:'Poppins Fallback';
  src:local('Arial'),local('Helvetica Neue'),local('Liberation Sans');
  size-adjust:102%;
  ascent-override:102.9%;
  descent-override:34.3%;
  line-gap-override:9.8%;
}
@font-face {
  font-family:'Instrument Sans Fallback';
  src:local('Arial'),local('Helvetica Neue'),local('Liberation Sans');
  size-adjust:102.2%;
  ascent-override:94.9%;
  descent-override:24.5%;
  line-gap-override:0%;
}
:where([class*="brxe-"]) {
  max-width: none;
}
svg {
  min-width: 0;
  min-height: 0;
}
blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  position: static;
}
label {
  color: inherit;
  font-weight: inherit;
  margin-bottom: 0;
}
figure {
  margin: 0;
}
table {
  width: auto;
}
.brxe-button {
  letter-spacing: normal;
}
.vw-svg-wrap {
  display: contents;
}
:where(.brxe-section,.brxe-container,.brxe-block) {
  display: block;
  width: auto;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: normal;
  margin-left: 0;
  margin-right: 0;
}
.vw-confirm {
  display: inline;
  padding: 1px 6px;
  border-radius: 4px;
  background: #FFF4C2;
  color: #5B4A00;
  font-family: var(--vw-body);
  font-weight: 500;
  font-size: .78em;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
  vertical-align: .08em;
}
.vw-burger-lines {
  display: grid;
  gap: 4px;
  width: 16px;
}
.vw-burger-lines i {
  display: block;
  height: 1.6px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .35s var(--vw-ease);
}
html.vw-no-scroll,
html.vw-no-scroll body {
  overflow: hidden;
}
.vw-cite {
  position: absolute;
  right: 14px;
  top: 14px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(241,240,241,.12);
  font-family: var(--vw-head);
  font-size: 11px;
  color: var(--vw-sclera);
}
.vw-src-chip {
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid var(--vw-rule-dark);
  color: rgba(241,240,241,.8);
}
.vw-form.vw-is-stepped .submit-button-wrapper {
  display: none;
}
.vw-form.vw-is-stepped .vw-fsteps {
  flex: 1;
  margin-top: 0;
}
.vw-fstep {
  display: block;
}
.vw-form.vw-is-stepped .vw-fstep {
  display: none;
}
.vw-form.vw-is-stepped .vw-fstep.vw-on {
  display: block;
  animation: stepIn .6s var(--vw-ease-out) both;
}
.vw-form.vw-is-stepped .vw-fstep.vw-on.vw-rev {
  animation-name: stepBack;
}
.vw-fstep .form-group:first-child {
  margin-bottom: 36px;
}
@media (max-width:600px) {
  html body.admin-bar #wpadminbar {
    position: fixed;
  }
}
.vw-map-routes {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.vw-logo-text {
  font-size: 12px;
}
@keyframes pHeroDrift {
  to {
    transform: scale(1.12) translate(-1.5%,-1%);
  }
}
.vw-bframe-url {
  margin-left: 14px;
  flex: 1;
  max-width: 300px;
  height: 22px;
  border-radius: 6px;
  background: var(--vw-white);
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  font-size: 11.5px;
  color: var(--vw-ink-3);
  white-space: nowrap;
  overflow: hidden;
}
.vw-bframe-url svg {
  width: 10px;
  height: 10px;
  flex: none;
}
@keyframes pScroll {
  0%,
  14% {
    transform: translateY(0);
  }
  86%,
  100% {
    transform: translateY(calc(-100% + 100cqh));
  }
}
.vw-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #1E9E5A;
  box-shadow: 0 0 0 4px rgba(30,158,90,.15);
}
.vw-st-ok {
  color: #5BD08F;
}
.vw-st-warn {
  color: #F5B54A;
}
.vw-st-bad {
  color: #FF7A7A;
}
@keyframes migFill {
  0% {
    transform: scaleX(0);
  }
  70%,
  100% {
    transform: scaleX(1);
  }
}
.vw-ad-fav {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--vw-lavender);
}
.vw-feat-ico {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: var(--vw-lavender);
  color: var(--vw-violet);
}
.vw-feat-ico .vw-glyph {
  width: 24px;
  height: 24px;
}
.vw-nf-4 {
  font-family: var(--vw-head);
  font-weight: 600;
  font-size: calc(var(--eye) * .4);
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--vw-ink);
}
.vw-nf-4a {
  align-self: flex-start;
}
.vw-nf-4b {
  align-self: flex-end;
}
.vw-nf-eye {
  width: var(--eye);
  height: var(--eye);
  align-self: center;
  flex: none;
}
:root {
  --vw-fs-display: clamp(42px,5.6vw,86px);
  --vw-fs-h1: clamp(36px,4.6vw,68px);
  --vw-fs-h2: clamp(30px,3.3vw,48px);
  --vw-fs-h2-l: clamp(34px,4.2vw,62px);
  --vw-fs-h3: clamp(21px,1.85vw,27px);
  --vw-sec-pad: 140px;
}
@media (max-width:1024px) {
  :root {
    --vw-sec-pad: 104px;
  }
}
@media (max-width:720px) {
  :root {
    --vw-sec-pad: 80px;
  }
}
@media (max-width:1024px) {
  .vw-mnav-go {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(241,240,241,.16);
    transition: background .3s var(--vw-ease),border-color .3s var(--vw-ease),transform .4s var(--vw-ease);
  }
  .vw-mnav-go svg {
    width: 16px;
    height: 16px;
  }
}
@keyframes mAura {
  to {
    transform: translate(12%,-10%) scale(1.15);
  }
}
.vw-svc-tag {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 11px;
  border-radius: 14px;
  border: 1px solid rgba(241,240,241,.18);
  font-family: var(--vw-head);
  font-weight: 500;
  font-size: 12.5px;
  line-height: 1;
  color: rgba(241,240,241,.84);
  white-space: nowrap;
  transition: background .25s var(--vw-ease),color .25s var(--vw-ease),border-color .25s var(--vw-ease);
}
a.vw-svc-tag:hover,
a.vw-svc-tag:focus-visible {
  background: var(--vw-sclera);
  border-color: var(--vw-sclera);
  color: var(--vw-pupil);
}
span.vw-svc-tag {
  border-style: dashed;
}
@keyframes rankPop {
  0% {
    opacity: 0;
    transform: scale(.8);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes wmScroll {
  0%,
  12% {
    transform: translateY(0);
  }
  88%,
  100% {
    transform: translateY(calc(-100% + 100cqh));
  }
}
@keyframes hintNudge {
  50% {
    transform: translateX(4px);
  }
}
@keyframes wmScroll2 {
  0% {
    transform: translateY(0);
  }
  90%,
  100% {
    transform: translateY(calc(-100% + 100cqh));
  }
}
.vw-orb-icon {
  width: calc(var(--ow,560px) * .06);
  height: calc(var(--ow,560px) * .06);
  margin: calc(var(--ow,560px) * -.03) 0 0 calc(var(--ow,560px) * -.03);
}
@media (max-width:1024px) {
  .vw-orb-icon {
    width: calc(var(--ow) * .052);
    height: calc(var(--ow) * .052);
    margin: calc(var(--ow) * -.026) 0 0 calc(var(--ow) * -.026);
  }
}
address {
  font-style: normal;
}
@keyframes seenAura {
  33% {
    background-position: 10% 80%,60% 10%,110% 40%,40% 120%,0 0;
  }
  66% {
    background-position: 120% 20%,-20% 90%,-10% 100%,140% -40%,0 0;
  }
  100% {
    background-position: 60% 110%,100% -30%,70% 20%,-30% 80%,0 0;
  }
}

/* Nav brand: the wordmark collapses into the eye on scroll and returns at the top of the page or while the mobile menu is open. */
.vw-nav .vw-brand .vw-eye {
position: relative;
z-index: 1;
}
.vw-nav .vw-brand .vw-wordmark {
transform: none;
clip-path: inset(0 0 0 0);
opacity: 1;
transition: transform .55s var(--vw-ease) .05s,clip-path .55s var(--vw-ease) .05s,opacity .25s ease .05s;
}
.vw-nav.vw-scrolled:not(.vw-m-open) .vw-brand .vw-wordmark {
transform: translateX(calc(-100% - 32px));
clip-path: inset(0 0 0 100%);
opacity: 0;
transition: transform .5s var(--vw-ease),clip-path .5s var(--vw-ease),opacity .2s ease .3s;
}

/* Homepage hero title: smaller above 1024px */
@media (min-width:1025px) {
.vw-hero .vw-hero-title {
font-size: calc(var(--vw-fs-display) * .75);
}
}

/* Hero tagline */
@media (min-width:1025px) {
.vw-hero .vw-hero-tag {
margin-top: 30px;
font-size: clamp(17px,1.32vw,21px);
font-weight: 400;
letter-spacing: 0;
color: rgba(241,240,241,.74);
}
.vw-hero .vw-hero-tag .vw-grad-halo {
font-weight: 500;
}
}

/* Main nav (desktop): tracked caps links, centre-out hover underline, compact Contact pill. */
@media (min-width:1025px) {
body .vw-nav .vw-mi {
position: relative;
padding: 0 14px;
font-family: var(--vw-head);
font-weight: 500;
font-size: 14px;
letter-spacing: -.01em;
text-transform: none;
color: var(--vw-pupil);
}
body .vw-nav .vw-mi .vw-plus {
letter-spacing: 0;
margin-left: -2px;
}
body .vw-nav .vw-mi:hover,
body .vw-nav .vw-mi[aria-expanded="true"] {
background: transparent;
}
body .vw-nav .vw-mi::before {
content: "";
position: absolute;
left: 14px;
right: 14px;
bottom: 9px;
height: 1px;
background: currentColor;
transform: scaleX(0);
transform-origin: center;
transition: transform .45s var(--vw-ease);
}
body .vw-nav .vw-mi:hover::before,
body .vw-nav .vw-mi:focus-visible::before,
body .vw-nav .vw-mi[aria-expanded="true"]::before {
transform: scaleX(1);
}
body .vw-nav .vw-mi[aria-current="page"]::after,
body .vw-nav .vw-mi.vw-current::after {
content: "";
position: absolute;
left: 50%;
bottom: 2px;
width: 4px;
height: 4px;
margin-left: -2px;
border-radius: 50%;
background: var(--vw-violet);
}
body .vw-nav.vw-on-dark:not(.vw-open) .vw-mi,
body .vw-nav.vw-on-dark:not(.vw-open) .vw-mi:hover {
color: var(--vw-sclera);
background: transparent;
}
body .vw-nav.vw-on-dark:not(.vw-open) .vw-mi::after {
background: var(--vw-halo);
}
body .vw-nav .vw-nav-cta {
padding: 0 20px;
font-size: 11.5px;
letter-spacing: .1em;
text-transform: uppercase;
}
body .vw-nav .vw-nav-cta svg {
width: 11px;
height: 11px;
}
}

/* Top band: hero and logo strip on Sclera; tinted nav background. */
body .vw-hero,
body .vw-hero + .vw-logos,
body .vw-p-hero,
body .vw-p-hero + .vw-logos {
background: var(--vw-sclera);
}
body .vw-hero + .vw-logos,
body .vw-p-hero + .vw-logos {
box-shadow: 0 0 0 100vmax var(--vw-sclera);
clip-path: inset(0 -100vmax);
}
body .vw-logos .vw-logos-label {
background: var(--vw-sclera);
}
body .vw-logos .vw-logos-label::after {
background: linear-gradient(90deg, var(--vw-sclera), rgba(241,240,241,0));
}

/* Section panel radius via --vw-r-panel. */
body{--vw-r-panel:24px}
@media (max-width:720px){body .vw-hero-panel{border-radius:19px}}
body .vw-audit-panel{border-radius:27px}
body .vw-audit .va-frame{border-radius:22px}
body .vw-audit .va-peek{border-radius:20px 20px 0 0}
body .vw-audit .va-report{border-radius:20px}

/* Mobile header: full logo, collapsing wordmark, compact Menu button. Tightened below 375px. */
@media (max-width:720px){.vw-nav .vw-brand .vw-wordmark{display:block}}
@media (max-width:1024px){.vw-nav .vw-burger{height:36px;gap:10px;padding:0 14px 0 16px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.vw-nav .vw-burger-lines{width:14px;gap:4px}.vw-nav .vw-burger-lines i{height:1.4px}}
@media (max-width:374px){.vw-nav .vw-brand{gap:9px}.vw-nav .vw-brand .vw-eye{width:34px;height:34px}.vw-nav .vw-brand .vw-wordmark{height:11px}.vw-nav .vw-burger{padding:0 12px 0 14px;gap:8px}}
/* Hero client strip (mobile): client name and short description on one line. The description is truncated in home.js. */
@media (max-width:720px){body .vw-hero .vw-hero-foot .vw-infocus{display:flex;max-width:100%;min-width:0}body .vw-hero .vw-hero-foot .vw-offices.vw-hq{display:none}body .vw-hero .vw-hero-foot .vw-who{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body .vw-hero .vw-who .vw-who-x{display:none}}
@media (max-width:374px){body .vw-hero .vw-hero-foot .vw-who{font-size:13px}}
/* Work card address bar: single line with ellipsis on mobile. */
@media (max-width:1024px){body .vw-wm-card .vw-url span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* GEO / SEO / AEO comparison table. Column switcher below 860px (site.js). */
.vw-cmp2 {
  position: relative;
  padding: 28px 0;
  isolation: isolate;
}
.vw-cmp2 table {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
}
.vw-cmp2 col.vw-cmp2-l { width: 22%; }
.vw-cmp2 col.vw-cmp2-g { width: 28%; }
.vw-cmp2 th,
.vw-cmp2 td {
  border: 0;
  background: none;
  text-align: left;
  vertical-align: top;
}
.vw-cmp2 thead th {
  vertical-align: bottom;
  padding: 0 32px 28px 0;
  font-weight: 400;
}
.vw-cmp2 tbody th {
  padding: 26px 24px 26px 0;
  font: 500 11.5px/1.3 var(--vw-body, "Instrument Sans"), sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--vw-ink-3);
}
.vw-cmp2 tbody td {
  padding: 24px 32px 24px 0;
  font-size: 16.5px;
  line-height: 1.5;
  color: var(--vw-ink-2);
}
.vw-cmp2 tbody tr > * { border-top: 1px solid #E6E4EA; }
.vw-cmp2 tbody tr > .vw-hl { border-top-color: rgba(255,255,255,.1); }
.vw-cmp2 .vw-hl {
  color: #fff;
  padding-left: 32px;
  padding-right: 28px;
}
.vw-cmp2-geo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 28%;
  border-radius: 22px;
  overflow: hidden;
  background: #0A0A0F;
}
.vw-cmp2-geo::before {
  content: "";
  position: absolute;
  inset: -10%;
  background:
    radial-gradient(42% 26% at 18% 104%, rgba(42,39,243,.75), transparent 100%),
    radial-gradient(40% 24% at 62% 108%, rgba(90,47,214,.75), transparent 100%),
    radial-gradient(26% 16% at 96% 92%, rgba(226,38,31,.35), transparent 100%),
    radial-gradient(18% 10% at 88% 104%, rgba(238,124,27,.4), transparent 100%),
    radial-gradient(34% 18% at 96% 6%, rgba(236,42,230,.22), transparent 100%),
    radial-gradient(40% 22% at 30% -4%, rgba(31,27,122,.8), transparent 100%);
}
.vw-cmp2-geo::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .07;
  mix-blend-mode: overlay;
  background-image: var(--vw-grain);
  background-size: 140px;
}
.vw-cmp2-logos {
  display: flex;
  margin-bottom: 16px;
}
.vw-cmp2-logos img {
  box-sizing: border-box;
  width: 28px;
  height: 28px;
  padding: 6.5px;
  margin-left: -5px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px #E6E4EA, 0 0 0 3px #fff;
}
.vw-cmp2-logos img:first-child { margin-left: 0; }
.vw-cmp2 .vw-hl .vw-cmp2-logos img { box-shadow: 0 0 0 2px #0F0E16; }
.vw-cmp2-nm {
  display: block;
  font: 600 30px/1 var(--vw-head, Poppins), "Poppins Fallback", sans-serif;
  letter-spacing: -.03em;
  color: var(--vw-ink);
}
.vw-cmp2 .vw-hl .vw-cmp2-nm { color: #fff; }
.vw-cmp2-fn {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--vw-ink-3);
}
.vw-cmp2 .vw-hl .vw-cmp2-fn { color: rgba(241,240,241,.55); }
.vw-cmp2-seg { display: none; }
@media (max-width:1100px) {
  .vw-cmp2 col.vw-cmp2-l { width: 19%; }
  .vw-cmp2 col.vw-cmp2-g,
  .vw-cmp2-geo { width: 29%; }
  .vw-cmp2 thead th,
  .vw-cmp2 tbody td { padding-right: 24px; }
  .vw-cmp2 .vw-hl { padding-left: 26px; padding-right: 22px; }
  .vw-cmp2 tbody td { font-size: 15.5px; }
  .vw-cmp2-nm { font-size: 27px; }
}
/* phones and small tablets: one column at a time */
@media (max-width:860px) {
  .vw-cmp2[data-show] { padding: 0; }
  .vw-cmp2[data-show] .vw-cmp2-seg {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    height: 48px;
    padding: 4px;
    margin-bottom: 14px;
    border-radius: 99px;
    background: var(--vw-sclera);
  }
  .vw-cmp2-seg button {
    all: unset;
    box-sizing: border-box;
    height: 40px;
    border-radius: 99px;
    text-align: center;
    font: 500 14px/40px var(--vw-head, Poppins), "Poppins Fallback", sans-serif;
    color: var(--vw-ink-2);
    cursor: pointer;
    transition: background-color .3s, color .3s;
  }
  .vw-cmp2-seg button[aria-pressed="true"] { background: var(--vw-ink); color: #fff; }
  .vw-cmp2-seg button:focus-visible { outline: 2px solid var(--vw-violet); outline-offset: 2px; }
  .vw-cmp2[data-show] table,
  .vw-cmp2[data-show] thead,
  .vw-cmp2[data-show] tbody,
  .vw-cmp2[data-show] tr,
  .vw-cmp2[data-show] th,
  .vw-cmp2[data-show] td { display: block; width: auto; }
  .vw-cmp2[data-show] colgroup,
  .vw-cmp2[data-show] thead td { display: none; }
  .vw-cmp2[data-show] table {
    padding: 26px 22px 8px;
    border-radius: 22px;
    background: var(--vw-sclera);
  }
  .vw-cmp2[data-show="3"] table { background: none; }
  .vw-cmp2[data-show] .vw-cmp2-geo { display: none; }
  .vw-cmp2[data-show="3"] .vw-cmp2-geo {
    display: block;
    top: 62px;
    left: 0;
    width: auto;
  }
  .vw-cmp2[data-show="1"] tr > :nth-child(3),
  .vw-cmp2[data-show="1"] tr > :nth-child(4),
  .vw-cmp2[data-show="2"] tr > :nth-child(2),
  .vw-cmp2[data-show="2"] tr > :nth-child(4),
  .vw-cmp2[data-show="3"] tr > :nth-child(2),
  .vw-cmp2[data-show="3"] tr > :nth-child(3) { display: none; }
  .vw-cmp2[data-show] thead th { padding: 0 0 20px; }
  .vw-cmp2[data-show] tbody tr { padding: 16px 0; border-top: 1px solid #DEDCE3; }
  .vw-cmp2[data-show="3"] tbody tr { border-top-color: rgba(255,255,255,.1); }
  .vw-cmp2[data-show] tbody tr > * { border: 0; padding: 0; }
  .vw-cmp2[data-show] tbody th { margin-bottom: 6px; }
  .vw-cmp2[data-show="3"] tbody th { color: rgba(241,240,241,.5); }
  .vw-cmp2[data-show] tbody td { font-size: 15.5px; line-height: 1.45; }
  .vw-cmp2[data-show] .vw-cmp2-logos img { box-shadow: 0 0 0 2px var(--vw-sclera); }
  .vw-cmp2[data-show] .vw-hl .vw-cmp2-logos img { box-shadow: 0 0 0 2px #0F0E16; }
  .vw-cmp2:not([data-show]) { overflow-x: auto; }
  .vw-cmp2:not([data-show]) table { min-width: 720px; }
}

/* Heading colour fill on scroll (home.js). Headings render in full colour without JS. */
.vw-fill .vw-fw { color: color-mix(in oklab, var(--fc) calc(var(--p, 1) * 100%), var(--sc)); }
.vw-fill .vw-grad { background-image: linear-gradient(90deg, color-mix(in oklab, #2A27F3 calc(var(--p, 1) * 100%), var(--sc)) 0%, color-mix(in oklab, #5A2FD6 calc(var(--p, 1) * 100%), var(--sc)) 52%, color-mix(in oklab, #8A4CF0 calc(var(--p, 1) * 100%), var(--sc)) 100%); }
.vw-fill .vw-grad-halo { filter: grayscale(calc(1 - var(--p, 1))); opacity: calc(.26 + .74 * var(--p, 1)); }

/* Tools strip under the hero */
.vw-off { display: none !important; }
.vw-tools-strip { background: #F1F0F1; }
.vw-tools-strip .vw-logos-label { width: 230px; }
.vw-tl-pre {
  display: block;
  font: 400 14px/1.4 var(--vw-body, "Instrument Sans"), sans-serif;
  color: var(--vw-ink-3);
}
.vw-tl-key {
  display: block;
  margin-top: 2px;
  font: 500 14.5px/1.35 var(--vw-head, Poppins), "Poppins Fallback", sans-serif;
  letter-spacing: -.01em;
  color: var(--vw-ink);
  white-space: nowrap;
}
.vw-tools-strip .vw-logos-row { gap: 0; }
.vw-tchip {
  display: flex;
  flex: none;
  align-items: center;
  gap: 14px;
  height: 48px;
  padding: 0 36px;
  border-left: 1px solid #DEDCE3;
}
.vw-tchip-ic { display: grid; place-items: center; flex: none; width: 28px; height: 28px; }
.vw-tchip-ic svg,
.vw-tchip-ic img { display: block; width: 28px; height: 28px; object-fit: contain; }
.vw-tchip-n {
  display: block;
  font: 500 15px/1.25 var(--vw-head, Poppins), "Poppins Fallback", sans-serif;
  color: var(--vw-ink);
  white-space: nowrap;
}
.vw-tchip-d {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.3;
  color: var(--vw-ink-3);
  white-space: nowrap;
}
@media (max-width:720px) {
  body .vw-tools-strip { flex-direction: column; align-items: stretch; height: auto !important; min-height: 0; padding-top: 22px; padding-bottom: 24px; }
  .vw-tools-strip .vw-logos-track { width: 100%; min-width: 0; max-width: 100%; }
  .vw-tools-strip .vw-logos-label { width: auto; padding: 0 20px 14px; text-align: center; }
  .vw-tchip { padding: 0 24px; }
}


/* Work section */

/* No eyebrow dots */
html body .vw-eyebrow::before { content: none !important; display: none !important; }
html body .vw-eyebrow { gap: 0; }

/* header: centred, no eyebrow */
html body #work .vw-sec-head { flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 18px; margin-bottom: 64px; }
html body #work .vw-sec-head .vw-eyebrow { display: none; }
html body #work .vw-sec-head .vw-h2 { margin-top: 0; }
html body #work .vw-sec-head .vw-aside { max-width: 520px; margin: 0 auto; }
html body #work .vw-sec-head .vw-aside p { margin: 0; text-align: center; }

@media (max-width: 1024px) {
  html body #work .vw-sec-head { gap: 14px; margin-bottom: 40px; }
}

/* desktop panel */
@media (min-width: 1025px) {
  html body #work .vw-work-panel { padding: 64px; gap: 64px; border-radius: 28px; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); }
  html body #work .vw-work-list { padding-bottom: 0; justify-content: space-between; min-height: 0; }
  html body #work .vw-work-list .vw-lbl { margin: 0; line-height: 1; }
  html body #work .vw-work-list ol { margin-top: 0; gap: 4px; }
  html body #work .vw-work-list .vw-nm { font-size: clamp(28px, min(2.6vw, calc((100vh - 524px) * 0.148)), 38px); line-height: 1.12; letter-spacing: -0.02em; padding: 0; }
  html body #work .vw-work-list li:not(.vw-on) .vw-nm { color: rgba(241, 240, 241, 0.4); }
  html body #work .vw-work-list li:not(.vw-on) button:hover .vw-nm { color: rgba(241, 240, 241, 0.72); }
  html body #work .vw-svc-tags { gap: 8px; padding: 14px 0 18px; }
  html body #work .vw-svc-tag { height: 30px; padding: 0 13px; border-radius: 999px; border-color: rgba(241, 240, 241, 0.16); color: rgba(241, 240, 241, 0.78); }
  html body #work a.vw-svc-tag:hover, html body #work a.vw-svc-tag:focus-visible { background: var(--vw-sclera); border-color: var(--vw-sclera); color: var(--vw-pupil); }

  /* Visit the live site: slim glass pill */
  html body #work .vw-work-list .vw-btn { margin-top: 0; align-self: flex-start; height: 40px; min-height: 40px; padding: 0 16px 0 18px; gap: 10px; border-radius: 999px; border: 1px solid rgba(241, 240, 241, 0.2); background: rgba(241, 240, 241, 0.05); color: var(--vw-sclera); font-family: var(--vw-head); font-weight: 500; font-size: 13px; letter-spacing: 0.01em; line-height: 1; }
  html body #work .vw-work-list .vw-btn:hover, html body #work .vw-work-list .vw-btn:focus-visible { background: var(--vw-sclera); border-color: var(--vw-sclera); color: var(--vw-pupil); }

  /* browser: inset, fully rounded, centred address bar */
  html body #work .vw-work-stage { padding-right: 0; }
  html body #work .vw-browser { border-radius: 14px; }
  html body #work .vw-browser .vw-bar { position: relative; height: 40px; }
  html body #work .vw-browser .vw-url { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; width: 46%; max-width: 340px; justify-content: center; }
  html body #work .vw-browser .vw-url span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
/* narrower desktops: slimmer even padding so the browser keeps its width */
@media (min-width: 1025px) and (max-width: 1280px) {
  html body #work .vw-work-panel { padding: 48px; gap: 48px; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); }
}

/* Four-colour Google G in the "Page one" pill, drawn as a background over the hidden SVG path. */
html body #work .vw-rank .vw-g path { fill: transparent; }
html body #work .vw-rank .vw-g { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z'/%3E%3Cpath fill='%23FBBC05' d='M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Traffic pill: gradient trend arrow drawn as a background over the hidden SVG. */
html body #work .vw-serp .vw-rank[data-k="trend"] { color: var(--vw-pupil); }
html body #work .vw-rank .vw-trend path { stroke: transparent; }
html body #work .vw-rank .vw-trend { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='2' y1='0' x2='22' y2='0'%3E%3Cstop offset='0' stop-color='%232A27F3'/%3E%3Cstop offset='.5' stop-color='%238C29EC'/%3E%3Cstop offset='1' stop-color='%23EC2AE6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' stroke='url(%23g)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 18l5-6 4 3 4-7 3 3 4-6'/%3E%3Cpath d='M17.5 5H22v4.5'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }

/* Live reporting */
html body #reporting { background: #FFFFFF; }
html body #reporting .vw-rep-copy .vw-h2 { margin-top: 14px; font-size: clamp(30px, 2.7vw, 40px); }
html body #reporting .vw-feat { border-top: 1px solid #E6E4EC; }
html body #reporting .vw-feat li { grid-template-columns: 44px minmax(0, 1fr); gap: 20px; padding: 24px 0; align-items: start; border-bottom: 1px solid #E6E4EC; }
html body #reporting .vw-feat .vw-svg-wrap { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; box-sizing: border-box; border-radius: 50%; background: #FFFFFF; border: 1px solid #E1DFE6; }
html body #reporting .vw-feat .vw-svg-wrap svg { width: 22px; height: 22px; margin: 0; color: inherit; }
html body #reporting .vw-feat b { font-size: 18px; line-height: 1.3; }
html body #reporting .vw-feat li > div > span { margin-top: 6px; font-size: 15.5px; line-height: 1.6; color: var(--vw-ink-3); }
@media (min-width: 1025px) {
  html body #reporting .vw-rep-visual { top: 152px; width: auto; margin-right: 0; }
  html body #reporting .vw-rep-note { padding-right: 0; }
}

/* Logos and logo-like UI are not selectable or draggable. */
.vw-hero-proof, .vw-hero-proof *, .vw-hero .vw-infocus, .vw-hero .vw-infocus *, .vw-logos .vw-tchip, .vw-logos .vw-tchip *, .vw-ai-tiles .vw-tile, .vw-ai-tiles .vw-tile * { -webkit-user-select: none; user-select: none; }
.vw-hero-proof img, .vw-hero-proof svg, .vw-logos .vw-tchip img, .vw-logos .vw-tchip svg, .vw-ai-tiles .vw-tile img, .vw-ai-tiles .vw-tile svg { -webkit-user-drag: none; }

/* Reviews */
html body #reviews { --vw-rq: clamp(24px, 2.92vw, 42px); }
html body #reviews .vw-sec-head { display: flex; flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap; margin-bottom: 0; padding-bottom: 56px; border-bottom: 1px solid #E1DFE6; }
html body #reviews .vw-rev-rating { display: inline-flex; align-items: center; gap: 16px; padding-bottom: 4px; color: #0A0A0F; text-decoration: none; border-radius: 8px; }
html body #reviews .vw-rev-rating .vw-rr-score { font-family: var(--vw-head); font-weight: 600; font-size: 34px; line-height: 1; letter-spacing: -0.02em; }
html body #reviews .vw-rev-rating .vw-rr-meta { display: flex; flex-direction: column; gap: 7px; }
html body #reviews .vw-rev-rating .vw-rr-stars { display: block; width: 102px; height: 18px; }
html body #reviews .vw-rev-rating .vw-rr-src { display: inline-flex; align-items: center; gap: 6px; font-family: var(--vw-head); font-weight: 500; font-size: 13px; line-height: 1; color: #4A4856; transition: color .25s; }
html body #reviews .vw-rev-rating .vw-rr-g { display: block; width: 14px; height: 14px; flex: none; }
html body #reviews .vw-rev-rating .vw-rr-arr { display: block; width: 10px; height: 10px; transition: transform .3s var(--vw-ease); }
html body #reviews .vw-rev-rating:hover .vw-rr-src { color: #0A0A0F; }
html body #reviews .vw-rev-rating:hover .vw-rr-arr { transform: translate(2px, -2px); }
html body #reviews .vw-rev-rating:focus-visible { outline: 2px solid #2A27F3; outline-offset: 6px; }
html body #reviews .vw-rev-rating .vw-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
html body #reviews .vw-rev-grid { display: block; padding-top: 80px; }
html body #reviews .vw-rev-grid > .vw-rev-side { display: none; }
html body #reviews .vw-rev-big { position: relative; display: grid; grid-template-columns: 168px minmax(0, 1fr); align-items: start; padding: 0; min-height: 0; border-radius: 0; background: none; color: #0A0A0F; overflow: visible; }
html body #reviews .vw-rev-big::before, html body #reviews .vw-rev-big::after { display: none; }
html body #reviews .vw-rev-big .vw-ph-badge { display: none; }
html body #reviews .vw-rev-big > .vw-svg-wrap { grid-column: 1; grid-row: 1 / span 3; display: block; width: auto; height: auto; background: none; font-size: var(--vw-rq); padding-top: calc(50px + .28em); }
html body #reviews .vw-rev-big .vw-rev-mark { display: block; width: 72px; height: auto; overflow: visible; }
html body #reviews .vw-rev-stars { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 14px; height: 20px; }
html body #reviews .vw-rev-stars .vw-rs-stars { display: block; width: 113px; height: 20px; flex: none; margin-left: -2.08px; }
html body #reviews .vw-rev-stars .vw-rs-sep { display: block; width: 1px; height: 14px; background: #D3D1D9; }
html body #reviews .vw-rev-stars .vw-rs-src { display: inline-flex; align-items: center; gap: 7px; font-family: var(--vw-head); font-weight: 500; font-size: 13px; line-height: 1; color: #4A4856; }
html body #reviews .vw-rev-stars .vw-rs-g { display: block; width: 14px; height: 14px; flex: none; }
html body #reviews .vw-rev-stars .vw-rs-tp { display: block; width: 15px; height: 14.2px; flex: none; margin-top: -1px; }
html body #reviews .vw-rev-big .vw-quotes { grid-column: 2; grid-row: 2; position: relative; display: grid; flex: none; margin-top: 30px; }
html body #reviews .vw-rev-big .vw-quote { position: relative; inset: auto; grid-area: 1 / 1; display: flex; flex-direction: column; justify-content: space-between; visibility: hidden; transition: opacity .7s var(--vw-ease), transform .9s var(--vw-ease), visibility 0s linear .9s; }
html body #reviews .vw-rev-big .vw-quote.vw-on { visibility: visible; transition: opacity .7s var(--vw-ease), transform .9s var(--vw-ease), visibility 0s; }
html body #reviews .vw-rev-big .vw-quote blockquote { margin: 0; max-width: 1020px; font-family: var(--vw-head); font-weight: 500; font-size: var(--vw-rq); line-height: 1.26; letter-spacing: -0.022em; color: #0A0A0F; text-wrap: pretty; }
html body #reviews .vw-rev-big .vw-author { display: flex; align-items: center; gap: 16px; margin-top: 56px; padding-top: 32px; border-top: 1px solid #ECEAF1; min-height: 60px; }
html body #reviews .vw-rev-big .vw-author .vw-avatar { width: 60px; height: 60px; flex: none; box-sizing: border-box; border: 0; background: #ECEAF1; color: #4A4856; font-family: var(--vw-head); font-weight: 600; font-size: 20px; }
html body #reviews .vw-rev-big .vw-author > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
html body #reviews .vw-rev-big .vw-author > div b { display: block; font-family: var(--vw-head); font-weight: 600; font-size: 17px; line-height: 1.2; color: #0A0A0F; }
html body #reviews .vw-rev-big .vw-author > div span { display: block; font-size: 15px; line-height: 1.3; color: #6E6B7B; }
html body #reviews .vw-rev-big .vw-author > div:has(+ .vw-rev-logo) { padding-right: 32px; border-right: 1px solid #E1DFE6; }
html body #reviews .vw-rev-big .vw-author .vw-rev-logo { display: block; flex: none; width: auto; height: 52px; margin: 0; }
html body #reviews .vw-rev-big .vw-rev-nav { grid-column: 2; grid-row: 3; position: absolute; right: 0; bottom: 4px; display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; border: 0; }
html body #reviews .vw-rev-big .vw-rev-dots { display: flex; align-items: center; gap: 8px; }
html body #reviews .vw-rev-big .vw-rev-dots button { position: relative; width: 20px; height: 24px; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; opacity: 1; cursor: pointer; transition: width .4s var(--vw-ease); }
html body #reviews .vw-rev-big .vw-rev-dots button::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 3px; margin-top: -1.5px; border-radius: 2px; background: #D3D1D9; transition: background-color .3s; }
html body #reviews .vw-rev-big .vw-rev-dots button::after { display: none; }
html body #reviews .vw-rev-big .vw-rev-dots button:hover::before { background: #8E8B99; }
html body #reviews .vw-rev-big .vw-rev-dots button.vw-on { width: 36px; }
html body #reviews .vw-rev-big .vw-rev-dots button.vw-on::before { background: #0A0A0F; }
html body #reviews .vw-rev-big .vw-rev-dots button:focus-visible { outline: 2px solid #2A27F3; outline-offset: 2px; }
html body #reviews .vw-rev-big .vw-rev-arrows { display: flex; gap: 10px; }
html body #reviews .vw-rev-big .vw-rev-arrows button { width: 52px; height: 52px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 0; border-radius: 50%; border: 1px solid #E1DFE6; background: #FFFFFF; color: #0A0A0F; cursor: pointer; transition: border-color .25s, background-color .25s, color .25s; }
html body #reviews .vw-rev-big .vw-rev-arrows button svg { width: 18px; height: 18px; }
html body #reviews .vw-rev-big .vw-rev-arrows button[data-dir="1"] { background: #0A0A0F; border-color: #0A0A0F; color: #FFFFFF; }
html body #reviews .vw-rev-big .vw-rev-arrows button:hover { border-color: #0A0A0F; background: #FFFFFF; color: #0A0A0F; }
html body #reviews .vw-rev-big .vw-rev-arrows button[data-dir="1"]:hover { background: #2A27F3; border-color: #2A27F3; color: #FFFFFF; }
html body #reviews .vw-rev-big .vw-rev-arrows button:focus-visible { outline: 2px solid #2A27F3; outline-offset: 3px; }
@media (max-width: 1024px) {
  html body #reviews .vw-rev-big { grid-template-columns: 112px minmax(0, 1fr); }
  html body #reviews .vw-rev-big .vw-rev-mark { width: 58px; }
  html body #reviews .vw-rev-big .vw-rev-nav { position: static; margin-top: 28px; justify-content: space-between; }
}
@media (max-width: 720px) {
  html body #reviews .vw-sec-head { flex-direction: column; align-items: flex-start; gap: 20px; padding-bottom: 32px; }
  html body #reviews .vw-rev-rating { gap: 12px; padding-bottom: 0; }
  html body #reviews .vw-rev-rating .vw-rr-score { font-size: 26px; }
  html body #reviews .vw-rev-rating .vw-rr-meta { flex-direction: row; align-items: center; gap: 12px; }
  html body #reviews .vw-rev-rating .vw-rr-stars { width: 91px; height: 16px; }
  html body #reviews .vw-rev-grid { padding-top: 40px; }
  html body #reviews .vw-rev-big { grid-template-columns: auto minmax(0, 1fr); align-items: end; }
  html body #reviews .vw-rev-big > .vw-svg-wrap { grid-row: 1; padding-top: 0; }
  html body #reviews .vw-rev-big .vw-rev-mark { width: 52px; }
  html body #reviews .vw-rev-stars { justify-self: end; flex-direction: column; align-items: flex-end; gap: 8px; height: auto; }
  html body #reviews .vw-rev-stars .vw-rs-sep { display: none; }
  html body #reviews .vw-rev-stars .vw-rs-stars { width: 96px; height: 17px; margin: 0 -1.77px 0 0; }
  html body #reviews .vw-rev-stars .vw-rs-src { font-size: 12px; }
  html body #reviews .vw-rev-big .vw-quotes { grid-column: 1 / -1; margin-top: 22px; }
  html body #reviews .vw-rev-big .vw-quote blockquote { line-height: 1.32; letter-spacing: -0.016em; }
  html body #reviews .vw-rev-big .vw-author { gap: 14px; margin-top: 28px; padding-top: 24px; min-height: 52px; }
  html body #reviews .vw-rev-big .vw-author .vw-avatar { width: 52px; height: 52px; font-size: 18px; }
  html body #reviews .vw-rev-big .vw-author > div b { font-size: 16px; }
  html body #reviews .vw-rev-big .vw-author > div span { font-size: 14px; }
  html body #reviews .vw-rev-big .vw-author > div:has(+ .vw-rev-logo) { padding-right: 0; border-right: 0; }
  html body #reviews .vw-rev-big .vw-author .vw-rev-logo { height: 40px; margin: 0 -13px 0 auto; }
  html body #reviews .vw-rev-big .vw-rev-nav { grid-column: 1 / -1; grid-row: 3; margin-top: 24px; }
  html body #reviews .vw-rev-big .vw-rev-arrows button { width: 48px; height: 48px; }
  html body #reviews .vw-rev-big .vw-rev-arrows button svg { width: 16px; height: 16px; }
}

/* About page. All selectors use the vw-abt- prefix. */
html body .vw-abt-hero { background: #FFFFFF; padding: calc(var(--vw-ab-h, 0px) + 84px + 88px) 0 0; text-align: center; overflow: hidden; }
html body .vw-abt-hero-in { max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 26px; }
html body .vw-abt-kicker { margin: 0; font-family: Poppins, Arial, sans-serif; font-weight: 500; font-size: 12px; line-height: 1.2; letter-spacing: .18em; text-transform: uppercase; color: #4A4856; }
html body .vw-abt-title { margin: 0; font-family: Poppins, Arial, sans-serif; font-weight: 600; font-size: clamp(34px, 3.75vw, 56px); line-height: 1.07; letter-spacing: -0.03em; color: #0A0A0F; }
html body .vw-abt-lead { margin: 0 auto; max-width: 600px; font-size: 17px; line-height: 1.65; color: #6E6B7B; }
html body .vw-abt-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 8px; }
html body .vw-abt-strip { display: flex; justify-content: center; align-items: center; gap: 20px; overflow: hidden; margin-top: 80px; padding-bottom: 150px; }
html body .vw-abt-strip > * { flex: none; width: 340px; height: 380px; border-radius: 24px; overflow: hidden; }
html body .vw-abt-strip img.vw-abt-tile { display: block; object-fit: cover; object-position: top; user-select: none; -webkit-user-drag: none; }

/* Photo placeholders: soft light with head-and-shoulders silhouettes */
html body .vw-abt-ph { position: relative; overflow: hidden; border-radius: 24px; background-color: #ECEAF0;
  background-image: radial-gradient(circle at 50% calc(100% - 170px), rgba(10,10,15,.06) 52px, transparent 53px), radial-gradient(ellipse 130px 104px at 50% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(255,255,255,.85), rgba(236,234,240,0) 70%); }
html body .vw-abt-ph-none { background-image: radial-gradient(60% 55% at 50% 30%, rgba(255,255,255,.85), rgba(236,234,240,0) 70%); }
html body .vw-abt-ph-duo { background-image: radial-gradient(circle at 34% calc(100% - 150px), rgba(10,10,15,.06) 42px, transparent 43px), radial-gradient(circle at 66% calc(100% - 150px), rgba(10,10,15,.06) 42px, transparent 43px), radial-gradient(ellipse 96px 86px at 34% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(ellipse 96px 86px at 66% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(255,255,255,.85), rgba(236,234,240,0) 70%); }
html body .vw-abt-ph-label { position: absolute; left: 24px; top: 22px; font-family: Poppins, Arial, sans-serif; font-weight: 500; font-size: 11px; line-height: 1.3; letter-spacing: .16em; text-transform: uppercase; color: #5E5B6B; text-align: left; }
html body .vw-abt-founders { margin-top: 72px; width: 100%; height: clamp(340px, 44vw, 640px); background-color: #15141C;
  background-image: radial-gradient(circle at 35% calc(100% - 232px), rgba(241,240,241,.07) 88px, transparent 89px), radial-gradient(circle at 65% calc(100% - 232px), rgba(241,240,241,.07) 88px, transparent 89px), radial-gradient(ellipse 200px 150px at 35% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(ellipse 200px 150px at 65% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(120,112,160,.30), rgba(21,20,28,0) 70%); }
html body .vw-abt-founders .vw-abt-ph-label { color: rgba(241,240,241,.55); }

/* how it started */
html body .vw-abt-story { padding-top: 0; }
html body .vw-abt-story-head { display: flex; flex-direction: column; align-items: center; text-align: center; }
html body .vw-abt-mega { margin: 0; font-family: Poppins, Arial, sans-serif; font-weight: 600; font-size: clamp(38px, 4vw, 60px); line-height: 1.04; letter-spacing: -0.035em; color: #0A0A0F; }
html body .vw-abt-date { margin: 34px 0 0; font-family: Poppins, Arial, sans-serif; font-weight: 500; font-size: 14px; color: #6E6B7B; }
html body .vw-abt-line { display: block; width: 1px; height: 110px; margin: 18px auto 44px; background: linear-gradient(#C9C6D2, rgba(201,198,210,0)); }
html body .vw-abt-quote { margin: 0 auto; max-width: 960px; font-family: Poppins, Arial, sans-serif; font-weight: 500; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.38; letter-spacing: -0.015em; color: #0A0A0F; }
html body .vw-abt-names { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 22px; }
html body .vw-abt-name { display: flex; align-items: center; gap: 16px; }
html body .vw-abt-name-n { margin: 0; font-family: Poppins, Arial, sans-serif; font-weight: 600; font-size: 20px; color: #0A0A0F; }
html body .vw-abt-name-r { margin: 0; font-size: 15px; color: #6E6B7B; }
html body .vw-btn.vw-abt-pill { height: 38px; padding: 0 16px; font-size: 13px; border-radius: 999px; }
html body .vw-abt-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; max-width: 1080px; margin: 88px auto 0; }
html body .vw-abt-cols p { margin: 0; font-size: 18px; line-height: 1.6; color: #6E6B7B; }

/* statement */
html body .vw-abt-statement { padding: 170px 0; text-align: center; }
html body .vw-abt-big { margin: 0; font-family: Poppins, Arial, sans-serif; font-weight: 600; font-size: clamp(40px, 5.85vw, 84px); line-height: 1.02; letter-spacing: -0.045em; color: #F1F0F1; }
html body .vw-abt-sub { margin: 36px auto 0; max-width: 640px; font-size: 19px; line-height: 1.6; color: rgba(241,240,241,.62); }

/* values */
html body .vw-abt-head-c { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: 64px; text-align: center; }
html body .vw-abt-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
html body .vw-abt-value { background: #F8F7F5; border-radius: 24px; padding: 40px 40px 44px; display: flex; flex-direction: column; gap: 18px; }
html body .vw-abt-icon { display: flex; height: 30px; }
html body .vw-abt-icon svg { width: 30px; height: 30px; display: block; }
html body .vw-abt-value-t { margin: 14px 0 0; font-family: Poppins, Arial, sans-serif; font-weight: 600; font-size: 22px; line-height: 1.25; letter-spacing: -0.01em; color: #0A0A0F; }
html body .vw-abt-value p { margin: 0; font-size: 16px; line-height: 1.6; color: #6E6B7B; }

/* brands and review */
html body .vw-abt-head-c .vw-abt-head-p { margin: 4px 0 0; max-width: 620px; font-size: 18px; line-height: 1.6; color: rgba(241,240,241,.62); }
html body .vw-abt-brands { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid rgba(241,240,241,.1); border-left: 1px solid rgba(241,240,241,.1); user-select: none; }
html body .vw-abt-brand { height: 132px; display: flex; align-items: center; justify-content: center; padding: 0 16px; border-right: 1px solid rgba(241,240,241,.1); border-bottom: 1px solid rgba(241,240,241,.1); font-family: Poppins, Arial, sans-serif; font-weight: 600; font-size: 19px; line-height: 1.25; letter-spacing: -0.01em; color: rgba(241,240,241,.72); text-align: center; }
html body .vw-abt-review { display: flex; flex-direction: column; align-items: center; gap: 28px; margin-top: 130px; text-align: center; }
html body .vw-abt-stars { display: flex; }
html body .vw-abt-stars svg { display: block; width: 104px; height: 20px; }
html body .vw-abt-review-q { margin: 0; max-width: 1000px; font-family: Poppins, Arial, sans-serif; font-weight: 500; font-size: clamp(25px, 2.8vw, 40px); line-height: 1.24; letter-spacing: -0.025em; color: #F1F0F1; quotes: none; }
html body .vw-abt-who { display: flex; align-items: center; gap: 14px; text-align: left; }
html body .vw-abt-av { flex: none; width: 44px; height: 44px; border-radius: 50%; background: #1B1A22; border: 1px solid rgba(241,240,241,.16); box-sizing: border-box; display: flex; align-items: center; justify-content: center; font-family: Poppins, Arial, sans-serif; font-weight: 600; font-size: 15px; color: #F1F0F1; }
html body .vw-abt-who-n { margin: 0; font-family: Poppins, Arial, sans-serif; font-weight: 600; font-size: 16px; color: #F1F0F1; }
html body .vw-abt-who-r { margin: 0; font-size: 14px; color: rgba(241,240,241,.62); }

/* offices */
html body .vw-abt-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 56px; }
html body .vw-abt-head-row > div { display: flex; flex-direction: column; gap: 14px; }
html body .vw-abt-head-row > p { margin: 0; max-width: 420px; font-size: 17px; line-height: 1.6; color: #6E6B7B; }
html body .vw-abt-offices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
html body .vw-abt-office { display: flex; flex-direction: column; gap: 26px; }
html body .vw-abt-office .vw-abt-ph { height: 340px; }
html body .vw-abt-office-meta { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
html body .vw-abt-office-t { margin: 0; font-family: Poppins, Arial, sans-serif; font-weight: 600; font-size: 30px; line-height: 1.1; letter-spacing: -0.02em; color: #0A0A0F; }
html body .vw-abt-office-a { margin: 10px 0 0; font-family: Poppins, Arial, sans-serif; font-weight: 500; font-size: 15px; color: #0A0A0F; }
html body .vw-abt-office-n { margin: 8px 0 0; max-width: 460px; font-size: 16px; line-height: 1.6; color: #6E6B7B; }
html body .vw-abt-chip { flex: none; display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; background: #F8F7F5; font-size: 13px; color: #4A4856; white-space: nowrap; }

@media (max-width: 1024px) {
  html body .vw-abt-hero { padding-top: calc(var(--vw-ab-h, 0px) + 84px + 56px); }
  html body .vw-abt-strip { margin-top: 64px; padding-bottom: 120px; }
  html body .vw-abt-strip > * { width: 280px; height: 320px; }
  html body .vw-abt-cols { grid-template-columns: 1fr; gap: 24px; margin-top: 64px; max-width: 720px; }
  html body .vw-abt-statement { padding: 130px 0; }
  html body .vw-abt-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body .vw-abt-brands { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html body .vw-abt-review { margin-top: 104px; }
  html body .vw-abt-office .vw-abt-ph { height: 280px; }
  html body .vw-abt-office-meta { flex-direction: column; gap: 14px; }
}
@media (max-width: 720px) {
  html body .vw-abt-hero { padding-top: calc(var(--vw-ab-h, 0px) + 72px + 40px); }
  html body .vw-abt-hero-in { gap: 20px; }
  html body .vw-abt-title { font-size: 34px; line-height: 1.1; letter-spacing: -0.03em; }
  html body .vw-abt-lead { font-size: 15.5px; }
  html body .vw-abt-btns { flex-direction: column; align-items: stretch; width: 100%; }
  html body .vw-abt-btns .vw-btn { justify-content: center; }
  html body .vw-abt-strip { gap: 12px; margin-top: 48px; padding-bottom: 88px; }
  html body .vw-abt-strip > * { width: 210px; height: 250px; border-radius: 18px; }
  html body .vw-abt-ph-label { left: 18px; top: 16px; font-size: 10px; }
  html body .vw-abt-ph-duo { background-image: radial-gradient(circle at 34% calc(100% - 104px), rgba(10,10,15,.06) 29px, transparent 30px), radial-gradient(circle at 66% calc(100% - 104px), rgba(10,10,15,.06) 29px, transparent 30px), radial-gradient(ellipse 66px 60px at 34% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(ellipse 66px 60px at 66% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(255,255,255,.85), rgba(236,234,240,0) 70%); }
  html body .vw-abt-mega { font-size: 34px; }
  html body .vw-abt-date { margin-top: 24px; }
  html body .vw-abt-line { height: 72px; margin: 14px auto 32px; }
  html body .vw-abt-quote { font-size: 21px; }
  html body .vw-abt-founders { margin-top: 48px; height: 300px; border-radius: 18px;
    background-image: radial-gradient(circle at 32% calc(100% - 116px), rgba(241,240,241,.07) 40px, transparent 41px), radial-gradient(circle at 68% calc(100% - 116px), rgba(241,240,241,.07) 40px, transparent 41px), radial-gradient(ellipse 92px 72px at 32% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(ellipse 92px 72px at 68% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(120,112,160,.30), rgba(21,20,28,0) 70%); }
  html body .vw-abt-names { flex-direction: column; align-items: flex-start; gap: 12px; }
  html body .vw-abt-cols { margin-top: 48px; }
  html body .vw-abt-cols p { font-size: 17px; }
  html body .vw-abt-statement { padding: 104px 0; }
  html body .vw-abt-big { font-size: 40px; }
  html body .vw-abt-sub { font-size: 17px; margin-top: 24px; }
  html body .vw-abt-head-c { margin-bottom: 40px; }
  html body .vw-abt-values { grid-template-columns: 1fr; gap: 14px; }
  html body .vw-abt-value { padding: 30px 28px 32px; gap: 14px; }
  html body .vw-abt-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body .vw-abt-brand { height: 88px; font-size: 15.5px; padding: 0 12px; }
  html body .vw-abt-review { margin-top: 80px; gap: 22px; }
  html body .vw-abt-review-q { font-size: 24px; }
  html body .vw-abt-head-row { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 36px; }
  html body .vw-abt-offices { grid-template-columns: 1fr; gap: 48px; }
  html body .vw-abt-office { gap: 20px; }
  html body .vw-abt-office .vw-abt-ph { height: 220px; border-radius: 18px; }
  html body .vw-abt-office-t { font-size: 26px; }
}
/* Eyebrows: sentence case, 15px, as on the homepage */
html body .vw-abt-head-c .vw-eyebrow, html body .vw-abt-head-row .vw-eyebrow { margin: 0; font-size: 15px; line-height: 1.2; letter-spacing: -0.005em; text-transform: none; color: #3B3946; }
/* two-person placeholders: figures spaced so the shoulders never overlap, at every width */
html body .vw-abt-ph-duo { background-image: radial-gradient(circle at 28% calc(100% - 118px), rgba(10,10,15,.06) 34px, transparent 35px), radial-gradient(circle at 72% calc(100% - 118px), rgba(10,10,15,.06) 34px, transparent 35px), radial-gradient(ellipse 66px 70px at 28% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(ellipse 66px 70px at 72% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(255,255,255,.85), rgba(236,234,240,0) 70%); }
html body .vw-abt-founders { background-image: radial-gradient(circle at 33% calc(100% - 224px), rgba(241,240,241,.07) 84px, transparent 85px), radial-gradient(circle at 67% calc(100% - 224px), rgba(241,240,241,.07) 84px, transparent 85px), radial-gradient(ellipse 170px 140px at 33% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(ellipse 170px 140px at 67% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(120,112,160,.30), rgba(21,20,28,0) 70%); }
@media (max-width: 1024px) { html body .vw-abt-ph-duo { background-image: radial-gradient(circle at 26% calc(100% - 100px), rgba(10,10,15,.06) 28px, transparent 29px), radial-gradient(circle at 74% calc(100% - 100px), rgba(10,10,15,.06) 28px, transparent 29px), radial-gradient(ellipse 54px 60px at 26% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(ellipse 54px 60px at 74% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(255,255,255,.85), rgba(236,234,240,0) 70%); } html body .vw-abt-founders { background-image: radial-gradient(circle at 30% calc(100% - 150px), rgba(241,240,241,.07) 50px, transparent 51px), radial-gradient(circle at 70% calc(100% - 150px), rgba(241,240,241,.07) 50px, transparent 51px), radial-gradient(ellipse 100px 92px at 30% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(ellipse 100px 92px at 70% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(120,112,160,.30), rgba(21,20,28,0) 70%); } }
@media (max-width: 720px) { html body .vw-abt-ph-duo { background-image: radial-gradient(circle at 27% calc(100% - 76px), rgba(10,10,15,.06) 21px, transparent 22px), radial-gradient(circle at 73% calc(100% - 76px), rgba(10,10,15,.06) 21px, transparent 22px), radial-gradient(ellipse 40px 44px at 27% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(ellipse 40px 44px at 73% 100%, rgba(10,10,15,.06) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(255,255,255,.85), rgba(236,234,240,0) 70%); } html body .vw-abt-founders { background-image: radial-gradient(circle at 29% calc(100% - 94px), rgba(241,240,241,.07) 30px, transparent 31px), radial-gradient(circle at 71% calc(100% - 94px), rgba(241,240,241,.07) 30px, transparent 31px), radial-gradient(ellipse 62px 56px at 29% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(ellipse 62px 56px at 71% 100%, rgba(241,240,241,.07) 99%, transparent 100%), radial-gradient(60% 55% at 50% 30%, rgba(120,112,160,.30), rgba(21,20,28,0) 70%); } }
/* tablet and phone spacing */
@media (max-width: 1024px) { html body .vw-abt-head-row { flex-direction: column; align-items: flex-start; gap: 18px; } html body .vw-abt-value-t { margin-top: 6px; } }
@media (max-width: 720px) { html body .vw-abt-big { font-size: 32px; letter-spacing: -0.035em; } html body .vw-abt-value-t { margin-top: 2px; } }
/* Photo strip arc (positions set in site.js), founders tile, client logos */
html body .vw-abt-strip > .vw-abt-tile-wide { width: 544px; }
html body .vw-abt-strip img.vw-abt-tile-wide { object-position: 42% 50%; }
html body .vw-abt-strip.vw-abt-arc { display: block; position: relative; margin-top: 110px; padding-bottom: 0; overflow: visible; }
html body .vw-abt-strip.vw-abt-arc > * { transition: none; }
html body .vw-abt-strip.vw-abt-arc > * { position: absolute; left: 0; top: 0; margin: 0; transform-origin: 50% 50%; will-change: transform; backface-visibility: hidden; }
html body img.vw-abt-founders-img { display: block; width: 100%; height: clamp(340px, 44vw, 640px); margin-top: 72px; border-radius: 24px; object-fit: cover; object-position: 50% 45%; }
html body .vw-abt-brands { border: 0; gap: 0; }
html body .vw-abt-brand { position: relative; border: 0; color: inherit; }
html body .vw-abt-brand::after { content: ""; position: absolute; right: 0; top: 6px; bottom: 6px; width: 1px; background: rgba(241,240,241,.2); }
html body .vw-abt-brand::before { content: ""; position: absolute; left: 6px; right: 6px; bottom: 0; height: 1px; background: rgba(241,240,241,.2); }
html body .vw-abt-brand:nth-child(6n)::after, html body .vw-abt-brand:nth-child(n+7)::before { display: none; }
html body .vw-abt-logo { display: block; width: 100%; max-width: 160px; height: 64px; object-fit: contain; filter: brightness(0) invert(1); opacity: .9; user-select: none; -webkit-user-drag: none; }
@media (max-width: 1024px) {
  html body .vw-abt-strip > .vw-abt-tile-wide { width: 448px; }
  html body .vw-abt-strip.vw-abt-arc { margin-top: 32px; }
  html body .vw-abt-brand:nth-child(6n)::after, html body .vw-abt-brand:nth-child(n+7)::before { display: block; }
  html body .vw-abt-brand:nth-child(4n)::after, html body .vw-abt-brand:nth-child(n+9)::before { display: none; }
}
@media (max-width: 720px) {
  html body .vw-abt-strip > .vw-abt-tile-wide { width: 336px; }
  html body .vw-abt-strip.vw-abt-arc { margin-top: 24px; }
  html body img.vw-abt-founders-img { height: 300px; margin-top: 48px; border-radius: 18px; }
  html body .vw-abt-brands { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body .vw-abt-brand { height: 92px; padding: 0 10px; }
  html body .vw-abt-brand:nth-child(4n)::after, html body .vw-abt-brand:nth-child(n+9)::before { display: block; }
  html body .vw-abt-brand:nth-child(3n)::after, html body .vw-abt-brand:nth-child(n+10)::before { display: none; }
  html body .vw-abt-logo { height: 46px; }
}

/* Current nav item uses the aura text fill. Smaller wordmark on mobile. */
html body .vw-nav .vw-mi[aria-current="page"]::after,
html body .vw-nav .vw-mi.vw-current::after { content: none; display: none; }
html body .vw-nav .vw-mi[aria-current="page"],
html body .vw-nav .vw-mi.vw-current {
  background-image: var(--vw-aura-ink);
  background-size: var(--vw-aura-ink-size);
  background-position: var(--vw-aura-ink-pos);
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
@media (max-width:720px) { html body .vw-nav .vw-brand .vw-wordmark { height: 11.5px; width: auto; } }
@media (max-width:374px) { html body .vw-nav .vw-brand .vw-wordmark { height: 10.5px; } }
/* Dark sections: reapply the aura fill over the dark nav rule. */
html body .vw-nav.vw-on-dark:not(.vw-open) .vw-mi[aria-current="page"],
html body .vw-nav.vw-on-dark:not(.vw-open) .vw-mi[aria-current="page"]:hover,
html body .vw-nav.vw-on-dark:not(.vw-open) .vw-mi.vw-current,
html body .vw-nav.vw-on-dark:not(.vw-open) .vw-mi.vw-current:hover {
  background-color: transparent;
  background-image: var(--vw-aura-ink);
  background-size: var(--vw-aura-ink-size);
  background-position: var(--vw-aura-ink-pos);
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
/* Wordmark size, 721px and up */
@media (min-width:721px) { html body .vw-nav .vw-brand .vw-wordmark { height: 12px; } }

/* Tools strip (mobile): full-width label; the edge fade is hidden so the strip cannot overflow the viewport. */
@media (max-width:720px) { html body .vw-logos .vw-logos-label::after { content: none; display: none; } }

/* About page: motion and layout refinements. Scroll fill uses data-vw-fill (site.js). */

/* hero: kicker, title and lead rise in one after another; the strip fades in under them */
html.vw-js body .vw-abt-hero-in[data-reveal] { opacity: 1; transform: none; }
html.vw-js body .vw-abt-hero-in > * { animation: vw-abt-rise 1.2s cubic-bezier(.22, 1, .36, 1) both; }
html.vw-js body .vw-abt-hero-in > :nth-child(2) { animation-delay: .12s; }
html.vw-js body .vw-abt-hero-in > :nth-child(3) { animation-delay: .26s; }
html.vw-js body .vw-abt-strip { animation: vw-abt-fade 1.4s ease .4s both; }
@keyframes vw-abt-rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes vw-abt-fade { from { opacity: 0; } to { opacity: 1; } }
html body .vw-abt-title { text-wrap: balance; }
html body .vw-abt-lead { text-wrap: pretty; }

/* photo strip: room above for the gentle curve, no extra space below */
html body .vw-abt-strip { margin-top: 120px; margin-bottom: 150px; padding-bottom: 0; }

/* how it started: the hairline draws down after the heading */
html.vw-js body .vw-abt-story-head .vw-abt-line { transform: scaleY(0); transform-origin: 50% 0; transition: transform 1.6s cubic-bezier(.22, 1, .36, 1) .45s; }
html.vw-js body .vw-abt-story-head.vw-in .vw-abt-line { transform: none; }

/* founders photo: no fade, the clip-path from site.js does the opening */
html.vw-js body .vw-abt-founders-img.vw-abt-grow { opacity: 1; transform: none; transition: none; will-change: clip-path; }

/* value cards arrive one after another (--i from site.js) */
html body .vw-abt-values > * { --d: calc(var(--i, 0) * .08s); }

/* Client logos: grid lines draw in, then the logos fade up in sequence. */
html.vw-js body .vw-abt-brands[data-reveal] { opacity: 1; transform: none; }
html.vw-js body .vw-abt-brand::after { transform: scaleY(0); transform-origin: 50% 0; transition: transform 1.2s cubic-bezier(.22, 1, .36, 1) calc(var(--i, 0) * .04s); }
html.vw-js body .vw-abt-brand::before { transform: scaleX(0); transform-origin: 0 50%; transition: transform 1.4s cubic-bezier(.22, 1, .36, 1) calc(var(--i, 0) * .04s + .1s); }
html.vw-js body .vw-abt-brands.vw-in .vw-abt-brand::after, html.vw-js body .vw-abt-brands.vw-in .vw-abt-brand::before { transform: none; }
html.vw-js body .vw-abt-brands .vw-abt-logo { opacity: 0; transform: translateY(12px); transition: opacity 1s ease calc(var(--i, 0) * .06s + .25s), transform 1.2s cubic-bezier(.22, 1, .36, 1) calc(var(--i, 0) * .06s + .25s); }
html.vw-js body .vw-abt-brands.vw-in .vw-abt-logo { opacity: .9; transform: none; }

/* offices: the second card follows the first */
html body .vw-abt-offices > :nth-child(2) { --d: .12s; }

@media (max-width: 1024px) {
  html body .vw-abt-strip { margin-top: 104px; margin-bottom: 120px; }
}
@media (max-width: 720px) {
  html body .vw-abt-title { font-size: 34px; line-height: 1.1; }
  html body .vw-abt-strip { margin-top: 72px; margin-bottom: 88px; }
  html body .vw-abt-strip > * { width: 176px; height: 216px; border-radius: 16px; }
  html body .vw-abt-strip > .vw-abt-tile-wide { width: 268px; }
  html body .vw-abt-values > * { --d: 0s; }
  html body .vw-abt-value { display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 14px; row-gap: 10px; align-items: center; padding: 26px 24px 28px; border-radius: 20px; }
  html body .vw-abt-value .vw-abt-icon { margin: 0; }
  html body .vw-abt-value-t { margin: 0; font-size: 19px; }
  html body .vw-abt-value p { grid-column: 1 / -1; font-size: 15.5px; }
  html body .vw-abt-office .vw-abt-ph { height: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  html.vw-js body .vw-abt-hero-in > *, html.vw-js body .vw-abt-strip { animation: none; }
  html.vw-js body .vw-abt-story-head .vw-abt-line, html.vw-js body .vw-abt-brand::after, html.vw-js body .vw-abt-brand::before { transform: none; transition: none; }
  html.vw-js body .vw-abt-brands .vw-abt-logo { opacity: .9; transform: none; transition: none; }
}
/* Client logos: optical sizing. --lw is set per logo from its ink area; --ls scales the set per breakpoint. */
html body .vw-abt-brands .vw-abt-logo { width: calc(var(--lw, 120px) * var(--ls, 1.12)); height: auto; max-width: 100%; max-height: none; }
html body .vw-abt-logo[src*="duck-and-dry"] { --lw: 130px; }
html body .vw-abt-logo[src*="beauty-club-london"] { --lw: 116px; }
html body .vw-abt-logo[src*="luxe-valet-services"] { --lw: 121px; }
html body .vw-abt-logo[src*="rock-my-wedding"] { --lw: 102px; }
html body .vw-abt-logo[src*="paint-nails-london"] { --lw: 128px; }
html body .vw-abt-logo[src*="the-womens-journal"] { --lw: 114px; }
html body .vw-abt-logo[src*="hair-club-extensions"] { --lw: 108px; }
html body .vw-abt-logo[src*="wael-works"] { --lw: 118px; }
html body .vw-abt-logo[src*="expat-automotive"] { --lw: 112px; }
html body .vw-abt-logo[src*="roar-fitness-logo"] { --lw: 120px; }
html body .vw-abt-logo[src*="form3d"] { --lw: 114px; }
html body .vw-abt-logo[src*="flammes"] { --lw: 126px; }
@media (max-width: 1280px) { html body .vw-abt-brands .vw-abt-logo { --ls: 1; } }
@media (max-width: 720px) { html body .vw-abt-brands .vw-abt-logo { --ls: .68; } }

/* Intro stats (mobile): single row with dividers down to 360px, stacked below. */
@media (min-width:360px) and (max-width:720px) {
  html body #about .vw-stats-src { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 0; column-gap: 0; max-width: none; width: 100%; }
  html body #about .vw-stats-src .vw-stat:nth-child(n) { padding: 0 10px; border-left: 1px solid var(--vw-rule); }
  html body #about .vw-stats-src .vw-stat:first-child { border-left: 0; }
  html body #about .vw-stats-src .vw-stat b { font-size: 26px; }
  html body #about .vw-stats-src .vw-stat > span { font-size: 12px; line-height: 1.35; margin-top: 8px; max-width: none; }
  html body #about .vw-stats-src .vw-stat .vw-src { font-size: 10px; line-height: 1.4; margin-top: 6px; text-wrap: balance; }
}

/* Testimonial avatar with a photo: .vw-av-photo on the text element, <img class="vw-av-img"> inside. */
html body .vw-av-photo { padding: 0; overflow: hidden; font-size: 0; line-height: 0; }
html body .vw-av-photo .vw-av-img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }


/* Motion: pause control, off-screen pausing (.vw-idle), slideshow progress hold, count-ups and case study transitions. */
.vw-motion-btn { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; background: none; font: inherit; color: inherit; line-height: inherit; cursor: pointer; transition: color .2s; }
.vw-motion-btn svg { display: block; flex: none; width: 9px; height: 10px; }
.vw-motion-btn .vw-mb-play, .vw-motion-btn.is-paused .vw-mb-pause { display: none; }
.vw-motion-btn.is-paused .vw-mb-play { display: block; }
html body .vw-legal .vw-motion-foot:hover { color: var(--vw-white); }
html body .vw-legal .vw-motion-foot:focus-visible { outline: 2px solid #A48CFF; outline-offset: 4px; border-radius: 4px; }
html body .vw-legal nav { align-items: center; }
html body .vw-legal .vw-legal-sep { flex: none; width: 1px; height: 12px; background: rgba(241,240,241,.24); }
html body .vw-motion-skip { position: fixed; left: 20px; top: 14px; z-index: 100000; height: 40px; gap: 9px; padding: 0 18px 0 16px; border-radius: 999px; background: #F1F0F1; color: #0A0A0F; font-family: var(--vw-head); font-weight: 500; font-size: 13.5px; line-height: 1; opacity: 0; transform: translateY(-160%); pointer-events: none; }
html body .vw-motion-skip:focus { opacity: 1; transform: none; pointer-events: auto; outline: 2px solid #5A2FD6; outline-offset: 3px; }
html body.admin-bar .vw-motion-skip { top: 46px; }
@media (max-width: 1100px) and (min-width: 721px) { html body .vw-legal { flex-wrap: wrap; row-gap: 10px; } }
@media (max-width: 720px) {
html body .vw-legal .vw-motion-foot { order: 2; flex-basis: 100%; justify-content: center; margin-top: 4px; }
html body .vw-legal .vw-legal-sep { display: none; }
}
html.vw-paused :is(.vw-orb-aura, .vw-hero-tag .vw-grad-halo, .vw-map-svg .vw-route, .vw-map-svg .vw-route-glow, .vw-aura i, .vw-clock .vw-live, .vw-chip-float, .vw-ai-tiles .vw-tile, .vw-aic-amb-1, .vw-aic-amb-2, .vw-wm-shot),
html.vw-paused .vw-orb-centre::before, html.vw-paused .vw-ab::before, html.vw-paused .vw-pin::after, html.vw-paused .vw-serp .vw-q::after,
.vw-idle :is(.vw-orb-aura, .vw-hero-tag .vw-grad-halo, .vw-map-svg .vw-route, .vw-map-svg .vw-route-glow, .vw-aura i, .vw-clock .vw-live, .vw-chip-float, .vw-ai-tiles .vw-tile, .vw-aic-amb-1, .vw-aic-amb-2, .vw-wm-shot),
.vw-idle .vw-orb-centre::before, .vw-idle .vw-pin::after, .vw-idle .vw-serp .vw-q::after { animation-play-state: paused !important; }
html body #heroProg.vw-held i b { animation-play-state: paused !important; }
html body [data-count].vw-counting { position: relative; -webkit-text-fill-color: transparent; }
html body [data-count].vw-counting::after { content: attr(data-show); content: attr(data-show) / ""; position: absolute; inset: 0; -webkit-text-fill-color: currentColor; }
html body .vw-nav .vw-nav-inner { transition: width .5s var(--vw-ease), height .5s var(--vw-ease), margin .5s var(--vw-ease), background .22s ease, border-color .22s ease, border-radius .5s var(--vw-ease), box-shadow .5s; }
@media (min-width: 1025px) {
html body #work .vw-shot { z-index: 1; transition: opacity .45s var(--vw-ease) .45s; }
html body #work .vw-shot.vw-on { z-index: 2; transition: opacity .45s var(--vw-ease); }
html body #work .vw-work-list .vw-meta > * { opacity: 0; transition: opacity .18s ease; }
html body #work .vw-work-list li.vw-on .vw-meta > * { opacity: 1; transition: opacity .35s ease .22s; }
}

/* Heading load sweep for [data-vw-sweep] (site.js). Light sections only. */
@media (prefers-reduced-motion: no-preference) {
html.vw-js [data-vw-sweep]:not(.vw-swept) { color: #D3D1D9; }
html.vw-js [data-vw-sweep]:not(.vw-swept) .vw-grad { background-image: linear-gradient(90deg, #D3D1D9, #D3D1D9); }
}
html body [data-vw-sweep].vw-sweep .vw-sw, html body [data-vw-sweep].vw-sweep .vw-grad { color: transparent; -webkit-text-fill-color: transparent; -webkit-background-clip: text; background-clip: text; background-repeat: no-repeat; background-image: linear-gradient(90deg, rgba(211, 209, 217, 0) 0, rgba(211, 209, 217, 0) var(--vw-sw-e), #D3D1D9 calc(var(--vw-sw-e) + var(--vw-sw-s, 18%))), linear-gradient(var(--vw-sw-c, #0A0A0F), var(--vw-sw-c, #0A0A0F)); background-size: var(--vw-sw-w, 100%) 100%, 100% 100%; background-position: var(--vw-sw-x, 0px) 0, 0 0; }
html body [data-vw-sweep].vw-sweep .vw-grad { background-image: linear-gradient(90deg, rgba(211, 209, 217, 0) 0, rgba(211, 209, 217, 0) var(--vw-sw-e), #D3D1D9 calc(var(--vw-sw-e) + var(--vw-sw-s, 18%))), linear-gradient(90deg, #2A27F3 0%, #5A2FD6 52%, #8A4CF0 100%); }

/* Form validation error state (site.js). #C21E16 meets 4.5:1 on Sclera and white; the brand red does not. */
html body .brxe-form .form-group.vw-invalid input:not([type="checkbox"]):not([type="radio"]),
html body .brxe-form .form-group.vw-invalid textarea {
  border-bottom-color: #C21E16;
  background-image: linear-gradient(#C21E16, #C21E16), linear-gradient(#C21E16, #C21E16);
  background-size: 100% 2px, 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%, 0 100%;
  box-shadow: none;
}
html body .brxe-form .form-group .vw-field-error {
  margin: 8px 0 0;
  font-family: var(--vw-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: #C21E16;
}
html body .brxe-form .form-group .vw-field-error:empty { display: none; }
@media (prefers-reduced-motion: no-preference) {
  html body .brxe-form .form-group .vw-field-error:not(:empty) { animation: vw-field-error-in .28s cubic-bezier(.2,.7,.2,1) both; }
}
@keyframes vw-field-error-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* Disable the iOS tap highlight. Controls have their own hover, focus and open states. */
html { -webkit-tap-highlight-color: transparent; }

/* London and Dubai CTA: compact button. */
.vw-rooted-copy .vw-btn { height: 46px; padding: 0 22px; font-size: 14px; }
