.pingst-slider {
  --pingst-navy: #081b30;
  --pingst-gold: #e7b23f;
  position: relative;
  width: 100%;
  color: #fff;
  background: var(--pingst-navy);
  font-family: inherit;
  overflow: hidden;
}

.pingst-slider *,
.pingst-slider *::before,
.pingst-slider *::after { box-sizing: border-box; }

.pingst-slider__viewport,
.pingst-slider__track,
.pingst-slider__slide { height: var(--pingst-height-desktop, 620px); }

.pingst-slider__viewport { position: relative; overflow: hidden; }
.pingst-slider__track { position: relative; }
.pingst-slider__slide {
  position: absolute;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--pingst-transition-duration, 650ms) ease, visibility var(--pingst-transition-duration, 650ms) ease;
}
.pingst-slider--no-transition .pingst-slider__slide { transition: none; }
.pingst-slider--desktop-ratio .pingst-slider__viewport { height: auto; aspect-ratio: var(--pingst-ratio-desktop, 16 / 9); }
.pingst-slider--desktop-ratio .pingst-slider__track { position: absolute; inset: 0; height: auto; }
.pingst-slider--desktop-ratio .pingst-slider__slide { height: auto; }
.pingst-slider__slide.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.pingst-slider__media {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  z-index: 0;
  background-color: var(--pingst-navy);
  background-position: var(--pingst-focus-x, 50%) var(--pingst-focus-y, 50%);
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(var(--pingst-zoom, 1));
  transform-origin: var(--pingst-focus-x, 50%) var(--pingst-focus-y, 50%);
}
.pingst-slider .pingst-slider__media > img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  min-width: 100%;
  min-height: 100%;
  max-width: none !important;
  max-height: none !important;
  opacity: 1;
  visibility: visible;
  object-fit: cover;
  object-position: var(--pingst-focus-x, 50%) var(--pingst-focus-y, 50%);
}
.pingst-slider__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(var(--pingst-overlay-rgb),var(--pingst-overlay, .45)) 0%, rgba(var(--pingst-overlay-rgb),var(--pingst-overlay, .45)) 46%, rgba(var(--pingst-overlay-rgb),.10) 100%),
    linear-gradient(0deg, rgba(4,17,31,.42), transparent 55%);
}

