/* Complete-document defaults used by the current block bodies. */
@font-face { font-family: Calsans; src: url('/fonts/CalSans-SemiBold.otf') format('opentype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Cal Sans'; src: url('/fonts/CalSans-SemiBold.otf') format('opentype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: Opensauceone; src: url('/fonts/OpenSauceOne-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Opensauceone; src: url('/fonts/OpenSauceOne-SemiBold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: Opensauceone; src: url('/fonts/OpenSauceOne-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Open Sauce One'; src: url('/fonts/OpenSauceOne-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Open Sauce One'; src: url('/fonts/OpenSauceOne-SemiBold.ttf') format('truetype'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Open Sauce One'; src: url('/fonts/OpenSauceOne-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
/* These exact compatibility colours belong only to the parity chrome. */
:root { --vm-parity-nav-current: #150425; }
:root { --vm-parity-pill: #000000b3; --vm-parity-pill-hover: #000c; --vm-parity-orange: #f5a623; --vm-parity-glow-filter: blur(8px); --vm-parity-ddd: #ddd; --vm-parity-222: #222; --vm-parity-0000: #0000; --vm-parity-000: #000; --vm-parity-1a1a1a: #1a1a1a; --vm-parity-313131: #313131; --vm-parity-ffffff59: #ffffff59; --vm-parity-ffffff1a: #ffffff1a; --vm-parity-fff9: #fff9; }
html { height: 100%; -webkit-text-size-adjust: 100%; font-family: sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
body { min-height: 100%; margin: 0; color: var(--vm-ink); background: var(--vm-white); font: 14px/20px var(--vm-font-body); }
a { background-color: transparent; text-decoration: underline; }
img { border: 0; vertical-align: middle; max-width: 100%; display: inline-block; }
button, input, select, textarea { margin: 0; color: inherit; font: inherit; }
button { overflow: visible; text-transform: none; cursor: pointer; }
button, [type='button'], [type='submit'] { -webkit-appearance: button; }
input { line-height: normal; }
textarea { overflow: auto; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
[hidden] { display: none !important; }
b, strong { font-weight: 700; }
h1, h2, h3 { font-family: var(--vm-font-display); }
h1 { color: var(--vm-parity-000); margin: 20px 0 10px; font-size: 48px; font-weight: 600; line-height: 56px; }
h2 { margin: 20px 0 10px; font-size: 28px; font-weight: 600; line-height: 36px; }
h3 { color: var(--vm-parity-000); margin: 64px 0 24px; font-size: 32px; font-weight: 600; line-height: 40px; }
h4 { margin: 10px 0; font-size: 18px; font-weight: 700; line-height: 24px; }
h5 { margin: 10px 0; font-size: 14px; line-height: 20px; }
h6 { margin: 10px 0; font-size: 12px; line-height: 18px; }
p { color: var(--vm-parity-000); margin: 0 0 10px; font: 16px/24px var(--vm-font-body); }
figure { margin: 0 0 10px; }
ol, ul { margin-top: 0; margin-bottom: 10px; padding-left: 40px; }
dl { margin-top: 0; margin-bottom: 20px; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid var(--vm-focus); outline-offset: 3px; }
body[data-native-header='home'] > main { margin-top: -112px; }
body[data-native-frame] { min-height: 0; }
@media (max-width: 767px) { h3 { font-size: 24px; line-height: 32px; } p { line-height: 26px; } }
@media (max-width: 479px) { body[data-native-header='home'] > main { margin-top: -80px; } }
/* Current response-boundary accessibility defaults, retained without legacy state. */
html { scroll-padding-top: 128px; }
body :where(a,button,[role='button'],summary,input[type='submit']) { min-width: 24px; min-height: 24px; }
body .vb-nav-toggle, body [data-nav-dropdown-toggle] { min-width: 44px; min-height: 44px; }
body :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--viva-focus-color,var(--vm-focus)) !important; outline-offset: 3px; }
body :is(.black-bg,.footer,.vb-hero:has(.vb-hero-background),.vb-campaign-work[data-variant='featured']) { --viva-focus-color: var(--vm-focus-on-dark); }
body .top-footer { --viva-focus-color: var(--vm-focus); }
body :is(.glowing-wrapper-borders,.glowing-wrapper-glow,.glowing-wrapper-mask) { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body *, body *::before, body *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.viva-skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.viva-skip-link:focus { position: fixed; top: 12px; left: 12px; z-index: 10000; padding: 12px 16px; border-radius: var(--vm-radius-card); background: var(--vm-black); color: var(--vm-white); font: 600 16px/1.4 var(--vm-font-body); }
[data-viva-skip-target]:focus { outline: none !important; }
/* Film focus treatment from the shared response-boundary accessibility CSS. */
body .viva-autoplay button:focus-visible { outline-color: var(--vm-white) !important; outline-offset: -5px; }
body .viva-film-start:focus-visible { outline: none !important; }
body .viva-film-start:focus-visible span:last-child { outline: 3px solid var(--vm-white); outline-offset: -5px; }
@media (max-width: 767px) { html { scroll-padding-top: 96px; } }
