.page-banner-immersive {
  --page-banner-immersive-height: 100vh;
  --page-banner-immersive-content-max: 57.5rem;
  --page-banner-immersive-copy-max: 42rem;
  --page-banner-immersive-entry-logo-width: 12.5rem;
  --page-banner-immersive-entry-window-top: calc(50% - 11.14375rem);
  --page-banner-immersive-entry-step: 900ms;
  --page-banner-immersive-entry-easing: ease-in-out;
  position: relative;
  display: grid;
  min-height: min(var(--page-banner-immersive-height), var(--dia-front-banner-max-height));
  max-height: var(--dia-front-banner-max-height);
  overflow: hidden;
  color: var(--dia-front-color-white);
  background: var(--dia-front-color-ink-deep);
  isolation: isolate;
}
@supports (height: 100svh) {
  .page-banner-immersive {
    --page-banner-immersive-height: 100svh;
  }
}
@supports (height: 100dvh) {
  .page-banner-immersive {
    --page-banner-immersive-height: 100dvh;
  }
}
.page-banner-immersive::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: var(--dia-front-gradient-hero-scrim);
  content: "";
  z-index: 1;
}
.page-banner-immersive__media {
  z-index: 0;
  overflow: hidden;
}
.page-banner-immersive__media,
.page-banner-immersive__media > *,
.page-banner-immersive__media :where(.supermedia-image, .supermedia-video, .supermedia-swiper, .supermedia-gallery-swiper),
.page-banner-immersive__media :where(.swiper-container, .swiper-wrapper, .swiper-slide) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.page-banner-immersive__media :where(img, video, hls-video) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-banner-immersive__media :where(.swiper-actions) {
  display: none;
}
.page-banner-immersive__media :where(.page-banner-immersive__poster) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-banner-immersive__media :where(dia-video-player) {
  z-index: 1;
  background: transparent;
}
.page-banner-immersive__media :where(dia-video-player video) {
  opacity: 0;
  transition: opacity var(--dia-front-transition-fast) ease;
}
.page-banner-immersive__media :where(dia-video-player.is-frame-ready video) {
  opacity: 1;
}
.page-banner-immersive__entry {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: none;
  place-items: center;
  background: var(--dia-front-color-forest);
  pointer-events: none;
}
.page-banner-immersive__entry-logo-window {
  position: absolute;
  top: var(--page-banner-immersive-entry-window-top);
  left: 50%;
  width: 12.5rem;
  height: 22.2875rem;
  overflow: hidden;
  transform: translateX(-50%);
}
.page-banner-immersive__entry-logo {
  display: block;
  width: var(--page-banner-immersive-entry-logo-width);
  height: auto;
  margin-inline: auto;
}
.page-banner-immersive__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-self: end;
  align-items: center;
  width: min(100%, var(--page-banner-immersive-content-max));
  margin-inline: auto;
  padding: var(--dia-front-space-48) var(--dia-front-container-gutter) var(--dia-front-space-40);
  text-align: center;
}
.page-banner-immersive__title > :where(h1, h2, p) {
  color: inherit;
  text-shadow: var(--dia-front-shadow-text-hero);
  margin: 0;
  font-family: var(--dia-front-font-heading);
  font-size: var(--dia-front-font-size-hero-title);
  font-weight: var(--dia-front-font-weight-heading);
  line-height: var(--dia-front-line-height-solid);
}
.page-banner-immersive__strapline {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 0.28em;
  max-width: var(--page-banner-immersive-copy-max);
  margin-top: var(--dia-front-space-16);
  font-size: var(--dia-front-font-size-body-large);
  line-height: var(--dia-front-line-height-body);
}
.page-banner-immersive__strapline-part :where(h1, p) {
  margin: 0;
  color: inherit;
  font: inherit;
}

html.is-dia-home-entry .page-banner-immersive {
  background: var(--dia-front-color-forest);
}
html.is-dia-home-entry .page-banner-immersive__entry {
  display: grid;
  clip-path: inset(0 0 0 0);
  transition: clip-path var(--page-banner-immersive-entry-step) var(--page-banner-immersive-entry-easing);
}
html.is-dia-home-entry .page-banner-immersive__entry-logo-window {
  animation: page-banner-immersive-logo-reveal var(--page-banner-immersive-entry-step) var(--page-banner-immersive-entry-easing) both;
}
html.is-dia-home-entry .page-banner-immersive__content {
  transform: translateY(var(--page-banner-immersive-content-entry-offset, 0px));
  transition: transform var(--page-banner-immersive-entry-step) var(--page-banner-immersive-entry-easing);
}