.pingst-slider__content {
  min-height: var(--pingst-panel-height, 0);
  position: absolute;
  z-index: 2;
  width: min(var(--pingst-panel-width, 55%), calc(100% - 160px));
  padding: 0;
  color: var(--pingst-text-color, #fff);
}
.pingst-slider__content.is-empty-desktop { display: none; }
.pingst-slider__content.has-panel {
  padding: var(--pingst-panel-padding, 28px);
  background: rgba(var(--pingst-panel-rgb, 6,23,42), var(--pingst-panel-opacity, .72));
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  backdrop-filter: blur(8px);
}
.pingst-slider__content h2 {
  margin: 0;
  color: inherit;
  font-family: inherit !important;
  font-size: var(--pingst-heading-size, 72px) !important;
  font-weight: var(--pingst-heading-weight, 800) !important;
  font-style: var(--pingst-heading-style, normal) !important;
  text-decoration: var(--pingst-heading-decoration, none) !important;
  line-height: .98;
  letter-spacing: -.055em;
}
.pingst-slider__content p {
  max-width: none;
  margin: var(--pingst-text-gap, 20px) 0 0;
  color: inherit;
  font-family: inherit !important;
  font-size: var(--pingst-body-size, 20px) !important;
  font-weight: var(--pingst-body-weight, 400) !important;
  font-style: var(--pingst-body-style, normal) !important;
  text-decoration: var(--pingst-body-decoration, none) !important;
  line-height: 1.55;
  opacity: .92;
}
.pingst-slider__copy--mobile { display: none; }
.pingst-slider .pingst-slider__content h2,
.pingst-slider .pingst-slider__content p,
.pingst-slider .pingst-slider__button {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.pingst-font-inherit { font-family: inherit; }
.pingst-font-system { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.pingst-font-arial { font-family: Arial, Helvetica, sans-serif; }
.pingst-font-georgia { font-family: Georgia, "Times New Roman", serif; }
.pingst-font-trebuchet { font-family: "Trebuchet MS", Arial, sans-serif; }
.pingst-font-verdana { font-family: Verdana, Geneva, sans-serif; }
.pingst-slider__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.pingst-slider__button {
  display: inline-flex;
  min-height: 49px;
  align-items: center;
  justify-content: center;
  padding: 11px 22px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.2;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease;
}
.pingst-slider__button:hover,
.pingst-slider__button:focus-visible { transform: translateY(-2px); }
.pingst-slider__button--primary { color: #07192c !important; background: var(--pingst-gold); }
.pingst-slider__button--secondary { color: inherit !important; background: rgba(7,25,44,.18); border-color: currentColor; }
.pingst-slider__button[aria-disabled="true"] { cursor: default; }

.pingst-pos-top-left { top: 7%; left: max(5%, calc((100% - 1200px) / 2)); text-align: left; }
.pingst-pos-top-center { top: 7%; left: 50%; transform: translateX(-50%); text-align: center; }
.pingst-pos-top-right { top: 7%; right: max(5%, calc((100% - 1200px) / 2)); text-align: right; }
.pingst-pos-center-left { top: 50%; left: max(5%, calc((100% - 1200px) / 2)); transform: translateY(-50%); text-align: left; }
.pingst-pos-center-center { top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; }
.pingst-pos-center-right { top: 50%; right: max(5%, calc((100% - 1200px) / 2)); transform: translateY(-50%); text-align: right; }
.pingst-pos-bottom-left { bottom: 8%; left: max(5%, calc((100% - 1200px) / 2)); text-align: left; }
.pingst-pos-bottom-center { bottom: 8%; left: 50%; transform: translateX(-50%); text-align: center; }
.pingst-pos-bottom-right { right: max(5%, calc((100% - 1200px) / 2)); bottom: 8%; text-align: right; }
.pingst-pos-free { inset: auto; top: var(--pingst-free-y, 25%); left: var(--pingst-free-x, 7%); transform: none; }
.pingst-align-left { text-align: left; }
.pingst-align-center { text-align: center; }
.pingst-align-right { text-align: right; }

@media (max-width: 767px) {
  .pingst-mobile-align-left { text-align: left !important; }
  .pingst-mobile-align-center { text-align: center !important; }
  .pingst-mobile-align-right { text-align: right !important; }
}
.pingst-align-center .pingst-slider__buttons { justify-content: center; }
.pingst-align-right .pingst-slider__buttons { justify-content: flex-end; }

.pingst-slider__arrow,
.pingst-slider__pause,
.pingst-slider__dot {
  appearance: none;
  border: 0;
  cursor: pointer;
}
.pingst-slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: #fff;
  background: rgba(4,17,31,.35);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  transform: translateY(-50%);
}
.pingst-slider__arrow:hover { background: rgba(4,17,31,.7); }
.pingst-slider__arrow svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pingst-slider__arrow--prev { left: 22px; }
.pingst-slider__arrow--next { right: 22px; }
.pingst-slider__dots {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 26px;
  display: flex;
  align-items: center;
  gap: 9px;
  transform: translateX(-50%);
}
.pingst-slider__dot {
  width: 10px;
  height: 10px;
  padding: 0;
  background: rgba(255,255,255,.48);
  border: 2px solid transparent;
  border-radius: 50%;
  transition: transform .2s ease, background .2s ease;
}
.pingst-slider__dot.is-active { background: #fff; transform: scale(1.25); }
.pingst-slider__pause {
  position: absolute;
  z-index: 4;
  right: 24px;
  bottom: 20px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #fff;
  background: rgba(4,17,31,.44);
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
}
.pingst-slider__pause-icon { position: relative; width: 12px; height: 14px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.pingst-slider__pause[aria-pressed="true"] .pingst-slider__pause-icon {
  width: 0;
  height: 0;
  margin-left: 2px;
  border-top: 7px solid transparent;
  border-right: 0;
  border-bottom: 7px solid transparent;
  border-left: 11px solid currentColor;
}
.pingst-slider :focus-visible { outline: 3px solid #ffd266; outline-offset: 3px; }
.pingst-slider-empty { padding: 24px; border: 1px dashed #a7a7a7; background: #f6f7f7; text-align: center; }

@media (max-width: 767px) {
  .pingst-slider__content h2 {
    font-weight: var(--pingst-mobile-heading-weight, 800) !important;
    font-style: var(--pingst-mobile-heading-style, normal) !important;
    text-decoration: var(--pingst-mobile-heading-decoration, none) !important;
  }
  .pingst-slider__content p {
    font-weight: var(--pingst-mobile-body-weight, 400) !important;
    font-style: var(--pingst-mobile-body-style, normal) !important;
    text-decoration: var(--pingst-mobile-body-decoration, none) !important;
  }
  .pingst-slider__viewport,
  .pingst-slider__track,
  .pingst-slider__slide { height: var(--pingst-height-mobile, 560px); }
  .pingst-slider--mobile-ratio .pingst-slider__viewport { height: auto; aspect-ratio: var(--pingst-ratio-mobile, 4 / 5); }
  .pingst-slider--mobile-ratio .pingst-slider__track { position: absolute; inset: 0; height: auto; }
  .pingst-slider--mobile-ratio .pingst-slider__slide { height: auto; }
  .pingst-slider--mobile-fixed .pingst-slider__viewport,
  .pingst-slider--mobile-fixed .pingst-slider__track,
  .pingst-slider--mobile-fixed .pingst-slider__slide { height: var(--pingst-height-mobile, 560px); aspect-ratio: auto; }
  .pingst-slider__media {
    background-position: var(--pingst-mobile-focus-x, 50%) var(--pingst-mobile-focus-y, 50%);
    transform: scale(var(--pingst-mobile-zoom, 1));
    transform-origin: var(--pingst-mobile-focus-x, 50%) var(--pingst-mobile-focus-y, 50%);
  }
  .pingst-slider .pingst-slider__media > img {
    object-position: var(--pingst-mobile-focus-x, 50%) var(--pingst-mobile-focus-y, 50%);
  }
  /* A dedicated mobile image is often a finished poster. Show the whole image
     without repeating/cropping the same poster behind it. Any unused area uses
     the slider background instead, which avoids duplicate strips above/below. */
  .pingst-slider__media.has-mobile-image {
    background-image: none !important;
    background-color: var(--pingst-navy);
    background-position: center;
  }
  .pingst-slider .pingst-slider__media.has-mobile-image > img {
    object-fit: contain;
    object-position: center;
  }
  .pingst-slider__overlay { background: linear-gradient(0deg, rgba(var(--pingst-overlay-rgb),var(--pingst-overlay, .45)) 0%, rgba(var(--pingst-overlay-rgb),var(--pingst-overlay, .45)) 58%, rgba(var(--pingst-overlay-rgb),.06) 100%); }
  .pingst-slider__content.is-empty-desktop { display: block; }
  .pingst-slider__content.is-empty-mobile { display: none; }
  .pingst-slider__content { width: min(var(--pingst-mobile-panel-width, 90%), calc(100% - 36px)); }
  .pingst-slider__content.has-panel { padding: min(var(--pingst-panel-padding, 28px), 24px); }
  .pingst-slider__content { min-height: var(--pingst-mobile-panel-height, 0); }
  .pingst-slider__content h2 { font-size: var(--pingst-mobile-heading-size, 48px) !important; }
  .pingst-slider__content p { margin-top: var(--pingst-mobile-text-gap, 14px); font-size: var(--pingst-mobile-body-size, 16px) !important; }
  .pingst-slider__content.has-mobile-copy .pingst-slider__copy--desktop { display: none; }
  .pingst-slider__content.has-mobile-copy .pingst-slider__copy--mobile { display: block; }
  .pingst-slider__buttons { gap: 9px; margin-top: 20px; }
  .pingst-slider__button { min-height: 46px; padding: 10px 15px; font-size: .76rem; }
  .pingst-slider__content.hides-mobile-buttons .pingst-slider__buttons { display: none; }
  .pingst-slider__arrow { top: auto; bottom: 18px; width: 38px; height: 38px; transform: none; }
  .pingst-slider__arrow--prev { left: 16px; }
  .pingst-slider__arrow--next { right: 16px; }
  .pingst-slider__pause { display: none; }
  .pingst-slider__dots { bottom: 32px; }

  .pingst-mobile-pos-top-left { inset: 5% auto auto 18px; transform: none; text-align: left; }
  .pingst-mobile-pos-top-center { inset: 5% auto auto 50%; transform: translateX(-50%); text-align: center; }
  .pingst-mobile-pos-top-right { inset: 5% 18px auto auto; transform: none; text-align: right; }
  .pingst-mobile-pos-center-left { inset: 50% auto auto 18px; transform: translateY(-50%); text-align: left; }
  .pingst-mobile-pos-center-center { inset: 50% auto auto 50%; transform: translate(-50%,-50%); text-align: center; }
  .pingst-mobile-pos-center-right { inset: 50% 18px auto auto; transform: translateY(-50%); text-align: right; }
  .pingst-mobile-pos-bottom-left { inset: auto auto 12% 18px; transform: none; text-align: left; }
  .pingst-mobile-pos-bottom-center { inset: auto auto 12% 50%; transform: translateX(-50%); text-align: center; }
  .pingst-mobile-pos-bottom-right { inset: auto 18px 12% auto; transform: none; text-align: right; }
  .pingst-mobile-pos-free { inset: auto; top: var(--pingst-mobile-free-y, 55%); left: var(--pingst-mobile-free-x, 5%); transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .pingst-slider__slide,
  .pingst-slider__button,
  .pingst-slider__dot { transition: none; }
}

.pingst-slider .pingst-slider__button {
  background: var(--pingst-button-background) !important;
  color: var(--pingst-button-color) !important;
  border-color: var(--pingst-button-border) !important;
  font-family: var(--pingst-button-font, inherit) !important;
  font-size: var(--pingst-button-desktop-size, 13px) !important;
  font-weight: var(--pingst-button-desktop-weight, 800) !important;
  font-style: var(--pingst-button-desktop-style, normal) !important;
  text-decoration: var(--pingst-button-desktop-decoration, none) !important;
}
@media (max-width: 767px) {
  .pingst-slider .pingst-slider__button {
    font-size: var(--pingst-button-mobile-size, 12px) !important;
    font-weight: var(--pingst-button-mobile-weight, 800) !important;
    font-style: var(--pingst-button-mobile-style, normal) !important;
    text-decoration: var(--pingst-button-mobile-decoration, none) !important;
  }
}

/* Tablet overrides retain the desktop geometry and use the same slide navigation. */
.pingst-device-variant { position: absolute; inset: 0; width: 100%; height: 100%; }
.pingst-variant-tablet { display: none; }
@media (min-width: 768px) and (max-width: 1199px) {
  .pingst-variant-standard { display: none; }
  .pingst-variant-tablet { display: block; }
}

/* Explicit image fitting overrides historical mobile-poster defaults. */
@media (min-width: 768px) {
  .pingst-slider .pingst-slider__media.pingst-fit-contain { transform: scale(var(--pingst-zoom, 1)); transform-origin: center; background-color: var(--pingst-image-background, #081b30); background-image: none !important; }
  .pingst-slider .pingst-slider__media.pingst-fit-contain > img { object-fit: contain; object-position: center; }
  .pingst-slider .pingst-slider__media.pingst-fit-cover > img { object-fit: cover; }
}
@media (max-width: 767px) {
  .pingst-slider .pingst-slider__media.pingst-mobile-fit-contain { transform: scale(var(--pingst-mobile-zoom, 1)); transform-origin: center; background-color: var(--pingst-mobile-image-background, #081b30); background-image: none !important; }
  .pingst-slider .pingst-slider__media.pingst-mobile-fit-contain > img { object-fit: contain; object-position: center; }
  .pingst-slider .pingst-slider__media.pingst-mobile-fit-cover > img { object-fit: cover; object-position: var(--pingst-mobile-focus-x,50%) var(--pingst-mobile-focus-y,50%); }
}

.pingst-solid-background { display: none; position: absolute; inset: 0; z-index: 0; }
@media (min-width: 768px) {
  [data-background-desktop="color"] > .pingst-solid-background { display: block; background: var(--pingst-solid-color, #081b30); }
  [data-background-desktop="color"] > .pingst-slider__media,
  [data-background-desktop="color"] > .pingst-slider__overlay { display: none; }
}
@media (max-width: 767px) {
  [data-background-mobile="color"] > .pingst-solid-background { display: block; background: var(--pingst-mobile-solid-color, #081b30); }
  [data-background-mobile="color"] > .pingst-slider__media,
  [data-background-mobile="color"] > .pingst-slider__overlay { display: none; }
}

.pingst-slider__content p a.pingst-body-link { color: inherit; font: inherit; text-decoration: inherit !important; }
.pingst-slider__content p a.pingst-body-link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

/* Safari fallback: keep the real image for responsive source selection, load
   checks and alt text; the picture paints the same decoded image and crop. */
.pingst-slider .pingst-slider__media.pingst-safari-background > img { opacity: 0 !important; }

/* The chosen edge color also fills the area exposed by zooming out. */
@media (min-width: 768px) {
  .pingst-slider__slide, .pingst-device-variant { background-color: var(--pingst-image-background, #081b30); }
}
@media (max-width: 767px) {
  .pingst-slider__slide, .pingst-device-variant { background-color: var(--pingst-mobile-image-background, #081b30); }
}
