#hero-inner.hero-region { background: #fff; }
#hero-inner .treas-hero-slider { position: relative; overflow: hidden; }
#hero-inner .treas-hero-slider__viewport { overflow: hidden; touch-action: pan-y; }
#hero-inner .treas-hero-slider__track { display: flex; touch-action: pan-y; transition: transform .5s ease; }
#hero-inner .treas-hero-slider__slide { flex: 0 0 100%; min-width: 0; position: relative; }
#hero-inner .treas-slideshow { height: 450px; min-height: 450px; position: relative; }
#hero-inner .slide__image, #hero-inner .slide__image .field-content { height: 100%; min-height: 445px; }
#hero-inner .slide__image .field-content { background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; }
#hero-inner .treas-hero--image { background-position: 50% 50%; }
#hero-inner .slide__image img { display: block; height: 100%; min-height: 445px; object-fit: cover; opacity: 0; width: 100%; }
#hero-inner .slide__overlay { inset: 0; position: absolute; }
#hero-inner .hp-hero__content { align-items: center; display: flex; height: 445px; }
#hero-inner .treas-hero-card { background: transparent; box-shadow: 0 2px 11px rgba(0,0,0,.5); margin: 3rem 0; padding: 1.764rem; }
#hero-inner .treas-hero-card--title h2 { color: #323a45; font-family: "Merriweather Web", Georgia, serif; font-size: 2.47rem; font-weight: 300; letter-spacing: -.1rem; line-height: 1.1; }
#hero-inner .treas-hero-card--text { color: #323a45; font-size: 1rem; margin-bottom: .588rem; margin-top: 1.176rem; }
/* Keep every selector inside the banner. The grid adds columns/rows as
   needed; compact visual dots retain separate 24px pointer targets. */
#hero-inner .treas-hero-slider__dots { --hero-dot-size: 12px; --hero-dot-target: 24px; --hero-dot-columns: 1; align-content: center; display: grid; gap: 2px; grid-auto-flow: column; grid-template-columns: repeat(var(--hero-dot-columns), var(--hero-dot-target)); grid-template-rows: repeat(var(--hero-dot-rows, 5), var(--hero-dot-target)); list-style: none; margin: 0; padding: 0; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); z-index: 2; }
#hero-inner .treas-hero-slider__dots li { margin: 0; padding: 0; }
#hero-inner .treas-hero-slider__dots button { align-items: center; appearance: none; background: none; border: 0; border-radius: 50%; cursor: pointer; display: flex; font-size: 0; height: var(--hero-dot-target); justify-content: center; margin: 0; padding: 0; text-indent: -999999px; width: var(--hero-dot-target); }
#hero-inner .treas-hero-slider__dots button::before { border: 2px solid #fff; border-radius: 50%; box-sizing: border-box; content: ""; display: block; height: var(--hero-dot-size); width: var(--hero-dot-size); }
#hero-inner .treas-hero-slider__dots .is-active button::before { background-color: #fff; }
#hero-inner .treas-hero-slider__dots button:focus-visible { outline: 2px solid #fff; outline-offset: -2px; box-shadow: 0 0 0 2px #005ea2; }
#hero-inner .treas-hero-slider__toggle { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; z-index: 3; }
#hero-inner .treas-hero-slider__toggle:focus { clip: auto; height: auto; overflow: visible; position: absolute; right: 1rem; top: 1rem; width: auto; }
#hero-inner .treas-hero-slider--fallback { padding-bottom: 4rem; padding-top: 4rem; }
/* Match the source hero: long cards expand the slide above its minimum
   height instead of clipping or shifting the following homepage sections. */
@media (min-width: 640px) {
  #hero-inner .treas-slideshow { height: auto; }
  #hero-inner .slide__image { position: absolute; inset: 0; }
  #hero-inner .slide__overlay { position: relative; inset: auto; }
  #hero-inner .hp-hero__content { height: auto; min-height: 445px; }
}
@media (max-width: 639px) {
  #hero-inner .treas-slideshow, #hero-inner .slide__image, #hero-inner .slide__image .field-content, #hero-inner .slide__image img { height: 445px; min-height: 445px; }
  #hero-inner .slide__overlay { align-items: end; display: flex; }
  #hero-inner .treas-hero-card--title h2 { font-size: 1.8rem; }
  /* Give wrapped controls their own space below the card on narrow screens. */
  #hero-inner .treas-hero-slider--dense-dots .treas-slideshow { height: auto; padding-bottom: calc(var(--hero-dot-panel-height) + 24px); }
  #hero-inner .treas-hero-slider--dense-dots .slide__image { height: 100%; position: absolute; inset: 0; }
  #hero-inner .treas-hero-slider--dense-dots .slide__overlay { height: auto; min-height: 445px; position: relative; }
  #hero-inner .treas-hero-slider--dense-dots .hp-hero__content { height: auto; min-height: 445px; }
  #hero-inner .treas-hero-slider__dots { bottom: 12px; grid-auto-flow: row; left: 50%; right: auto; top: auto; transform: translateX(-50%); }
}
@media (min-width: 640px) and (max-width: 799px) {
  #hero-inner .treas-hero-card--title h2 { font-size: 1.8rem; }
}
@media (prefers-reduced-motion: reduce) {
  #hero-inner .treas-hero-slider__track { transition: none; }
}
