/* Shared design, semantic selectors, preserved responsive cascade. */
@font-face {
  font-family: AlteredGrotesk;
  src: url(../fonts/AlteredGrotesk-Regular.woff2) format("woff2"),url(../fonts/AlteredGrotesk-Regular.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: AlteredGrotesk;
  src: url(../fonts/AlteredGrotesk-Bold.woff2) format("woff2"),url(../fonts/AlteredGrotesk-Bold.woff) format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: AlteredGrotesk;
  src: url(../fonts/AlteredGrotesk-Italic.woff2) format("woff2"),url(../fonts/AlteredGrotesk-Italic.woff) format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: AlteredGrotesk;
  src: url(../fonts/AlteredGrotesk-BoldItalic.woff2) format("woff2"),url(../fonts/AlteredGrotesk-BoldItalic.woff) format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: InterstateCompressed;
  src: url(../fonts/Interstate-Compressed-Bold.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@layer reset,global,templates,l0,l1,l2,l3,l4,l5,l6,l7,l8;
:root {
  --colors-primary-black: #000000;
  --colors-primary-white: #FFFFFF;
  --colors-primary-reactive-red: var(--colors-red-70);
  --colors-primary-maple: #C05100;
  --colors-primary-turqoise: #42998F;
  --colors-primary-lime: #BAD554;
  --colors-dark: var(--colors-gray-95);
  --colors-dark-alt: var(--colors-gray-80);
  --colors-light: var(--colors-gray-5);
  --colors-light-alt: var(--colors-gray-20);
  --colors-gray-5: #F6F6F6;
  --colors-gray-10: #E7E7E7;
  --colors-gray-20: #D1D1D1;
  --colors-gray-30: #B0B0B0;
  --colors-gray-40: #888888;
  --colors-gray-50: #6D6D6D;
  --colors-gray-60: #5D5D5D;
  --colors-gray-70: #4F4F4F;
  --colors-gray-80: #454545;
  --colors-gray-90: #3D3D3D;
  --colors-gray-95: #1A1A1A;
  --colors-red-5: #FFF0F1;
  --colors-red-10: #FFDDDF;
  --colors-red-20: #FFC1C4;
  --colors-red-30: #FF959B;
  --colors-red-40: #FF5962;
  --colors-red-50: #FF2632;
  --colors-red-60: #FC0614;
  --colors-red-70: #E9000D;
  --colors-red-80: #AF050E;
  --colors-red-90: #900C13;
  --colors-red-95: #500004;
  --font-family-heading: InterstateCompressed, Helvetica, sans-serif;
  --font-family-main: AlteredGrotesk, Helvetica, sans-serif;
  --durations-regular: .2s ease-out;
  --easings-in-out: cubic-bezier(.65, 0, .35, 1);
  --easings-out: cubic-bezier(.33, 1, .68, 1);
  --z-index-modal: 100;
  --spacings-small: clamp(6px, .42vw, 8px);
  --spacings-regular: clamp(12px, .83vw, 16px);
  --spacings-medium: clamp(24px, 1.67vw, 32px);
  --spacings-large: clamp(36px, 2.5vw, 48px);
  --spacings-x-large: clamp(90px, 6.25vw, 120px);
  --spacings-page-margin: clamp(54px, 3.75vw, 72px);
  --spacings-block-padding: clamp(49px, 3.39vw, 65px);
  --spacings-gap-row: clamp(36px, 2.5vw, 48px);
  --spacings-gap-column: clamp(18px, 1.25vw, 24px);
  --spacings-gap-default: clamp(18px, 1.25vw, 24px);
  --spacings-gap-small: clamp(9px, .63vw, 12px);
  --spacings-gap-medium: clamp(27px, 1.88vw, 36px);
  --spacings-gap-large: clamp(54px, 3.75vw, 72px);
  --spacings-d-20: clamp(15px, 1.04vw, 20px);
  --spacings-d-26: clamp(20px, 1.35vw, 26px);
  --spacings-d-40: clamp(30px, 2.08vw, 40px);
  --spacings-d-60: clamp(45px, 3.13vw, 60px);
  --spacings-d-80: clamp(60px, 4.17vw, 80px);
  --spacings-d-90: clamp(68px, 4.69vw, 90px);
  --spacings-d-120: clamp(90px, 6.25vw, 120px);
  --spacings-d-150: clamp(113px, 7.81vw, 150px);
  --spacings-d-360: clamp(270px, 18.75vw, 360px);
  --font-sizes-body-xx-small: clamp(12px, .63vw, 12px);
  --font-sizes-body-x-small: clamp(14px, .73vw, 14px);
  --font-sizes-body-small: clamp(16px, .83vw, 16px);
  --font-sizes-body-regular: clamp(18px, .94vw, 18px);
  --font-sizes-body-medium: clamp(24px, 1.25vw, 24px);
  --font-sizes-body-large: clamp(30px, 2.08vw, 40px);
  --font-sizes-heading-xx-small: clamp(18px, 1.25vw, 24px);
  --font-sizes-heading-x-small: clamp(24px, 1.67vw, 32px);
  --font-sizes-heading-small: clamp(33px, 2.29vw, 44px);
  --font-sizes-heading-regular: clamp(48px, 3.33vw, 64px);
  --font-sizes-heading-medium: clamp(60px, 4.17vw, 80px);
  --font-sizes-heading-large: clamp(90px, 6.25vw, 120px);
  --font-sizes-heading-x-large: clamp(150px, 10.42vw, 200px);
  --font-sizes-button-small: clamp(14px, .73vw, 14px);
  --font-sizes-button-regular: clamp(18px, .94vw, 18px);
  --sizes-width-max-screen-width: 3500px;
  --sizes-width-columns-1: clamp(95px, 6.56vw, 126px);
  --sizes-width-columns-2: clamp(207px, 14.38vw, 276px);
  --sizes-width-columns-3: clamp(320px, 22.19vw, 426px);
  --sizes-width-columns-4: clamp(432px, 30vw, 576px);
  --sizes-width-columns-5: clamp(545px, 37.81vw, 726px);
  --sizes-width-columns-6: clamp(657px, 45.63vw, 876px);
  --sizes-width-columns-7: clamp(770px, 53.44vw, 1026px);
  --sizes-width-columns-8: clamp(882px, 61.25vw, 1176px);
  --sizes-width-columns-9: clamp(995px, 69.06vw, 1326px);
  --sizes-width-columns-10: clamp(1107px, 76.88vw, 1476px);
  --sizes-width-columns-11: clamp(1220px, 84.69vw, 1626px);
  --sizes-width-columns-12: clamp(1332px, 92.5vw, 1776px);
  --sizes-height-logo: clamp(33px, 2.29vw, 44px);
  --radii-small: clamp(8px, .52vw, 10px);
  --radii-regular: clamp(12px, .83vw, 16px);
  --radii-medium: clamp(23px, 1.56vw, 30px);
  --radii-large: clamp(30px, 2.08vw, 40px);
  @media (max-width:960px) {
    --spacings-small: clamp(6px, 1.25vw, 8px);
    --spacings-regular: clamp(12px, 2.5vw, 16px);
    --spacings-medium: clamp(24px, 5vw, 32px);
    --spacings-large: clamp(36px, 7.5vw, 48px);
    --spacings-page-margin: clamp(15px, 3.13vw, 20px);
    --spacings-block-padding: clamp(19px, 3.91vw, 25px);
    --spacings-gap-row: clamp(18px, 3.75vw, 24px);
    --spacings-gap-column: clamp(9px, 1.88vw, 12px);
    --spacings-gap-default: clamp(9px, 1.88vw, 12px);
    --spacings-gap-small: clamp(5px, .94vw, 6px);
    --spacings-gap-medium: clamp(14px, 2.81vw, 18px);
    --spacings-gap-large: clamp(27px, 5.63vw, 36px);
    --spacings-m-20: clamp(15px, 3.13vw, 20px);
    --spacings-m-24: clamp(18px, 3.75vw, 24px);
    --spacings-m-30: clamp(23px, 4.69vw, 30px);
    --spacings-m-50: clamp(38px, 7.81vw, 50px);
    --spacings-m-60: clamp(45px, 9.38vw, 60px);
    --spacings-m-70: clamp(53px, 10.94vw, 70px);
    --spacings-m-80: clamp(60px, 12.5vw, 80px);
    --font-sizes-body-xx-small: clamp(12px, 1.88vw, 12px);
    --font-sizes-body-x-small: clamp(14px, 2.19vw, 14px);
    --font-sizes-body-small: clamp(16px, 2.5vw, 16px);
    --font-sizes-body-regular: clamp(16px, 2.5vw, 16px);
    --font-sizes-body-medium: clamp(22px, 3.44vw, 22px);
    --font-sizes-body-large: clamp(32px, 5vw, 32px);
    --font-sizes-heading-xx-small: clamp(22px, 3.44vw, 22px);
    --font-sizes-heading-x-small: clamp(28px, 4.38vw, 28px);
    --font-sizes-heading-small: clamp(32px, 5vw, 32px);
    --font-sizes-heading-regular: clamp(40px, 6.25vw, 40px);
    --font-sizes-heading-medium: clamp(56px, 8.75vw, 56px);
    --font-sizes-heading-large: clamp(64px, 10vw, 64px);
    --font-sizes-heading-x-large: clamp(72px, 11.25vw, 72px);
    --sizes-width-columns-1: clamp(128px, 26.72vw, 171px);
    --sizes-width-columns-2: clamp(266px, 55.31vw, 354px);
    --sizes-width-columns-3: clamp(403px, 83.91vw, 537px);
    --sizes-width-columns-4: clamp(540px, 112.5vw, 720px);
    --sizes-width-columns-5: clamp(677px, 141.09vw, 903px);
    --sizes-width-columns-6: clamp(815px, 169.69vw, 1086px);
    --sizes-width-columns-7: clamp(952px, 198.28vw, 1269px);
    --sizes-width-columns-8: clamp(1089px, 226.88vw, 1452px);
    --sizes-width-columns-9: clamp(1226px, 255.47vw, 1635px);
    --sizes-width-columns-10: clamp(1364px, 284.06vw, 1818px);
    --sizes-width-columns-11: clamp(1501px, 312.66vw, 2001px);
    --sizes-width-columns-12: clamp(1638px, 341.25vw, 2184px);
    --sizes-height-logo: clamp(24px, 5vw, 32px);
  }
}
.theme-light,
[data-theme=light] {
  --theme-background-color: var(--colors-primary-white);
  --theme-alt-background-color: var(--colors-gray-10);
  --theme-text-color: var(--colors-primary-black);
  --theme-alt-text-color: var(--colors-gray-90);
  --theme-border-color: var(--colors-gray-10);
  --theme-highlight-color: var(--colors-primary-reactive-red);
  --theme-button-primary: var(--colors-primary-reactive-red);
  --theme-button-secondary: var(--colors-gray-95);
  --theme-button-tertiary: var(--colors-primary-black);
}
.theme-dark,
[data-theme=dark] {
  --theme-background-color: var(--colors-primary-black);
  --theme-alt-background-color: var(--colors-gray-95);
  --theme-text-color: var(--colors-primary-white);
  --theme-alt-text-color: var(--colors-gray-10);
  --theme-border-color: var(--colors-gray-90);
  --theme-highlight-color: var(--colors-primary-reactive-red);
  --theme-button-primary: var(--colors-primary-reactive-red);
  --theme-button-secondary: var(--colors-gray-95);
  --theme-button-tertiary: var(--colors-primary-black);
}
.theme-red,
[data-theme=red] {
  --theme-background-color: var(--colors-primary-reactive-red);
  --theme-alt-background-color: var(--colors-red-50);
  --theme-text-color: var(--colors-gray-95);
  --theme-alt-text-color: var(--colors-red-5);
  --theme-border-color: var(--colors-primary-black);
  --theme-highlight-color: var(--colors-primary-black);
  --theme-button-primary: var(--colors-primary-black);
  --theme-button-secondary: var(--colors-primary-red);
  --theme-button-tertiary: var(--colors-primary-white);
}
@layer reset {
  *,
  *:before,
  *:after {
    box-sizing: border-box;
  }
  * {
    margin: 0;
  }
  html {
    line-height: 1.15;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
  }
  img,
  picture,
  video,
  canvas,
  svg {
    display: block;
    max-width: 100%;
  }
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    overflow-wrap: break-word;
  }
  p {
    text-wrap: pretty;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    text-wrap: balance;
  }
  a {
    color: currentColor;
  }
  button {
    line-height: 1em;
    color: currentColor;
  }
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15em;
  }
}
@layer global {
  * {
    scroll-padding-top: 100px;
  }
  a {
    text-underline-offset: .125em;
  }
  section,
  header,
  footer {
    visibility: var(--initial-visibility, visible);
    opacity: var(--initial-opacity, 1);
    transition: opacity 2.5s ease-out,visibility 0s;
  }
  header {
    transition-delay: .5s;
  }
  [data-entry-animation=fadeIn] {
    opacity: 0;
    transition: .3s ease-out;
  }
  [data-entry-visible=true][data-entry-animation=fadeIn] {
    opacity: 1;
  }
  body {
    font-family: var(--font-family-main);
    background-color: var(--theme-background-color);
    overflow-y: scroll;
    --initial-visibility: visible;
    --initial-opacity: 1;
  }
  body.initial-transition {
    --initial-visibility: hidden;
    --initial-opacity: 0;
  }
  body[data-letter-spacing=normal] h2,
  body[data-letter-spacing=normal] h3,
  body[data-letter-spacing=normal] h4,
  body[data-letter-spacing=normal] h5,
  body[data-letter-spacing=normal] h6 {
    letter-spacing: 0 !important;
  }
  body[data-letter-spacing=tight] h2,
  body[data-letter-spacing=tight] h3,
  body[data-letter-spacing=tight] h4,
  body[data-letter-spacing=tight] h5,
  body[data-letter-spacing=tight] h6 {
    letter-spacing: -.08em !important;
  }
}
@layer templates {
  .theme-current {
    background-color: var(--theme-background-color);
    color: var(--theme-text-color);
  }
  .text-style-body-xx-small,
  .type-caption {
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: var(--font-sizes-body-xx-small);
    line-height: 1.4em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0px;
  }
  .text-style-body-x-small {
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: var(--font-sizes-body-x-small);
    line-height: 1.4em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0px;
  }
  .text-style-body-small,
  .type-form-size {
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: var(--font-sizes-body-small);
    line-height: 1.4em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0px;
  }
  .text-style-body-regular,
  .type-body-size {
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: var(--font-sizes-body-regular);
    line-height: 1.4em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0px;
  }
  .text-style-body-medium {
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: var(--font-sizes-body-medium);
    line-height: 1.4em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0px;
  }
  .text-style-body-large {
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: var(--font-sizes-body-large);
    line-height: 1.2em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0px;
  }
  .text-style-heading-pre-heading {
    font-family: var(--font-family-main);
    font-weight: 700;
    font-size: var(--font-sizes-body-small);
    line-height: 1.4em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
  .text-style-heading-xx-small,
  .type-accordion-size {
    font-family: var(--font-family-heading);
    font-weight: 400;
    font-size: var(--font-sizes-heading-xx-small);
    line-height: 1.1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
  .text-style-heading-x-small {
    font-family: var(--font-family-heading);
    font-weight: 400;
    font-size: var(--font-sizes-heading-x-small);
    line-height: 1.1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
  .text-style-heading-small,
  .type-card-title {
    font-family: var(--font-family-heading);
    font-weight: 400;
    font-size: var(--font-sizes-heading-small);
    line-height: 1.1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
  .text-style-heading-regular,
  .type-navigation-size {
    font-family: var(--font-family-heading);
    font-weight: 400;
    font-size: var(--font-sizes-heading-regular);
    line-height: 1.1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
  .text-style-heading-medium {
    font-family: var(--font-family-heading);
    font-weight: 400;
    font-size: var(--font-sizes-heading-medium);
    line-height: 1.1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
  .text-style-heading-large,
  .type-display-size {
    font-family: var(--font-family-heading);
    font-weight: 400;
    font-size: var(--font-sizes-heading-large);
    line-height: 1.1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
  .text-style-heading-x-large {
    font-family: var(--font-family-heading);
    font-weight: 400;
    font-size: var(--font-sizes-heading-x-large);
    line-height: 1.1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
  .text-style-button-small {
    font-family: var(--font-family-main);
    font-weight: 700;
    font-size: var(--font-sizes-body-small);
    line-height: 1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
  .text-style-button-regular,
  .type-action-size {
    font-family: var(--font-family-main);
    font-weight: 700;
    font-size: var(--font-sizes-body-regular);
    line-height: 1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
  }
}
@keyframes yrbxx {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    opacity: .5;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes apPSo {
  0% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(0);
  }
  75% {
    transform: rotate(-10deg);
  }
  to {
    transform: rotate(0);
  }
}
@keyframes eVUdh {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@layer l0 {
  .hero-layout {
    width: 100%;
    height: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: auto;
    padding: var(--spacings-block-padding) var(--spacings-page-margin);
    display: grid;
    grid-template-rows: 1fr max-content;
    align-items: end;
    gap: var(--spacings-large);
  }
  .hero-layout:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: linear-gradient(to top,#00000080,#0000 70%);
  }
  .hero-layout>figure {
    position: sticky;
    top: 0;
    height: 100svh;
  }
  .hero-layout .follow {
    z-index: 1;
    position: absolute;
    right: var(--spacings-page-margin);
    bottom: var(--spacings-page-margin);
    color: var(--theme-highlight-color);
  }
  .book-hero {
    color: var(--theme-text-color);
    background: var(--theme-background-color);
    width: 100%;
    position: relative;
    height: 100vh;
    min-height: max(600px,100vh);
    z-index: 1;
  }
  .book-hero~section {
    z-index: 2;
  }
  @media (max-width:960px) {
    .book-hero {
      top: calc(100vh - max(850px,100%));
      min-height: 850px;
      padding-block-end: var(--spacings-large);
    }
  }
  @media (max-width:960px) {
    .book-hero .play-button {
      scale: .75;
      transform: translateY(-100px);
    }
  }
  @media (max-width:460px) {
    .book-hero .play-button {
      transform: translateY(-120px);
    }
  }
  .hero-title {
    margin: 0;
    z-index: 1;
  }
  @media (max-width:960px) {
    .hero-title {
      text-align: center;
    }
  }
  .hero-subtitle {
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 .25em;
    z-index: 1;
  }
  @media (max-width:960px) {
    .hero-subtitle {
      text-align: center;
    }
  }
  .hero-copy {
    display: flex;
    gap: var(--spacings-regular);
    flex-direction: column;
    z-index: 1;
  }
  .hero-media {
    --overlay-layer-color: rgba(0,0,0,.33);
    position: relative;
    display: block;
    z-index: var(--wrapper-z-index, 1);
    transition: .2s ease-out;
    background-color: theme.backgroundColor;
    --border-radius-inner-value: var(--radii-regular);
  }
  .hero-media.sizing-default {
    --entry-width: 100%;
    --entry-height: auto;
    width: 100%;
    height: auto;
  }
  .hero-media.sizing-shrink {
    --entry-width: fit-content;
    --entry-height: auto;
    width: auto;
    height: auto;
  }
  .hero-media.sizing-stretch {
    --entry-width: 100%;
    --entry-height: 100%;
    width: 100%;
    height: 100%;
  }
  .hero-media.sizing-fill {
    --entry-width: 100%;
    --entry-height: 100%;
    --fit: cover;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .hero-media.sizing-fill>[data-target]>* {
    position: absolute;
    inset: 0;
  }
  .hero-media.sizing-background {
    --entry-width: 100%;
    --entry-height: 100%;
    --fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
  }
  .hero-media.sizing-background>[data-target]>* {
    height: 100%;
    width: 100%;
  }
  .hero-media.roundedCorners-true {
    border-radius: var(--regular);
    --border-radius-inner-value: var(--radii-small);
  }
  .hero-media.roundedCorners-false {
    border-radius: 0;
  }
  .video-layer {
    display: contents;
  }
  .video-layer[data-target=default]~*:not(figcaption) {
    display: none !important;
  }
  .video-layer.roundedCornersInner-true>* {
    border-radius: var(--regular);
    overflow: hidden;
  }
  @media (min-width:960px) {
    .video-layer[data-target=mobile] {
      display: none;
    }
  }
  @media (max-width:960px) {
    .video-layer[data-target=mobile]~*:not(figcaption) {
      display: none !important;
    }
  }
  @media (max-width:960px) {
    .video-layer[data-target=desktop] {
      display: block;
    }
  }
  @media (min-width:960px) {
    .video-layer[data-target=desktop]~*:not(figcaption) {
      display: none !important;
    }
  }
  .video-layer.roundedCornersInner-false {
    border-radius: 0;
  }
  .social-link {
    color: currentColor;
    text-decoration: none;
    transition: color .3s ease-out,opacity .3s ease-out;
    width: max-content;
  }
  .social-link:hover {
    color: var(--follow-hover-color, currentColor);
    opacity: .8;
  }
  @media (max-width:960px) {
    .hero-social {
      display: none;
    }
  }
  .social-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacings-gap-default);
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .social-list .some-link {
    --icon-width: 1.5em;
    --icon-height: 1.5em;
    display: inline-block;
  }
  .image-component {
    aspect-ratio: var(--aspect-ratio, auto);
    background: var(--image-background, var(--theme-background-color));
    color: var(--theme-text-color);
    padding: var(--top, 0) var(--right, 0) var(--bottom, 0) var(--left, 0);
  }
  .image-component picture {
    height: 100%;
  }
  .news-card-image {
    text-decoration: none;
    z-index: 1;
  }
  .news-card-image:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    z-index: 1;
  }
  .news-card-image.debug-true {
    background: #f003;
  }
  .button-label {
    display: inline-flex;
    align-items: center;
    gap: .25em;
    z-index: 2;
  }
  .action-button {
    --border-radius: 4px;
    --primary-color: var(--theme-button-primary);
    --secondary-color: var(--theme-button-secondary);
    --tertiary-color: var(--theme-button-tertiary);
    z-index: 1;
    position: relative;
    cursor: pointer;
    user-select: none;
    width: fit-content;
    height: fit-content;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .25em;
    text-align: center;
    transition: .2s ease-out;
    outline-color: transparent;
    outline-width: 1px;
    outline-style: solid;
    border-radius: 0;
    border: none;
    text-decoration: none;
  }
  .action-button[data-theme] {
    --primary-color: var(--theme-background-color);
    --secondary-color: var(--theme-text-color);
    --tertiary-color: var(--theme-highlight-color);
  }
  .action-button:disabled,
  .action-button.disabled {
    opacity: .5;
  }
  .action-button:focus-visible {
    outline-color: var(--primary-color);
    outline-offset: 4px;
  }
  .action-button:not(:disabled):where(:hover,:focus-visible) {
    cursor: pointer;
    --icon-transform: translateX(.15em);
  }
  .action-button.size-small {
    font-family: var(--font-family-main);
    font-weight: 700;
    font-size: var(--font-sizes-body-small);
    line-height: 1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
    --padding-block: .8em;
    --padding-inline: 1.2em;
  }
  .action-button.size-regular {
    --padding-block: .8em;
    --padding-inline: 1.2em;
  }
  .action-button.variant-solid {
    background: var(--primary-color);
    color: var(--secondary-color);
    border: 1px solid var(--primary-color);
    border-radius: var(--border-radius);
    padding: var(--padding-block) var(--padding-inline);
    text-transform: uppercase;
  }
  .action-button.variant-solid:not(:disabled):where(:hover,:focus-visible) {
    filter: brightness(.9);
  }
  .action-button.variant-outlined {
    color: var(--primary-color);
    background: transparent;
    border: 1px solid var(--primary-color);
    border-radius: var(--border-radius);
    padding: var(--padding-block) var(--padding-inline);
    text-transform: uppercase;
  }
  .action-button.variant-outlined:not(:disabled):where(:hover,:focus-visible) {
    color: var(--secondary-color);
    background: var(--primary-color);
  }
  .action-button.variant-underlined {
    color: var(--primary-color);
    background: transparent;
    padding: 0;
    line-height: 1.5em;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .5em;
    text-decoration-color: transparent;
    text-transform: uppercase;
    text-align: left;
  }
  .action-button.variant-underlined:after {
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    left: 0;
    right: 0;
    margin-inline: auto;
    background: currentColor;
    position: absolute;
    z-index: 10;
    bottom: -.2em;
    transition: width .2s ease-out;
  }
  .action-button.variant-underlined:not(:disabled):where(:hover,:focus-visible):after {
    width: calc(100% - 1.5em);
  }
  .action-button.variant-ghost {
    color: var(--primary-color);
    background: transparent;
    padding: var(--padding-block) var(--padding-inline);
    text-transform: initial;
  }
  .action-button.variant-ghost:not(:disabled):where(:hover,:focus-visible) {
    opacity: .3;
  }
  .newsletter-artwork {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
  }
  .newsletter-background-layer {
    display: grid;
    gap: var(--spacings-small);
    align-items: start;
    justify-content: start;
  }
  .newsletter-background-layer input[type=checkbox]:checked+label:before {
    content: url(../icons/checkmark.svg);
    background-color: var(--theme-text-color);
    border-color: var(--theme-text-color);
    color: var(--theme-background-color);
  }
  .newsletter-background-layer input[type=checkbox] {
    display: none;
  }
  .newsletter-background-layer label {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .5em;
  }
  .newsletter-background-layer label a:hover {
    transition: color .2s var(--transitions-ease-out);
    text-decoration: underline;
    color: var(--theme-highlight-color);
  }
  .newsletter-background-layer label:before {
    content: "";
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: var(--font-sizes-body-xx-small);
    line-height: 1.4em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0px;
    width: 1.7em;
    height: 1.7em;
    display: grid;
    place-items: center;
    line-height: 1;
    margin-right: .5em;
    border: 1px solid var(--theme-border-color);
    border-radius: 4px;
    background-color: transparent;
    transition: background-color .2s var(--transitions-ease-out),border-color .2s var(--transitions-ease-out);
  }
  .newsletter-panel {
    display: grid;
    gap: var(--spacings-gap-small);
  }
  @media (max-width:960px) {
    .newsletter-panel {
      gap: var(--spacings-m-20);
    }
  }
  .newsletter-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--spacings-gap-default);
    max-width: var(--sizes-width-columns-5);
  }
  @media (max-width:960px) {
    .newsletter-copy {
      gap: var(--spacings-m-30);
      max-width: 100%;
    }
  }
  .site-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--spacings-regular);
  }
  .site-form button[type=submit] {
    margin-block: var(--spacings-medium);
  }
  .site-form.submitted {
    pointer-events: none;
  }
  .site-form .thank-you-message {
    color: currentColor;
    font-family: var(--font-family-heading);
    font-weight: 400;
    font-size: var(--font-sizes-heading-xx-small);
    line-height: 1.1em;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0px;
    margin-top: var(--spacings-small);
  }
  .site-form .thank-you-message:before {
    content: url(../icons/check.svg);
    display: inline-block;
    margin-right: .5em;
    vertical-align: middle;
  }
  .newsletter-intro {
    white-space: pre-wrap;
  }
  .newsletter-fields {
    display: grid;
    gap: var(--spacings-small);
    margin-block: 1em;
  }
  .newsletter-layout {
    width: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: auto;
    padding: var(--spacings-block-padding) var(--spacings-page-margin);
    display: grid;
    gap: var(--spacings-large);
    grid-template-columns: 1fr 1fr;
  }
  @media (max-width:960px) {
    .newsletter-layout {
      grid-template-columns: 1fr;
      gap: var(--spacings-m-80);
      padding-block-start: var(--spacings-d-150);
    }
  }
  .newsletter-section {
    color: var(--theme-text-color);
    background: var(--theme-background-color);
    width: 100%;
    position: relative;
    z-index: 1;
  }
  .form-content {
    display: grid;
    gap: .5em;
  }
  .form-content input {
    border: 1px solid var(--theme-border-color);
    padding-block: .9em;
    padding-inline: 1.1em;
    background-color: transparent;
    color: var(--theme-text-color);
    transition: border-color .2s var(--transitions-ease-out);
  }
  .form-content input:focus-visible {
    outline: none;
    border-color: var(--theme-text-color);
  }
  .form-content label {
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: var(--font-sizes-body-x-small);
    line-height: 1.4em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0px;
    text-transform: uppercase;
    font-weight: 700;
  }
  .footer-layout {
    padding-block: var(--spacings-block-padding);
    padding-inline: var(--spacings-page-margin);
    margin: auto;
    max-width: var(--sizes-width-max-screen-width);
    display: grid;
    grid-template-columns: repeat(12,1fr);
    row-gap: var(--spacings-gap-row);
  }
  @media (max-width:960px) {
    .footer-layout {
      padding-block-start: var(--spacings-m-50);
      row-gap: var(--spacings-m-80);
    }
  }
  .site-footer {
    position: relative;
    background: var(--theme-background-color);
    color: var(--theme-text-color);
    border-top: 1px solid var(--theme-border-color);
    z-index: 3;
  }
  .accordion-trigger {
    border: none;
    margin: 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: var(--accordion-item-padding) 0;
    gap: var(--spacings-regular);
    text-align: left;
    cursor: pointer;
    background: transparent;
  }
  .accordion-trigger:focus-visible {
    outline: 1px solid var(--theme-text-color);
  }
  .accordion-trigger[aria-expanded=true] .accordion-button-icon .line-one {
    stroke-dashoffset: 16px;
  }
  .accordion-item {
    --accordion-item-padding: var(--spacings-d-26);
    --accordion-border: 1px solid rgba(255, 255, 255, .15);
    display: grid;
    text-align: left;
    color: var(--theme-text-color);
    background: transparent;
    list-style: none;
    border-bottom: var(--accordion-border);
  }
  .accordion-item:first-of-type {
    border-top: var(--accordion-border);
  }
  @media (max-width:960px) {
    .accordion-item {
      --accordion-item-padding: var(--spacings-m-30);
    }
  }
  .accordion {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
  }
  .faq-group {
    margin: 0;
    width: 100%;
    isolation: isolate;
    z-index: 1;
  }
  .faq-background {
    padding-bottom: var(--accordion-item-padding);
    padding-right: var(--accordion-item-padding);
  }
  @media (max-width:960px) {
    .faq-background {
      padding-top: .25em;
      padding-bottom: calc(var(--accordion-item-padding) + .25em);
    }
  }
  .accordion-title {
    text-wrap: initial;
    line-height: 1.2;
  }
  .accordion-answer {
    will-change: max-height;
    transition: max-height var(--durations-regular);
    overflow: hidden;
    max-height: 0px;
  }
  .accordion-icon {
    width: 1em;
    height: 1em;
    transition: transform var(--durations-regular);
  }
  .accordion-icon .line-one,
  .accordion-icon .line-two {
    transition: stroke-dashoffset var(--durations-regular) ease-in-out;
    stroke-dasharray: 16;
    stroke-dashoffset: 0px;
  }
  .accordion-icon-frame {
    display: grid;
    place-items: center;
  }
  .select-backdrop {
    position: fixed;
    inset: 0;
    z-index: 5;
    background: #00000040;
    display: var(--dropdown-backdrop-display, none);
  }
  .select-display {
    margin: 0;
    padding: 0;
    flex-grow: 1;
    user-select: none;
  }
  .select-option {
    display: block;
    padding: .75em .5em;
    color: var(--theme-text-color);
    text-decoration: none;
    background-color: transparent;
    border: none;
    border-radius: 0;
    width: 100%;
    text-align: left;
    cursor: pointer;
  }
  .select-option:where(:hover,:focus) {
    background-color: var(--theme-alt-background-color);
  }
  .select-option.selected {
    font-weight: 600;
    background-color: var(--theme-alt-background-color);
  }
  .select-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--theme-background-color);
    border: 1px solid;
    border-color: var(--theme-border-color);
    margin-top: .5em;
    z-index: 10;
    display: var(--dropdown-display, none);
  }
  .select-options-scroll {
    overflow-y: scroll;
    height: 100%;
    max-height: 300px;
    padding: .5em;
  }
  .select-options-scroll::-webkit-scrollbar {
    width: 2px;
  }
  .select-options-scroll::-webkit-scrollbar-track {
    background: var(--colors-gray-95);
    border-radius: 2px;
  }
  .select-options-scroll::-webkit-scrollbar-thumb {
    background: var(--colors-gray-70);
    border-radius: 2px;
  }
  .form-input {
    position: relative;
    display: flex;
    gap: 1em;
    align-items: center;
    padding: 1em;
    border: 1px solid;
    border-color: var(--theme-border-color);
    outline: none;
    background: var(--theme-background-color);
    width: 100%;
    flex-grow: 1;
    min-width: 200px;
    transition: border-color .2s,box-shadow .2s,max-width .33s ease-out;
    cursor: pointer;
    color: currentColor;
  }
  .form-input:focus-within {
    border-color: var(--theme-text-color);
  }
  .form-input svg {
    transition: transform .3s;
    transform: rotate(180deg);
  }
  .form-input.open {
    --dropdown-display: block;
    --dropdown-backdrop-display: block;
  }
  .form-input.open svg {
    transform: rotate(0);
  }
  .form-input.open+div {
    --dropdown-backdrop-display: block;
  }
  .modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
  }
  .modal-backdrop {
    position: absolute;
    inset: 0;
    background-color: #000c;
    z-index: -1;
  }
  .video-frame {
    width: 80%;
    height: 80%;
    border: none;
    background-color: #000;
  }
  @media (max-width:960px) {
    .video-frame {
      width: 95%;
      height: calc(100% - 8rem);
    }
  }
  .site-logo {
    max-width: var(--logo-width, clamp(120px, 8.33vw, 160px));
    width: 100%;
    aspect-ratio: 160/56;
  }
  .site-logo .text {
    fill: var(--theme-text-color);
  }
  .site-logo .flower {
    fill: var(--theme-highlight-color);
  }
  .section-title {
    text-align: center;
    margin-bottom: var(--spacings-medium);
  }
  .system-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: clamp(720px,50vw,960px);
    transform: translateY(clamp(75px,5.21vw,100px));
    z-index: 1;
    margin-inline: auto;
  }
  .system-content {
    position: relative;
    isolation: isolate;
    padding-top: clamp(495px,34.38vw,660px);
    padding-bottom: clamp(150px,10.42vw,200px);
    width: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: auto;
    padding-inline: var(--spacings-page-margin);
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 95vh;
  }
  @media (max-width:960px) {
    .system-content {
      min-height: auto;
      padding-bottom: clamp(45px,9.38vw,60px);
    }
  }
  .system-section {
    color: var(--theme-text-color);
    background-color: var(--theme-background-color);
    width: 100%;
    padding-block: 0;
    padding-bottom: clamp(150px,10.42vw,200px);
  }
  .header-actions {
    display: flex;
    align-items: center;
    gap: var(--spacings-regular);
  }
  .menu-decoration {
    flex: 1;
  }
  .site-header {
    color: var(--theme-text-color);
    position: fixed;
    top: 0;
    inset-inline: 0;
    z-index: 100;
  }
  .site-header.snappy {
    --logo-width: clamp(188px, 13.02vw, 250px);
  }
  .site-header:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: calc(100% + 64px);
    pointer-events: none;
    z-index: -1;
    background: linear-gradient(to bottom,#00000080,#0000);
  }
  .menu-link {
    position: relative;
    font-size: clamp(36px,2.5vw,48px);
    text-decoration: none;
    color: currentColor;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  .menu-link.active:before {
    content: url(../icons/triangle.svg);
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: .5em;
    height: .5em;
    transform: translate(-135%);
    display: grid;
    place-items: center;
  }
  .menu-toggle {
    background: none;
    border: none;
    color: currentColor;
    cursor: pointer;
  }
  .menu-close {
    background: none;
    border: none;
    color: currentColor;
    cursor: pointer;
    position: absolute;
    top: var(--spacings-large);
    left: var(--spacings-large);
    padding: var(--spacings-small);
  }
  .menu-links {
    height: 100%;
    list-style: none;
    padding: calc(1em + var(--spacings-small) + var(--spacings-large)) 0 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--spacings-large);
  }
  .menu-links>button {
    width: 100%;
    justify-content: center;
  }
  .menu-drawer {
    border-left: 1px solid var(--theme-border-color);
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: min(600px,90vw);
    height: 100%;
    background-color: var(--theme-background-color);
    color: var(--theme-text-color);
    transform: translate(100%);
    transition: transform .3s ease-out;
    padding: var(--spacings-large);
    z-index: 200;
  }
  .menu-drawer.open {
    transform: translate(0);
  }
  .menu-backdrop {
    position: fixed;
    inset: 0;
    background-color: #00000080;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease-out,visibility .3s ease-out;
    z-index: 150;
  }
  .menu-backdrop.open {
    opacity: 1;
    visibility: visible;
  }
  .site-navigation {
    display: flex;
    width: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: 0 auto;
    padding: var(--spacings-regular) var(--spacings-page-margin);
    align-items: flex-start;
    justify-content: space-between;
  }
  .menu-action {
    font-size: clamp(15px,1.04vw,20px);
  }
  .menu-action-link {
    font-size: clamp(20px,1.04vw,20px);
    position: relative;
  }
  .menu-action-link.active:before {
    content: url(../icons/triangle.svg);
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: .5em;
    height: 1em;
    transform: translate(-200%);
    display: grid;
    place-items: center;
  }
  .character-choice-indicator {
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: 1;
    pointer-events: fill;
    stroke-opacity: .5;
  }
  .character-choice-indicator path {
    transition: stroke-opacity .3s ease-out;
  }
  .location-choice {
    font-size: clamp(12px,.63vw,12px);
    background: transparent;
    border: none;
    position: relative;
    padding: 4em;
    width: fit-content;
    height: fit-content;
    aspect-ratio: 141 / 121;
    cursor: pointer;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
  }
  .location-choice:nth-of-type(2n) {
    transform: rotate(180deg);
  }
  .location-choice:not(:last-child) {
    margin-right: -1.9em;
  }
  .location-choice:before {
    content: "";
    display: block;
    padding-top: calc((121 / 141) * 100% + 5px);
  }
  .location-choice .pagination-button-asset {
    mask-image: url(../icons/triangle-mask.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    width: 100%;
    height: 100%;
    opacity: .5;
    transition: opacity .3s ease-out;
  }
  @media (max-width:460px) {
    .location-choice {
      padding: 2em !important;
    }
  }
  .location-choice:where(:hover,:focus-visible) .outer-triangle-svg {
    stroke-opacity: 1;
  }
  .location-choice[data-active-button=true] .pagination-button-asset {
    opacity: 1;
  }
  .location-choice[data-active-button=true] .outer-triangle-svg {
    stroke-opacity: 1;
  }
  @media (max-width:640px) {
    .location-choice {
      padding: 3em;
    }
    .location-choice:not(:last-child) {
      margin-right: -1.2em;
    }
  }
  .location-choice-indicator {
    position: absolute;
    inset: 0;
    width: 3em;
    height: 3em;
    transform: translateY(12%);
    color: var(--theme-text-color);
    z-index: 2;
    margin: auto;
  }
  @media (max-width:460px) {
    .location-choice-indicator {
      width: 2em;
      height: 2em;
    }
  }
  .hero-video {
    width: var(--entry-width, 100%);
    height: var(--entry-height, auto);
    object-fit: var(--fit, cover);
    background-size: var(--fit, cover);
    aspect-ratio: var(--aspect-ratio, auto);
    background: var(--theme-background-color);
    color: var(--theme-text-color);
    padding: var(--top, 0) var(--right, 0) var(--bottom, 0) var(--left, 0);
  }
  .hero-video.fit-cover {
    --fit: cover;
  }
  .hero-video.fit-contain {
    --fit: contain;
  }
  .faq-layout {
    width: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: auto;
    padding-block: var(--spacings-block-padding);
    padding-inline: var(--spacings-page-margin);
    display: grid;
    align-items: start;
    gap: var(--spacings-large);
    grid-template-columns: 1fr 1fr;
    min-height: clamp(675px,46.88vw,900px);
  }
  @media (max-width:960px) {
    .faq-layout {
      min-height: 95vh;
      grid-template-columns: 1fr;
      align-content: start;
    }
  }
  .faq-section {
    color: var(--theme-text-color);
    background: var(--theme-background-color);
    width: 100%;
    position: relative;
  }
  .faq-section:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background: linear-gradient(to top,transparent,black);
    z-index: 0;
    pointer-events: none;
  }
  .locations-layout {
    width: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: auto;
    padding-inline: 0;
    display: grid;
    position: relative;
    isolation: isolate;
  }
  .locations-track {
    aspect-ratio: 16 / 9;
    min-height: 95vh;
    display: flex;
    width: 100%;
    flex: 1;
    cursor: grab;
  }
  @media (max-width:960px) {
    .locations-track {
      aspect-ratio: 2 / 3;
      grid-column: 1 / -1;
      grid-row: 1 / 2;
    }
  }
  .location-image {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: var(--spacings-gap-default);
    align-items: end;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 4;
    width: 100%;
    padding-inline: var(--spacings-page-margin);
    padding-block-end: var(--spacings-block-padding);
  }
  @media (max-width:960px) {
    .location-image {
      display: contents;
    }
  }
  .location-choice-frame {
    grid-column: 2 / -1;
    display: grid;
    grid-auto-flow: column;
    justify-content: end;
    gap: var(--spacings-gap-medium);
  }
  @media (max-width:1200px) {
    .location-choice-frame {
      gap: var(--spacings-gap-small);
    }
  }
  @media (max-width:960px) {
    .location-choice-frame {
      display: contents;
    }
  }
  .locations-sidebar {
    width: 100%;
  }
  @media (max-width:960px) {
    .locations-sidebar {
      position: static;
      display: grid;
      padding-block: var(--spacings-block-padding);
      grid-template-columns: min-content min-content min-content;
      align-items: center;
      margin-inline: auto;
      width: fit-content;
    }
    .locations-sidebar .nav-button-right {
      grid-column: 3 / 4;
      grid-row: 1;
      justify-self: end;
    }
    .locations-sidebar .nav-button-left {
      grid-column: 1 / 2;
      grid-row: 1;
      justify-self: start;
    }
  }
  .location-copy-frame {
    position: relative;
  }
  .locations-gallery-frame {
    display: grid;
    width: 100%;
    gap: var(--spacings-d-20);
    justify-content: space-between;
  }
  @media (max-width:960px) {
    .locations-gallery-frame {
      padding-inline: 0;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
    }
    .locations-gallery-frame .nav-button-left {
      grid-column: 1 / 2;
      grid-row: 2 / 3;
      justify-self: start;
    }
    .locations-gallery-frame .nav-button-right {
      grid-column: -2 / -1;
      grid-row: 2 / 3;
      justify-self: end;
    }
  }
  .character-arrow {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    border: 1px solid var(--theme-text-color);
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--theme-text-color);
    transition: opacity .2s;
    flex-shrink: 0;
  }
  .character-arrow:hover {
    opacity: .8;
  }
  .character-arrow:disabled {
    opacity: .2;
    cursor: auto;
  }
  @media (max-width:960px) {
    .character-arrow {
      width: 2rem;
      height: 2rem;
    }
  }
  .location-choices {
    display: grid;
    grid-auto-flow: column;
    gap: var(--spacings-gap-small);
    justify-content: end;
    align-content: center;
  }
  @media (max-width:960px) {
    .location-choices {
      display: contents;
    }
  }
  .location-choice-layout {
    display: flex;
    justify-content: end;
  }
  @media (max-width:960px) {
    .location-choice-layout {
      grid-row: 1;
      gap: 0;
    }
  }
  .location-slide {
    display: grid;
    align-content: end;
    gap: var(--spacings-gap-medium);
    padding-inline: var(--spacings-page-margin);
    padding-block: var(--spacings-block-padding);
    transition: opacity var(--transitions-default-duration) var(--transitions-default-easing);
  }
  .location-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacings-gap-default);
    max-width: var(--sizes-width-columns-4);
  }
  .character-name {
    margin-bottom: clamp(15px,1.04vw,20px);
  }
  @media (max-width:1400px) {
    .character-name {
      font-family: var(--font-family-heading);
      font-weight: 400;
      font-size: var(--font-sizes-heading-large);
      line-height: 1.1em;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0px;
    }
  }
  .location-copy {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--transitions-default-duration) var(--transitions-default-easing);
  }
  .location-copy[data-active=true] {
    transition: opacity var(--transitions-default-duration) var(--transitions-default-easing);
    opacity: 1;
    pointer-events: auto;
  }
  @media (max-width:960px) {
    .location-copy {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 5;
      width: 100%;
      opacity: 0;
      height: 0;
      padding-block: 0;
      padding-inline: var(--spacings-page-margin);
      padding-block-end: var(--spacings-block-padding);
    }
    .location-copy[data-active=true] {
      height: auto;
    }
  }
  .creator-form-body {
    display: grid;
    gap: var(--spacings-small);
    align-items: start;
    justify-content: start;
  }
  .creator-form-body input[type=checkbox]:checked+label:before {
    content: url(../icons/checkmark.svg);
    background-color: var(--theme-text-color);
    border-color: var(--theme-text-color);
    color: var(--theme-background-color);
  }
  .creator-form-body input[type=checkbox] {
    display: none;
  }
  .creator-form-body label {
    display: grid;
    grid-template-columns: min-content 1fr;
    gap: .5em;
  }
  .creator-form-body label a:hover {
    transition: color .2s var(--transitions-ease-out);
    text-decoration: underline;
    color: var(--theme-highlight-color);
    display: inline;
  }
  .creator-form-body label:before {
    content: "";
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: var(--font-sizes-body-xx-small);
    line-height: 1.4em;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0px;
    width: 1.7em;
    height: 1.7em;
    display: grid;
    place-items: center;
    line-height: 1;
    margin-right: .5em;
    border: 1px solid var(--theme-border-color);
    border-radius: 4px;
    background-color: transparent;
    transition: background-color .2s var(--transitions-ease-out),border-color .2s var(--transitions-ease-out);
  }
  .creator-layout {
    width: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: auto;
    padding: calc(var(--spacings-block-padding) * 2) var(--spacings-page-margin);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  @media (max-width:960px) {
    .creator-layout {
      padding: calc(var(--spacings-block-padding) * 4) var(--spacings-page-margin);
    }
  }
  .creator-section {
    position: relative;
    color: var(--theme-text-color);
    background: var(--theme-background-color);
    width: 100%;
    height: fit-content;
  }
  .menu-link-group {
    display: flex;
    flex-direction: column;
    gap: var(--spacings-medium);
  }
  .creator-form-layout {
    max-width: clamp(800px,45.63vw,876px);
    z-index: 2;
    background: var(--theme-background-color);
    padding: var(--spacings-large);
    border: 1px solid var(--theme-border-color);
    display: flex;
    flex-direction: column;
    gap: var(--spacings-regular);
    width: 100%;
  }
  @media (max-width:960px) {
    .creator-form-layout {
      padding-block: var(--spacings-large);
      padding-inline: var(--spacings-page-margin);
    }
  }
  .creator-consents {
    display: grid;
    gap: var(--spacings-small);
    align-items: start;
    justify-content: start;
  }
  .creator-consents legend {
    text-transform: uppercase;
    line-height: 1.4;
    font-weight: 700;
  }
  .creator-submit-row {
    display: flex;
    gap: var(--spacings-regular);
    align-items: center;
  }
  .creator-submit-row label {
    cursor: pointer;
    user-select: none;
  }
  .creator-submit-row input {
    appearance: none;
    width: 1.5em;
    height: 1.5em;
    border: 1px solid var(--theme-border-color);
    border-radius: 50%;
    margin: 0;
    position: relative;
    cursor: pointer;
    transition: border-color .2s var(--transitions-ease-out),background-color .2s var(--transitions-ease-out);
  }
  .creator-submit-row input:checked {
    border-color: var(--theme-text-color);
  }
  .creator-submit-row input:checked:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: .9em;
    height: .9em;
    border-radius: 50%;
    background-color: var(--theme-text-color);
  }
  .footer-logo {
    height: var(--icon-size, 127px);
  }
  .footer-logo path {
    transition: fill .3s ease;
    fill: var(--logo-fill-color, var(--theme-text-color));
  }
  .story-eyebrow {
    color: var(--theme-alt-text-color);
  }
  .route-main {
    display: flex;
    flex-direction: column;
    background-color: var(--theme-background-color);
    color: var(--theme-text-color);
    min-height: 100vh;
  }
  .news-card-copy {
    display: flex;
    flex-direction: column;
    gap: var(--spacings-regular);
    max-width: clamp(503px,34.9vw,670px);
  }
  .news-card-date {
    font-size: clamp(14px,.73vw,14px);
    opacity: .5;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: var(--spacings-regular);
  }
  .news-grid {
    display: grid;
    grid-template-columns: 1fr .5fr .5fr;
    gap: var(--spacings-gap-column);
  }
  @media (max-width:960px) {
    .news-grid {
      grid-template-columns: 1fr;
    }
  }
  .news-section {
    position: relative;
    width: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: auto;
    padding: var(--spacings-block-padding) var(--spacings-page-margin);
    display: flex;
    flex-direction: column;
    gap: var(--spacings-large);
  }
  .parallax-layout {
    width: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: auto;
    padding-inline: 0;
    display: grid;
  }
  @media (max-width:960px) {
    .parallax-layout {
      display: block;
    }
  }
  .parallax-artwork {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    aspect-ratio: 16 / 9;
  }
  .parallax-artwork:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to bottom,transparent,var(--theme-background-color));
    pointer-events: none;
    z-index: 10;
  }
  @media (max-width:960px) {
    .parallax-artwork {
      aspect-ratio: 9 / 16;
    }
  }
  .parallax-copy {
    z-index: 20;
    display: flex;
    justify-content: flex-start;
    max-width: var(--sizes-width-max-screen-width);
    padding-block: var(--spacings-block-padding);
    padding-inline: var(--spacings-page-margin);
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    margin: auto;
  }
  @media (max-width:960px) {
    .parallax-copy {
      display: block;
      position: relative;
      transform: translateY(-125px);
      padding-block-end: 0;
    }
  }
  .media-stage {
    position: relative;
  }
  .media-stage:hover {
    --download-opacity: 1;
  }
  .news-card-meta {
    width: 100%;
    max-width: var(--sizes-width-max-screen-width);
    margin: auto;
    padding: var(--spacings-block-padding) var(--spacings-page-margin);
    display: flex;
    flex-direction: column;
  }
  @media (max-width:640px) {
    .news-card-meta {
      padding-inline: 0;
    }
  }
  .story-parallax {
    color: var(--theme-text-color);
    background: var(--theme-background-color);
    width: 100%;
    position: relative;
  }
  .media-thumbnails {
    display: flex;
    flex-direction: column;
    gap: var(--spacings-regular);
    max-height: clamp(590px,40.99vw,787px);
    overflow-y: auto;
    padding: 1px 12px 1px 1px;
  }
  .media-thumbnails img {
    cursor: pointer;
  }
  .media-thumbnails .active {
    outline: 1px solid var(--colors-gray-20);
  }
  .media-thumbnails::-webkit-scrollbar {
    width: 2px;
  }
  .media-thumbnails::-webkit-scrollbar-track {
    background: var(--colors-gray-95);
    border-radius: 2px;
  }
  .media-thumbnails::-webkit-scrollbar-thumb {
    background: var(--colors-gray-70);
    border-radius: 2px;
  }
  @media (max-width:960px) {
    .media-thumbnails {
      flex-direction: row;
      overflow-x: auto;
      scrollbar-width: thin;
    }
    .media-thumbnails img {
      max-width: clamp(150px,10.42vw,200px);
      min-width: clamp(150px,10.42vw,200px);
      width: 100%;
    }
    @media (max-width:640px) {
      .media-thumbnails {
        padding-inline: var(--spacings-page-margin);
      }
    }
  }
  .media-gallery {
    display: none;
  }
  .media-gallery.active {
    display: var(--container-display, block);
  }
  .media-gallery[data-media-gallery] {
    --container-display: grid;
    grid-template-columns: 4fr 1fr;
    gap: var(--spacings-regular);
  }
  @media (max-width:960px) {
    .media-gallery[data-media-gallery] {
      grid-template-columns: 1fr;
    }
  }
  .media-tabs {
    display: flex;
    flex-direction: column;
    gap: var(--spacings-regular);
  }
  .media-panels {
    display: flex;
    flex-wrap: wrap;
    margin-block: var(--spacings-large);
  }
  @media (max-width:640px) {
    .media-panels {
      flex-wrap: nowrap;
      overflow-x: scroll;
      scrollbar-width: none;
      padding-inline: var(--spacings-page-margin);
    }
  }
  .media-video-trigger {
    position: relative;
    border: none;
    padding: 0;
    background: transparent;
    cursor: pointer;
    width: 100%;
    display: flex;
    flex-direction: column;
    text-align: left;
  }
  @media (max-width:640px) {
    .media-video-trigger {
      padding-inline: var(--spacings-page-margin);
    }
  }
  .trailer-ring {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 2.5em;
    height: 2.5em;
    z-index: 2;
    transition: transform .3s ease-out;
    transform: scale(var(--play-button-scale, 1));
  }
  .trailer-label {
    z-index: 2;
    text-transform: uppercase;
  }
  .trailer-button {
    font-size: clamp(12px,.63vw,12px);
    background: transparent;
    border: none;
    position: absolute;
    inset: 0;
    margin: auto;
    padding: 3em 2.75em 1em;
    width: fit-content;
    height: fit-content;
    aspect-ratio: 141 / 121;
    cursor: pointer;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
  }
  .trailer-button:where(:hover,:focus-visible) {
    --fill-opacity: .5;
    --play-button-scale: .85;
  }
  .trailer-button:before {
    content: "";
    display: block;
    padding-top: calc((121 / 141) * 100% + 5px);
  }
  .trailer-play-icon {
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: 1;
    pointer-events: fill;
    aspect-ratio: 141 / 121;
    width: 100%;
  }
  .trailer-play-icon path {
    transition: fill-opacity .3s ease-out;
  }
  .action-row {
    width: 1px;
    background: currentColor;
    opacity: .25;
    height: 2.75em;
    margin: 0 1em;
  }
  @media (max-width:960px) {
    .action-row {
      background: transparent;
      width: 100%;
      height: .7em;
    }
  }
  .store-link {
    display: flex;
    color: var(--theme-highlight-color);
    border: 1px solid var(--theme-highlight-color);
    padding: .5em 1em;
    transition: background-color .3s ease-out,color .3s ease-out;
    cursor: pointer;
    border-radius: 4px;
    background: #0003;
  }
  .store-link svg {
    height: clamp(28px,1.61vw,31px);
  }
  .store-link:where(:hover,:focus-visible) {
    background-color: var(--theme-highlight-color);
    color: var(--theme-background-color);
  }
  .hero-actions {
    display: flex;
    gap: var(--spacings-regular);
    flex-wrap: wrap;
    align-items: center;
  }
  @media (max-width:960px) {
    .hero-actions {
      justify-content: center;
    }
  }
  .content-section {
    color: var(--theme-text-color);
    background: var(--theme-background-color);
    width: 100%;
  }
  .video-modal {
    position: fixed;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .video-modal.open {
    display: flex;
  }
  .story-copy-frame {
    --buttons-margin-block: .5em;
  }
  .story-copy-frame>:where(p,h1,h2,h3,h4,h5,h6) {
    margin-block: .1em;
  }
  .story-copy-frame .textStyle_body\.large+.heading {
    margin-top: .05em;
  }
  .story-copy-frame>*:first-child {
    margin-top: 0;
  }
  .story-copy-frame>*:last-child {
    margin-bottom: 0;
  }
  .video-overlay {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: opacity 1s ease-in-out,visibility 1s;
    mix-blend-mode: plus-lighter;
  }
  .video-overlay.active {
    transition: opacity 1s ease-in-out,visibility 0s;
    visibility: visible;
    opacity: .75;
  }
  .video-overlay[data-overlaying-video=default] {
    --color: rgba(255, 0, 0, .25);
  }
  .video-overlay[data-overlaying-video=info] {
    --color: rgba(0, 0, 255, .25);
  }
  @media (prefers-reduced-motion:reduce) {
    .video-overlay {
      display: none !important;
    }
  }
  .overlay-video {
    flex: 1;
    width: 100%;
    height: 100%;
    max-width: 100vw;
    max-height: 100vh;
    background-color: var(--color, rgba(0, 0, 0, .5));
    object-fit: cover;
  }
  .locations-section {
    color: var(--theme-text-color);
    background: var(--theme-background-color);
    width: 100%;
    height: 1px;
  }
  .image-asset {
    position: var(--entry-position, initial);
    width: var(--entry-width, 100%);
    height: var(--entry-height, auto);
    object-fit: var(--fit, cover);
    object-position: var(--x, center) var(--y, center);
    background-size: var(--fit, cover);
    background-repeat: no-repeat;
    background-position: var(--x, center) var(--y, center);
    border-radius: var(--border-radius-inner, 0);
  }
  .image-asset.fit-cover {
    --fit: cover;
  }
  .image-asset.fit-contain {
    --fit: contain;
  }
  .newsletter-image {
    --image-background: transparent;
  }
  .newsletter-background:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background: linear-gradient(to top,transparent,black);
    z-index: 0;
    pointer-events: none;
  }
  .newsletter-background:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background: linear-gradient(to bottom,transparent,black);
    z-index: 0;
    pointer-events: none;
  }
  .system-artwork picture {
    height: 100%;
  }
  .system-artwork:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: clamp(450px,31.25vw,600px);
    background: linear-gradient(to top,var(--theme-background-color) 0%,var(--theme-background-color) 20%,transparent 100%);
    z-index: 0;
  }
  .system-artwork:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: clamp(150px,10.42vw,200px);
    background: var(--theme-background-color);
    clip-path: polygon(0 0,100% 0,0 100%,0 0);
    z-index: 0;
  }
  @media (max-width:960px) {
    .system-artwork:before {
      height: clamp(75px,15.63vw,100px);
    }
  }
  .system-description {
    text-align: center;
    max-width: clamp(432px,30vw,576px);
    color: var(--theme-alt-text-color);
  }
  .faq-artwork {
    max-height: clamp(600px,41.67vw,800px);
    inset: unset;
    top: 0;
    left: 0;
    right: 0;
  }
  .faq-artwork:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background: linear-gradient(to bottom,transparent,black);
    z-index: 0;
    pointer-events: none;
  }
  .faq-content {
    isolation: isolate;
  }
  .creator-background {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover;
  }
  .form-field {
    margin-bottom: var(--spacings-regular);
  }
  .news-background {
    position: absolute;
    top: 0;
    right: 0;
    height: fit-content;
    width: clamp(900px,62.5vw,1200px);
    z-index: 1;
    object-fit: contain;
  }
  .story-prose {
    max-width: clamp(663px,46.04vw,884px);
  }
  .story-prose h2 {
    font-size: clamp(12px,.83vw,16px);
    opacity: .5;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 1em;
  }
  .story-prose p {
    font-weight: 700;
  }
  .parallax-artwork-layer {
    position: absolute;
    top: -10%;
    left: 0;
    width: 120%;
    height: 120%;
    will-change: transform;
  }
  .parallax-artwork-layer.layer-1 {
    z-index: 7;
    mix-blend-mode: screen;
  }
  .parallax-artwork-layer.layer-2 {
    z-index: 6;
  }
  .parallax-artwork-layer.layer-3 {
    z-index: 5;
  }
  .parallax-artwork-layer.layer-4 {
    z-index: 4;
  }
  .parallax-artwork-layer.layer-5 {
    z-index: 3;
  }
  .parallax-artwork-layer.layer-6 {
    z-index: 2;
  }
  .parallax-artwork-layer.layer-7 {
    z-index: 1;
  }
  .parallax-artwork-layer.layer-8 {
    z-index: 0;
  }
  @media (max-width:960px) {
    .parallax-artwork-layer {
      object-position: 60% top;
      object-fit: cover;
    }
  }
  @media (max-width:640px) {
    .media-section {
      padding-inline: var(--spacings-page-margin);
    }
  }
}
@layer l1 {
  .footer-corner-link {
    grid-column: -2 / -1;
    justify-self: end;
    grid-row: 1;
  }
  .input-cursor {
    cursor: text;
  }
}
@layer l2 {
  .form-textarea {
    resize: vertical;
    min-height: 100px;
  }
}
:root {
  --swiper-theme-color: #007aff;
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}
.swiper-vertical>.swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translateZ(0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform,height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}
.swiper-css-mode {
  >.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    &::-webkit-scrollbar {
      display: none;
    }
  }
  >.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    >.swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    >.swiper-wrapper>.swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    >.swiper-wrapper>.swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    >.swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    >.swiper-wrapper>.swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    >.swiper-wrapper>.swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    >.swiper-wrapper {
      scroll-snap-type: none;
    }
    >.swiper-wrapper>.swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    >.swiper-wrapper:before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    >.swiper-wrapper>.swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    >.swiper-wrapper>.swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    >.swiper-wrapper:before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    >.swiper-wrapper>.swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    >.swiper-wrapper:before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: #00000026;
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,#00000080,#0000);
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,#00000080,#0000);
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,#00000080,#0000);
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,#00000080,#0000);
  }
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
:root {
  --swiper-navigation-size: 44px;
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  &.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none;
  }
  &.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled & {
    display: none !important;
  }
  svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }
}
.swiper-button-lock {
  display: none;
}
.swiper-button-prev,
.swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
}
.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
  .swiper-navigation-icon {
    transform: rotate(180deg);
  }
}
.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}
.swiper-horizontal {
  .swiper-button-prev,
  .swiper-button-next,
  ~.swiper-button-prev,
  ~.swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-left: 0;
  }
  .swiper-button-prev,
  ~.swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl~.swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }
  .swiper-button-next,
  ~.swiper-button-next,
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl~.swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
  }
  .swiper-button-prev,
  ~.swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl~.swiper-button-next {
    .swiper-navigation-icon {
      transform: rotate(180deg);
    }
  }
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl~.swiper-button-prev {
    .swiper-navigation-icon {
      transform: rotate(0);
    }
  }
}
.swiper-vertical {
  .swiper-button-prev,
  .swiper-button-next,
  ~.swiper-button-prev,
  ~.swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-top: 0;
  }
  .swiper-button-prev,
  ~.swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto;
    .swiper-navigation-icon {
      transform: rotate(-90deg);
    }
  }
  .swiper-button-next,
  ~.swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
    .swiper-navigation-icon {
      transform: rotate(90deg);
    }
  }
}
.swiper-gl {
  position: relative;
  margin: 0 auto;
  max-width: 100%;
  overflow: hidden;
  .swiper-slide,
  swiper-slide {
    position: relative;
  }
  .swiper-gl-image {
    display: none;
  }
  >canvas {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
}
.swiper-gl-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  left: 0;
  top: 0;
}
.swiper-button-prev,
.swiper-button-next {
  position: static;
  margin: 0;
  --swiper-navigation-size: 40px;
  display: grid;
  place-items: center;
  svg {
    height: 1em;
    fill: none;
    color: #fff;
  }
}
@media (max-width: 767px) {
  .mv4-route-front {
    overflow-x: hidden !important;
  }
  #areas {
    overflow: hidden !important;
    background-size: var(--mv4-areas-mobile-fit, cover) !important;
    background-position: var(--mv4-areas-background-mobile-position, center center) !important;
  }
  #areas .locations-track {
    aspect-ratio: auto !important;
    height: clamp(220px, 58vw, 340px) !important;
    min-height: 220px !important;
    max-height: 340px !important;
  }
  #areas .swiper-gl-image,
  #areas .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
  }
  #areas .swiper-slide[data-swiper-slide-index="0"] img {
    object-position: var(--mv4-areas-slide-1-mobile-position, center center) !important;
    object-fit: var(--mv4-areas-mobile-fit, cover) !important;
  }
  #areas .swiper-slide[data-swiper-slide-index="1"] img {
    object-position: var(--mv4-areas-slide-2-mobile-position, center center) !important;
    object-fit: var(--mv4-areas-mobile-fit, cover) !important;
  }
  #areas .swiper-slide[data-swiper-slide-index="2"] img {
    object-position: var(--mv4-areas-slide-3-mobile-position, center center) !important;
    object-fit: var(--mv4-areas-mobile-fit, cover) !important;
  }
  #areas .swiper-slide[data-swiper-slide-index="3"] img {
    object-position: var(--mv4-areas-slide-4-mobile-position, center center) !important;
    object-fit: var(--mv4-areas-mobile-fit, cover) !important;
  }
  #areas canvas {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  #news img.news-background {
    object-position: var(--mv4-news-background-mobile-position, center center) !important;
    object-fit: cover !important;
  }
  #news .image-component {
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .mv4-control-news-grid article:nth-of-type(1) img {
    object-position: var(--mv4-news-card-1-mobile-position, center center) !important;
    object-fit: var(--mv4-news-card-mobile-fit, cover) !important;
  }
  .mv4-control-news-grid article:nth-of-type(2) img {
    object-position: var(--mv4-news-card-2-mobile-position, center center) !important;
    object-fit: var(--mv4-news-card-mobile-fit, cover) !important;
  }
  .mv4-control-news-grid article:nth-of-type(3) img {
    object-position: var(--mv4-news-card-3-mobile-position, center center) !important;
    object-fit: var(--mv4-news-card-mobile-fit, cover) !important;
  }
  #media figure.sizing-background img {
    object-position: var(--mv4-newsletter-prelude-mobile-position, center center) !important;
    object-fit: var(--mv4-newsletter-mobile-fit, cover) !important;
  }
  #newsletter .newsletter-image {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
  #newsletter .newsletter-image [data-target="default"] img {
    object-position: var(--mv4-newsletter-default-mobile-position, center center) !important;
    object-fit: var(--mv4-newsletter-mobile-fit, cover) !important;
  }
  #newsletter .newsletter-image [data-target="mobile"] img {
    object-position: var(--mv4-newsletter-mobile-position, center center) !important;
    object-fit: var(--mv4-newsletter-mobile-fit, cover) !important;
  }
  #newsletter .newsletter-background img {
    object-position: var(--mv4-newsletter-background-mobile-position, center center) !important;
    object-fit: cover !important;
  }
  #system .system-artwork img {
    width: 100% !important;
    height: 100% !important;
  }
  #system .system-artwork .image-component {
    aspect-ratio: 1 / 1 !important;
    height: 50vh !important;
    width: 100% !important;
  }
  #system .system-artwork [data-target="default"] img {
    object-position: var(--mv4-system-desktop-mobile-position, center center) !important;
    object-fit: var(--mv4-system-mobile-fit, cover) !important;
  }
  #system .system-artwork [data-target="mobile"] img {
    object-position: var(--mv4-system-mobile-position, center center) !important;
    object-fit: var(--mv4-system-mobile-fit, cover) !important;
  }
  #parallax .layer-static {
    object-position: var(--mv4-parallax-static-mobile-position, center center) !important;
    object-fit: var(--mv4-static-fallback-mobile-fit, cover) !important;
  }
  #faq .faq-artwork [data-target="default"] img {
    object-position: var(--mv4-faq-desktop-mobile-position, center center) !important;
    object-fit: var(--mv4-faq-mobile-fit, cover) !important;
  }
  #faq .faq-artwork [data-target="mobile"] img {
    object-position: var(--mv4-faq-mobile-position, center center) !important;
    object-fit: var(--mv4-faq-mobile-fit, cover) !important;
  }
  .mv4-route-front #faq .faq-artwork {
    max-height: clamp(280px, 38vh, 420px);
  }
  #characters img,
  #characters canvas {
    object-position: var(--mv4-harlan-section-mobile-position, var(--mv4-harlan-static-mobile-position, center center)) !important;
    object-fit: var(--mv4-harlan-section-mobile-fit, var(--mv4-static-fallback-mobile-fit, cover)) !important;
  }
  .mv4-route-front {
    overflow-x: clip;
  }
  .mv4-route-front .book-hero {
    height: auto;
    min-height: 0;
    overflow-x: clip;
    padding-block: clamp(1rem, 3.5vw, 1.5rem) calc(var(--spacings-regular) + env(safe-area-inset-bottom));
  }
  .mv4-route-front .hero-layout {
    height: auto;
    min-height: 0;
    grid-template-rows: auto auto;
    align-items: end;
    gap: clamp(0.85rem, 2.8vw, 1.25rem);
    padding: clamp(1rem, 3.5vw, 1.5rem) var(--spacings-page-margin) calc(var(--spacings-medium) + env(safe-area-inset-bottom));
  }
  .mv4-route-front .hero-layout > figure {
    position: relative;
    top: auto;
    height: clamp(260px, 42vh, 430px);
    min-height: 260px;
    max-height: 430px;
    overflow: hidden;
    border-radius: 24px;
  }
  .mv4-route-front .hero-layout > figure .mv4-hero-media,
  .mv4-route-front .hero-layout > figure .mv4-hero-still,
  .mv4-route-front .hero-layout > figure .mv4-hero-video,
  .mv4-route-front .hero-layout > figure .video-layer,
  .mv4-route-front .hero-layout > figure .hero-video {
    width: 100%;
    height: 100%;
  }
  .mv4-route-front .hero-layout > figure .mv4-hero-media {
    min-height: 260px;
    border-radius: 24px;
  }
  .mv4-route-front .hero-title {
    text-align: center;
  }
  .mv4-route-front .hero-copy {
    gap: clamp(0.65rem, 2vw, 0.9rem);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .mv4-route-front .action-button {
    align-self: center;
    margin-top: 0.15rem;
    margin-bottom: calc(0.25rem + env(safe-area-inset-bottom));
    max-width: min(100%, 18rem);
    white-space: normal;
    text-wrap: balance;
    line-height: 1.05;
  }
  .mv4-route-front .parallax-copy {
    display: block;
    position: relative;
    transform: translateY(-56px);
    padding-block: var(--spacings-block-padding) 0;
  }
  .mv4-route-front #news .news-section {
    gap: clamp(1rem, 3vw, 1.5rem);
    padding-block: clamp(1rem, 4vw, 1.75rem);
  }
  .mv4-route-front #news .mv4-control-news-header {
    gap: clamp(0.65rem, 2vw, 0.9rem);
  }
  .mv4-route-front #news .news-grid {
    gap: clamp(1rem, 3vw, 1.25rem);
  }
  .mv4-route-front #news .news-card-copy {
    max-width: none;
  }
  .mv4-route-front #news .news-card-date {
    margin-top: 0.15rem;
  }
  .mv4-route-front #news .news-card-excerpt {
    max-width: 62ch;
  }
  .mv4-route-front footer {
    padding-top: clamp(1rem, 3vw, 1.5rem);
  }
}
@media (orientation: landscape) and (max-height: 500px) and (hover: none) and (pointer: coarse),
       (orientation: landscape) and (max-height: 540px) and (max-width: 950px) and (hover: none) and (pointer: coarse) {
  .mv4-route-front {
    overflow-x: clip;
    max-width: 100%;
  }
  .mv4-route-front .book-hero {
    top: auto;
    height: auto;
    min-height: 0;
    padding-block: clamp(0.9rem, 2vw, 1.25rem) calc(var(--spacings-regular) + env(safe-area-inset-bottom));
  }
  .mv4-route-front .hero-layout {
    height: auto;
    min-height: 0;
    grid-template-rows: auto auto;
    align-items: end;
    gap: clamp(0.35rem, 1vw, 0.6rem);
    padding: clamp(0.35rem, 0.85vw, 0.6rem) var(--spacings-page-margin) calc(0.45rem + env(safe-area-inset-bottom));
  }
  .mv4-route-front .hero-layout > figure {
    position: relative;
    top: auto;
    height: clamp(150px, 40svh, 200px);
    min-height: 0;
    max-height: 200px;
    overflow: hidden;
    border-radius: 24px;
  }
  .mv4-route-front #faq .faq-artwork {
    max-height: clamp(200px, 34svh, 300px);
  }
  .mv4-route-front .hero-layout > figure .mv4-hero-media,
  .mv4-route-front .hero-layout > figure .mv4-hero-still,
  .mv4-route-front .hero-layout > figure .mv4-hero-video,
  .mv4-route-front .hero-layout > figure .video-layer,
  .mv4-route-front .hero-layout > figure .hero-video {
    width: 100%;
    height: 100%;
  }
  .mv4-route-front .hero-layout > figure .mv4-hero-media {
    min-height: 0;
    border-radius: 24px;
  }
  .mv4-route-front .hero-title {
    text-align: center;
  }
  .mv4-route-front .hero-copy {
    gap: clamp(0.2rem, 0.6vw, 0.4rem);
    padding-bottom: 0;
  }
  .mv4-route-front .hero-actions {
    gap: clamp(0.25rem, 0.7vw, 0.45rem);
  }
  .mv4-route-front .action-row {
    height: 0.25rem;
    margin-inline: 0.5rem;
  }
  .mv4-route-front .hero-title {
    line-height: 0.95;
    font-size: clamp(1.7rem, 4vw, 2.3rem);
  }
  .mv4-route-front .hero-subtitle {
    line-height: 1;
    font-size: clamp(0.72rem, 1.8vw, 0.9rem);
  }
  .mv4-route-front .action-button {
    align-self: center;
    margin-top: 0;
    margin-bottom: calc(0.05rem + env(safe-area-inset-bottom));
    max-width: min(100%, 15.5rem);
    white-space: normal;
    text-wrap: balance;
    line-height: 1.05;
    padding: 0.35rem 0.85rem;
    font-size: clamp(0.74rem, 1.8vw, 0.88rem);
  }
  .mv4-route-front .parallax-copy {
    display: block;
    position: relative;
    transform: translateY(-34px);
    padding-block: clamp(0.5rem, 1.3vw, 0.75rem) 0;
  }
  .mv4-route-front #news .news-section {
    gap: clamp(0.9rem, 2.5vw, 1.25rem);
    padding-block: clamp(0.85rem, 2.5vw, 1.25rem);
  }
  .mv4-route-front footer {
    padding-top: clamp(0.85rem, 2.5vw, 1.25rem);
  }
}
@media (orientation: landscape) and (max-height: 540px) and (hover: none) and (pointer: coarse) {
  .mv4-route-front #areas .locations-track {
    aspect-ratio: auto !important;
    height: clamp(180px, 34svh, 260px) !important;
    min-height: 180px !important;
    max-height: 260px !important;
  }
}
#areas {
  background-size: var(--mv4-areas-desktop-fit, cover) !important;
  background-position: var(--mv4-areas-background-desktop-position, center center) !important;
}
#areas .swiper-slide[data-swiper-slide-index="0"] img {
  object-position: var(--mv4-areas-slide-1-desktop-position, center center) !important;
  object-fit: var(--mv4-areas-desktop-fit, cover) !important;
}
#areas .swiper-slide[data-swiper-slide-index="1"] img {
  object-position: var(--mv4-areas-slide-2-desktop-position, center center) !important;
  object-fit: var(--mv4-areas-desktop-fit, cover) !important;
}
#areas .swiper-slide[data-swiper-slide-index="2"] img {
  object-position: var(--mv4-areas-slide-3-desktop-position, center center) !important;
  object-fit: var(--mv4-areas-desktop-fit, cover) !important;
}
#areas .swiper-slide[data-swiper-slide-index="3"] img {
  object-position: var(--mv4-areas-slide-4-desktop-position, center center) !important;
  object-fit: var(--mv4-areas-desktop-fit, cover) !important;
}
#news img.news-background {
  object-position: var(--mv4-news-background-desktop-position, center center) !important;
}
.mv4-control-news-grid article:nth-of-type(1) img {
  object-position: var(--mv4-news-card-1-desktop-position, center center) !important;
  object-fit: var(--mv4-news-card-desktop-fit, cover) !important;
}
.mv4-control-news-grid article:nth-of-type(2) img {
  object-position: var(--mv4-news-card-2-desktop-position, center center) !important;
  object-fit: var(--mv4-news-card-desktop-fit, cover) !important;
}
.mv4-control-news-grid article:nth-of-type(3) img {
  object-position: var(--mv4-news-card-3-desktop-position, center center) !important;
  object-fit: var(--mv4-news-card-desktop-fit, cover) !important;
}
#media figure.sizing-background img {
  object-position: var(--mv4-newsletter-prelude-desktop-position, center center) !important;
  object-fit: var(--mv4-newsletter-desktop-fit, cover) !important;
}
#newsletter .newsletter-image [data-target="default"] img {
  object-position: var(--mv4-newsletter-default-desktop-position, center center) !important;
  object-fit: var(--mv4-newsletter-desktop-fit, cover) !important;
}
#newsletter .newsletter-background img {
  object-position: var(--mv4-newsletter-background-desktop-position, center center) !important;
}
#system .system-artwork [data-target="default"] img {
  object-position: var(--mv4-system-desktop-position, center center) !important;
  object-fit: var(--mv4-system-desktop-fit, cover) !important;
}
#faq .faq-artwork [data-target="default"] img {
  object-position: var(--mv4-faq-desktop-position, center center) !important;
  object-fit: var(--mv4-faq-desktop-fit, cover) !important;
}
#parallax .layer-static {
  object-position: var(--mv4-parallax-static-desktop-position, center center) !important;
  object-fit: var(--mv4-static-fallback-desktop-fit, cover) !important;
}
#characters img,
#characters canvas {
  object-position: var(--mv4-harlan-section-desktop-position, var(--mv4-harlan-static-desktop-position, center center)) !important;
  object-fit: var(--mv4-harlan-section-desktop-fit, var(--mv4-static-fallback-desktop-fit, cover)) !important;
}
