@charset "UTF-8";
/* ==========================================================================
   Block: Scroller Hero
   Scoped styles only — typography via utilities in render.php.
   ========================================================================== */
/* Shared stage chrome (also available as assets/animations/.../conductor.css). */
/**
 * Homepage hero stage — conductor chrome.
 *
 * Scene-specific styles stay inline in each scenes/*.html partial.
 */
.spx-stage {
  position: relative;
  max-width: 650px;
  width: 100%;
  aspect-ratio: 650/377;
}

.spx-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
  display: flex;
  align-items: center;
}

.spx-slide.on {
  opacity: 1;
  pointer-events: auto;
}

.spx-slide .spx-illo {
  width: 100%;
}

.spx-carrier {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 6;
  transition: all 0.7s cubic-bezier(0.65, 0.05, 0.3, 1);
}

.spx-nav {
  position: absolute;
  left: 0;
  bottom: -38px;
  display: flex;
  gap: 9px;
  align-items: center;
}

.spx-navdot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: none;
  background: #fff;
  opacity: 0.25;
  cursor: pointer;
  transition: 0.3s;
  padding: 0;
}

.spx-navdot.on {
  opacity: 1;
  background: #00bb13;
  transform: scale(1.3);
}

.spx-playpause {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  background: transparent;
  color: #fff;
  cursor: pointer;
  padding: 0;
  display: grid;
  place-items: center;
  margin-right: 6px;
  transition: 0.3s;
}

.spx-playpause:hover {
  border-color: #fff;
}

.spx-playpause .i-play {
  display: none;
}

.spx-playpause.paused .i-pause {
  display: none;
}

.spx-playpause.paused .i-play {
  display: block;
}

