/* Hero — reproduces the Revolution Slider output with no plugin.
   Sizes and colours lifted from the original slider markup. */
.rfd-hero { position: relative; width: 100%; height: 713px; overflow: hidden; background: #1b2945; }
.rfd-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .8s ease; }
.rfd-hero__slide.is-active { opacity: 1; }
.rfd-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Scrim so the white Playfair headline stays legible over bright photographs.
   The original slider had none; this is the one deliberate change. Weighted to
   the left, where the copy sits, so the photograph stays visible on the right. */
.rfd-hero__slide::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg,
    rgba(0,0,0,.68) 0%, rgba(0,0,0,.58) 38%, rgba(0,0,0,.30) 68%, rgba(0,0,0,.18) 100%);
}
.rfd-hero__inner {
  position: relative; z-index: 2; max-width: 1380px; height: 100%;
  margin: 0 auto; padding: 0 30px;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
}
/* Scoped under .rfd-hero so it outranks the theme's `.kingster-body h1…h6
   { color:#161616 }` (0,1,1), which a bare `.rfd-hero__lead` (0,1,0) loses to
   now that the lead is a real <h1> rather than a <p>. */
.rfd-hero .rfd-hero__lead {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 40px; line-height: 80px; color: #fff; margin: 0; max-width: 20ch;
  font-weight: 700;
}
.rfd-hero__detail { margin: 0; max-width: 714px; }
.rfd-hero__detail span {
  display: inline; font-family: 'Poppins', sans-serif;
  font-size: 21px; line-height: 34px; font-weight: 300; color: #fff;
  background: #34aadc; box-shadow: 10px 0 0 #34aadc, -10px 0 0 #34aadc;
  box-decoration-break: clone; -webkit-box-decoration-break: clone;
}
.rfd-hero__dots { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; gap: 8px; z-index: 5; }
.rfd-hero__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: rgba(255,255,255,.45); }
.rfd-hero__dot.is-on { background: #4cd964; transform: scale(1.25); }
.rfd-hero__dot:focus-visible { outline: 2px solid #4cd964; outline-offset: 3px; }

@media (max-width: 1024px) { .rfd-hero { height: 768px; } }
@media (max-width: 778px)  { .rfd-hero { height: 560px; } .rfd-hero .rfd-hero__lead { font-size: 34px; line-height: 52px; } }
@media (max-width: 480px)  { .rfd-hero { height: 440px; } .rfd-hero .rfd-hero__lead { font-size: 26px; line-height: 40px; }
                             .rfd-hero__detail span { font-size: 17px; line-height: 28px; } }
@media (prefers-reduced-motion: reduce) { .rfd-hero__slide { transition: none; } }
