/** Shopify CDN: Minification failed

Line 435:9 Unexpected "{"
Line 435:18 Expected ":"
Line 436:9 Unexpected "{"
Line 436:18 Expected ":"
Line 437:9 Unexpected "{"
Line 437:18 Expected ":"
Line 438:9 Unexpected "{"
Line 438:18 Expected ":"
Line 445:9 Unexpected "{"
Line 445:18 Expected ":"
... and 58 more hidden warnings

**/
/* section-video-banner.css - Optimized */

/* Load Kristi Regular from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Kristi&display=swap');

/* ===== CORE BANNER LAYOUT ===== */
.banner {
  display: flex;
  position: relative;
  flex-direction: column;
  z-index: auto;
  isolation: isolate;
}

.banner__box {
  text-align: center;
  padding: 4rem 1.5rem;
  position: relative;
  height: fit-content;
  align-items: center;
  width: 100%;
  word-wrap: break-word;
  z-index: 1;
}

.banner__content {
  padding: 0;
  display: flex;
  position: relative;
  width: 100%;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.banner__media {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

/* ===== DESKTOP STYLES (750px+) ===== */
@media screen and (min-width: 750px) {
  .banner {
    flex-direction: row;
  }

  .banner__content {
    padding: 5rem;
  }

  .banner__box {
    padding: 4rem 3.5rem;
    width: auto;
    max-width: 71rem;
    min-width: 45rem;
  }

  /* Content Alignment */
  .banner__content.banner__content--top-left,
  .banner--content-align-left .banner__box {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }

  .banner__content.banner__content--top-center {
    align-items: flex-start;
    justify-content: center;
  }

  .banner__content.banner__content--top-right,
  .banner--content-align-right .banner__box {
    align-items: flex-start;
    justify-content: flex-end;
    text-align: right;
  }

  .banner__content.banner__content--middle-left {
    align-items: center;
    justify-content: flex-start;
  }

  .banner__content.banner__content--middle-center {
    align-items: center;
    justify-content: center;
  }

  .banner__content.banner__content--middle-right {
    align-items: center;
    justify-content: flex-end;
  }

  .banner__content.banner__content--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }

  .banner__content.banner__content--bottom-center {
    align-items: flex-end;
    justify-content: center;
  }

  .banner__content.banner__content--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }

  /* Desktop Transparent */
  .banner--desktop-transparent .banner__box {
    padding: 4rem 0;
    background: transparent;
    max-width: 96rem;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .banner--desktop-transparent .button--secondary {
    --alpha-button-background: 0;
  }

  .banner--desktop-transparent .content-container:after {
    display: none;
  }

  .banner--content-align-left.banner--desktop-transparent .banner__box,
  .banner--content-align-right.banner--desktop-transparent .banner__box,
  .banner--medium.banner--desktop-transparent .banner__box {
    max-width: 72rem;
  }

  /* Banner Sizes */
  .banner--small:not(.banner--adapt) {
    min-height: 42rem;
  }

  .banner--medium:not(.banner--adapt) {
    min-height: 56rem;
  }

  .banner--large:not(.banner--adapt) {
    min-height: 72rem;
  }
}

@media screen and (min-width: 1400px) {
  .banner__box {
    max-width: 100rem;
  }
}

/* ===== MOBILE STYLES (max-width: 749px) ===== */
@media screen and (max-width: 749px) {
  .banner {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .banner--mobile-bottom .banner__box {
    padding: 4rem 3.5rem;
  }

  .banner--mobile-bottom .banner__content {
    order: 2;
  }

  .banner--mobile-bottom .banner__media {
    position: relative;
  }

  /* Mobile Content Alignment */
  .banner--content-align-mobile-right .banner__box {
    text-align: right;
  }

  .banner--content-align-mobile-left .banner__box {
    text-align: left;
  }

  /* Mobile Transparent */
  .banner:not(.banner--mobile-bottom):not(.email-signup-banner) .banner__box {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .banner:not(.banner--mobile-bottom) .button--secondary {
    --alpha-button-background: 0;
  }

  .banner:not(.banner--mobile-bottom) .field__input,
  .banner--mobile-bottom .banner__box.color-scheme-1 {
    background: transparent;
  }

  .banner::before {
    display: none !important;
  }

  .banner--mobile-bottom::after,
  .banner--mobile-bottom .banner__media::after {
    display: none;
  }

  /* Mobile Banner Sizes */
  .banner--small.banner--mobile-bottom .banner__media {
    height: 28rem;
  }

  .banner--medium.banner--mobile-bottom .banner__media > .banner__media {
    height: 34rem;
  }

  .banner--large.banner--mobile-bottom .banner__media > .banner__media {
    height: 39rem;
  }

  .banner--small:not(.banner--mobile-bottom) .banner__content {
    min-height: 28rem;
  }

  .banner--medium:not(.banner--mobile-bottom) .banner__content {
    min-height: 34rem;
  }

  .banner--large:not(.banner--mobile-bottom) .banner__content {
    min-height: 39rem;
  }
}

/* ===== VIDEO BACKGROUND SPECIFIC ===== */
.media.video-background > *:not(.zoom) {
  height: auto;
}

.banner__media,
.banner:after,
.banner__media:after {
  background: none;
}

/* Video Banner Heights - Mobile */
@media screen and (max-width: 749px) {
  .banner.video-background {
    min-height: 100vh !important;
    height: auto !important;
  }

  .banner.video-background:not(.banner--mobile-bottom) .banner__content {
    min-height: 80vh !important;
    align-items: center !important;
    padding-top: 3rem !important;
  }

  .banner.video-background .banner__media {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
  }

  .banner.video-background .banner__media video {
    width: 100% !important;
    height: 100% !important;
    min-height: 100vh !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  .button {
    min-height: calc(3.5rem + var(--buttons-border-width) * 2);
    font-size: 1.2rem; /* CHANGES VIDEO BANNER BUTTON SIZE - MOBILE */
  }

  .banner__heading.h0 {
    line-height: 2rem;
    font-size: calc(var(--font-heading-scale) * 3rem);
  }
}

/* Video Banner Heights - Desktop */
@media screen and (min-width: 750px) {
  .banner.video-background,
  .banner.video-background .banner__media,
  .banner.video-background .banner__media video,
  .banner.video-background .banner__content {
    height: 720px !important;
    min-height: 720px !important;
    max-height: 720px !important;
    overflow: hidden !important;
  }

  .banner.video-background .banner__media video {
    width: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .banner.video-background .banner__content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Force transparent backgrounds */
  .banner.video-background .banner__box,
  .banner.video-background .content-container,
  .banner.video-background .content-container.gradient,
  .banner.video-background .content-container[class*="color-"] {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
  }

  .banner.video-background::after,
  .banner.video-background .banner__box::after,
  .banner.video-background .content-container::after {
    background: transparent !important;
    opacity: 0 !important;
    display: none !important;
  }
}

/* ===== TYPOGRAPHY - HEADING ===== */
.banner__heading {
  margin: 0;
  font-family: 'Kristi', cursive;
  font-weight: 600;
  font-size: 102pt; /* CHANGES VIDEO BANNER HEADING SIZE - DESKTOP */
  color: #000000;
  line-height: 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  white-space: pre-line;
}

/* Mobile Heading Override */
@media screen and (max-width: 749px) {
  .banner__heading,
  .banner__heading.inline-richtext,
  .banner__heading * {
    font-family: "Merriweather", Georgia, serif !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    font-size: 72pt !important; /* CHANGES VIDEO BANNER HEADING SIZE - MOBILE */
    line-height: 1.05 !important;
  }
}

/* ===== TYPOGRAPHY - SUBTITLE ===== */
.banner__text {
  font-family: 'Charter', cursive;
  font-size: 50pt; /* CHANGES VIDEO BANNER TEXT SIZE - BASE */
  color: #fff;
  margin-top: 0;
  line-height: 1;
}

.banner__text p {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Merriweather", Georgia, serif !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: .01em !important;
  text-wrap: balance;
  -webkit-font-smoothing: antialiased;
}

/* ===== SPACING & LAYOUT ===== */
.banner__box > * + .banner__text {
  margin-top: 1.5rem;
}

@media screen and (min-width: 750px) {
  .banner__box > * + .banner__text {
    margin-top: 2rem;
  }
}

.banner__box > * + * {
  margin-top: 1rem;
}

.banner__box > *:first-child {
  margin-top: 0;
}

.banner__box .banner__heading + * {
  margin-top: 1rem;
}

.banner__box > * + .banner__buttons {
  margin-top: 2rem;
}

.banner::after,
.banner__media::after {
  content: '';
  position: absolute;
  top: 0;
  background: #000000;
  opacity: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

/* ===== SECTION-SPECIFIC OVERRIDES ===== */

/* Tight Heading Spacing */
#Banner-{{ section.id }} .banner__box > .banner__heading,
#Banner-{{ section.id }} .banner__box > .inline-richtext.banner__heading,
#Banner-{{ section.id }} .banner__box > h1.banner__heading,
#Banner-{{ section.id }} .banner__box > h2.banner__heading {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: block !important;
}

#Banner-{{ section.id }} .banner__box > .banner__heading + .banner__heading,
#Banner-{{ section.id }} .banner__box > .inline-richtext.banner__heading + .inline-richtext.banner__heading {
  margin-top: 0.06em !important;
  padding-top: 0 !important;
}

#Banner-{{ section.id }} .banner__box > * + .banner__heading {
  margin-top: 0 !important;
}

#Banner-{{ section.id }} .inline-richtext.banner__heading p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* Heading Width Control */
#Banner-{{ section.id }} .banner__heading {
  display: inline-block !important;
  max-width: 90ch !important;
  white-space: normal !important;
  word-break: normal !important;
  hyphens: auto !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media screen and (min-width: 1200px) {
  #Banner-{{ section.id }} .banner__heading {
    max-width: 90ch !important;
    font-size: 102pt !important; /* CHANGES VIDEO BANNER HEADING SIZE - LARGE DESKTOP */
  }
}

@media screen and (min-width: 750px) and (max-width: 1199px) {
  #Banner-{{ section.id }} .banner__heading {
    max-width: 670ch !important;
    font-size: 102pt !important; /* CHANGES VIDEO BANNER HEADING SIZE - TABLET */
  }
}

@media screen and (max-width: 749px) {
  #Banner-{{ section.id }} .banner__heading {
    max-width: 36ch !important;
    font-size: 72pt !important; /* CHANGES VIDEO BANNER HEADING SIZE - MOBILE (OVERRIDE) */
    line-height: 1.05 !important;
  }
}