@media (max-width: 640px) {
  .spx-navdot {
    pointer-events: none;
    width: 7px;
    height: 7px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .spx-slide {
    transition: opacity 0.25s ease;
  }
  .spx-carrier {
    transition: none;
    display: none;
  }
}
.spektrix-scroller-hero {
  --spektrix-scroller-hero-gap: var(--wp--style--block-gap, 1.5rem);
  --spektrix-scroller-hero-wide-size: var(--wp--style--global--wide-size, 1200px);
  --spektrix-scroller-hero-word-step: 1.1em;
  --spektrix-scroller-hero-word-offset: 0px;
  --spektrix-scroller-hero-word-width: auto;
  --spektrix-scroller-hero-padding-top-multiplier: 4;
  --spektrix-scroller-hero-padding-bottom-multiplier: 6;
  box-sizing: border-box;
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
  background-color: var(--wp--preset--color--navy);
  padding: calc(var(--spektrix-scroller-hero-gap) * var(--spektrix-scroller-hero-padding-top-multiplier)) var(--spektrix-scroller-hero-gap) calc(var(--spektrix-scroller-hero-gap) * var(--spektrix-scroller-hero-padding-bottom-multiplier));
}
.spektrix-scroller-hero.spektrix-block-spacing--pt-compact {
  padding-top: calc(var(--spektrix-scroller-hero-gap) * 1.5);
}
.spektrix-scroller-hero.spektrix-block-spacing--pt-comfortable {
  padding-top: calc(var(--spektrix-scroller-hero-gap) * 2);
}
.spektrix-scroller-hero.spektrix-block-spacing--pt-spacious {
  padding-top: calc(var(--spektrix-scroller-hero-gap) * 4);
}
.spektrix-scroller-hero.spektrix-block-spacing--pt-extra-spacious {
  padding-top: calc(var(--spektrix-scroller-hero-gap) * 5);
}
.spektrix-scroller-hero.spektrix-block-spacing--pt-maximum {
  padding-top: calc(var(--spektrix-scroller-hero-gap) * 6);
}
.spektrix-scroller-hero.spektrix-block-spacing--pt-none {
  padding-top: 0;
}
.spektrix-scroller-hero.spektrix-block-spacing--pb-compact {
  padding-bottom: calc(var(--spektrix-scroller-hero-gap) * 1.5);
}
.spektrix-scroller-hero.spektrix-block-spacing--pb-comfortable {
  padding-bottom: calc(var(--spektrix-scroller-hero-gap) * 2);
}
.spektrix-scroller-hero.spektrix-block-spacing--pb-spacious {
  padding-bottom: calc(var(--spektrix-scroller-hero-gap) * 4);
}
.spektrix-scroller-hero.spektrix-block-spacing--pb-extra-spacious {
  padding-bottom: calc(var(--spektrix-scroller-hero-gap) * 5);
}
.spektrix-scroller-hero.spektrix-block-spacing--pb-maximum {
  padding-bottom: calc(var(--spektrix-scroller-hero-gap) * 6);
}
.spektrix-scroller-hero.spektrix-block-spacing--pb-none {
  padding-bottom: 0;
}
.spektrix-scroller-hero__container {
  max-width: var(--spektrix-scroller-hero-wide-size);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}
.spektrix-scroller-hero__content {
  max-width: 34rem;
}
.spektrix-scroller-hero__heading {
  color: var(--wp--preset--color--white);
  margin: 0 0 var(--spektrix-scroller-hero-gap);
}
.spektrix-scroller-hero__heading-line {
  display: inline;
}
.spektrix-scroller-hero__heading--break-after-scroller .spektrix-scroller-hero__heading-line {
  display: block;
  max-width: 100%;
}
.spektrix-scroller-hero__heading--break-after-scroller .spektrix-scroller-hero__heading-suffix {
  display: block;
}
.spektrix-scroller-hero__heading-prefix, .spektrix-scroller-hero__heading-suffix {
  white-space: pre-wrap;
}
.spektrix-scroller-hero__word-scroller {
  display: inline-block;
  vertical-align: top;
  min-width: var(--spektrix-scroller-hero-word-width);
  max-width: 100%;
  text-align: left;
}
.spektrix-scroller-hero__word-window {
  display: block;
  height: var(--spektrix-scroller-hero-word-step);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.spektrix-scroller-hero__word-list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  transform: translateY(var(--spektrix-scroller-hero-word-offset));
  transition: transform 420ms ease;
  will-change: transform;
}
.spektrix-scroller-hero__word {
  display: flex;
  align-items: center;
  min-height: var(--spektrix-scroller-hero-word-step);
  margin: 0;
  white-space: nowrap;
  opacity: 0.45;
  transition: color 260ms ease, opacity 260ms ease;
}
.spektrix-scroller-hero__word.is-active {
  opacity: 1;
}
.spektrix-scroller-hero__subheading {
  color: var(--wp--preset--color--white);
  margin: 0 0 var(--spektrix-scroller-hero-gap);
  max-width: 30rem;
}
.spektrix-scroller-hero__body {
  color: var(--wp--preset--color--white);
  margin: 0 0 calc(var(--spektrix-scroller-hero-gap) * 1.5);
  max-width: 30rem;
}
.spektrix-scroller-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(var(--spektrix-scroller-hero-gap) * 0.75);
}
.spektrix-scroller-hero__secondary-button-wrap .btn.btn--inline-icon {
  gap: 12px;
}
.spektrix-scroller-hero__media-wrap {
  width: 100%;
  max-width: 625px;
  justify-self: end;
}
.spektrix-scroller-hero__media {
  width: 100%;
}
.spektrix-scroller-hero__media--image {
  overflow: hidden;
}
.spektrix-scroller-hero__image {
  display: block;
  width: 100%;
  height: auto;
  object-position: center;
}
.spektrix-scroller-hero--image-radius-none .spektrix-scroller-hero__media--image, .spektrix-scroller-hero--image-radius-none .spektrix-scroller-hero__image {
  border-radius: 0;
}
.spektrix-scroller-hero--image-radius-xs .spektrix-scroller-hero__media--image, .spektrix-scroller-hero--image-radius-xs .spektrix-scroller-hero__image {
  border-radius: var(--spektrix-radius-xs);
}
.spektrix-scroller-hero--image-radius-sm .spektrix-scroller-hero__media--image, .spektrix-scroller-hero--image-radius-sm .spektrix-scroller-hero__image {
  border-radius: var(--spektrix-radius-sm);
}
.spektrix-scroller-hero--image-radius-md .spektrix-scroller-hero__media--image, .spektrix-scroller-hero--image-radius-md .spektrix-scroller-hero__image {
  border-radius: var(--spektrix-radius-md);
}
.spektrix-scroller-hero--image-radius-lg .spektrix-scroller-hero__media--image, .spektrix-scroller-hero--image-radius-lg .spektrix-scroller-hero__image {
  border-radius: var(--spektrix-radius-lg);
}
.spektrix-scroller-hero--image-radius-pill .spektrix-scroller-hero__media--image, .spektrix-scroller-hero--image-radius-pill .spektrix-scroller-hero__image {
  border-radius: var(--spektrix-radius-pill);
}
.spektrix-scroller-hero--image-radius-full .spektrix-scroller-hero__media--image, .spektrix-scroller-hero--image-radius-full .spektrix-scroller-hero__image {
  border-radius: var(--spektrix-radius-full);
}
.spektrix-scroller-hero--image-fit-contain .spektrix-scroller-hero__image {
  object-fit: contain;
}
.spektrix-scroller-hero--image-fit-cover .spektrix-scroller-hero__media--image {
  aspect-ratio: 625/424;
  overflow: hidden;
}
.spektrix-scroller-hero--image-fit-cover .spektrix-scroller-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.spektrix-scroller-hero__video-wrapper {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.spektrix-scroller-hero__video-wrapper iframe,
.spektrix-scroller-hero__video-wrapper object,
.spektrix-scroller-hero__video-wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.spektrix-scroller-hero__video-modal {
  width: fit-content;
  max-width: 96vw;
  padding: 0;
  border: 0;
  background: transparent;
}
.spektrix-scroller-hero__video-modal:not([open]) {
  display: none;
}
.spektrix-scroller-hero__video-modal::backdrop {
  background: rgba(0, 0, 0, 0.72);
}
.spektrix-scroller-hero__video-modal-inner {
  position: relative;
  width: fit-content;
  max-width: 100%;
  padding: 1.5rem;
  background: var(--wp--preset--color--white, #fff);
  border-radius: var(--spektrix-radius-md, 8px);
}
.spektrix-scroller-hero__video-modal-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
}
.spektrix-scroller-hero__video-modal-body {
  width: min(96vw - 3rem, (90vh - 6rem) * 16 / 9);
  max-width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.spektrix-scroller-hero__video-modal-body iframe,
.spektrix-scroller-hero__video-modal-body video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.spektrix-scroller-hero__media--animation {
  width: 100%;
  max-width: 650px;
  /* Room for .spx-nav below the aspect-ratio stage. */
  padding-bottom: 2.5rem;
}
.spektrix-scroller-hero__media--animation .spx-stage {
  max-width: 100%;
}
@media (prefers-reduced-motion: reduce) {
  .spektrix-scroller-hero__word-list, .spektrix-scroller-hero__word {
    transition: none;
  }
}
@media (max-width: 900px) {
  .spektrix-scroller-hero {
    /* Slightly tighter default vertical padding on stacked mobile layout. */
    --spektrix-scroller-hero-padding-top-multiplier: 2.75;
    --spektrix-scroller-hero-padding-bottom-multiplier: 4;
  }
  .spektrix-scroller-hero__container {
    grid-template-columns: 1fr;
    gap: calc(var(--spektrix-scroller-hero-gap) * 2.5);
  }
  .spektrix-scroller-hero__content {
    max-width: none;
  }
  .spektrix-scroller-hero__media-wrap {
    justify-self: start;
  }
}
@media (max-width: 600px) {
  .spektrix-scroller-hero {
    padding-inline: calc(var(--spektrix-scroller-hero-gap) * 0.75);
  }
  .spektrix-scroller-hero__actions {
    align-items: flex-start;
    flex-direction: column;
  }
  .spektrix-scroller-hero {
    /* Ghost CTAs inherit .btn horizontal padding; with a transparent bg that
       reads as a left indent vs the filled primary above. Flush the icon/label. */
  }
  .spektrix-scroller-hero__secondary-button-wrap .btn.btn--ghost {
    padding-left: 14px;
    border-left-width: 0;
  }
  .spektrix-scroller-hero__word {
    white-space: normal;
  }
}

/*# sourceMappingURL=style.css.map */
