:root{
--vv-ink-900:#0B0B0B;
--vv-ink-800:#161616;
--vv-charcoal:#1F1F1F;
--vv-ink-700:#242424;
--vv-ink-500:#545454;
--vv-ink-300:#9A9A9A;
--vv-paper-50:#FFFFFF;
--vv-paper-100:#FFFFFF;
--vv-paper-200:#F3F3F3;
--vv-paper-300:#E2E2E2;
--vv-stone-500:#707070;
--vv-stone-600:#5C5C5C;
--vv-red-400:#FF4D3F;
--vv-red-500:#DA291C;
--vv-red-700:#B21F15;
--vv-white:#FFFFFF;
--surface-page:var(--vv-paper-100);
--surface-raised:var(--vv-paper-50);
--surface-sunken:var(--vv-paper-200);
--surface-inverse:var(--vv-charcoal);
--surface-inverse-2:var(--vv-ink-800);
--surface-media:var(--vv-ink-700);
--text-primary:var(--vv-ink-900);
--text-secondary:var(--vv-ink-500);
--text-muted:var(--vv-stone-600);
--text-accent:var(--vv-red-700);
--text-inverse:var(--vv-paper-100);
--text-inverse-secondary:#9C9C9C;
--text-inverse-accent:var(--vv-red-400);
--border-hairline:rgba(11,11,11,.14);
--border-strong:var(--vv-ink-900);
--border-inverse:rgba(255,255,255,.18);
--accent:var(--vv-red-500);
--focus-ring:var(--vv-red-500);
--link:var(--vv-ink-900);
--link-hover:var(--vv-red-700);
}
:root{
--font-display:'Inter Tight','Helvetica Neue',Helvetica,Arial,sans-serif;
--font-sans:'DM Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
--fw-light:300;
--fw-body:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;
--fs-display-xl:clamp(44px,4.8vw,76px);
--fs-display-l:clamp(40px,4.4vw,66px);
--fs-display-m:clamp(34px,3.6vw,56px);
--fs-display-s:clamp(22px,1.6vw,26px);
--fs-title:24px;
--fs-lead:20px;
--fs-body:17px;
--fs-small:14px;
--fs-caption:13px;
--fs-eyebrow:12px;
--fs-mono:12px;
--lh-display:1.14;
--lh-heading:1.2;
--lh-body:1.6;
--lh-tight:1.3;
--tracking-display:-0.02em;
--tracking-eyebrow:0.24em;
--tracking-mono:0.24em;
--tracking-nav:0.02em;
--measure:62ch;
}
:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--space-11:176px;
--container-max:1360px;
--gutter:32px;
--page-margin:clamp(24px,4vw,56px);
--section-y:clamp(96px,11vw,176px);
--header-h:84px;
--radius-0:0;
--radius-1:2px;
--radius-chip:4px;
--radius-ui:8px;
--radius-card:var(--radius-ui);
--hairline:1px;
--rule-accent:40px;
--shadow-none:none;
--shadow-menu:0 12px 32px -12px rgba(18,20,42,.18);
}
:root{
--ease-standard:cubic-bezier(.2,.6,.2,1);
--ease-out:cubic-bezier(.16,1,.3,1);
--dur-fast:180ms;
--dur-base:320ms;
--dur-slow:700ms;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body)}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover)}
::selection{background:var(--vv-brass-400);color:var(--vv-ink-900)}
:focus-visible{outline:1px solid var(--focus-ring);outline-offset:4px}
@media (max-width:1024px){:root{--section-y:clamp(80px,10vw,128px);--gutter:24px}}
@media (max-width:860px){.vv-split{grid-template-columns:1fr!important;gap:var(--space-6)!important}.vv-statement>*{grid-column:1/-1!important;grid-row:auto!important}.vv-statement{row-gap:var(--space-5)!important}.vv-stagger-md{padding-top:0!important;margin-top:0!important}.vv-media-side{min-height:280px!important}#root h1,.vv-h1{font-size:clamp(52px,10vw,80px)!important;line-height:1.02!important}.vv-who{gap:var(--space-5)!important}.vv-who+.vv-who{margin-top:calc(var(--space-5) - var(--space-5))}}
@media (max-width:600px){:root{--section-y:72px;--page-margin:20px;--gutter:16px}.vv-two,.vv-cities{grid-template-columns:1fr!important;row-gap:var(--space-6)!important}.vv-stagger{margin-top:0!important}.vv-spacer{display:none!important}.vv-hero-dark{grid-template-columns:1fr!important}}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
.vv-reveal{opacity:0;transform:translateY(40px);transition:opacity 1100ms var(--ease-out),transform 1100ms var(--ease-out);will-change:opacity,transform}
.vv-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.vv-reveal{opacity:1;transform:none;transition:none}}@media (max-width:1179px){.vv-sn-blocks{gap:var(--space-8)!important}.vv-hero-tight{min-height:0!important}.vv-hero-tight>div:last-child{padding-top:var(--space-7)!important;padding-bottom:var(--space-6)!important}.vv-after-hero{padding-top:var(--space-6)!important}.vv-after-hero .vv-statement>p{grid-column:1/-1!important}.vv-benefits{margin-top:var(--space-5)!important}.vv-intro-tight{padding-bottom:0!important}}@media (min-width:640px) and (max-width:1179px){.vv-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(3,auto);grid-auto-flow:column}}
:root{--font-sans:'Work Sans',Helvetica,Arial,sans-serif;--font-display:'Work Sans',Helvetica,Arial,sans-serif;--font-mono:'Work Sans',Helvetica,Arial,sans-serif;--tracking-mono:0.1em;--radius-ui:8px;--vv-red-400:#FF4D3F;--vv-red-500:#DA291C;--vv-red-700:#B21F15}
.cookie-banner{position:fixed;right:var(--page-margin,32px);bottom:var(--page-margin,32px);z-index:90;width:min(380px,calc(100vw - 2 * var(--page-margin,32px)));background:var(--surface-inverse);color:#fff;border-radius:var(--radius-ui);padding:24px;font-family:var(--font-sans);font-size:15px;line-height:1.55;box-shadow:0 18px 50px rgba(0,0,0,.28);opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.cookie-banner.is-in{opacity:1;transform:none}
.cookie-banner p{margin:0 0 20px}
.cookie-banner a{color:#fff;text-decoration:none;border-bottom:1px solid currentColor}
.cookie-banner .cb-actions{display:flex;gap:12px;flex-wrap:wrap}
.cookie-banner button{flex:1;min-height:44px;padding:0 18px;border-radius:var(--radius-ui);font-family:var(--font-mono);font-size:12px;letter-spacing:var(--tracking-mono);text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.cookie-banner .cb-accept{background:var(--vv-red-500);border:1px solid var(--vv-red-500);color:#fff}
.cookie-banner .cb-accept:hover{background:var(--vv-red-700);border-color:var(--vv-red-700)}
.cookie-banner .cb-reject{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}
.cookie-banner .cb-reject:hover{border-color:#fff}
@media (prefers-reduced-motion:reduce){.cookie-banner{transition:none}}