html.is-dia-home-entry.is-dia-home-entry-wiping .page-banner-immersive__entry {
  clip-path: inset(0 0 100% 0);
}

html.is-dia-home-entry.is-dia-home-entry-wiping .page-banner-immersive__content {
  transform: translateY(0);
}

@keyframes page-banner-immersive-logo-reveal {
  from {
    clip-path: inset(100% 0 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-banner-immersive__media :where(dia-video-player video) {
    transition: none;
  }
}
@media (max-width: 61.9375rem) {
  .page-banner-immersive {
    --page-banner-immersive-content-entry-offset: 8rem;
  }
  .page-banner-immersive__media :where(dia-video-player) {
    display: none;
  }
  .page-banner-immersive__content {
    padding-bottom: calc(2 * var(--dia-front-space-48) + env(safe-area-inset-bottom));
  }
}
@media (max-width: 39.9375rem) {
  .page-banner-immersive {
    --page-banner-immersive-entry-logo-width: 7.5rem;
    --page-banner-immersive-entry-window-top: calc(50% - 8rem);
  }
  .page-banner-immersive__title > :where(h1, h2, p) {
    font-size: var(--dia-front-font-size-section-title-mobile);
    line-height: var(--dia-front-line-height-solid);
  }
  .page-banner-immersive__strapline {
    font-size: var(--dia-front-font-size-body);
  }
}
@media (prefers-reduced-motion: reduce) {
  html.is-dia-home-entry .page-banner-immersive__entry {
    display: none;
  }
  html.is-dia-home-entry .page-banner-immersive__content {
    transform: none;
    transition: none;
  }
}
.camping-page-banner {
  --camping-page-banner-height: 32.3125rem;
  --camping-page-banner-bottom-offset: 2.625rem;
  --camping-page-banner-content-max: 57.5rem;
  position: relative;
  display: grid;
  min-height: min(var(--camping-page-banner-height), var(--dia-front-banner-max-height));
  max-height: var(--dia-front-banner-max-height);
  overflow: hidden;
  isolation: isolate;
  color: var(--dia-front-color-white);
  background: var(--dia-front-color-ink-deep);
}
.camping-page-banner::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: var(--dia-front-gradient-hero-scrim);
  content: "";
  z-index: 1;
}
.camping-page-banner__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.camping-page-banner__media,
.camping-page-banner__media > *,
.camping-page-banner__media :where(.supermedia-image, .supermedia-video, .supermedia-swiper, .supermedia-gallery-swiper),
.camping-page-banner__media :where(.swiper-container, .swiper-wrapper, .swiper-slide) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.camping-page-banner__media :where(img, video, hls-video) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.camping-page-banner__media :where(.swiper-actions) {
  display: none;
}
.camping-page-banner__content {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  display: grid;
  gap: var(--dia-front-space-16);
  align-self: end;
  justify-items: center;
  width: min(100%, var(--camping-page-banner-content-max));
  margin-inline: auto;
  padding: 0 var(--dia-front-container-gutter) var(--camping-page-banner-bottom-offset);
  text-align: center;
}
.camping-page-banner__title :where(h1) {
  color: inherit;
  text-shadow: var(--dia-front-shadow-text-hero);
  margin: 0;
  font-family: var(--dia-front-font-heading);
  font-size: var(--dia-front-font-size-section-title-mobile);
  font-weight: var(--dia-front-font-weight-heading);
  line-height: var(--dia-front-line-height-solid);
}
.camping-page-banner__signature :where(p, span) {
  margin: 0;
  color: inherit;
  font-family: var(--dia-front-font-heading);
  font-size: var(--dia-front-font-size-body-small);
  font-weight: var(--dia-front-font-weight-heading);
  letter-spacing: 0.05em;
  line-height: var(--dia-front-line-height-medium);
}

@media (min-width: 62rem) {
  .camping-page-banner {
    --camping-page-banner-height: 28.75rem;
    --camping-page-banner-bottom-offset: 2.5625rem;
  }
  .camping-page-banner__title :where(h1) {
    font-size: var(--dia-front-font-size-hero-title);
  }
  .camping-page-banner__signature :where(p, span) {
    font-size: var(--dia-front-font-size-body);
  }
}
.page-banner-interior {
  --page-banner-height: 32.3125rem;
  --page-banner-bottom: 2.625rem;
  --page-banner-content-width: 92.5%;
  --page-banner-content-max: 57.5rem;
  position: relative;
  display: grid;
  min-height: min(var(--page-banner-height), var(--dia-front-banner-max-height));
  max-height: var(--dia-front-banner-max-height);
  overflow: hidden;
  isolation: isolate;
  color: var(--dia-front-color-white);
  background: var(--dia-front-color-ink-deep);
}
.page-banner-interior--without-media {
  --page-banner-height: var(--dia-front-space-224);
  background: var(--dia-front-color-forest);
}
.page-banner-interior--without-media::after {
  content: none;
}
.page-banner-interior--without-media .page-banner-interior__content {
  align-self: end;
}
.page-banner-interior::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: var(--dia-front-gradient-interior-scrim);
  content: "";
  z-index: 1;
}
.page-banner-interior__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.page-banner-interior__media,
.page-banner-interior__media > *,
.page-banner-interior__media :where(.supermedia-image, .supermedia-video, .supermedia-swiper, .supermedia-gallery-swiper),
.page-banner-interior__media :where(.swiper-container, .swiper-wrapper, .swiper-slide) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.page-banner-interior__media :where(img, video, hls-video) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-banner-interior__media :where(.swiper-actions) {
  display: none;
}
.page-banner-interior__content {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  display: grid;
  gap: var(--dia-front-space-16);
  align-self: end;
  justify-items: center;
  width: min(var(--page-banner-content-width), var(--page-banner-content-max));
  min-width: 0;
  margin-inline: auto;
  padding-block-end: var(--page-banner-bottom);
  text-align: center;
}
.page-banner-interior__title :where(h1) {
  color: inherit;
  text-shadow: var(--dia-front-shadow-text-hero);
  margin: 0;
  font-family: var(--dia-front-font-heading);
  font-size: var(--dia-front-font-size-section-title-mobile);
  font-weight: var(--dia-front-font-weight-heading);
  line-height: var(--dia-front-line-height-solid);
}
.page-banner-interior__signature {
  margin: 0;
  color: inherit;
  font-family: var(--dia-front-font-heading);
  font-size: var(--dia-front-font-size-body-small);
  font-weight: var(--dia-front-font-weight-heading);
  line-height: var(--dia-front-line-height-medium);
}
.page-banner-interior__signature :where(p, span) {
  margin: 0;
  font: inherit;
  color: inherit;
}
.page-banner-interior--signature-primary .page-banner-interior__signature {
  font-size: var(--dia-front-font-size-section-title-mobile);
  line-height: var(--dia-front-line-height-solid);
}
.page-banner-interior--signature-primary .page-banner-interior__title :where(h1) {
  font-size: var(--dia-front-font-size-body-small);
  line-height: var(--dia-front-line-height-medium);
}

@media (min-width: 62rem) {
  .page-banner-interior {
    --page-banner-height: 28.75rem;
    --page-banner-bottom: 2.5625rem;
    --page-banner-content-width: 100%;
  }
  .page-banner-interior--title-primary.page-banner-interior--without-signature {
    --page-banner-bottom: calc(2.5625rem + var(--dia-front-space-16) + 1.25rem);
  }
  .page-banner-interior__title :where(h1), .page-banner-interior--signature-primary .page-banner-interior__signature {
    font-size: var(--dia-front-font-size-hero-title);
  }
  .page-banner-interior__signature {
    font-size: var(--dia-front-font-size-body);
  }
  .page-banner-interior--without-media .page-banner-interior__title :where(h1) {
    font-size: var(--dia-front-font-size-section-title);
  }
  .page-banner-interior--signature-primary .page-banner-interior__title :where(h1) {
    font-size: var(--dia-front-font-size-body);
  }
}
.page-banner-interior__signature :where(h2) {
  margin: 0;
  color: inherit;
  font: inherit;
}