/* Subtitle Width Control */
#Banner-{{ section.id }} .banner__text,
#Banner-{{ section.id }} .banner__text p {
  display: inline-block !important;
  max-width: 90ch !important;
  white-space: normal !important;
  word-break: normal !important;
  hyphens: auto !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media screen and (min-width: 1200px) {
  #Banner-{{ section.id }} .banner__text,
  #Banner-{{ section.id }} .banner__text p {
    max-width: 90ch !important;
    font-size: 1.75rem !important; /* CHANGES VIDEO BANNER TEXT SIZE - LARGE DESKTOP */
  }
}

@media screen and (min-width: 750px) and (max-width: 1199px) {
  #Banner-{{ section.id }} .banner__text,
  #Banner-{{ section.id }} .banner__text p {
    max-width: 80ch !important;
    font-size: 1.15rem !important; /* CHANGES VIDEO BANNER TEXT SIZE - TABLET */
  }
}

@media screen and (max-width: 749px) {
  #Banner-{{ section.id }} .banner__text,
  #Banner-{{ section.id }} .banner__text p {
    max-width: 36ch !important;
    font-size: 1rem !important; /* CHANGES VIDEO BANNER TEXT SIZE - MOBILE */
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* ===== BUTTONS ===== */
#Banner-{{ section.id }} .banner__buttons > a {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 1rem !important;
  padding: 0.9rem 2.6rem !important;
  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
  background-clip: padding-box !important;
  -webkit-font-smoothing: antialiased !important;
  border: none !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform, box-shadow;
  
  /* Typography */
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 1.45rem !important; /* CHANGES VIDEO BANNER BUTTON SIZE - DESKTOP */
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  line-height: 1 !important;
}

/* Button Spacing */
#Banner-{{ section.id }} .banner__buttons > a + a {
  margin-left: 1.6rem !important;
}

/* Primary Button */
#Banner-{{ section.id }} .banner__buttons > a:first-of-type {
  background: #2f59d9 !important;
  color: #ffffff !important;
  box-shadow:
    inset 0 0 0 3px rgba(0,0,0,0.25) !important,
    0 8px 22px rgba(0,0,0,0.18) !important;
  transition: transform .14s ease, box-shadow .14s ease !important;
}

/* Secondary Button */
#Banner-{{ section.id }} .banner__buttons > a:nth-of-type(2) {
  background: #e08a00 !important;
  color: #ffffff !important;
  box-shadow:
    inset 0 0 0 3px rgba(0,0,0,0.18) !important,
    0 6px 18px rgba(0,0,0,0.14) !important;
  transition: transform .14s ease, box-shadow .14s ease !important;
}

/* Button Hover States */
#Banner-{{ section.id }} .banner__buttons > a:hover {
  transform: translateY(-3px) translateZ(0) !important;
  box-shadow:
    inset 0 0 0 3px rgba(0,0,0,0.18) !important,
    0 18px 36px rgba(0,0,0,0.20) !important;
}

#Banner-{{ section.id }} .banner__buttons > a:first-of-type:hover {
  box-shadow:
    inset 0 0 0 3px rgba(0,0,0,0.25) !important,
    0 12px 30px rgba(0,0,0,0.22) !important;
}

#Banner-{{ section.id }} .banner__buttons > a:nth-of-type(2):hover {
  box-shadow:
    inset 0 0 0 3px rgba(0,0,0,0.18) !important,
    0 10px 24px rgba(0,0,0,0.18) !important;
}

/* Button Focus State */
#Banner-{{ section.id }} .banner__buttons > a:focus {
  outline: none !important;
  box-shadow:
    inset 0 0 0 3px rgba(0,0,0,0.25) !important,
    0 0 0 4px rgba(0,0,0,0.12) !important;
}

/* Button Shadow Pseudo-element */
#Banner-{{ section.id }} .banner__buttons > a::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  z-index: -1;
  pointer-events: none;
  box-shadow: 0 8px 22px rgba(0,0,0,0.18);
  transition: box-shadow .14s ease, transform .14s ease;
}

#Banner-{{ section.id }} .banner__buttons > a:hover::after {
  box-shadow: 0 18px 36px rgba(0,0,0,0.22);
}

/* Mobile Button Styles */
@media screen and (max-width: 749px) {
  #Banner-{{ section.id }} .banner__buttons > a {
    font-size: 1.0rem !important; /* CHANGES VIDEO BANNER BUTTON SIZE - MOBILE (OVERRIDE) */
    padding: 0.7rem 1.8rem !important;
  }
}

/* ===== ACCESSIBILITY & RICH TEXT ===== */
@media screen and (max-width: 749px) {
  .banner:not(.slideshow) .rte a,
  .banner:not(.slideshow) .inline-richtext a:hover,
  .banner:not(.slideshow) .rte a:hover {
    color: currentColor;
  }
}

@media screen and (min-width: 750px) {
  .banner--desktop-transparent .rte a,
  .banner--desktop-transparent .inline-richtext a:hover,
  .banner--desktop-transparent .rte a:hover {
    color: currentColor;
  }
}

/* Optical centering adjustment for Kristi font overhang */
@media (min-width: 750px) {
  #Banner-{{ section.id }} .banner__box {
    --optical-nudge: 10px;
  }
  
  #Banner-{{ section.id }} .banner__heading,
  #Banner-{{ section.id }} .banner__text {
    transform: translateX(var(--optical-nudge));
  }
}