/*
Theme Name: Roma Limo Services
Theme URI: https://www.romalimoservices.com
Author: DANAD for Danilo Valdambrini
Description: Custom luxury chauffeur and executive transportation theme for Roma Limo Services.
Version: 2.8.7
Text Domain: roma-limo-services
*/

/* 2.8.2 — premium visual storytelling for private day tours */
.rls-signature-moments {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 7vw, 94px) 0;
  color: var(--rls-ivory);
  background:
    radial-gradient(circle at 88% 12%, rgba(201, 162, 75, .16), transparent 32%),
    linear-gradient(145deg, #08090a 0%, #111315 58%, #171a1d 100%);
}

.rls-signature-moments::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, transparent, #000 25%, #000 75%, transparent);
}

.rls-signature-moments__heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: clamp(28px, 6vw, 86px);
  align-items: end;
  margin-bottom: clamp(34px, 5vw, 60px);
}

.rls-signature-moments__heading h2 {
  margin: 10px 0 0;
  max-width: 760px;
  font-family: var(--rls-serif);
  font-size: clamp(38px, 5vw, 70px);
  line-height: .98;
  font-weight: 400;
  letter-spacing: -.035em;
}

.rls-signature-moments__heading > p {
  margin: 0;
  max-width: 560px;
  color: var(--rls-muted);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.65;
}

.rls-signature-moments__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--rls-line);
  border-radius: var(--rls-radius);
  overflow: hidden;
  background: var(--rls-line);
}

.rls-signature-moments__grid li {
  position: relative;
  min-height: 310px;
  padding: clamp(28px, 3.4vw, 48px);
  background: linear-gradient(155deg, rgba(29,32,36,.96), rgba(12,13,14,.98));
  transition: transform .35s ease, background .35s ease;
}

.rls-signature-moments__grid li:hover {
  background: linear-gradient(155deg, rgba(38,40,43,.98), rgba(12,13,14,.98));
}

.rls-signature-moments__grid li > span {
  position: absolute;
  top: 22px;
  right: 28px;
  color: rgba(229,204,137,.18);
  font-family: var(--rls-serif);
  font-size: 70px;
  line-height: 1;
}

.rls-signature-moments__grid small {
  display: block;
  margin-bottom: 48px;
  color: var(--rls-gold-light);
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.rls-signature-moments__grid h3 {
  position: relative;
  max-width: 330px;
  margin: 0 0 18px;
  color: var(--rls-ivory);
  font-family: var(--rls-serif);
  font-size: clamp(25px, 2.2vw, 34px);
  line-height: 1.08;
  font-weight: 400;
}

.rls-signature-moments__grid p {
  position: relative;
  margin: 0;
  color: var(--rls-muted);
  line-height: 1.65;
}

@media (max-width: 820px) {
  .rls-signature-moments__heading,
  .rls-signature-moments__grid { grid-template-columns: 1fr; }
  .rls-signature-moments__grid li { min-height: 0; }
}

.rls-tour-faq {
  color: var(--rls-ivory);
  background: #0d0f10;
}

.rls-tour-faq__layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(34px, 7vw, 96px);
  align-items: start;
}

.rls-tour-faq__intro { position: sticky; top: 112px; }

.rls-tour-faq__intro h2 {
  margin: 10px 0 20px;
  color: #fff;
  font-size: clamp(34px, 4.3vw, 58px);
  line-height: 1.02;
}

.rls-tour-faq__intro > p:last-child {
  max-width: 450px;
  color: var(--rls-muted);
  line-height: 1.65;
}

.rls-tour-faq__list { border-top: 1px solid var(--rls-line); }
.rls-tour-faq__list details { border-bottom: 1px solid var(--rls-line); }

.rls-tour-faq__list summary {
  display: flex;
  min-height: 78px;
  padding: 20px 0;
  color: #f5f0e7;
  cursor: pointer;
  font-family: var(--rls-serif);
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.25;
  list-style: none;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.rls-tour-faq__list summary::-webkit-details-marker { display: none; }
.rls-tour-faq__list summary span { color: var(--rls-gold-light); transition: transform 180ms ease; }
.rls-tour-faq__list details[open] summary span { transform: rotate(45deg); }
.rls-tour-faq__list details p { margin: -4px 56px 24px 0; color: var(--rls-muted); line-height: 1.7; }

.rls-tour-showcase {
  overflow: hidden;
  padding: clamp(54px, 7vw, 96px) 0;
  color: var(--rls-ivory);
  background:
    radial-gradient(circle at 8% 0, rgba(201, 162, 75, .13), transparent 30%),
    linear-gradient(145deg, #08090a, #121517 70%);
}

.rls-tour-showcase__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr);
  gap: clamp(28px, 6vw, 88px);
  margin-bottom: clamp(34px, 5vw, 62px);
  align-items: end;
}

.rls-tour-showcase__heading h2 {
  max-width: 820px;
  margin: 10px 0 0;
  color: #fff;
  font-size: clamp(40px, 5.5vw, 74px);
  line-height: .98;
  font-weight: 400;
  letter-spacing: -.035em;
}

.rls-tour-showcase__heading > p {
  margin: 0;
  color: var(--rls-muted);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.65;
}

.rls-tour-showcase__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
}

.rls-tour-showcase__card {
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, .24);
  border-radius: 20px;
  background: linear-gradient(155deg, #1b1e21, #101214);
  box-shadow: 0 22px 58px rgba(0, 0, 0, .25);
  transition: transform .35s ease, border-color .35s ease;
}

.rls-tour-showcase__card:hover { transform: translateY(-5px); border-color: rgba(229, 204, 137, .52); }

.rls-tour-showcase__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #08090a;
}

.rls-tour-showcase__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8, 9, 10, .72), transparent 52%);
}

.rls-tour-showcase__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}

.rls-tour-showcase__card:hover img { transform: scale(1.035); }

.rls-tour-showcase__media span {
  position: absolute;
  right: 22px;
  bottom: 14px;
  z-index: 1;
  color: rgba(255, 255, 255, .86);
  font-family: var(--rls-serif);
  font-size: 38px;
}

.rls-tour-showcase__body { padding: clamp(24px, 3.2vw, 40px); }
.rls-tour-showcase__body small { color: var(--rls-gold-light); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.rls-tour-showcase__body h3 { margin: 14px 0 16px; color: #fff; font-size: clamp(27px, 3vw, 40px); line-height: 1.06; font-weight: 400; }
.rls-tour-showcase__body > p { margin: 0; color: #b7b2a9; line-height: 1.68; }
.rls-tour-showcase__body footer { margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(229, 204, 137, .18); color: #ddd1ae; font-size: .82rem; line-height: 1.55; }

@media (max-width: 820px) {
  .rls-tour-faq__layout { grid-template-columns: 1fr; gap: 24px; }
  .rls-tour-faq__intro { position: static; }
  .rls-tour-faq__list summary { min-height: 66px; font-size: 20px; }
  .rls-tour-faq__list details p { margin-right: 20px; }
  .rls-tour-showcase__heading,
  .rls-tour-showcase__grid { grid-template-columns: 1fr; }
  .rls-tour-showcase__heading { gap: 18px; }
  .rls-tour-showcase__grid {
    width: calc(100vw - 16px);
    padding-right: 16px;
    overflow-x: auto;
    grid-template-columns: none;
    grid-auto-columns: minmax(84vw, 1fr);
    grid-auto-flow: column;
    scroll-snap-type: x mandatory;
  }
  .rls-tour-showcase__card { scroll-snap-align: start; }
}

:root {
  --rls-black: #08090a;
  --rls-charcoal: #111315;
  --rls-panel: #171a1d;
  --rls-panel-soft: #1d2024;
  --rls-ivory: #f4f0e7;
  --rls-paper: #ece5d8;
  --rls-muted: #aaa79f;
  --rls-gold: #c9a24b;
  --rls-gold-light: #e5cc89;
  --rls-gold-deep: #806321;
  --rls-line: rgba(229, 204, 137, 0.25);
  --rls-max: 1240px;
  --rls-serif: Georgia, "Times New Roman", serif;
  --rls-sans: Arial, Helvetica, sans-serif;
  --rls-radius: 18px;
  --rls-shadow: 0 28px 80px rgba(0, 0, 0, 0.32);
  --rls-section-space: clamp(44px, 4.2vw, 64px);
  --rls-section-space-tight: clamp(30px, 3vw, 44px);
}

/* 2.8.0 — compact editorial rhythm and rebuilt private-tour pricing */
:root {
  --rls-section-space: clamp(34px, 3.2vw, 50px);
  --rls-section-space-tight: clamp(22px, 2.2vw, 32px);
}

/* The fixed progress badge covered tour copy and suggested that long pages had ended. */
.rls-page-progress {
  display: none !important;
}

.rls-section-head {
  margin-bottom: clamp(22px, 2.4vw, 32px);
}

.rls-page-hero {
  min-height: 410px;
  padding-top: 126px;
  padding-bottom: 46px;
}

.rls-day-tour-page--rome-highlights .rls-page-hero__media img {
  object-position: center 54%;
}

.rls-day-tour-page .rls-service-price-band__inner {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.8fr) auto;
  gap: 18px 28px;
}

.rls-day-tour-page .rls-service-price-band__price {
  white-space: normal;
}

.rls-day-tour-page .rls-service-price-band__copy {
  max-width: 620px;
  line-height: 1.55;
}

.rls-duration-options {
  padding: 0 0 clamp(30px, 3vw, 44px);
  background: var(--rls-paper);
  color: #151515;
}

.rls-duration-options__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.rls-duration-options article {
  min-height: 0;
  padding: 24px 25px;
  border: 1px solid rgba(128, 99, 33, 0.22);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.58);
  box-shadow: 0 13px 34px rgba(49, 37, 16, 0.055);
}

.rls-duration-options small {
  display: block;
  margin-bottom: 12px;
  color: #87661e;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rls-duration-options h2 {
  margin-bottom: 10px;
  color: #171713;
  font-size: clamp(1.45rem, 2.1vw, 2rem);
}

.rls-duration-options p {
  margin: 0;
  color: #555149;
  font-size: 0.93rem;
  line-height: 1.65;
}

.rls-tour-rate-panel--compact {
  padding: clamp(34px, 4vw, 52px) 0;
  border-top: 1px solid rgba(201, 162, 75, 0.26);
  border-bottom: 1px solid rgba(201, 162, 75, 0.28);
  background:
    radial-gradient(circle at 88% 0, rgba(201, 162, 75, 0.13), transparent 31%),
    linear-gradient(145deg, #111416, #090b0c 68%);
  color: var(--rls-ivory);
}

.rls-tour-rate-panel--compact .rls-tour-rate-panel__heading {
  margin-bottom: 24px;
}

.rls-tour-rate-panel--compact .rls-tour-rate-panel__heading h2 {
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.02;
}

.rls-tour-rate-panel--compact .rls-tour-rate-panel__heading > p {
  color: #c5c0b6;
  line-height: 1.65;
}

.rls-tour-rate-panel__quick {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 13px;
}

.rls-tour-rate-panel__quick > article {
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, 0.28);
  border-radius: 16px;
  background: linear-gradient(145deg, #1a1d1f, #121415);
}

.rls-tour-rate-panel__quick > article > small {
  display: block;
  padding: 13px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--rls-gold-light);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rls-tour-rate-panel__quick > article > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 14px;
  align-items: baseline;
  padding: 15px 18px;
}

.rls-tour-rate-panel__quick > article > div + div {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rls-tour-rate-panel__quick > article > div span {
  color: #f4f0e7;
  font-family: var(--rls-serif);
  font-size: 1.02rem;
}

.rls-tour-rate-panel__quick > article > div strong {
  color: #fff;
  font-size: 1.02rem;
}

.rls-tour-rate-panel__quick > article > div em {
  grid-column: 1 / -1;
  color: #aaa59b;
  font-size: 0.68rem;
  font-style: normal;
  line-height: 1.4;
}

.rls-tour-rate-panel__quick > article > .rls-tour-rate-panel__quick-featured {
  background: rgba(201, 162, 75, 0.11);
}

.rls-tour-rate-panel__quick-featured span b {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 6px;
  border-radius: 999px;
  background: var(--rls-gold);
  color: #100d06;
  font-family: var(--rls-sans);
  font-size: 0.49rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  vertical-align: 2px;
}

.rls-tour-rate-panel__details {
  margin-top: 14px;
  border: 1px solid rgba(229, 204, 137, 0.3);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.025);
}

.rls-tour-rate-panel__details summary {
  display: flex;
  min-height: 58px;
  padding: 16px 20px;
  color: var(--rls-gold-light);
  cursor: pointer;
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  list-style: none;
  text-transform: uppercase;
  align-items: center;
  justify-content: space-between;
}

.rls-tour-rate-panel__details summary::-webkit-details-marker {
  display: none;
}

.rls-tour-rate-panel__details summary span {
  font-size: 1.35rem;
  font-weight: 400;
  transition: transform 180ms ease;
}

.rls-tour-rate-panel__details[open] summary span {
  transform: rotate(45deg);
}

.rls-tour-rate-panel__details-body {
  padding: 0 14px 18px;
}

.rls-tour-rate-panel--compact .rls-tour-rate-panel__table-wrap {
  margin-top: 0;
  box-shadow: none;
}

.rls-tour-rate-panel--compact .rls-tour-rate-panel__conditions {
  margin: 18px 8px 0;
}

.rls-tour-rate-panel--compact .rls-tour-rate-panel__conditions li {
  color: #c9c4ba;
}

.rls-day-tour-page .rls-tour-essentials article {
  min-height: 112px;
  padding: 22px 20px;
}

.rls-day-tour-page .rls-premium-roadmap__list {
  margin-top: 28px;
}

.rls-day-tour-page .rls-premium-roadmap__list li {
  min-height: 170px;
  padding: 22px 21px;
}

.rls-day-tour-page .rls-premium-roadmap__list li > span {
  margin-bottom: 16px;
}

.rls-day-tour-page .rls-premium-roadmap__pause {
  margin-top: 14px;
  padding: 20px 24px;
}

.rls-day-tour-page .rls-tour-gallery__heading {
  gap: clamp(26px, 4vw, 58px);
}

.rls-day-tour-page .rls-tour-gallery__grid {
  margin-top: 26px;
}

.page-template-page-day-tour .rls-tour-gallery__item,
.page-template-page-day-tour .rls-tour-gallery__item--panorama,
.page-template-page-day-tour .rls-tour-gallery__item--golf-left,
.page-template-page-day-tour .rls-tour-gallery__item--golf-right {
  grid-template-rows: minmax(255px, 1fr) auto;
}

.page-template-page-day-tour .rls-lightbox-trigger,
.page-template-page-day-tour .rls-tour-gallery__item img,
.page-template-page-day-tour .rls-tour-gallery__item--panorama img,
.page-template-page-day-tour .rls-tour-gallery__item--golf-left img,
.page-template-page-day-tour .rls-tour-gallery__item--golf-right img {
  min-height: 255px;
}

@media (max-width: 900px) {
  .rls-duration-options__grid {
    grid-template-columns: 1fr;
  }

  .rls-day-tour-page .rls-service-price-band__inner {
    grid-template-columns: 1fr auto;
  }

  .rls-day-tour-page .rls-service-price-band__copy {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 720px) {
  :root {
    --rls-section-space: 32px;
    --rls-section-space-tight: 22px;
  }

  .rls-page-hero {
    min-height: 0;
    padding: 104px 0 36px;
  }

  .rls-section {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .rls-duration-options__grid,
  .rls-tour-rate-panel__quick {
    width: calc(100vw - 16px);
    padding: 0 16px 7px 0;
    overflow-x: auto;
    grid-template-columns: none;
    grid-auto-columns: minmax(82vw, 1fr);
    grid-auto-flow: column;
    scroll-snap-type: x proximity;
  }

  .rls-duration-options article,
  .rls-tour-rate-panel__quick > article {
    scroll-snap-align: start;
  }

  .rls-duration-options article {
    padding: 20px;
  }

  .rls-tour-rate-panel--compact .rls-tour-rate-panel__heading {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .rls-tour-rate-panel__details summary {
    min-height: 54px;
    padding: 14px 16px;
    font-size: 0.66rem;
  }

  .rls-tour-rate-panel__details-body {
    padding: 0 8px 12px;
  }

  .rls-day-tour-page .rls-tour-essentials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rls-day-tour-page .rls-tour-essentials article,
  .rls-day-tour-page .rls-tour-essentials article:nth-child(2) {
    min-height: 0;
    padding: 16px 14px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
  }

  .rls-day-tour-page .rls-tour-essentials article:nth-child(2n) {
    border-right: 0;
  }

  .rls-day-tour-page .rls-tour-essentials strong {
    font-size: 0.95rem;
  }

  .rls-day-tour-page .rls-premium-roadmap__list {
    display: block;
    margin-top: 22px;
  }

  .rls-day-tour-page .rls-premium-roadmap__list li {
    display: grid;
    min-height: 0;
    padding: 15px 14px;
    grid-template-columns: 64px 32px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
  }

  .rls-day-tour-page .rls-premium-roadmap__list time,
  .rls-day-tour-page .rls-premium-roadmap__list li > span {
    margin: 0;
  }

  .rls-day-tour-page .rls-premium-roadmap__list p {
    font-size: 0.95rem;
  }

  .rls-day-tour-page .rls-premium-roadmap__pause {
    gap: 10px;
    padding: 18px;
  }

  .page-template-page-day-tour .rls-tour-gallery__grid {
    width: calc(100vw - 16px);
    padding-right: 16px;
    overflow-x: auto;
    grid-template-columns: none;
    grid-auto-columns: minmax(82vw, 1fr);
    grid-auto-flow: column;
    scroll-snap-type: x proximity;
  }

  .page-template-page-day-tour .rls-tour-gallery__item,
  .page-template-page-day-tour .rls-tour-gallery__item--panorama,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-left,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-right {
    grid-column: auto;
    grid-template-rows: 230px auto;
    scroll-snap-align: start;
  }

  .page-template-page-day-tour .rls-lightbox-trigger,
  .page-template-page-day-tour .rls-tour-gallery__item img,
  .page-template-page-day-tour .rls-tour-gallery__item--panorama img,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-left img,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-right img {
    min-height: 230px;
  }

  .rls-day-tour-page .rls-service-price-band__inner {
    grid-template-columns: 1fr;
  }

  .rls-day-tour-page .rls-service-price-band__copy,
  .rls-day-tour-page .rls-service-price-band__link {
    grid-column: auto;
    grid-row: auto;
  }
}

/* 2.8.5 · Rome & Beyond day tours as distinct, explorable experiences */
.rls-day-explorer-page {
  --rls-explorer-accent: #b26b4b;
  --rls-explorer-accent-rgb: 178, 107, 75;
  --rls-explorer-accent-ink: #68402d;
  --rls-explorer-light: #efd9c8;
  --rls-explorer-night: #111011;
  --rls-explorer-night-2: #1d1817;
  --rls-explorer-paper: #f4efe7;
  --rls-explorer-cta-image: none;
}

.rls-day-explorer-page--golf {
  --rls-explorer-accent: #849477;
  --rls-explorer-accent-rgb: 132, 148, 119;
  --rls-explorer-accent-ink: #46523f;
  --rls-explorer-light: #e4ebdc;
  --rls-explorer-night: #0f1411;
  --rls-explorer-night-2: #19221b;
  --rls-explorer-paper: #f1f2e9;
}

.rls-day-explorer-page--tuscany {
  --rls-explorer-accent: #b8793f;
  --rls-explorer-accent-rgb: 184, 121, 63;
  --rls-explorer-accent-ink: #68401e;
  --rls-explorer-light: #f0d5ad;
  --rls-explorer-night: #17110d;
  --rls-explorer-night-2: #2a1d14;
  --rls-explorer-paper: #f5eddf;
}

.rls-day-explorer-page--umbria {
  --rls-explorer-accent: #879576;
  --rls-explorer-accent-rgb: 135, 149, 118;
  --rls-explorer-accent-ink: #46523d;
  --rls-explorer-light: #e5d8cf;
  --rls-explorer-night: #111510;
  --rls-explorer-night-2: #20271d;
  --rls-explorer-paper: #f3f0e7;
}

.rls-day-explorer-page--pompeii {
  --rls-explorer-accent: #b25d3e;
  --rls-explorer-accent-rgb: 178, 93, 62;
  --rls-explorer-accent-ink: #68351f;
  --rls-explorer-light: #e9c3a9;
  --rls-explorer-night: #101114;
  --rls-explorer-night-2: #242020;
  --rls-explorer-paper: #f1ece4;
}

.rls-day-explorer-page .rls-page-hero {
  min-height: min(790px, 88vh);
  padding-top: clamp(158px, 18vh, 220px);
  padding-bottom: 76px;
}

.rls-day-explorer-page .rls-page-hero__media::after {
  background:
    linear-gradient(90deg, rgba(5, 5, 6, .91) 0%, rgba(5, 5, 6, .68) 36%, rgba(5, 5, 6, .12) 76%),
    linear-gradient(0deg, rgba(6, 5, 5, .73), transparent 56%);
}

.rls-day-explorer-page .rls-page-hero__media img {
  object-position: center center;
}

.rls-day-explorer-page--golf .rls-page-hero__media img { object-position: 58% center; }
.rls-day-explorer-page--tuscany .rls-page-hero__media img { object-position: 54% center; }
.rls-day-explorer-page--umbria .rls-page-hero__media img { object-position: 58% center; }
.rls-day-explorer-page--pompeii .rls-page-hero__media img { object-position: 60% center; }

.rls-day-explorer-page .rls-page-hero__content { max-width: var(--rls-max); }

.rls-day-explorer-page .rls-page-hero h1 {
  max-width: 930px;
  font-size: clamp(47px, 6.45vw, 92px);
  line-height: .94;
  letter-spacing: -.045em;
}

.rls-day-explorer-page .rls-page-hero .rls-lead {
  max-width: 750px;
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.62;
}

.rls-day-explorer-page .rls-page-hero__actions { flex-wrap: wrap; }

.rls-day-explorer-page .rls-page-hero__actions .rls-button--ghost {
  border-color: rgba(255, 255, 255, .48);
  background: rgba(7, 8, 9, .42);
  color: #fff;
  backdrop-filter: blur(8px);
}

.rls-day-explorer-assurance {
  border-top: 1px solid rgba(var(--rls-explorer-accent-rgb), .43);
  border-bottom: 1px solid rgba(var(--rls-explorer-accent-rgb), .34);
  background: var(--rls-explorer-night);
  color: var(--rls-ivory);
}

.rls-day-explorer-assurance .rls-wrap {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rls-day-explorer-assurance span {
  position: relative;
  padding: 21px 22px 20px 39px;
  border-right: 1px solid rgba(255, 255, 255, .08);
  font-size: .71rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.rls-day-explorer-assurance span::before {
  position: absolute;
  top: 50%;
  left: 18px;
  width: 8px;
  height: 8px;
  border: 1px solid var(--rls-explorer-light);
  border-radius: 50%;
  content: "";
  transform: translateY(-50%);
}

.rls-day-explorer-assurance span:last-child { border-right: 0; }

.rls-day-explorer-choices {
  background:
    radial-gradient(circle at 8% 0%, rgba(var(--rls-explorer-accent-rgb), .2), transparent 27%),
    var(--rls-explorer-night);
  color: var(--rls-ivory);
}

.rls-day-explorer-heading {
  display: grid;
  margin-bottom: clamp(34px, 5vw, 60px);
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr);
  gap: clamp(28px, 6vw, 86px);
  align-items: end;
}

.rls-day-explorer-heading h2 {
  max-width: 850px;
  margin-top: 10px;
  color: #fff;
  font-size: clamp(41px, 5vw, 70px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.035em;
}

.rls-day-explorer-heading > p {
  color: #bbb5ad;
  line-height: 1.73;
}

.rls-day-explorer-page .rls-kicker { color: var(--rls-explorer-light); }

.rls-day-explorer-choices__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.rls-day-explorer-choice {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(var(--rls-explorer-accent-rgb), .38);
  border-radius: 20px;
  background: linear-gradient(155deg, var(--rls-explorer-night-2), #111315);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .25);
  transition: transform .3s ease, border-color .3s ease;
}

.rls-day-explorer-choice:hover {
  border-color: rgba(var(--rls-explorer-accent-rgb), .78);
  transform: translateY(-5px);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .rls-reveal-enabled .rls-day-explorer-choice.rls-reveal.is-visible:hover {
    transform: translateY(-5px);
  }
}

.rls-day-explorer-choice__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.rls-day-explorer-choice__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 8, 9, .78), transparent 55%);
  content: "";
}

.rls-day-explorer-choice__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease;
}

.rls-day-explorer-choice:hover .rls-day-explorer-choice__media img { transform: scale(1.04); }

.rls-day-explorer-choice__media > span {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 16px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 999px;
  background: rgba(6, 7, 8, .69);
  color: #fff;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(7px);
}

.rls-day-explorer-choice__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(24px, 2.6vw, 34px);
}

.rls-day-explorer-choice h3 {
  margin: 0 0 20px;
  color: #fff;
  font-size: clamp(29px, 2.7vw, 42px);
  font-weight: 400;
  line-height: 1.02;
}

.rls-day-explorer-choice__best,
.rls-day-explorer-choice__tickets {
  margin: 0;
  color: #bbb5ad;
  font-size: .87rem;
  line-height: 1.62;
}

.rls-day-explorer-choice__best strong,
.rls-day-explorer-choice__tickets strong,
.rls-day-explorer-choice__stops > strong {
  display: block;
  margin-bottom: 5px;
  color: var(--rls-explorer-light);
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.rls-day-explorer-choice__stops {
  margin: 20px 0;
  padding: 18px 0;
  border-top: 1px solid rgba(var(--rls-explorer-accent-rgb), .3);
  border-bottom: 1px solid rgba(var(--rls-explorer-accent-rgb), .3);
}

.rls-day-explorer-choice__stops ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}

.rls-day-explorer-choice__stops li {
  position: relative;
  padding-left: 16px;
  color: #e1dbd2;
  font-size: .84rem;
  line-height: 1.48;
}

.rls-day-explorer-choice__stops li::before {
  position: absolute;
  top: .55em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--rls-explorer-accent);
  content: "";
}

.rls-day-explorer-choice__price {
  display: grid;
  margin: 22px 0 15px;
  gap: 8px;
}

.rls-day-explorer-choice__price > small {
  color: var(--rls-explorer-light);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.rls-day-explorer-choice__price > span {
  display: flex;
  padding: 10px 12px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 10px;
  color: #fff;
  font-family: var(--rls-serif);
}

.rls-day-explorer-choice__price > span.is-featured {
  border-color: rgba(var(--rls-explorer-accent-rgb), .7);
  background: rgba(var(--rls-explorer-accent-rgb), .15);
}

.rls-day-explorer-choice__price b {
  color: #d7d2c9;
  font-family: var(--rls-sans);
  font-size: .69rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.rls-day-explorer-choice__price--compact p {
  margin: 0;
  padding: 13px 14px;
  border: 1px solid rgba(var(--rls-explorer-accent-rgb), .65);
  border-radius: 10px;
  background: rgba(var(--rls-explorer-accent-rgb), .13);
  color: #fff;
  font-size: .8rem;
  line-height: 1.55;
}

.rls-day-explorer-choice .rls-button { margin-top: auto; }

.rls-day-explorer-rate-note {
  margin: 26px 0 0;
  color: #aaa59e;
  font-size: .8rem;
  text-align: center;
}

.rls-day-explorer-rate-note a { color: var(--rls-explorer-light); }
.rls-day-explorer-rate-note span { display: block; margin-top: 7px; }

.rls-day-explorer-chapters {
  padding: clamp(60px, 8vw, 116px) 0;
  background:
    radial-gradient(circle at 96% 8%, rgba(var(--rls-explorer-accent-rgb), .18), transparent 30%),
    linear-gradient(145deg, #08090a, var(--rls-explorer-night-2));
  color: var(--rls-ivory);
}

.rls-day-explorer-chapters__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

.rls-day-explorer-chapter {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--rls-explorer-accent-rgb), .38);
  border-radius: 18px;
  background: #14171a;
  box-shadow: 0 22px 58px rgba(0, 0, 0, .24);
  transition: border-color .25s ease, transform .25s ease;
}

.rls-day-explorer-chapter:hover {
  border-color: rgba(var(--rls-explorer-accent-rgb), .8);
  transform: translateY(-3px);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .rls-reveal-enabled .rls-day-explorer-chapter.rls-reveal.is-visible:not(.is-open):not(:has(.rls-day-explorer-chapter__details[open])):hover {
    transform: translateY(-3px);
  }
}

.rls-day-explorer-chapter.is-open,
.rls-day-explorer-chapter:has(.rls-day-explorer-chapter__details[open]) {
  grid-column: 1 / -1;
  border-color: rgba(var(--rls-explorer-accent-rgb), .82);
  transform: none;
}

.rls-day-explorer-chapter__cover { min-width: 0; }

.rls-day-explorer-chapter.is-open .rls-day-explorer-chapter__cover,
.rls-day-explorer-chapter:has(.rls-day-explorer-chapter__details[open]) .rls-day-explorer-chapter__cover {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  align-items: stretch;
}

.rls-day-explorer-chapter__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.rls-day-explorer-chapter__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 8, 9, .72), transparent 50%);
  content: "";
}

.rls-day-explorer-chapter__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.rls-day-explorer-chapter:hover .rls-day-explorer-chapter__media img { transform: scale(1.035); }

.rls-day-explorer-chapter__media > span {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 12px;
  color: rgba(255, 255, 255, .9);
  font-family: var(--rls-serif);
  font-size: 35px;
}

.rls-day-explorer-chapter__intro { padding: 24px 24px 27px; }

.rls-day-explorer-chapter.is-open .rls-day-explorer-chapter__intro,
.rls-day-explorer-chapter:has(.rls-day-explorer-chapter__details[open]) .rls-day-explorer-chapter__intro {
  display: flex;
  padding: clamp(30px, 4vw, 54px);
  flex-direction: column;
  justify-content: center;
}

.rls-day-explorer-chapter__intro small {
  color: var(--rls-explorer-light);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.rls-day-explorer-chapter__intro h3 {
  margin: 11px 0 13px;
  color: #fff;
  font-size: clamp(26px, 2.6vw, 39px);
  font-weight: 400;
  line-height: 1.03;
}

.rls-day-explorer-chapter__intro p {
  margin: 0;
  color: #b5b0a9;
  font-size: .87rem;
  line-height: 1.65;
}

.rls-day-explorer-chapter__details { border-top: 1px solid rgba(var(--rls-explorer-accent-rgb), .32); }

.rls-day-explorer-chapter__details > summary {
  display: flex;
  min-height: 60px;
  padding: 16px 22px;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  list-style: none;
  text-transform: uppercase;
}

.rls-day-explorer-chapter__details > summary::-webkit-details-marker { display: none; }

.rls-day-explorer-chapter__details > summary b {
  color: var(--rls-explorer-light);
  font-family: var(--rls-serif);
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1;
  transition: transform .2s ease;
}

.rls-day-explorer-chapter__details[open] > summary b { transform: rotate(45deg); }
.rls-day-explorer-chapter__close-label { display: none; }
.rls-day-explorer-chapter__details[open] .rls-day-explorer-chapter__open-label { display: none; }
.rls-day-explorer-chapter__details[open] .rls-day-explorer-chapter__close-label { display: inline; }

.rls-day-explorer-chapter__expanded {
  display: grid;
  padding: clamp(26px, 4vw, 54px);
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: clamp(28px, 5vw, 68px);
  border-top: 1px solid rgba(255, 255, 255, .07);
  background: linear-gradient(145deg, rgba(var(--rls-explorer-accent-rgb), .11), rgba(8, 9, 10, .47));
}

.rls-day-explorer-chapter__story h3 {
  margin: 10px 0 22px;
  color: #fff;
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 400;
  line-height: .98;
}

.rls-day-explorer-chapter__story > p:not(.rls-kicker) {
  color: #c3beb6;
  line-height: 1.76;
}

.rls-day-explorer-chapter__story .rls-button { margin-top: 13px; }

.rls-day-explorer-chapter__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-self: start;
}

.rls-day-explorer-chapter__gallery figure {
  min-width: 0;
  margin: 0;
}

.rls-day-explorer-chapter__gallery .rls-lightbox-trigger {
  position: relative;
  inset: auto;
  display: block;
  min-height: 240px;
  overflow: hidden;
  border-radius: 13px;
}

.rls-day-explorer-chapter__gallery img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.rls-day-explorer-chapter__gallery .rls-lightbox-trigger > span {
  position: absolute;
  top: auto;
  right: 13px;
  bottom: 13px;
  opacity: 1;
}

.rls-day-explorer-photo-credit {
  padding: 7px 2px 0;
  color: #9f9b94;
  font-size: .57rem;
  line-height: 1.45;
}

.rls-day-explorer-photo-credit a { color: #c7bdac; }

.rls-day-explorer-chapter__facts {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(var(--rls-explorer-accent-rgb), .35);
  border-radius: 14px;
  background: rgba(var(--rls-explorer-accent-rgb), .22);
}

.rls-day-explorer-chapter__facts > div {
  min-width: 0;
  padding: 22px;
  background: #111416;
}

.rls-day-explorer-chapter__facts small,
.rls-day-explorer-chapter__ticket-links > strong {
  display: block;
  margin-bottom: 8px;
  color: var(--rls-explorer-light);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.rls-day-explorer-chapter__facts strong {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font-family: var(--rls-serif);
  font-size: 1.12rem;
  line-height: 1.25;
}

.rls-day-explorer-chapter__facts p,
.rls-day-explorer-chapter__facts a {
  margin: 0;
  color: #b7b2aa;
  font-size: .79rem;
  line-height: 1.58;
}

.rls-day-explorer-chapter__facts a { color: var(--rls-explorer-light); text-decoration: none; }

.rls-day-explorer-chapter__ticket-links,
.rls-day-explorer-chapter__tips {
  grid-column: 1 / -1;
  padding: 22px 24px;
  border: 1px solid rgba(var(--rls-explorer-accent-rgb), .42);
  border-radius: 13px;
  background: rgba(var(--rls-explorer-accent-rgb), .12);
}

.rls-day-explorer-chapter__ticket-links a {
  display: inline-block;
  margin: 3px 24px 3px 0;
  color: #fff;
  font-size: .82rem;
}

.rls-day-explorer-chapter__tips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.rls-day-explorer-chapter__tips p {
  position: relative;
  margin: 0;
  padding-left: 26px;
  color: #d7d1c8;
  font-family: var(--rls-serif);
  line-height: 1.6;
}

.rls-day-explorer-chapter__tips p::before {
  position: absolute;
  left: 0;
  color: var(--rls-explorer-light);
  content: "✦";
}

.rls-day-explorer-program {
  background: var(--rls-explorer-night);
  color: var(--rls-ivory);
}

.rls-day-explorer-program details {
  overflow: hidden;
  border: 1px solid rgba(var(--rls-explorer-accent-rgb), .55);
  border-radius: 18px;
  background: linear-gradient(145deg, var(--rls-explorer-night-2), #0c0e10);
}

.rls-day-explorer-program summary {
  display: grid;
  padding: clamp(26px, 4vw, 46px);
  cursor: pointer;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  list-style: none;
}

.rls-day-explorer-program summary::-webkit-details-marker { display: none; }
.rls-day-explorer-program summary small,
.rls-day-explorer-program summary strong,
.rls-day-explorer-program summary em { display: block; }
.rls-day-explorer-program summary small { color: var(--rls-explorer-light); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rls-day-explorer-program summary strong { margin: 8px 0 10px; color: #fff; font-family: var(--rls-serif); font-size: clamp(28px, 4vw, 50px); font-weight: 400; line-height: 1.02; }
.rls-day-explorer-program summary em { color: #b6b1a9; font-family: var(--rls-sans); font-size: .82rem; font-style: normal; line-height: 1.55; }
.rls-day-explorer-program summary > b { color: var(--rls-explorer-light); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.rls-day-explorer-program summary > b i { display: inline-block; margin-left: 9px; font-family: var(--rls-serif); font-size: 1.35rem; font-style: normal; transition: transform .2s ease; }
.rls-day-explorer-program details[open] summary > b i { transform: rotate(45deg); }

.rls-day-explorer-program__body {
  padding: 0 clamp(26px, 4vw, 46px) clamp(28px, 4vw, 46px);
  border-top: 1px solid rgba(var(--rls-explorer-accent-rgb), .35);
}

.rls-day-explorer-program__body > p { max-width: 840px; color: #aea9a1; line-height: 1.7; }
.rls-day-explorer-program__body ol { max-width: 920px; margin: 28px auto; padding: 0; list-style: none; }
.rls-day-explorer-program__body li { display: grid; min-height: 58px; grid-template-columns: 130px minmax(0, 1fr); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.rls-day-explorer-program__body time { padding: 17px 18px 17px 0; color: var(--rls-explorer-light); font-size: .77rem; font-weight: 800; }
.rls-day-explorer-program__body li span { padding: 17px 0; color: #e6dfd7; line-height: 1.5; }
.rls-day-explorer-program__body aside { padding: 18px 21px; border-left: 3px solid var(--rls-explorer-accent); background: rgba(var(--rls-explorer-accent-rgb), .13); color: #d9d3ca; line-height: 1.62; }

.rls-day-explorer-page .rls-day-explorer-practical { background: var(--rls-explorer-paper); }

.rls-day-explorer-practical__layout {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 7vw, 100px);
  align-items: start;
}

.rls-day-explorer-practical__intro { position: sticky; top: 120px; }
.rls-day-explorer-practical__intro .rls-kicker { color: var(--rls-explorer-accent-ink); }
.rls-day-explorer-practical__intro h2 { margin: 9px 0 20px; font-size: clamp(39px, 5vw, 66px); line-height: .98; }
.rls-day-explorer-practical__intro > p:not(.rls-kicker) { color: #5e5a53; line-height: 1.72; }
.rls-day-explorer-practical__official { display: grid; margin-top: 28px; gap: 9px; }
.rls-day-explorer-practical__official a { color: #5b421e; font-size: .78rem; font-weight: 700; line-height: 1.4; }

.rls-day-explorer-practical__list details { border-bottom: 1px solid rgba(var(--rls-explorer-accent-rgb), .42); }
.rls-day-explorer-practical__list summary { display: flex; min-height: 78px; cursor: pointer; align-items: center; justify-content: space-between; color: #191713; font-family: var(--rls-serif); font-size: clamp(21px, 2.1vw, 29px); line-height: 1.2; list-style: none; }
.rls-day-explorer-practical__list summary::-webkit-details-marker { display: none; }
.rls-day-explorer-practical__list summary span { color: var(--rls-explorer-accent-ink); transition: transform .2s ease; }
.rls-day-explorer-practical__list details[open] summary span { transform: rotate(45deg); }
.rls-day-explorer-practical__list details p { margin: -2px 48px 25px 0; color: #5d5951; line-height: 1.75; }

.rls-day-explorer-final-cta {
  background:
    linear-gradient(90deg, rgba(7, 8, 9, .96), rgba(7, 8, 9, .7)),
    var(--rls-explorer-cta-image) center / cover;
}

@media (max-width: 1050px) {
  .rls-day-explorer-page .rls-page-hero { min-height: 660px; }
  .rls-day-explorer-choices__grid { grid-template-columns: 1fr; }
  .rls-day-explorer-choice { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); }
  .rls-day-explorer-choice__media { height: 100%; min-height: 520px; }
  .rls-day-explorer-chapters__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rls-day-explorer-chapter__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rls-day-explorer-practical__layout { grid-template-columns: 1fr; }
  .rls-day-explorer-practical__intro { position: static; }
}

@media (max-width: 760px) {
  .rls-day-explorer-page .rls-page-hero {
    min-height: 710px;
    padding: 138px 0 52px;
  }

  .rls-day-explorer-page .rls-page-hero__media::after {
    background: linear-gradient(0deg, rgba(4, 5, 6, .95) 0%, rgba(4, 5, 6, .64) 64%, rgba(4, 5, 6, .18));
  }

  .rls-day-explorer-page .rls-page-hero__media img { object-position: 62% center; }
  .rls-day-explorer-page .rls-page-hero h1 { font-size: clamp(42px, 12.6vw, 63px); }
  .rls-day-explorer-page .rls-page-hero__actions { display: grid; width: 100%; grid-template-columns: 1fr; }
  .rls-day-explorer-page .rls-page-hero__actions .rls-button { width: 100%; justify-content: center; }
  .rls-day-explorer-assurance .rls-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rls-day-explorer-assurance span { padding: 15px 10px 15px 26px; font-size: .58rem; }
  .rls-day-explorer-assurance span::before { left: 9px; }
  .rls-day-explorer-assurance span:nth-child(2) { border-right: 0; }
  .rls-day-explorer-assurance span:nth-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .rls-day-explorer-heading { grid-template-columns: 1fr; gap: 16px; }
  .rls-day-explorer-choice { display: flex; }
  .rls-day-explorer-choice__media { min-height: 0; }
  .rls-day-explorer-chapters__grid { grid-template-columns: 1fr; }
  .rls-day-explorer-chapter.is-open,
  .rls-day-explorer-chapter:has(.rls-day-explorer-chapter__details[open]) { grid-column: auto; }
  .rls-day-explorer-chapter.is-open .rls-day-explorer-chapter__cover,
  .rls-day-explorer-chapter:has(.rls-day-explorer-chapter__details[open]) .rls-day-explorer-chapter__cover { display: block; }
  .rls-day-explorer-chapter__expanded { padding: 23px 18px 27px; grid-template-columns: 1fr; gap: 24px; }
  .rls-day-explorer-chapter__gallery { grid-template-columns: 1fr; }
  .rls-day-explorer-chapter__gallery .rls-lightbox-trigger { min-height: 230px; }
  .rls-day-explorer-chapter__facts { grid-template-columns: 1fr; }
  .rls-day-explorer-chapter__tips { grid-template-columns: 1fr; gap: 15px; }
  .rls-day-explorer-program summary { grid-template-columns: 1fr; }
  .rls-day-explorer-program summary > b { white-space: normal; }
  .rls-day-explorer-program__body li { grid-template-columns: 95px minmax(0, 1fr); }
  .rls-day-explorer-practical__list summary { min-height: 70px; }
  .rls-day-explorer-practical__list details p { margin-right: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .rls-day-explorer-choice,
  .rls-day-explorer-choice__media img,
  .rls-day-explorer-chapter,
  .rls-day-explorer-chapter__media img { transition: none; }
}

/* 2.8.4 · Civitavecchia shore excursion as an explorable experience */
.rls-shore-explorer-page .rls-page-hero {
  min-height: min(760px, 84vh);
  padding-top: clamp(154px, 18vh, 210px);
  padding-bottom: 72px;
}

.rls-shore-explorer-page .rls-page-hero__media::after {
  background:
    linear-gradient(90deg, rgba(4, 5, 6, .9) 0%, rgba(4, 5, 6, .66) 35%, rgba(4, 5, 6, .12) 74%),
    linear-gradient(0deg, rgba(4, 5, 6, .7), transparent 55%);
}

.rls-shore-explorer-page .rls-page-hero__media img {
  object-position: center center;
}

.rls-shore-explorer-page .rls-page-hero__content {
  max-width: var(--rls-max);
}

.rls-shore-explorer-page .rls-page-hero h1 {
  max-width: 890px;
  font-size: clamp(48px, 6.6vw, 94px);
  line-height: .93;
  letter-spacing: -.045em;
}

.rls-shore-explorer-page .rls-page-hero .rls-lead {
  max-width: 730px;
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.6;
}

.rls-shore-explorer-page .rls-page-hero__actions {
  flex-wrap: wrap;
}

.rls-shore-explorer-page .rls-page-hero__actions .rls-button--ghost {
  border-color: rgba(255, 255, 255, .46);
  background: rgba(7, 8, 9, .42);
  color: #fff;
  backdrop-filter: blur(8px);
}

.rls-shore-assurance {
  border-top: 1px solid rgba(229, 204, 137, .28);
  border-bottom: 1px solid rgba(229, 204, 137, .24);
  background: #090b0c;
  color: var(--rls-ivory);
}

.rls-shore-assurance .rls-wrap {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rls-shore-assurance span {
  position: relative;
  padding: 21px 22px 20px 39px;
  border-right: 1px solid rgba(255, 255, 255, .08);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.rls-shore-assurance span::before {
  position: absolute;
  top: 50%;
  left: 18px;
  width: 8px;
  height: 8px;
  border: 1px solid var(--rls-gold-light);
  border-radius: 50%;
  content: "";
  transform: translateY(-50%);
}

.rls-shore-assurance span:last-child { border-right: 0; }

.rls-shore-choices {
  background:
    radial-gradient(circle at 8% 0%, rgba(201, 162, 75, .12), transparent 26%),
    #0d0f10;
  color: var(--rls-ivory);
}

.rls-shore-choices__heading h2,
.rls-shore-chapters__heading h2 {
  max-width: 820px;
  margin-top: 10px;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.035em;
}

.rls-shore-choices__heading > p,
.rls-shore-chapters__heading > p {
  color: #b6b2a9;
  line-height: 1.72;
}

.rls-shore-choices__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.rls-shore-choice {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(229, 204, 137, .23);
  border-radius: 20px;
  background: linear-gradient(155deg, #1a1d20, #111315);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .25);
  transition: transform .3s ease, border-color .3s ease;
}

.rls-shore-choice:hover {
  border-color: rgba(229, 204, 137, .55);
  transform: translateY(-5px);
}

.rls-shore-choice__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.rls-shore-choice__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 8, 9, .78), transparent 55%);
  content: "";
}

.rls-shore-choice__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease;
}

.rls-shore-choice:hover .rls-shore-choice__media img { transform: scale(1.04); }

.rls-shore-choice__media > span {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 16px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 999px;
  background: rgba(6, 7, 8, .66);
  color: #fff;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(7px);
}

.rls-shore-choice__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(24px, 2.6vw, 34px);
}

.rls-shore-choice h3 {
  margin: 0 0 20px;
  color: #fff;
  font-size: clamp(29px, 2.7vw, 42px);
  font-weight: 400;
  line-height: 1.02;
}

.rls-shore-choice__best,
.rls-shore-choice__tickets {
  margin: 0;
  color: #b8b4ac;
  font-size: .88rem;
  line-height: 1.62;
}

.rls-shore-choice__best strong,
.rls-shore-choice__tickets strong,
.rls-shore-choice__stops > strong {
  display: block;
  margin-bottom: 5px;
  color: var(--rls-gold-light);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.rls-shore-choice__stops {
  margin: 20px 0;
  padding: 18px 0;
  border-top: 1px solid rgba(229, 204, 137, .17);
  border-bottom: 1px solid rgba(229, 204, 137, .17);
}

.rls-shore-choice__stops ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}

.rls-shore-choice__stops li {
  position: relative;
  padding-left: 16px;
  color: #ddd8ce;
  font-size: .85rem;
  line-height: 1.48;
}

.rls-shore-choice__stops li::before {
  position: absolute;
  top: .55em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--rls-gold);
  content: "";
}

.rls-shore-choice__price {
  display: grid;
  margin: 22px 0 15px;
  gap: 8px;
}

.rls-shore-choice__price > small {
  color: var(--rls-gold-light);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.rls-shore-choice__price > span {
  display: flex;
  padding: 10px 12px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 10px;
  color: #fff;
  font-family: var(--rls-serif);
}

.rls-shore-choice__price > span.is-featured {
  border-color: rgba(229, 204, 137, .42);
  background: rgba(201, 162, 75, .1);
}

.rls-shore-choice__price b {
  color: #d7d2c7;
  font-family: var(--rls-sans);
  font-size: .7rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.rls-shore-choice__ticket-link {
  margin: 0 0 17px;
  color: var(--rls-gold-light);
  font-size: .76rem;
  text-decoration: none;
}

.rls-shore-choice .rls-button { margin-top: auto; }

.rls-shore-choices__rate-note {
  margin: 26px 0 0;
  color: #a9a59d;
  font-size: .8rem;
  text-align: center;
}

.rls-shore-choices__rate-note a { color: var(--rls-gold-light); }

.rls-shore-chapters {
  padding: clamp(58px, 8vw, 112px) 0;
  background:
    radial-gradient(circle at 96% 8%, rgba(201, 162, 75, .11), transparent 30%),
    linear-gradient(145deg, #08090a, #111416);
  color: var(--rls-ivory);
}

.rls-shore-chapters__heading {
  display: grid;
  margin-bottom: clamp(32px, 5vw, 58px);
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr);
  gap: clamp(28px, 6vw, 86px);
  align-items: end;
}

.rls-shore-chapters__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

.rls-shore-chapter {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, .22);
  border-radius: 18px;
  background: #14171a;
  box-shadow: 0 22px 58px rgba(0, 0, 0, .24);
  transition: border-color .25s ease, transform .25s ease;
}

.rls-shore-chapter:hover {
  border-color: rgba(229, 204, 137, .48);
  transform: translateY(-3px);
}

.rls-shore-chapter.is-open,
.rls-shore-chapter:has(.rls-shore-chapter__details[open]) {
  grid-column: 1 / -1;
  border-color: rgba(229, 204, 137, .48);
  transform: none;
}

.rls-shore-chapter__cover { min-width: 0; }

.rls-shore-chapter.is-open .rls-shore-chapter__cover,
.rls-shore-chapter:has(.rls-shore-chapter__details[open]) .rls-shore-chapter__cover {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  align-items: stretch;
}

.rls-shore-chapter__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.rls-shore-chapter__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 8, 9, .72), transparent 50%);
  content: "";
}

.rls-shore-chapter__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.rls-shore-chapter:hover .rls-shore-chapter__media img { transform: scale(1.035); }

.rls-shore-chapter__media > span {
  position: absolute;
  z-index: 1;
  right: 18px;
  bottom: 12px;
  color: rgba(255, 255, 255, .9);
  font-family: var(--rls-serif);
  font-size: 35px;
}

.rls-shore-chapter__intro {
  padding: 24px 24px 27px;
}

.rls-shore-chapter.is-open .rls-shore-chapter__intro,
.rls-shore-chapter:has(.rls-shore-chapter__details[open]) .rls-shore-chapter__intro {
  display: flex;
  padding: clamp(30px, 4vw, 54px);
  flex-direction: column;
  justify-content: center;
}

.rls-shore-chapter__intro small {
  color: var(--rls-gold-light);
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.rls-shore-chapter__intro h3 {
  margin: 11px 0 13px;
  color: #fff;
  font-size: clamp(26px, 2.6vw, 39px);
  font-weight: 400;
  line-height: 1.03;
}

.rls-shore-chapter__intro p {
  margin: 0;
  color: #afaca5;
  font-size: .88rem;
  line-height: 1.65;
}

.rls-shore-chapter__details { border-top: 1px solid rgba(229, 204, 137, .18); }

.rls-shore-chapter__details > summary {
  display: flex;
  min-height: 60px;
  padding: 16px 22px;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .1em;
  list-style: none;
  text-transform: uppercase;
}

.rls-shore-chapter__details > summary::-webkit-details-marker { display: none; }

.rls-shore-chapter__details > summary b {
  color: var(--rls-gold-light);
  font-family: var(--rls-serif);
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1;
  transition: transform .2s ease;
}

.rls-shore-chapter__details[open] > summary b { transform: rotate(45deg); }
.rls-shore-chapter__close-label { display: none; }
.rls-shore-chapter__details[open] .rls-shore-chapter__open-label { display: none; }
.rls-shore-chapter__details[open] .rls-shore-chapter__close-label { display: inline; }

.rls-shore-chapter__expanded {
  display: grid;
  padding: clamp(26px, 4vw, 54px);
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: clamp(28px, 5vw, 68px);
  border-top: 1px solid rgba(255, 255, 255, .07);
  background: linear-gradient(145deg, rgba(201, 162, 75, .06), rgba(8, 9, 10, .45));
}

.rls-shore-chapter__story h3 {
  margin: 10px 0 22px;
  color: #fff;
  font-size: clamp(34px, 4vw, 58px);
  font-weight: 400;
  line-height: .98;
}

.rls-shore-chapter__story > p:not(.rls-kicker) {
  color: #c0bcb4;
  line-height: 1.76;
}

.rls-shore-chapter__story .rls-button { margin-top: 13px; }

.rls-shore-chapter__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-self: start;
}

.rls-shore-chapter__gallery .rls-lightbox-trigger {
  position: relative;
  inset: auto;
  display: block;
  min-height: 240px;
  overflow: hidden;
  border-radius: 13px;
}

.rls-shore-chapter__gallery .rls-lightbox-trigger:first-child {
  min-height: 240px;
}

.rls-shore-chapter__gallery img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.rls-shore-chapter__gallery .rls-lightbox-trigger > span {
  position: absolute;
  top: auto;
  right: 13px;
  bottom: 13px;
  opacity: 1;
}

.rls-shore-chapter__facts {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, .2);
  border-radius: 14px;
  background: rgba(229, 204, 137, .12);
}

.rls-shore-chapter__facts article {
  min-width: 0;
  padding: 22px;
  background: #111416;
}

.rls-shore-chapter__facts small,
.rls-shore-chapter__ticket-links > strong {
  display: block;
  margin-bottom: 8px;
  color: var(--rls-gold-light);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.rls-shore-chapter__facts strong {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font-family: var(--rls-serif);
  font-size: 1.13rem;
  line-height: 1.25;
}

.rls-shore-chapter__facts p,
.rls-shore-chapter__facts a {
  margin: 0;
  color: #b4b0a8;
  font-size: .8rem;
  line-height: 1.58;
}

.rls-shore-chapter__facts a { color: #e1cd98; text-decoration: none; }

.rls-shore-chapter__ticket-links,
.rls-shore-chapter__tips {
  grid-column: 1 / -1;
  padding: 22px 24px;
  border: 1px solid rgba(229, 204, 137, .2);
  border-radius: 13px;
  background: rgba(201, 162, 75, .08);
}

.rls-shore-chapter__ticket-links a {
  display: inline-block;
  margin: 3px 24px 3px 0;
  color: #fff;
  font-size: .82rem;
}

.rls-shore-chapter__tips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.rls-shore-chapter__tips p {
  position: relative;
  margin: 0;
  padding-left: 26px;
  color: #d5d0c6;
  font-family: var(--rls-serif);
  line-height: 1.6;
}

.rls-shore-chapter__tips p::before {
  position: absolute;
  left: 0;
  color: var(--rls-gold-light);
  content: "✦";
}

.rls-shore-program {
  background: #0a0c0d;
  color: var(--rls-ivory);
}

.rls-shore-program details {
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, .32);
  border-radius: 18px;
  background: linear-gradient(145deg, #15181b, #0c0e10);
}

.rls-shore-program summary {
  display: grid;
  padding: clamp(26px, 4vw, 46px);
  cursor: pointer;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  list-style: none;
}

.rls-shore-program summary::-webkit-details-marker { display: none; }
.rls-shore-program summary small,
.rls-shore-program summary strong,
.rls-shore-program summary em { display: block; }
.rls-shore-program summary small { color: var(--rls-gold-light); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rls-shore-program summary strong { margin: 8px 0 10px; color: #fff; font-family: var(--rls-serif); font-size: clamp(28px, 4vw, 50px); font-weight: 400; line-height: 1.02; }
.rls-shore-program summary em { color: #b4b0a7; font-family: var(--rls-sans); font-size: .83rem; font-style: normal; line-height: 1.55; }
.rls-shore-program summary > b { color: var(--rls-gold-light); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.rls-shore-program summary > b i { display: inline-block; margin-left: 9px; font-family: var(--rls-serif); font-size: 1.35rem; font-style: normal; transition: transform .2s ease; }
.rls-shore-program details[open] summary > b i { transform: rotate(45deg); }

.rls-shore-program__body {
  padding: 0 clamp(26px, 4vw, 46px) clamp(28px, 4vw, 46px);
  border-top: 1px solid rgba(229, 204, 137, .16);
}

.rls-shore-program__body > p { max-width: 840px; color: #aaa79f; line-height: 1.7; }
.rls-shore-program__body ol { max-width: 920px; margin: 28px auto; padding: 0; list-style: none; }
.rls-shore-program__body li { display: grid; min-height: 58px; grid-template-columns: 130px minmax(0, 1fr); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.rls-shore-program__body time { padding: 17px 18px 17px 0; color: var(--rls-gold-light); font-size: .78rem; font-weight: 800; }
.rls-shore-program__body li span { padding: 17px 0; color: #e4dfd5; line-height: 1.5; }
.rls-shore-program__body aside { padding: 18px 21px; border-left: 3px solid var(--rls-gold); background: rgba(201, 162, 75, .09); color: #d8d2c7; line-height: 1.62; }

.rls-shore-practical__layout {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 7vw, 100px);
  align-items: start;
}

.rls-shore-practical__intro { position: sticky; top: 120px; }
.rls-shore-practical__intro h2 { margin: 9px 0 20px; font-size: clamp(39px, 5vw, 66px); line-height: .98; }
.rls-shore-practical__intro > p:not(.rls-kicker) { color: #5e5a53; line-height: 1.72; }
.rls-shore-practical__official { display: grid; margin-top: 28px; gap: 9px; }
.rls-shore-practical__official a { color: #5c4717; font-size: .78rem; font-weight: 700; line-height: 1.4; }

.rls-shore-practical__list details { border-bottom: 1px solid rgba(59, 45, 15, .22); }
.rls-shore-practical__list summary { display: flex; min-height: 78px; cursor: pointer; align-items: center; justify-content: space-between; color: #191713; font-family: var(--rls-serif); font-size: clamp(21px, 2.1vw, 29px); line-height: 1.2; list-style: none; }
.rls-shore-practical__list summary::-webkit-details-marker { display: none; }
.rls-shore-practical__list summary span { color: #806321; transition: transform .2s ease; }
.rls-shore-practical__list details[open] summary span { transform: rotate(45deg); }
.rls-shore-practical__list details p { margin: -2px 48px 25px 0; color: #5d5951; line-height: 1.75; }

.rls-shore-final-cta {
  background:
    linear-gradient(90deg, rgba(7, 8, 9, .96), rgba(7, 8, 9, .76)),
    url("assets/images/shore-chapter-return.webp") center / cover;
}

@media (max-width: 1050px) {
  .rls-shore-explorer-page .rls-page-hero { min-height: 650px; }
  .rls-shore-choices__grid { grid-template-columns: 1fr; }
  .rls-shore-choice { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); }
  .rls-shore-choice__media { height: 100%; min-height: 520px; }
  .rls-shore-chapters__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rls-shore-chapter__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rls-shore-practical__layout { grid-template-columns: 1fr; }
  .rls-shore-practical__intro { position: static; }
}

@media (max-width: 760px) {
  .rls-shore-explorer-page .rls-page-hero {
    min-height: 700px;
    padding: 138px 0 52px;
  }
  .rls-shore-explorer-page .rls-page-hero__media::after {
    background: linear-gradient(0deg, rgba(4, 5, 6, .94) 0%, rgba(4, 5, 6, .64) 62%, rgba(4, 5, 6, .2));
  }
  .rls-shore-explorer-page .rls-page-hero__media img { object-position: 62% center; }
  .rls-shore-explorer-page .rls-page-hero h1 { font-size: clamp(43px, 13vw, 63px); }
  .rls-shore-explorer-page .rls-page-hero__actions { display: grid; width: 100%; grid-template-columns: 1fr; }
  .rls-shore-explorer-page .rls-page-hero__actions .rls-button { width: 100%; justify-content: center; }
  .rls-shore-assurance .rls-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rls-shore-assurance span { padding: 15px 10px 15px 26px; font-size: .59rem; }
  .rls-shore-assurance span::before { left: 9px; }
  .rls-shore-assurance span:nth-child(2) { border-right: 0; }
  .rls-shore-assurance span:nth-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .rls-shore-choices__heading,
  .rls-shore-chapters__heading { grid-template-columns: 1fr; gap: 16px; }
  .rls-shore-choice { display: flex; }
  .rls-shore-choice__media { min-height: 0; }
  .rls-shore-chapters__grid { grid-template-columns: 1fr; }
  .rls-shore-chapter.is-open,
  .rls-shore-chapter:has(.rls-shore-chapter__details[open]) { grid-column: auto; }
  .rls-shore-chapter.is-open .rls-shore-chapter__cover,
  .rls-shore-chapter:has(.rls-shore-chapter__details[open]) .rls-shore-chapter__cover { display: block; }
  .rls-shore-chapter__expanded { padding: 23px 18px 27px; grid-template-columns: 1fr; gap: 24px; }
  .rls-shore-chapter__gallery { grid-template-columns: 1fr; }
  .rls-shore-chapter__gallery .rls-lightbox-trigger,
  .rls-shore-chapter__gallery .rls-lightbox-trigger:first-child { grid-column: auto; min-height: 230px; }
  .rls-shore-chapter__facts { grid-template-columns: 1fr; }
  .rls-shore-chapter__tips { grid-template-columns: 1fr; gap: 15px; }
  .rls-shore-program summary { grid-template-columns: 1fr; }
  .rls-shore-program summary > b { white-space: normal; }
  .rls-shore-program__body li { grid-template-columns: 95px minmax(0, 1fr); }
  .rls-shore-practical__list summary { min-height: 70px; }
  .rls-shore-practical__list details p { margin-right: 10px; }
}

/* Guest review destination */
.rls-review-section {
  overflow: hidden;
}

.rls-review-access {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(30px, 5vw, 58px);
  border: 1px solid rgba(201, 162, 75, 0.36);
  border-radius: var(--rls-radius);
  background:
    radial-gradient(circle at 100% 0, rgba(201, 162, 75, 0.16), transparent 42%),
    linear-gradient(145deg, #171a1d, #090a0b);
  color: var(--rls-ivory);
  box-shadow: 0 28px 70px rgba(20, 17, 10, 0.24);
}

.rls-review-access__mark {
  display: inline-grid;
  width: 62px;
  height: 62px;
  margin-bottom: 26px;
  place-items: center;
  border: 1px solid var(--rls-gold);
  border-radius: 50%;
  color: var(--rls-gold-light);
  font-size: 1.5rem;
  font-weight: 800;
}

.rls-review-access h2 {
  margin: 4px 0 20px;
  color: #fff;
  font-size: clamp(2.25rem, 5vw, 4.4rem);
}

.rls-review-access > p:not(.rls-kicker) {
  max-width: 700px;
  color: #c9c4b9;
}

.rls-review-code-form {
  margin-top: 30px;
}

.rls-review-code-form > label {
  display: block;
  margin-bottom: 9px;
  color: var(--rls-gold-light);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rls-review-code-form__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
}

.rls-review-code-form input {
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid rgba(229, 204, 137, 0.42);
  border-radius: 999px;
  outline: none;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rls-review-code-form input::placeholder {
  color: #918d84;
}

.rls-review-code-form input:focus {
  border-color: var(--rls-gold-light);
  box-shadow: 0 0 0 3px rgba(201, 162, 75, 0.16);
}

.rls-review-code-form .rls-button {
  min-width: 210px;
  border: 0;
}

.rls-review-access__help {
  margin: 22px 0 0;
  color: #aaa59b;
  font-size: 0.86rem;
}

.rls-review-access__help a {
  color: var(--rls-gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rls-review-notice {
  margin-top: 24px;
  padding: 14px 17px;
  border-radius: 10px;
  font-size: 0.92rem;
}

.rls-review-notice--error {
  border: 1px solid rgba(255, 153, 153, 0.42);
  background: rgba(128, 23, 23, 0.3);
  color: #ffd8d8;
}

.rls-review-verified {
  display: flex;
  max-width: 960px;
  margin: 0 auto clamp(34px, 5vw, 58px);
  padding: 24px 28px;
  gap: 18px;
  align-items: center;
  border: 1px solid rgba(201, 162, 75, 0.4);
  border-radius: var(--rls-radius);
  background: #fffaf0;
  color: #24211c;
}

.rls-review-verified__icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;
  border-radius: 50%;
  background: var(--rls-gold);
  color: #0b0b0c;
  font-size: 1.25rem;
  font-weight: 900;
}

.rls-review-verified h2 {
  margin: 2px 0 4px;
  color: #171511;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.rls-review-verified p {
  margin: 0;
  color: #615b50;
}

.rls-review-intro {
  max-width: 820px;
  margin: 0 auto clamp(30px, 4vw, 52px);
  text-align: center;
}

.rls-review-intro h2 {
  margin-bottom: 20px;
  color: #151515;
  font-size: clamp(2.2rem, 4vw, 4.4rem);
}

.rls-review-intro > p:last-child {
  max-width: 760px;
  margin: 0 auto;
  color: #4d4942;
  font-size: 1rem;
  line-height: 1.75;
}

.rls-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.rls-review-card {
  display: flex;
  min-height: 410px;
  padding: clamp(26px, 3vw, 38px);
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid rgba(201, 162, 75, 0.34);
  border-radius: var(--rls-radius);
  background:
    radial-gradient(circle at 100% 0, rgba(201, 162, 75, 0.15), transparent 40%),
    linear-gradient(145deg, #171a1d, #090a0b);
  color: var(--rls-ivory);
  box-shadow: 0 24px 56px rgba(26, 22, 13, 0.19);
}

.rls-review-card__mark {
  display: inline-grid;
  width: 62px;
  height: 62px;
  margin-bottom: 30px;
  place-items: center;
  border: 1px solid var(--rls-gold);
  border-radius: 50%;
  color: var(--rls-gold-light);
  font-family: var(--rls-serif);
  font-size: 1.65rem;
}

.rls-review-card h3 {
  margin: 3px 0 16px;
  color: #fff;
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.rls-review-card > p:not(.rls-kicker) {
  margin-bottom: 28px;
  color: #c6c1b7;
  line-height: 1.7;
}

.rls-review-card .rls-button {
  width: 100%;
  margin-top: auto;
  padding-inline: 18px;
  text-align: center;
}

.rls-button--pending,
.rls-button--pending:hover,
.rls-button--pending:focus-visible {
  cursor: default;
  border-color: rgba(229, 204, 137, 0.33);
  background: rgba(229, 204, 137, 0.08);
  color: #c7c1b5;
  transform: none;
}

.rls-review-promise {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(340px, 1.1fr);
  gap: clamp(40px, 7vw, 100px);
  align-items: center;
}

.rls-review-promise ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rls-review-promise li {
  display: flex;
  padding: 18px 0;
  gap: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  color: #d9d3c9;
  line-height: 1.55;
}

.rls-review-promise li::before {
  flex: 0 0 auto;
  color: var(--rls-gold-light);
  content: "✓";
  font-weight: 800;
}

@media (max-width: 980px) {
  .rls-review-grid {
    grid-template-columns: 1fr;
  }

  .rls-review-card {
    min-height: 0;
  }

  .rls-review-promise {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .rls-review-code-form__row {
    grid-template-columns: 1fr;
  }

  .rls-review-code-form .rls-button {
    width: 100%;
    min-width: 0;
  }

  .rls-review-verified {
    align-items: flex-start;
    padding: 20px;
  }

  .rls-review-intro {
    text-align: left;
  }

  .rls-review-card {
    padding: 24px 20px;
  }

  .rls-review-card__mark {
    width: 54px;
    height: 54px;
    margin-bottom: 24px;
  }
}

.rls-brand-lockup {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: clamp(0.7rem, 1.2vw, 1.25rem);
  row-gap: 0.38rem;
}

.rls-brand-lockup__byline {
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
  white-space: nowrap;
}

.rls-brand-lockup__byline::before {
  content: "";
  width: clamp(1.4rem, 2.4vw, 2.8rem);
  height: 1px;
  background: linear-gradient(90deg, rgba(201, 162, 75, 0.28), var(--rls-gold-light));
}

.rls-brand-lockup__by {
  color: var(--rls-paper);
  font-family: var(--rls-serif);
  font-size: 1.05em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.rls-brand-lockup__byline strong {
  color: var(--rls-gold-light);
  font-family: var(--rls-sans);
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.rls-brand-lockup--display {
  align-items: flex-end;
}

.rls-brand-lockup--display .rls-brand-lockup__byline {
  font-size: clamp(0.76rem, 1vw, 0.94rem);
  margin-bottom: 0.72em;
}

.rls-brand-lockup--eyebrow {
  color: var(--rls-gold-light);
  font-family: var(--rls-sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  line-height: 1.3;
  text-transform: uppercase;
}

.rls-brand-lockup--eyebrow .rls-brand-lockup__byline {
  font-size: 0.9em;
  letter-spacing: normal;
}

.rls-brand-lockup--legal {
  column-gap: 0.55rem;
}

.rls-brand-lockup--legal .rls-brand-lockup__byline {
  font-size: 0.86em;
}

.rls-brand-lockup--legal .rls-brand-lockup__byline::before {
  width: 1.2rem;
}

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

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--rls-black);
  color: var(--rls-ivory);
  font-family: var(--rls-sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* Keep unsupported duplicate switchers hidden. TranslatePress remains visible
   so visitors can choose any language configured in WordPress. */
.language-switcher,
.lang-switcher,
.wpml-ls,
[class*="language-selector"],
[class*="language_switcher"] {
  display: none !important;
}

.trp-language-switcher,
#trp-floater-ls {
  z-index: 1200 !important;
}

body.admin-bar .site-header {
  top: 32px;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

.screen-reader-text,
.skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link:focus {
  z-index: 9999;
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  padding: 10px 16px;
  clip: auto;
  background: var(--rls-ivory);
  color: var(--rls-black);
}

.rls-wrap {
  width: min(calc(100% - 40px), var(--rls-max));
  margin-inline: auto;
}

.rls-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: var(--rls-gold-light);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.19em;
  line-height: 1.2;
  text-transform: uppercase;
}

.rls-kicker::before {
  width: 34px;
  height: 1px;
  content: "";
  background: var(--rls-gold);
}

.rls-display,
h1,
h2,
h3 {
  margin-top: 0;
  font-family: var(--rls-serif);
  font-weight: 400;
  line-height: 1.06;
}

h1 {
  font-size: clamp(3.1rem, 7vw, 6.8rem);
  letter-spacing: -0.045em;
}

h2 {
  margin-bottom: 24px;
  font-size: clamp(2.4rem, 4.8vw, 4.4rem);
  letter-spacing: -0.035em;
}

h3 {
  font-size: clamp(1.45rem, 2.4vw, 2.05rem);
}

p {
  margin-top: 0;
}

.rls-lead {
  max-width: 720px;
  color: #d8d2c7;
  font-size: clamp(1.08rem, 1.7vw, 1.3rem);
}

.rls-gold-text {
  color: var(--rls-gold-light);
  font-style: italic;
}

@keyframes rls-hero-drift {
  from {
    transform: scale(1.015) translate3d(0, 0, 0);
  }
  to {
    transform: scale(1.065) translate3d(-0.9%, -0.5%, 0);
  }
}

@keyframes rls-page-hero-copy-in {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.rls-hero__media > img,
.rls-page-hero__media > img {
  animation: rls-hero-drift 16s ease-in-out infinite alternate;
  will-change: transform;
}

.rls-reveal-enabled .rls-reveal {
  opacity: 0.82;
  transform: translateY(28px);
  transition: opacity 760ms ease var(--rls-reveal-delay, 0ms), transform 820ms cubic-bezier(0.16, 0.72, 0.24, 1) var(--rls-reveal-delay, 0ms);
}

.rls-reveal-enabled .rls-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.rls-section {
  position: relative;
  padding: var(--rls-section-space) 0;
}

.rls-section--paper {
  background: var(--rls-paper);
  color: #151515;
}

.rls-section--panel {
  background: var(--rls-charcoal);
}

.rls-section--line {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.rls-section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(300px, 0.55fr);
  gap: clamp(34px, 4vw, 56px);
  align-items: end;
  margin-bottom: clamp(28px, 3.2vw, 40px);
}

.rls-section-head p {
  margin-bottom: 8px;
  color: #aaa69e;
}

.rls-section--paper .rls-section-head p {
  color: #57544f;
}

.rls-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 13px 23px;
  border: 1px solid var(--rls-gold);
  border-radius: 999px;
  background: var(--rls-gold);
  color: #100d06;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: 180ms ease;
}

.rls-button:hover,
.rls-button:focus-visible {
  border-color: var(--rls-gold-light);
  background: var(--rls-gold-light);
  transform: translateY(-2px);
}

.rls-button--ghost {
  border-color: rgba(255, 255, 255, 0.38);
  background: transparent;
  color: var(--rls-ivory);
}

.rls-button--ghost:hover,
.rls-button--ghost:focus-visible {
  border-color: var(--rls-gold);
  background: rgba(201, 162, 75, 0.1);
  color: var(--rls-gold-light);
}

.rls-button--dark {
  border-color: #151515;
  background: #151515;
  color: var(--rls-ivory);
}

.rls-arrow {
  font-size: 1rem;
  transition: transform 180ms ease;
}

.rls-button:hover .rls-arrow {
  transform: translateX(4px);
}

/* Header */
.site-header {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(8, 9, 10, 0.86);
  backdrop-filter: blur(18px);
}

.site-header__inner {
  display: grid;
  min-height: 82px;
  grid-template-columns: auto 1fr auto auto;
  gap: clamp(10px, 1.15vw, 18px);
  align-items: center;
}

.site-brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
}

.site-brand__logo {
  width: clamp(176px, 14.5vw, 220px);
  height: auto;
}

.site-footer .site-brand__logo {
  width: min(360px, 100%);
}

.site-brand__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--rls-gold);
  border-radius: 50%;
  color: var(--rls-gold-light);
  font-family: var(--rls-serif);
  font-size: 0.9rem;
  letter-spacing: -0.08em;
}

.site-brand__name {
  display: flex;
  flex-direction: column;
  font-family: var(--rls-serif);
  line-height: 1;
}

.site-brand__name strong {
  font-size: 1.18rem;
  font-weight: 400;
  letter-spacing: 0.14em;
}

.site-brand__name span {
  margin-top: 5px;
  color: var(--rls-gold);
  font-family: var(--rls-sans);
  font-size: 0.52rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.site-nav {
  justify-self: end;
}

.site-nav > ul {
  display: flex;
  margin: 0;
  padding: 0;
  gap: clamp(9px, 1.05vw, 16px);
  align-items: center;
  list-style: none;
}

.site-nav__item {
  position: relative;
}

.site-nav__parent {
  display: flex;
  gap: 4px;
  align-items: center;
}

.submenu-toggle {
  display: grid;
  width: 22px;
  height: 26px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: #d8d3ca;
  cursor: pointer;
}

.submenu-toggle span {
  display: block;
  font-size: 1rem;
  line-height: 1;
  transition: color 220ms ease, transform 260ms ease;
}

.site-nav__item--has-submenu:hover .submenu-toggle span,
.site-nav__item--has-submenu:focus-within .submenu-toggle span,
.site-nav__item--has-submenu.is-submenu-open .submenu-toggle span {
  color: var(--rls-gold-light);
  transform: rotate(180deg);
}

.site-nav .sub-menu {
  position: absolute;
  top: calc(100% + 17px);
  left: -22px;
  display: block;
  min-width: 285px;
  margin: 0;
  padding: 13px;
  border: 1px solid rgba(229, 204, 137, 0.2);
  background: rgba(8, 9, 10, 0.98);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.46);
  list-style: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 240ms ease, transform 280ms cubic-bezier(0.16, 0.72, 0.24, 1), visibility 240ms ease;
  visibility: hidden;
}

.site-nav .sub-menu::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 18px;
  content: "";
}

.site-nav .sub-menu--wide {
  min-width: 330px;
}

.site-nav__item--has-submenu:hover > .sub-menu,
.site-nav__item--has-submenu:focus-within > .sub-menu,
.site-nav__item--has-submenu.is-submenu-open > .sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.site-nav .sub-menu li + li {
  border-top: 1px solid rgba(255, 255, 255, 0.075);
}

.site-nav .sub-menu a {
  display: block;
  padding: 12px 11px;
  color: #c9c4bb;
  font-size: 0.64rem;
  letter-spacing: 0.09em;
  line-height: 1.4;
  white-space: nowrap;
}

.site-nav a {
  color: #d8d3ca;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

/* Keep desktop navigation labels intact. The menu switches to its mobile
   layout before long labels need to wrap. */
.site-nav > ul > .site-nav__item > a,
.site-nav__parent > a {
  white-space: nowrap;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav .current-menu-item > a {
  color: var(--rls-gold-light);
}

.site-header__quote {
  min-height: 43px;
  padding: 10px 14px;
  font-size: 0.66rem;
}

.rls-language-picker { position: relative; justify-self: end; }
.rls-language-picker__toggle {
  display: inline-flex; min-height: 40px; padding: 0 13px; gap: 7px;
  align-items: center; border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px; background: #111315; color: var(--rls-gold-light);
  font: inherit; font-size: .65rem; letter-spacing: .1em; cursor: pointer;
}
.rls-language-picker__toggle strong { font-size: .65rem; }
.rls-language-picker__chevron { font-size: .85rem; transition: transform 180ms ease; }
.rls-language-picker.is-open .rls-language-picker__chevron { transform: rotate(180deg); }
.rls-language-picker__menu {
  position: absolute; top: calc(100% + 11px); right: 0; z-index: 20; display: none;
  width: 190px; padding: 8px; border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px; background: #101214; box-shadow: 0 20px 45px rgba(0,0,0,.65);
}
.rls-language-picker.is-open .rls-language-picker__menu { display: block; }
.rls-language-picker__menu a {
  display: flex; padding: 11px 12px; align-items: center; justify-content: space-between;
  border-radius: 7px; color: #d8d3ca; font-size: .76rem; line-height: 1.2;
}
.rls-language-picker__menu a:hover,
.rls-language-picker__menu a:focus-visible { background: rgba(255,255,255,.055); }
.rls-language-picker__menu a[aria-current="page"] { background: rgba(201,162,75,.12); color: var(--rls-gold-light); }
.rls-language-picker__menu small { opacity: .62; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  background: transparent;
  color: white;
}

.nav-toggle span,
.nav-toggle::before,
.nav-toggle::after {
  display: block;
  width: 18px;
  height: 1px;
  margin: 4px auto;
  content: "";
  background: currentColor;
}

/* Hero */
.rls-hero {
  position: relative;
  display: flex;
  min-height: clamp(560px, 82svh, 690px);
  align-items: end;
  overflow: hidden;
  padding: clamp(126px, 16vh, 150px) 0 44px;
  background: #090a0b;
}

.rls-hero__media {
  position: absolute;
  inset: 0;
}

.rls-hero__media::before,
.rls-hero__media::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
}

.rls-hero__media::before {
  background:
    linear-gradient(90deg, rgba(5, 6, 7, 0.97) 0%, rgba(5, 6, 7, 0.66) 48%, rgba(5, 6, 7, 0.12) 80%),
    linear-gradient(0deg, rgba(5, 6, 7, 0.92) 0%, transparent 45%);
}

.rls-hero__media::after {
  background: radial-gradient(circle at 80% 34%, transparent 0, rgba(0, 0, 0, 0.12) 56%, rgba(0, 0, 0, 0.55) 100%);
}

.rls-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 54%;
}

.rls-hero__content {
  position: relative;
  z-index: 2;
  max-width: 880px;
}

.rls-hero h1 {
  max-width: 820px;
  margin-bottom: 28px;
}

.rls-hero__copy {
  max-width: 660px;
  margin-bottom: 36px;
  color: #dad5cc;
  font-size: clamp(1.08rem, 1.7vw, 1.32rem);
}

.rls-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.rls-hero__path-note {
  margin: 18px 0 0;
  color: rgba(244, 240, 231, 0.72);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rls-hero__authentic {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 12px 0 0;
  color: rgba(244, 240, 231, 0.76);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rls-hero__authentic::before {
  width: 24px;
  height: 1px;
  content: "";
  background: var(--rls-gold-light);
}

.rls-trust {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: #0e1012;
}

.rls-trust__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.rls-trust__item {
  min-height: 94px;
  padding: 18px 24px;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.rls-trust__item:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.rls-trust__item span {
  display: block;
  margin-bottom: 10px;
  color: var(--rls-gold);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rls-trust__item strong {
  font-family: var(--rls-serif);
  font-size: 1.25rem;
  font-weight: 400;
}

/* Journey catalogue selector */
.rls-pathways {
  overflow: hidden;
  border-bottom: 1px solid rgba(229, 204, 137, 0.12);
  background:
    radial-gradient(circle at 50% 0%, rgba(201, 162, 75, 0.1), transparent 34%),
    #0b0d0f;
}

.rls-pathways__tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.rls-pathways__tabs button {
  min-height: 72px;
  padding: 13px 12px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  color: #d9d3c9;
  cursor: pointer;
  font: 800 0.68rem/1.35 var(--rls-sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background 220ms ease, border-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.rls-pathways__tabs button:hover,
.rls-pathways__tabs button:focus-visible,
.rls-pathways__tabs button[aria-selected="true"] {
  border-color: var(--rls-gold-light);
  background: rgba(201, 162, 75, 0.15);
  color: white;
  transform: translateY(-2px);
}

.rls-pathways__panels {
  border: 1px solid rgba(229, 204, 137, 0.22);
  border-radius: var(--rls-radius);
  background: linear-gradient(145deg, #131619, #0b0d0f);
  box-shadow: var(--rls-shadow);
}

.rls-pathways__panel {
  display: grid;
  grid-template-columns: minmax(220px, 0.58fr) minmax(0, 1.42fr);
  gap: clamp(24px, 4vw, 52px);
  padding: clamp(24px, 3.4vw, 40px);
  align-items: center;
}

.rls-pathways__panel[hidden] {
  display: none;
}

.rls-pathways__intro span {
  display: block;
  margin-bottom: 10px;
  color: var(--rls-gold-light);
  font: 400 clamp(1.55rem, 2.6vw, 2.25rem)/1.08 var(--rls-serif);
}

.rls-pathways__intro p {
  max-width: 390px;
  margin: 0;
  color: #aaa69e;
}

.rls-pathways__intro img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 1.25rem;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .24);
}

.rls-service-visual {
  background: #111312;
  color: #f5f0e7;
}

.rls-service-visual__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.rls-service-visual figure { margin: 0; }
.rls-service-visual img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 18px;
}
.rls-service-visual figcaption {
  margin-top: .7rem;
  color: rgba(255,255,255,.58);
  font-size: .75rem;
}
.rls-service-visual h2 { color: #fff; }
.rls-fleet-authenticity {
  max-width: 850px;
  margin: 0 0 2rem;
  padding: 1rem 1.2rem;
  border-left: 3px solid var(--rls-gold);
  background: rgba(190, 145, 54, .08);
}

@media (max-width: 760px) {
  .rls-service-visual__grid { grid-template-columns: 1fr; }
}

.rls-editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.rls-editorial-card { overflow:hidden; border-radius:var(--rls-radius); background:#fff; box-shadow:0 18px 45px rgba(35,27,16,.1); }
.rls-editorial-card > a { display:block; height:100%; color:var(--rls-charcoal); text-decoration:none; }
.rls-editorial-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.rls-editorial-card div { padding:clamp(22px,3vw,34px); }
.rls-editorial-card h2 { margin:.45rem 0 .8rem; font-size:clamp(1.45rem,2.2vw,2rem); }
.rls-editorial-card strong,.rls-editorial-meta { color:var(--rls-gold-deep); font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.rls-article-hero { position:relative; min-height:610px; display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
.rls-article-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.9)); }
.rls-article-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rls-article-hero .rls-wrap { position:relative; z-index:1; padding-block:110px 70px; }
.rls-article-hero h1 { max-width:950px; margin:.6rem 0 1rem; color:#fff; font-size:clamp(2.7rem,6vw,5.8rem); line-height:.98; }
.rls-article-hero p { max-width:760px; font-size:1.18rem; }
.rls-article-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(280px,360px); gap:clamp(40px,7vw,95px); align-items:start; }
.rls-article-body { font-size:1.08rem; line-height:1.8; }
.rls-article-body h2 { margin:2.4rem 0 .75rem; font-size:clamp(1.7rem,3vw,2.5rem); }
.rls-article-lead { font-size:1.3rem; color:#4b4338; }
.rls-article-aside { position:sticky; top:120px; padding:28px; border-radius:var(--rls-radius); background:var(--rls-charcoal); color:var(--rls-paper); }
.rls-article-aside h2 { color:#fff; }.rls-article-aside .rls-button { width:100%; margin:12px 0 20px; text-align:center; }
@media(max-width:800px){.rls-editorial-grid,.rls-article-layout{grid-template-columns:1fr}.rls-article-aside{position:static}.rls-article-hero{min-height:520px}}

.rls-pathways__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rls-pathways__links a {
  display: flex;
  min-height: 92px;
  padding: 17px 18px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  color: #d9d3c9;
  flex-direction: column;
  justify-content: center;
  transition: background 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.rls-pathways__links strong {
  display: block;
  margin-bottom: 6px;
  color: var(--rls-ivory);
  font-family: var(--rls-serif);
  font-size: 1.15rem;
  font-weight: 400;
}

.rls-pathways__links small {
  color: var(--rls-gold-light);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rls-pathways__links a:hover,
.rls-pathways__links a:focus-visible {
  border-color: var(--rls-gold-light);
  background: rgba(201, 162, 75, 0.1);
  transform: translateY(-3px);
}

/* Cards */
.rls-home-services {
  overflow: hidden;
  border-top: 1px solid rgba(229, 204, 137, 0.16);
  border-bottom: 1px solid rgba(229, 204, 137, 0.12);
  background:
    radial-gradient(circle at 50% -12%, rgba(201, 162, 75, 0.16), transparent 38%),
    linear-gradient(145deg, #08090a 0%, #151719 52%, #0a0b0c 100%);
}

.rls-home-services::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(110deg, transparent 0 44%, rgba(229, 204, 137, 0.035) 50%, transparent 56%),
    radial-gradient(circle at 88% 84%, rgba(128, 99, 33, 0.13), transparent 28%);
  content: "";
  pointer-events: none;
}

.rls-home-services .rls-wrap {
  position: relative;
  z-index: 1;
}

.rls-home-services .rls-section-head p {
  color: #c4c0b7;
}

.rls-home-services .rls-section-head h2 {
  color: var(--rls-ivory);
}

.rls-services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.rls-service {
  position: relative;
  min-height: 300px;
  padding: 36px;
  border-right: 1px solid rgba(15, 15, 15, 0.18);
  border-bottom: 1px solid rgba(15, 15, 15, 0.18);
  transition: background 180ms ease;
}

.rls-service:hover {
  background: rgba(255, 255, 255, 0.28);
}

.rls-service--photo {
  min-height: 380px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(201, 162, 75, 0.7);
  border-radius: var(--rls-radius);
  background: #0b0d0e;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.52), 0 0 0 1px rgba(229, 204, 137, 0.04);
  color: var(--rls-ivory);
  transition: border-color 320ms ease, box-shadow 320ms ease;
}

.rls-service--photo:hover,
.rls-service--photo:focus-within {
  border-color: rgba(229, 204, 137, 0.96);
  background: #0b0d0e;
  box-shadow: 0 32px 82px rgba(0, 0, 0, 0.68), 0 0 38px rgba(201, 162, 75, 0.16);
}

.rls-service--photo .rls-service__card-link {
  position: relative;
  display: block;
  min-height: 380px;
  padding: 0;
  overflow: hidden;
  color: inherit;
}

.rls-service--photo .rls-service__card-link::before,
.rls-service--photo .rls-service__card-link::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.rls-service--photo .rls-service__card-link::before {
  z-index: 3;
  inset: 8px;
  border: 1px solid rgba(229, 204, 137, 0.2);
  transition: border-color 320ms ease;
}

.rls-service--photo .rls-service__card-link::after {
  z-index: 1;
  inset: 0;
  background: linear-gradient(0deg, rgba(5, 6, 7, 0.96) 0%, rgba(5, 6, 7, 0.68) 48%, rgba(5, 6, 7, 0.08) 82%);
}

.rls-service--photo:hover .rls-service__card-link::before,
.rls-service--photo:focus-within .rls-service__card-link::before {
  border-color: rgba(229, 204, 137, 0.55);
}

.rls-service__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.82) contrast(1.04);
  transform: scale(1.035);
  transition: filter 900ms ease, transform 1450ms cubic-bezier(0.16, 0.72, 0.24, 1);
}

.rls-reveal-enabled .rls-service--photo.rls-reveal .rls-service__media {
  filter: saturate(0.55) contrast(0.93);
  transform: scale(1.15);
}

.rls-reveal-enabled .rls-service--photo.rls-reveal.is-visible .rls-service__media {
  filter: saturate(0.82) contrast(1.04);
  transform: scale(1.035);
}

.rls-service--photo:hover .rls-service__media,
.rls-service--photo:focus-within .rls-service__media,
.rls-reveal-enabled .rls-service--photo.rls-reveal.is-visible:hover .rls-service__media,
.rls-reveal-enabled .rls-service--photo.rls-reveal.is-visible:focus-within .rls-service__media {
  filter: saturate(1.1) contrast(1.06);
  transform: scale(1.09);
}

.rls-service--photo .rls-service__number,
.rls-service--photo .rls-service__link,
.rls-service--photo .rls-service__content {
  position: absolute;
  z-index: 2;
}

.rls-service--photo .rls-service__number {
  top: 34px;
  left: 34px;
  margin: 0;
  color: var(--rls-gold-light);
}

.rls-service--photo .rls-service__link {
  color: var(--rls-ivory);
}

.rls-service--photo .rls-service__content {
  right: 34px;
  bottom: 34px;
  left: 34px;
}

.rls-service--photo h3 {
  max-width: 320px;
  color: var(--rls-ivory);
  font-size: clamp(1.75rem, 2.4vw, 2.45rem);
}

.rls-service--photo p {
  color: #d0cbc2;
  line-height: 1.65;
}

.rls-service__number {
  display: block;
  margin-bottom: 60px;
  color: #8b6e2d;
  font-family: var(--rls-serif);
  font-style: italic;
}

.rls-service h3 {
  max-width: 270px;
  margin-bottom: 16px;
}

.rls-service p {
  margin-bottom: 0;
  color: #59554e;
  font-size: 0.92rem;
}

.rls-service__link {
  position: absolute;
  top: 30px;
  right: 30px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(20, 20, 20, 0.26);
  border-radius: 50%;
  transition: 180ms ease;
}

.rls-service:hover .rls-service__link {
  border-color: #151515;
  background: #151515;
  color: white;
  transform: translate(2px, -2px);
}

.rls-service__card-link,
.rls-card-link {
  display: block;
  height: 100%;
  color: inherit;
}

.rls-service__card-link strong,
.rls-card-link strong {
  display: inline-block;
  margin-top: 22px;
  color: var(--rls-gold);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rls-detail-card:has(.rls-card-link),
.rls-service:has(.rls-service__card-link) {
  padding: 0;
}

.rls-detail-card .rls-card-link,
.rls-service .rls-service__card-link {
  padding: clamp(28px, 5vw, 50px);
}

.rls-service:not(.rls-service--photo) .rls-service__card-link {
  padding: 36px;
}

.rls-packages-note {
  margin-top: 64px;
  padding: clamp(34px, 6vw, 72px);
  border: 1px solid rgba(15, 15, 15, 0.18);
  background: rgba(255, 255, 255, 0.32);
}

.rls-packages-note h2,
.rls-packages-note p {
  max-width: 820px;
}

/* Visual day-tour collection */
.rls-tour-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px;
}

.rls-tour-card {
  position: relative;
  grid-column: span 4;
  min-height: 500px;
  overflow: hidden;
  border: 1px solid rgba(20, 20, 20, 0.18);
  border-radius: var(--rls-radius);
  background: #111315;
  box-shadow: 0 24px 56px rgba(34, 29, 19, 0.16);
}

.rls-tour-card--1,
.rls-tour-card--8 {
  grid-column: span 7;
  min-height: 610px;
}

.rls-tour-card--2,
.rls-tour-card--9 {
  grid-column: span 5;
  min-height: 610px;
}

.rls-tour-card--6,
.rls-tour-card--7,
.rls-tour-card--10,
.rls-tour-card--11 {
  grid-column: span 6;
  min-height: 550px;
}

.rls-tour-card > a {
  position: absolute;
  inset: 0;
  display: block;
  color: white;
}

.rls-tour-card__media,
.rls-tour-card__media::after {
  position: absolute;
  inset: 0;
}

.rls-tour-card__media::after {
  content: "";
  background: linear-gradient(0deg, rgba(6, 7, 8, 0.96) 0%, rgba(6, 7, 8, 0.5) 48%, rgba(6, 7, 8, 0.06) 78%), linear-gradient(90deg, rgba(6, 7, 8, 0.22), transparent 54%);
}

.rls-tour-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.08) contrast(1.035);
  transform: scale(1.001);
  transition: transform 1.15s cubic-bezier(0.2, 0.65, 0.3, 1), filter 600ms ease;
}

.rls-reveal-enabled .rls-tour-card.rls-reveal .rls-tour-card__media img {
  transform: scale(1.065);
}

.rls-reveal-enabled .rls-tour-card.rls-reveal.is-visible .rls-tour-card__media img {
  transform: scale(1.001);
}

.rls-tour-card:hover .rls-tour-card__media img,
.rls-tour-card:focus-within .rls-tour-card__media img,
.rls-reveal-enabled .rls-tour-card.rls-reveal.is-visible:hover .rls-tour-card__media img,
.rls-reveal-enabled .rls-tour-card.rls-reveal.is-visible:focus-within .rls-tour-card__media img {
  filter: saturate(1.18) contrast(1.045);
  transform: scale(1.07);
}

.rls-tour-card__number,
.rls-tour-card__credit {
  position: absolute;
  z-index: 2;
  top: 24px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rls-tour-card__number {
  left: 26px;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.48);
  border-radius: 50%;
  background: rgba(7, 8, 9, 0.28);
  font-family: var(--rls-serif);
  font-size: 0.82rem;
  backdrop-filter: blur(8px);
}

.rls-tour-card__credit {
  right: 22px;
  max-width: 58%;
  padding: 7px 9px;
  background: rgba(7, 8, 9, 0.5);
  font-size: 0.54rem;
  letter-spacing: 0.05em;
  text-align: right;
  backdrop-filter: blur(7px);
}

.rls-tour-card__content {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: clamp(28px, 4vw, 48px);
  transition: transform 450ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

.rls-tour-card:hover .rls-tour-card__content,
.rls-tour-card:focus-within .rls-tour-card__content {
  transform: translateY(-8px);
}

.rls-tour-card__meta {
  display: block;
  margin-bottom: 12px;
  color: var(--rls-gold-light);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rls-tour-card h3 {
  max-width: 760px;
  margin-bottom: 14px;
  color: white;
  font-size: clamp(2rem, 3.2vw, 3.8rem);
}

.rls-tour-card p {
  display: -webkit-box;
  max-width: 680px;
  margin-bottom: 0;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.92rem;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.rls-tour-card strong {
  display: inline-flex;
  margin-top: 20px;
  gap: 10px;
  align-items: center;
  color: var(--rls-gold-light);
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rls-tour-card strong span {
  transition: transform 220ms ease;
}

.rls-tour-card:hover strong span,
.rls-tour-card:focus-within strong span {
  transform: translateX(5px);
}

/* Split story */
.rls-story {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr);
  gap: clamp(45px, 8vw, 120px);
  align-items: center;
}

.rls-story__media {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  border-radius: 2px;
}

.rls-story__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rls-story__stamp {
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 150px;
  height: 150px;
  padding: 20px;
  border: 1px solid var(--rls-gold);
  border-radius: 50%;
  background: rgba(8, 9, 10, 0.88);
  color: var(--rls-gold-light);
  text-align: center;
  backdrop-filter: blur(12px);
}

.rls-story__stamp strong {
  display: block;
  padding-top: 25px;
  font-family: var(--rls-serif);
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
}

.rls-story__stamp span {
  display: block;
  margin-top: 8px;
  font-size: 0.56rem;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.rls-story__list {
  margin: 34px 0 40px;
  padding: 0;
  list-style: none;
}

.rls-story__list li {
  display: flex;
  padding: 15px 0;
  gap: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  color: #d9d3c9;
}

.rls-story__list li::before {
  color: var(--rls-gold);
  content: "✦";
}

/* Fleet */
.rls-fleet {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}

.rls-vehicle {
  position: relative;
  grid-column: span 6;
  overflow: hidden;
  min-height: 480px;
  border: 1px solid rgba(229, 204, 137, 0.18);
  border-radius: var(--rls-radius);
  background: var(--rls-panel);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38), inset 0 0 0 1px rgba(255, 255, 255, 0.025);
  transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
}

.rls-vehicle:hover {
  border-color: rgba(229, 204, 137, 0.52);
  box-shadow: 0 34px 95px rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(201, 162, 75, 0.12);
  transform: translateY(-4px);
}

.rls-vehicle:nth-child(2),
.rls-vehicle:nth-child(3) {
  grid-column: span 6;
  min-height: 390px;
}

.rls-vehicle img {
  width: 100%;
  height: 100%;
  transition: transform 600ms ease;
  object-fit: cover;
}

.rls-vehicle:hover img {
  transform: scale(1.025);
}

.rls-vehicle::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgba(4, 5, 6, 0.97) 0%, rgba(4, 5, 6, 0.72) 35%, transparent 70%);
}

.rls-vehicle__content {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 34px;
}

.rls-fleet-conversion {
  display: grid;
  margin-top: 22px;
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid rgba(201, 162, 75, 0.28);
  border-radius: var(--rls-radius);
  background: linear-gradient(135deg, rgba(201, 162, 75, 0.11), rgba(255, 255, 255, 0.025));
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
}

.rls-fleet-conversion h2,
.rls-fleet-conversion p {
  margin-bottom: 10px;
}

.rls-vehicle__content span {
  color: var(--rls-gold-light);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rls-vehicle__content h3 {
  margin: 9px 0 6px;
}

.rls-vehicle__content p {
  max-width: 430px;
  margin-bottom: 0;
  color: #c7c2b9;
  font-size: 0.92rem;
}

.rls-vehicle__content small {
  display: block;
  margin-top: 12px;
  color: #aaa69e;
  font-size: 0.78rem;
}

.rls-vehicle__content a {
  display: inline-block;
  margin-top: 14px;
  color: var(--rls-gold-light);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rls-corporate-intro {
  max-width: 920px;
  margin: -18px 0 38px;
}

.rls-corporate-note {
  margin: 24px 0;
  padding: 18px 20px;
  border-left: 2px solid var(--rls-gold);
  background: rgba(201, 162, 75, 0.08);
  color: #ddd7cc;
}

/* Experiences */
.rls-experiences {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.rls-experience {
  position: relative;
  overflow: hidden;
  min-height: 540px;
  border-radius: var(--rls-radius);
}

.rls-experience + .rls-experience {
  min-height: 540px;
}

.rls-experience img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rls-experience > img {
  transition: transform 800ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

.rls-experience:hover > img {
  transform: scale(1.035);
}

.rls-experience--golf > img {
  object-position: center center;
}

.rls-golf-card-visual {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  background: var(--rls-charcoal);
}

.rls-golf-card-visual__panel {
  position: relative;
  overflow: hidden;
}

.rls-experience .rls-golf-card-visual__panel img {
  width: 200%;
  max-width: none;
  height: 100%;
  object-fit: cover;
}

.rls-golf-card-visual__panel--right img {
  transform: translateX(-50%);
}

.rls-experience::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgba(4, 5, 6, 0.96), rgba(4, 5, 6, 0.06) 75%);
}

.rls-experience__content {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 42px;
}

.rls-experience__content p {
  max-width: 560px;
  color: #d0cbc2;
}

.rls-destinations {
  display: flex;
  flex-wrap: wrap;
  margin-top: 28px;
  gap: 9px;
}

.rls-destinations span {
  padding: 7px 12px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: #ded8ce;
  font-size: 0.67rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rls-destination-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.rls-home-destinations {
  padding-top: var(--rls-section-space-tight);
  padding-bottom: var(--rls-section-space);
  overflow: hidden;
}

.rls-home-destinations .rls-section-head {
  margin-bottom: clamp(28px, 3.4vw, 42px);
}

.rls-home-destinations .rls-destination-strip {
  margin-top: 0;
}

.rls-destination-strip__item {
  position: relative;
  overflow: hidden;
  min-height: 330px;
  border: 1px solid rgba(201, 162, 75, 0.54);
  border-radius: var(--rls-radius);
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.28);
  color: white;
  transition: border-color 320ms ease, box-shadow 320ms ease;
}

.rls-destination-strip__item::before {
  position: absolute;
  z-index: 3;
  inset: 8px;
  border: 1px solid rgba(229, 204, 137, 0.22);
  content: "";
  pointer-events: none;
  transition: border-color 320ms ease;
}

.rls-destination-strip__item:hover,
.rls-destination-strip__item:focus-visible {
  border-color: rgba(229, 204, 137, 0.95);
  box-shadow: 0 32px 76px rgba(0, 0, 0, 0.42);
}

.rls-destination-strip__item:hover::before,
.rls-destination-strip__item:focus-visible::before {
  border-color: rgba(229, 204, 137, 0.58);
}

.rls-destination-strip__item::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgba(5, 6, 7, 0.93), rgba(5, 6, 7, 0.06) 68%);
}

.rls-destination-strip__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.08) contrast(1.03);
  transition: transform 1450ms cubic-bezier(0.16, 0.72, 0.24, 1), filter 900ms ease;
}

.rls-reveal-enabled .rls-home-destinations .rls-destination-strip__item.rls-reveal img {
  filter: saturate(0.72) contrast(0.92);
  transform: scale(1.14);
}

.rls-reveal-enabled .rls-home-destinations .rls-destination-strip__item.rls-reveal.is-visible img {
  filter: saturate(1.08) contrast(1.03);
  transform: scale(1.001);
}

.rls-destination-strip__item:hover img,
.rls-destination-strip__item:focus-visible img {
  filter: saturate(1.18) contrast(1.045);
  transform: scale(1.065);
}

.rls-reveal-enabled .rls-home-destinations .rls-destination-strip__item.rls-reveal.is-visible:hover img,
.rls-reveal-enabled .rls-home-destinations .rls-destination-strip__item.rls-reveal.is-visible:focus-visible img {
  filter: saturate(1.2) contrast(1.05);
  transform: scale(1.065);
}

.rls-destination-strip__item > span {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 24px;
  left: 24px;
  font-family: var(--rls-serif);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.08;
}

.rls-destination-strip__item > em {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  max-width: calc(100% - 28px);
  padding: 6px 8px;
  background: rgba(7, 8, 9, 0.54);
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.49rem;
  font-style: normal;
  letter-spacing: 0.045em;
  text-align: right;
  backdrop-filter: blur(7px);
}

.rls-destination-strip__item small {
  display: block;
  margin-bottom: 9px;
  color: var(--rls-gold-light);
  font-family: var(--rls-sans);
  font-size: 0.57rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rls-destination-strip__cta {
  margin-top: 30px;
  text-align: right;
}

/* Partners */
.rls-partners {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1.15fr);
  gap: clamp(50px, 9vw, 130px);
  align-items: center;
}

.rls-partners__media {
  position: relative;
}

.rls-partners__media img {
  width: 100%;
  min-height: 660px;
  border-radius: var(--rls-radius);
  object-fit: cover;
}

.rls-partners__panel {
  position: absolute;
  right: -40px;
  bottom: 40px;
  max-width: 340px;
  padding: 26px;
  border: 1px solid var(--rls-line);
  background: rgba(8, 9, 10, 0.92);
  box-shadow: var(--rls-shadow);
  backdrop-filter: blur(16px);
}

.rls-partners__panel strong {
  display: block;
  margin-bottom: 7px;
  color: var(--rls-gold-light);
  font-family: var(--rls-serif);
  font-size: 1.35rem;
  font-weight: 400;
}

.rls-partners__panel span {
  color: #bbb6ad;
  font-size: 0.84rem;
}

.rls-benefits {
  display: grid;
  margin: 38px 0;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.rls-benefit {
  padding: 20px 16px 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.rls-benefit:nth-child(even) {
  padding-left: 18px;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.rls-benefit strong {
  display: block;
  margin-bottom: 5px;
  font-family: var(--rls-serif);
  font-size: 1.08rem;
  font-weight: 400;
}

.rls-benefit span {
  color: #aaa69e;
  font-size: 0.82rem;
}

/* Partner programs, heritage journeys and weddings */
.rls-partner-lanes,
.rls-wedding-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.rls-wedding-fleet-pair {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  background: #090a0b;
}

.rls-story__media .rls-wedding-fleet-pair img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rls-wedding-fleet-pair + .rls-story__stamp strong {
  padding-top: 17px;
  font-size: 1.06rem;
  line-height: 1.05;
}

.rls-pathway-note {
  margin-top: 22px;
  color: #aaa69e;
  font-size: 0.82rem;
}

.rls-pathway-note a {
  color: var(--rls-gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rls-partner-lane,
.rls-wedding-movement {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  padding: clamp(28px, 4vw, 44px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--rls-radius);
  background: linear-gradient(145deg, rgba(29, 32, 36, 0.98), rgba(12, 14, 16, 0.98));
  box-shadow: var(--rls-shadow);
}

.rls-partner-lane::before,
.rls-wedding-movement::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--rls-gold), transparent);
  content: "";
  transform: scaleX(0.3);
  transition: transform 500ms ease;
}

.rls-partner-lane:hover::before,
.rls-partner-lane:focus-within::before,
.rls-wedding-movement:hover::before {
  transform: scaleX(1);
}

.rls-partner-lane > span,
.rls-wedding-movement > span {
  display: block;
  margin-bottom: 48px;
  color: var(--rls-gold);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rls-partner-lane h3,
.rls-wedding-movement h3 {
  font-size: clamp(1.7rem, 3vw, 2.45rem);
}

.rls-partner-lane p,
.rls-wedding-movement p {
  color: #aaa69e;
}

.rls-partner-lane .rls-inline-link {
  display: inline-flex;
  margin-top: 18px;
}

.rls-partner-lane--heritage {
  background:
    radial-gradient(circle at 100% 0%, rgba(201, 162, 75, 0.18), transparent 42%),
    linear-gradient(145deg, rgba(29, 32, 36, 0.98), rgba(12, 14, 16, 0.98));
}

.rls-wedding-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rls-wedding-movement {
  min-height: 300px;
}

.rls-wedding-countryside {
  padding-top: var(--rls-section-space-tight);
  padding-bottom: var(--rls-section-space-tight);
}

.rls-wedding-countryside__visual {
  position: relative;
  overflow: hidden;
  min-height: clamp(420px, 54vw, 650px);
  margin: 0;
  border: 1px solid rgba(201, 162, 75, 0.32);
  border-radius: var(--rls-radius);
  background: #101214;
  box-shadow: var(--rls-shadow);
}

.rls-wedding-countryside__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 5, 6, 0.7) 0%, rgba(4, 5, 6, 0.08) 58%, transparent 100%);
  content: "";
  pointer-events: none;
}

.rls-wedding-countryside__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms ease;
}

.rls-wedding-countryside__visual:hover img {
  transform: scale(1.025);
}

.rls-wedding-countryside__visual figcaption {
  position: absolute;
  z-index: 1;
  bottom: clamp(24px, 5vw, 60px);
  left: clamp(24px, 5vw, 60px);
  width: min(440px, calc(100% - 48px));
  color: var(--rls-white);
}

.rls-wedding-countryside__visual figcaption span {
  display: block;
  margin-bottom: 12px;
  color: var(--rls-gold-light);
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rls-wedding-countryside__visual figcaption strong {
  display: block;
  font-family: var(--rls-serif);
  font-size: clamp(1.9rem, 4vw, 3.65rem);
  font-weight: 400;
  line-height: 0.98;
}

.rls-wedding-countryside__visual figcaption p {
  max-width: 390px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
}

.rls-heritage-partner {
  background:
    radial-gradient(circle at 8% 10%, rgba(201, 162, 75, 0.12), transparent 34%),
    var(--rls-black);
}

.rls-heritage-scope {
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid var(--rls-line);
  border-radius: var(--rls-radius);
  background: rgba(23, 26, 29, 0.82);
}

.rls-scope-notice,
.rls-legal-note {
  padding: 18px 20px;
  border-left: 2px solid var(--rls-gold);
  background: rgba(201, 162, 75, 0.08);
  color: #c6c0b6;
  font-size: 0.86rem;
}

/* Company details and map */
.rls-legal-layout {
  display: grid;
  grid-template-columns: minmax(340px, 0.8fr) minmax(480px, 1.2fr);
  gap: 22px;
  align-items: stretch;
}

.rls-legal-card,
.rls-map-card {
  min-height: 500px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--rls-radius);
  background: var(--rls-panel);
  box-shadow: var(--rls-shadow);
}

.rls-legal-card {
  padding: clamp(30px, 5vw, 58px);
}

.rls-legal-card dl {
  margin: 34px 0;
}

.rls-legal-card dl > div {
  display: grid;
  padding: 15px 0;
  grid-template-columns: 110px 1fr;
  gap: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.rls-legal-card dt {
  color: var(--rls-gold);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rls-legal-card dd {
  margin: 0;
  color: #ddd7cd;
}

.rls-map-card {
  overflow: hidden;
}

.rls-map-card iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 500px;
  border: 0;
  filter: grayscale(1) contrast(1.06);
}

/* Quote */
.rls-quote {
  background:
    radial-gradient(circle at 0% 100%, rgba(201, 162, 75, 0.11), transparent 34%),
    var(--rls-charcoal);
}

.rls-quote__grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(460px, 1.28fr);
  gap: clamp(50px, 9vw, 130px);
  align-items: start;
}

.rls-quote__aside {
  position: sticky;
  top: 130px;
}

.rls-quote__aside p {
  color: #aaa69e;
}

.rls-quote-assurance {
  display: grid;
  margin: 30px 0 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}

.rls-quote-assurance li {
  display: flex;
  gap: 11px;
  color: #d9d3c9;
  font-size: 0.86rem;
  line-height: 1.55;
}

.rls-quote-assurance li::before {
  color: var(--rls-gold-light);
  content: "✓";
  font-weight: 800;
}

.rls-contact-links {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.rls-contact-links a {
  display: block;
  margin: 9px 0;
  color: var(--rls-gold-light);
}

.rls-form {
  padding: clamp(28px, 5vw, 56px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--rls-radius);
  background: #0e1012;
  box-shadow: var(--rls-shadow);
}

.rls-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.rls-field--full {
  grid-column: 1 / -1;
}

.rls-field label {
  display: block;
  margin-bottom: 7px;
  color: #c9c4ba;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rls-field input,
.rls-field select,
.rls-field textarea {
  width: 100%;
  min-height: 52px;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--rls-ivory);
}

.rls-field textarea {
  min-height: 130px;
  resize: vertical;
}

.rls-field select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--rls-gold) 50%), linear-gradient(135deg, var(--rls-gold) 50%, transparent 50%);
  background-position: calc(100% - 12px) 50%, calc(100% - 7px) 50%;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}

.rls-field option {
  background: var(--rls-charcoal);
  color: white;
}

.rls-field input:focus,
.rls-field select:focus,
.rls-field textarea:focus {
  border-color: var(--rls-gold-light);
}

.rls-consent {
  display: flex;
  margin: 24px 0;
  gap: 12px;
  align-items: flex-start;
  color: #a9a59d;
  font-size: 0.78rem;
}

.rls-consent input {
  margin-top: 4px;
  accent-color: var(--rls-gold);
}

.rls-consent a {
  color: var(--rls-gold-light);
  text-decoration: underline;
}

.rls-form__notice {
  margin-bottom: 24px;
  padding: 14px 16px;
  border-left: 2px solid var(--rls-gold);
  background: rgba(201, 162, 75, 0.12);
  color: #eee4c9;
}

.rls-form__notice--error {
  border-left-color: #c97668;
  background: rgba(201, 118, 104, 0.12);
}

.rls-form__required {
  margin: 0 0 24px;
  color: #aaa69e;
  font-size: 0.78rem;
}

.rls-request-context {
  margin-bottom: 20px;
  padding: 14px 16px;
  border: 1px solid rgba(201, 162, 75, 0.28);
  background: rgba(201, 162, 75, 0.08);
  color: #d9d3c9;
  font-size: 0.82rem;
}

.rls-request-context strong {
  color: var(--rls-gold-light);
}

.rls-form-more {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.rls-form-more summary {
  margin-bottom: 22px;
  color: var(--rls-gold-light);
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rls-form-more:not([open]) summary {
  margin-bottom: 0;
}

.rls-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* Agency registration */
.rls-agency-registration {
  background:
    radial-gradient(circle at 0% 100%, rgba(201, 162, 75, 0.11), transparent 32%),
    var(--rls-charcoal);
}

.rls-agency-registration__grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(520px, 1.3fr);
  gap: clamp(48px, 8vw, 110px);
  align-items: start;
}

.rls-agency-registration__aside {
  position: sticky;
  top: 130px;
}

.rls-agency-registration__aside > p {
  color: #aaa69e;
}

.rls-checkbox-group {
  min-width: 0;
  margin: 6px 0 0;
  padding: 0;
  border: 0;
}

.rls-checkbox-group legend {
  margin-bottom: 13px;
  color: #c9c4ba;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rls-checkbox-group__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rls-checkbox-group .rls-checkbox-group__grid label {
  display: flex;
  min-height: 48px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: #d4cec4;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
  align-items: center;
  gap: 10px;
}

.rls-checkbox-group input {
  width: 16px;
  min-height: 16px;
  margin: 0;
  padding: 0;
  border: 0;
  accent-color: var(--rls-gold);
}

.rls-partner-next-step__inner {
  display: flex;
  gap: 32px;
  align-items: center;
  justify-content: space-between;
}

.rls-partner-next-step h2,
.rls-partner-next-step p {
  margin-bottom: 0;
}

.rls-partner-lanes--registration .rls-partner-lane {
  min-height: 310px;
}

.rls-hp {
  position: absolute !important;
  left: -9999px !important;
}

/* Inner pages */
.rls-page-hero {
  position: relative;
  overflow: hidden;
  min-height: 480px;
  padding: 148px 0 60px;
  background: var(--rls-charcoal);
}

.rls-page-hero__media {
  position: absolute;
  inset: 0;
}

.rls-page-hero__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(7, 8, 9, 0.96), rgba(7, 8, 9, 0.48) 64%, rgba(7, 8, 9, 0.22)), linear-gradient(0deg, rgba(7, 8, 9, 0.8), transparent 50%);
}

.rls-page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rls-page-hero--cruise-wide .rls-page-hero__media img {
  object-position: center 52%;
}

.rls-page-hero--golf-pair .rls-page-hero__media {
  left: 46%;
  padding: 118px 3vw 34px 0;
}

.rls-page-hero--golf-pair .rls-page-hero__media::after {
  background: linear-gradient(90deg, rgba(7, 8, 9, 0.72), rgba(7, 8, 9, 0.12) 46%, rgba(7, 8, 9, 0.32));
}

.rls-page-hero__golf-pair {
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.rls-page-hero__golf-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, 0.24);
  border-radius: 10px;
  box-shadow: var(--rls-shadow);
}

.rls-page-hero__golf-panel img {
  width: 200%;
  max-width: none;
  height: 100%;
  object-fit: cover;
}

.rls-page-hero__golf-panel--right img {
  transform: translateX(-50%);
}

.rls-page-hero--golf-pair .rls-page-hero__content {
  max-width: 650px;
}

.rls-photo-credit {
  z-index: 4;
  margin: 0;
  padding: 7px 10px;
  background: rgba(7, 8, 9, 0.78);
  color: rgba(244, 240, 231, 0.78);
  font-size: 0.6rem;
  letter-spacing: 0.025em;
  line-height: 1.35;
  backdrop-filter: blur(7px);
}

.rls-photo-credit a {
  color: var(--rls-gold-light);
  text-decoration: none;
}

.rls-photo-credit a:hover,
.rls-photo-credit a:focus-visible {
  text-decoration: underline;
}

.rls-page-hero__credit {
  position: absolute;
  right: 12px;
  bottom: 10px;
  max-width: calc(100% - 24px);
}

.rls-page-hero__content {
  position: relative;
  z-index: 2;
  max-width: 840px;
}

.rls-page-hero__content > * {
  animation: rls-page-hero-copy-in 520ms cubic-bezier(0.16, 0.72, 0.24, 1) both;
}

.rls-page-hero__content > h1 {
  animation-delay: 40ms;
}

.rls-page-hero__content > .rls-lead {
  animation-delay: 80ms;
}

.rls-page-hero__actions {
  display: flex;
  margin-top: 30px;
  gap: 18px;
  align-items: center;
  animation-delay: 120ms !important;
}

.rls-page-hero__actions > span {
  max-width: 230px;
  color: rgba(244, 240, 231, 0.68);
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.rls-page-hero h1 {
  margin-bottom: 24px;
  font-size: clamp(3.2rem, 7vw, 6rem);
}

.rls-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.rls-detail-card {
  min-height: 250px;
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--rls-radius);
  background: var(--rls-panel);
}

.rls-detail-card span {
  display: block;
  margin-bottom: 30px;
  color: var(--rls-gold);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rls-inline-conversion {
  display: flex;
  margin-top: 28px;
  padding: 24px 26px;
  border: 1px solid rgba(201, 162, 75, 0.3);
  border-radius: var(--rls-radius);
  gap: 22px;
  align-items: center;
  justify-content: space-between;
}

.rls-inline-conversion p {
  margin: 0;
  color: inherit;
  font-family: var(--rls-serif);
  font-size: clamp(1.15rem, 2vw, 1.6rem);
  line-height: 1.2;
}

.rls-mobile-conversion {
  display: none;
}

.rls-page-progress {
  position: fixed;
  z-index: 760;
  top: 54%;
  right: 14px;
  display: grid;
  width: 116px;
  padding: 12px 13px;
  border: 1px solid rgba(229, 204, 137, 0.28);
  border-radius: 12px;
  background: rgba(10, 12, 13, 0.82);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24);
  color: var(--rls-ivory);
  cursor: pointer;
  text-align: left;
  backdrop-filter: blur(12px);
  opacity: 0.78;
  transform: translateY(-50%);
  transition: opacity 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.rls-page-progress:hover,
.rls-page-progress:focus-visible {
  border-color: rgba(229, 204, 137, 0.7);
  opacity: 1;
  transform: translateY(-50%) translateX(-3px);
}

.rls-page-progress__eyebrow {
  color: var(--rls-gold-light);
  font-size: 0.54rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rls-page-progress strong {
  margin: 4px 0 9px;
  font: 400 0.86rem/1.1 var(--rls-serif);
}

.rls-page-progress__track {
  height: 2px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.16);
}

.rls-page-progress__track span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--rls-gold-light);
  transform: scaleX(0);
  transform-origin: left center;
}

.rls-page-progress small {
  margin-top: 5px;
  color: #aaa69e;
  font-size: 0.56rem;
  letter-spacing: 0.08em;
}

.rls-page-progress.is-complete strong::after {
  content: " ↑";
  color: var(--rls-gold-light);
}

.rls-detail-card p {
  color: #aaa69e;
}

.rls-editor {
  max-width: 840px;
}

.rls-editor a {
  color: var(--rls-gold-light);
  text-decoration: underline;
}

/* SEO landing pages */
.rls-breadcrumbs {
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  background: #0c0e0f;
  color: #908d86;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
}

.rls-breadcrumbs .rls-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rls-breadcrumbs a {
  color: var(--rls-gold-light);
}

.rls-landing-intro {
  padding-top: var(--rls-section-space-tight);
  padding-bottom: var(--rls-section-space-tight);
}

.rls-prose-grid,
.rls-content-columns,
.rls-inclusion-grid {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(40px, 8vw, 120px);
  align-items: start;
}

.rls-prose-grid h2,
.rls-content-columns h2,
.rls-inclusion-grid h2,
.rls-faq-wrap > h2 {
  font-size: clamp(2.2rem, 4.3vw, 4.2rem);
}

.rls-prose p {
  color: #5c5851;
  font-size: 1.06rem;
  line-height: 1.85;
}

.rls-section:not(.rls-section--paper) .rls-prose p {
  color: #bbb6ad;
}

.rls-itinerary {
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: itinerary;
}

.rls-itinerary li {
  position: relative;
  padding: 18px 0 18px 58px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  color: #c9c4bb;
  counter-increment: itinerary;
}

.rls-itinerary li::before {
  position: absolute;
  top: 16px;
  left: 0;
  color: var(--rls-gold-light);
  content: counter(itinerary, decimal-leading-zero);
  font-family: var(--rls-serif);
  font-size: 1.25rem;
}

.rls-facts-card {
  padding: clamp(28px, 5vw, 52px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: var(--rls-panel);
}

.rls-facts-card dl,
.rls-facts-card dd {
  margin: 0;
}

.rls-facts-card dl > div {
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.rls-facts-card dt {
  margin-bottom: 7px;
  color: var(--rls-gold-light);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rls-facts-card dd {
  color: #bdb8af;
  line-height: 1.7;
}

.rls-inclusion-grid article {
  padding: clamp(28px, 5vw, 52px);
  border: 1px solid rgba(20, 20, 20, 0.14);
}

.rls-inclusion-grid ul {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.rls-inclusion-grid li {
  position: relative;
  padding: 12px 0 12px 28px;
  border-bottom: 1px solid rgba(20, 20, 20, 0.1);
  color: #555149;
}

.rls-inclusion-grid li::before {
  position: absolute;
  left: 0;
  color: #8b6e2d;
  content: "✦";
}

.rls-faq-wrap {
  max-width: 920px;
}

.rls-faq-list {
  margin-top: 38px;
}

.rls-faq-list details {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.rls-faq-list details:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.rls-faq-list summary {
  padding: 24px 0;
  color: #f1eee7;
  cursor: pointer;
  font-family: var(--rls-serif);
  font-size: 1.3rem;
}

.rls-faq-list details p {
  max-width: 760px;
  padding-bottom: 24px;
  color: #b3aea5;
}

.rls-tour-note {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Civitavecchia cruise and shore-day content */
.rls-shore-timeline {
  background:
    radial-gradient(circle at 82% 15%, rgba(201, 162, 75, 0.11), transparent 34%),
    #0b0d0e;
}

.rls-shore-timeline__grid {
  display: grid;
  padding: 0;
  margin: 42px 0 0;
  counter-reset: shore-time;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
}

.rls-shore-timeline__grid li {
  position: relative;
  min-height: 215px;
  padding: 36px 30px 30px;
  border-top: 1px solid rgba(229, 204, 137, 0.26);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.025);
  counter-increment: shore-time;
  transition: background-color 320ms ease, border-color 320ms ease, transform 320ms ease;
}

.rls-shore-timeline__grid li:hover {
  border-top-color: rgba(229, 204, 137, 0.68);
  background: rgba(201, 162, 75, 0.07);
  transform: translateY(-6px);
}

.rls-shore-timeline__grid li:nth-child(3n + 1) {
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.rls-shore-timeline__grid li::before {
  display: block;
  margin-bottom: 42px;
  color: rgba(229, 204, 137, 0.54);
  content: "0" counter(shore-time);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.rls-shore-timeline__grid time {
  display: block;
  margin-bottom: 14px;
  color: var(--rls-gold-light);
  font-family: var(--rls-serif);
  font-size: 1.35rem;
}

.rls-shore-timeline__grid p {
  color: #bcb7ae;
  line-height: 1.72;
}

.rls-shore-timeline__note,
.rls-cruise-nearby__note {
  max-width: 920px;
  margin: 34px 0 0;
  padding: 20px 24px;
  border-left: 2px solid var(--rls-gold);
  background: rgba(201, 162, 75, 0.08);
  color: #cbc5ba;
  line-height: 1.75;
}

.rls-shore-focus__grid,
.rls-cruise-hub__grid,
.rls-cruise-nearby__grid {
  display: grid;
  gap: 16px;
  margin-top: 42px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rls-shore-focus__grid article {
  min-height: 310px;
  padding: 38px 34px;
  border: 1px solid rgba(20, 20, 20, 0.12);
  border-radius: var(--rls-radius);
  background: rgba(255, 255, 255, 0.36);
  transition: background-color 320ms ease, border-color 320ms ease, box-shadow 320ms ease, transform 320ms ease;
}

.rls-shore-focus__grid article:hover {
  border-color: rgba(128, 99, 33, 0.38);
  background: rgba(255, 255, 255, 0.66);
  box-shadow: 0 20px 42px rgba(31, 26, 17, 0.1);
  transform: translateY(-6px);
}

.rls-shore-focus__grid h3,
.rls-cruise-nearby__grid h3 {
  margin-bottom: 20px;
}

.rls-shore-focus__grid p,
.rls-cruise-nearby__grid p {
  color: #5f5a51;
  line-height: 1.78;
}

.rls-timed-routes {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 15%, rgba(201, 162, 75, 0.12), transparent 30%),
    #0d0f10;
}

.rls-timed-routes__grid {
  display: grid;
  margin-top: 44px;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rls-timed-route {
  position: relative;
  min-height: 520px;
  padding: clamp(32px, 4vw, 52px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: var(--rls-radius);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018));
  transition: border-color 320ms ease, box-shadow 320ms ease, transform 320ms ease;
}

.rls-timed-route::after {
  position: absolute;
  right: -90px;
  bottom: -90px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(229, 204, 137, 0.16);
  border-radius: 50%;
  content: "";
  transition: transform 700ms cubic-bezier(0.16, 0.72, 0.24, 1);
}

.rls-timed-route:hover {
  border-color: rgba(229, 204, 137, 0.4);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
  transform: translateY(-7px);
}

.rls-timed-route:hover::after {
  transform: scale(1.25);
}

.rls-timed-route--featured {
  border-color: rgba(229, 204, 137, 0.38);
  background: linear-gradient(145deg, rgba(201, 162, 75, 0.13), rgba(255, 255, 255, 0.025));
}

.rls-timed-route__label {
  margin-bottom: 36px;
  color: var(--rls-gold-light);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rls-timed-route h3 {
  max-width: 520px;
  margin-bottom: 28px;
  font-size: clamp(2rem, 3.2vw, 3.25rem);
}

.rls-timed-route ol {
  padding: 0;
  margin: 0 0 30px;
  list-style: none;
  counter-reset: timed-route;
}

.rls-timed-route li {
  position: relative;
  padding: 14px 0 14px 44px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.085);
  color: #d0cbc2;
  counter-increment: timed-route;
}

.rls-timed-route li::before {
  position: absolute;
  left: 0;
  color: var(--rls-gold-light);
  content: "0" counter(timed-route);
  font-family: var(--rls-serif);
}

.rls-timed-route__note {
  max-width: 620px;
  color: #aaa69e;
  line-height: 1.78;
}

.rls-timed-routes__warning {
  max-width: 1040px;
  margin: 32px 0 0;
  padding: 20px 24px;
  border-left: 2px solid var(--rls-gold);
  background: rgba(201, 162, 75, 0.08);
  color: #cbc5ba;
  line-height: 1.75;
}

.rls-shore-rule {
  padding: 0;
  background: linear-gradient(135deg, #15191c, #0a0b0c 72%);
}

.rls-shore-rule__inner {
  padding-top: clamp(68px, 8vw, 108px);
  padding-bottom: clamp(68px, 8vw, 108px);
  border-top: 1px solid rgba(229, 204, 137, 0.23);
  border-bottom: 1px solid rgba(229, 204, 137, 0.16);
}

.rls-shore-rule h2,
.rls-shore-rule p:not(.rls-kicker) {
  max-width: 900px;
}

.rls-shore-rule p:not(.rls-kicker) {
  color: #bdb8ae;
  font-size: 1.05rem;
  line-height: 1.85;
}

.rls-seasonal-note {
  border-top: 1px solid rgba(20, 20, 20, 0.08);
}

.rls-request-checklist {
  display: grid;
  max-width: 900px;
  padding: 0;
  margin: 30px auto 0;
  gap: 10px 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  text-align: left;
}

.rls-request-checklist li {
  position: relative;
  padding: 12px 14px 12px 34px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  color: #ccc6bc;
}

.rls-request-checklist li::before {
  position: absolute;
  top: 12px;
  left: 13px;
  color: var(--rls-gold-light);
  content: "✦";
}

.rls-cruise-hub {
  background:
    radial-gradient(circle at 16% 10%, rgba(201, 162, 75, 0.1), transparent 30%),
    #0d0f10;
}

.rls-cruise-option {
  display: flex;
  min-height: 350px;
  padding: 34px 30px;
  border: 1px solid rgba(229, 204, 137, 0.17);
  border-radius: var(--rls-radius);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018));
  flex-direction: column;
  transition: border-color 300ms ease, transform 300ms ease;
}

.rls-cruise-option:hover,
.rls-cruise-option:focus-within {
  border-color: rgba(229, 204, 137, 0.45);
  transform: translateY(-4px);
}

.rls-cruise-option__meta {
  margin-bottom: 48px;
  color: var(--rls-gold-light);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rls-cruise-option h3 {
  margin-bottom: 18px;
}

.rls-cruise-option > p:not(.rls-cruise-option__meta) {
  color: #aaa69e;
  line-height: 1.75;
}

.rls-cruise-option a {
  margin-top: auto;
  padding-top: 26px;
  color: var(--rls-gold-light);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.rls-cruise-nearby {
  background: var(--rls-paper);
  color: #151515;
}

.rls-cruise-nearby__grid article {
  min-height: 245px;
  padding: 32px 28px;
  border-top: 1px solid rgba(128, 99, 33, 0.48);
  background: rgba(255, 255, 255, 0.3);
}

.rls-cruise-nearby__note {
  color: #5f5a51;
}

.rls-tour-gallery {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: #0d0f10;
}

.rls-tour-gallery h2 {
  max-width: 760px;
}

.rls-tour-gallery__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: clamp(36px, 7vw, 100px);
  align-items: end;
}

.rls-tour-gallery__heading > p {
  margin-bottom: 4px;
  color: #aaa69e;
  line-height: 1.8;
}

.rls-tour-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 38px;
  grid-auto-flow: dense;
}

.rls-tour-gallery__item {
  position: relative;
  min-height: 360px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, 0.16);
  background: #171a1d;
}

.rls-tour-gallery__item img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  filter: saturate(1.08) contrast(1.025);
  transition: transform 0.85s cubic-bezier(0.2, 0.65, 0.3, 1), filter 0.5s ease;
}

.rls-tour-gallery__item:hover img {
  filter: saturate(1.18) contrast(1.04);
  transform: scale(1.055);
}

.rls-tour-gallery__item .rls-photo-credit {
  position: absolute;
  right: 8px;
  bottom: 8px;
  max-width: calc(100% - 16px);
}

.rls-tour-gallery__item--panorama {
  grid-column: 1 / -1;
  min-height: 300px;
}

.rls-tour-gallery__item--panorama img {
  min-height: 300px;
}

.rls-tour-gallery__item--golf-left,
.rls-tour-gallery__item--golf-right {
  min-height: 650px;
  aspect-ratio: 4 / 5;
}

.rls-tour-gallery__item--golf-left img,
.rls-tour-gallery__item--golf-right img {
  width: 200%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  transition: none;
}

.rls-tour-gallery__item--golf-right img,
.rls-tour-gallery__item--golf-right:hover img {
  transform: translateX(-50%);
}

.rls-tour-gallery__item--golf-left:hover img {
  transform: none;
}

.rls-landing-cta {
  text-align: center;
}

.rls-landing-cta h2,
.rls-landing-cta p {
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
}

.rls-landing-cta .rls-button {
  margin-top: 24px;
}

/* Premium sightseeing transfers */
.rls-sightseeing-feature {
  overflow: hidden;
  background: #0d0f10;
}

.rls-sightseeing-feature__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: clamp(48px, 8vw, 110px);
  align-items: center;
}

.rls-sightseeing-feature__media {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, 0.18);
  border-radius: var(--rls-radius);
  box-shadow: var(--rls-shadow);
}

.rls-sightseeing-feature__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgba(5, 6, 7, 0.88), transparent 45%);
  pointer-events: none;
}

.rls-sightseeing-feature__media img {
  width: 100%;
  height: 100%;
  min-height: 680px;
  object-fit: cover;
  transition: transform 900ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

.rls-sightseeing-feature__media:hover img {
  transform: scale(1.035);
}

.rls-sightseeing-feature__media > span {
  position: absolute;
  z-index: 2;
  right: 30px;
  bottom: 26px;
  left: 30px;
  color: var(--rls-gold-light);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rls-sightseeing-feature__content h2 {
  font-size: clamp(2.5rem, 4.8vw, 4.8rem);
}

.rls-sightseeing-feature__routes {
  margin: 36px 0 42px;
  padding: 0;
  list-style: none;
}

.rls-sightseeing-feature__routes li {
  display: flex;
  padding: 17px 0;
  gap: 18px;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.rls-sightseeing-feature__routes strong {
  font-family: var(--rls-serif);
  font-size: 1.12rem;
  font-weight: 400;
}

.rls-sightseeing-feature__routes span {
  color: var(--rls-gold-light);
  font-size: 0.75rem;
  text-align: right;
}

.rls-inline-link {
  display: inline-flex;
  margin-top: 10px;
  gap: 10px;
  align-items: center;
  color: var(--rls-gold-light);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rls-inline-link:hover,
.rls-inline-link:focus-visible {
  color: white;
}

.rls-route-options {
  background: #0d0f10;
}

.rls-route-options__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.rls-route-option {
  min-height: 360px;
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid rgba(229, 204, 137, 0.18);
  border-radius: var(--rls-radius);
  background: linear-gradient(145deg, rgba(29, 32, 36, 0.96), rgba(17, 19, 21, 0.96));
  transition: border-color 220ms ease, transform 220ms ease;
}

.rls-route-option:hover {
  border-color: rgba(229, 204, 137, 0.52);
  transform: translateY(-5px);
}

.rls-route-option__route {
  margin-bottom: 42px;
  color: var(--rls-gold-light);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rls-route-option p:not(.rls-route-option__route) {
  color: #b7b2a9;
}

.rls-route-option a {
  display: inline-flex;
  margin-top: 24px;
  gap: 8px;
  color: var(--rls-gold-light);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

/* Visual route and image lightbox */
.rls-visual-route {
  padding: 44px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: #0c0e0f;
}

.rls-visual-route .rls-kicker {
  margin-bottom: 26px;
}

.rls-visual-route ol {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  counter-reset: route;
}

.rls-visual-route li {
  position: relative;
  min-height: 80px;
  padding: 38px 22px 0 0;
  color: #d8d2c7;
  counter-increment: route;
  font-family: var(--rls-serif);
  font-size: 1rem;
}

.rls-visual-route li::before {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--rls-gold);
  border-radius: 50%;
  background: #0c0e0f;
  color: var(--rls-gold-light);
  content: counter(route);
  font-family: var(--rls-sans);
  font-size: 0.62rem;
}

.rls-visual-route li:not(:last-child)::after {
  position: absolute;
  top: 13px;
  right: 18px;
  left: 28px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, var(--rls-gold), rgba(201, 162, 75, 0.16));
}

.rls-lightbox-trigger {
  position: absolute;
  inset: 0;
  display: block;
}

.rls-lightbox-trigger > span {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  background: rgba(7, 8, 9, 0.58);
  color: white;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  opacity: 0;
  text-transform: uppercase;
  transition: opacity 180ms ease;
  backdrop-filter: blur(8px);
}

.rls-lightbox-trigger:hover > span,
.rls-lightbox-trigger:focus-visible > span {
  opacity: 1;
}

.rls-lightbox {
  width: min(94vw, 1400px);
  max-width: none;
  max-height: 92vh;
  padding: 46px 26px 24px;
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, 0.34);
  background: #08090a;
  color: white;
  box-shadow: 0 35px 120px rgba(0, 0, 0, 0.72);
}

.rls-lightbox::backdrop {
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(8px);
}

.rls-lightbox figure {
  margin: 0;
}

.rls-lightbox img {
  width: 100%;
  max-height: 78vh;
  object-fit: contain;
}

.rls-lightbox figcaption {
  padding-top: 12px;
  color: #b6b1a8;
  font-size: 0.76rem;
  text-align: center;
}

.rls-lightbox__close {
  position: absolute;
  z-index: 2;
  top: 8px;
  right: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rls-gold-light);
  cursor: pointer;
  font-family: var(--rls-serif);
  font-size: 2rem;
  line-height: 1;
}

.rls-lightbox__nav {
  position: absolute;
  z-index: 3;
  top: 50%;
  display: grid;
  width: 52px;
  height: 52px;
  padding: 0 0 5px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  background: rgba(7, 8, 9, 0.68);
  color: white;
  cursor: pointer;
  font-family: var(--rls-serif);
  font-size: 2.2rem;
  line-height: 1;
  transform: translateY(-50%);
  transition: border-color 180ms ease, background 180ms ease;
  backdrop-filter: blur(8px);
}

.rls-lightbox__nav:hover,
.rls-lightbox__nav:focus-visible {
  border-color: var(--rls-gold-light);
  background: rgba(7, 8, 9, 0.92);
}

.rls-lightbox__prev {
  left: 42px;
}

.rls-lightbox__next {
  right: 42px;
}

/* Footer */
.site-footer__cta {
  padding: 78px 0;
  border-top: 1px solid var(--rls-line);
  border-bottom: 1px solid var(--rls-line);
  background: #0c0e0f;
}

.site-footer__cta-inner {
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: space-between;
}

.site-footer__cta h2 {
  max-width: 760px;
  margin-bottom: 0;
  font-size: clamp(2.3rem, 4.8vw, 4.6rem);
}

.site-footer__main {
  padding: 74px 0 34px;
  background: #060708;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 0.7fr 0.9fr;
  gap: 70px;
}

.site-footer h3 {
  margin-bottom: 20px;
  color: var(--rls-gold-light);
  font-family: var(--rls-sans);
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.site-footer p,
.site-footer li,
.site-footer a {
  color: #9c9992;
  font-size: 0.84rem;
}

.site-footer a:hover {
  color: var(--rls-gold-light);
}

.site-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer li {
  margin-bottom: 9px;
}

.site-footer__legal {
  display: flex;
  margin-top: 60px;
  padding-top: 24px;
  gap: 30px;
  align-items: flex-start;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__legal p {
  max-width: 780px;
  margin-bottom: 0;
  font-size: 0.72rem;
}

.site-footer__legal .site-footer__company {
  margin-top: 8px;
  color: #c0bbb1;
}

/* Responsive */
/* Keep the complete navigation on laptops; use the compact menu only on
   tablets and narrower screens. */
@media (max-width: 1180px) {
  .site-header__inner {
    grid-template-columns: 1fr auto auto auto;
  }

  .nav-toggle {
    display: block;
  }

  .site-nav {
    position: absolute;
    top: 82px;
    right: 0;
    left: 0;
    display: none;
    padding: 28px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(8, 9, 10, 0.98);
  }

  .site-nav.is-open {
    display: block;
  }

  .site-nav > ul {
    width: min(100%, var(--rls-max));
    margin: auto;
    flex-direction: column;
    align-items: flex-start;
  }

  .site-nav__item {
    width: 100%;
  }

  .site-nav__parent {
    width: 100%;
    justify-content: space-between;
  }

  .submenu-toggle {
    width: 42px;
    height: 38px;
  }

  .site-nav .sub-menu,
  .site-nav .sub-menu--wide {
    position: static;
    display: none;
    min-width: 0;
    margin: 4px 0 10px 10px;
    padding: 4px 0 4px 17px;
    border: 0;
    border-left: 1px solid rgba(229, 204, 137, 0.28);
    background: transparent;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .site-nav__item--has-submenu:hover > .sub-menu,
  .site-nav__item--has-submenu:focus-within > .sub-menu {
    display: none;
  }

  .site-nav__item--has-submenu.is-submenu-open > .sub-menu,
  .site-nav__item--has-submenu.is-submenu-open:hover > .sub-menu,
  .site-nav__item--has-submenu.is-submenu-open:focus-within > .sub-menu {
    display: block;
  }

  .site-nav .sub-menu::before {
    display: none;
  }

  .site-nav .sub-menu a {
    padding: 10px 0;
    white-space: normal;
  }

  .site-nav a {
    display: block;
    padding: 8px 0;
    font-size: 0.8rem;
  }

  .rls-section-head,
  .rls-story,
  .rls-partners,
  .rls-quote__grid,
  .rls-agency-registration__grid,
  .rls-prose-grid,
  .rls-content-columns,
  .rls-inclusion-grid,
  .rls-legal-layout,
  .rls-sightseeing-feature__grid {
    grid-template-columns: 1fr;
  }

  .rls-pathways__tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rls-pathways__panel {
    grid-template-columns: 1fr;
  }

  .rls-sightseeing-feature__media,
  .rls-sightseeing-feature__media img {
    min-height: 560px;
  }

  .rls-route-options__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rls-shore-timeline__grid,
  .rls-shore-focus__grid,
  .rls-timed-routes__grid,
  .rls-cruise-hub__grid,
  .rls-cruise-nearby__grid,
  .rls-request-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rls-shore-timeline__grid li:nth-child(3n + 1) {
    border-left: 0;
  }

  .rls-shore-timeline__grid li:nth-child(2n + 1) {
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  .rls-tour-card,
  .rls-tour-card--1,
  .rls-tour-card--2,
  .rls-tour-card--6,
  .rls-tour-card--7,
  .rls-tour-card--8,
  .rls-tour-card--9,
  .rls-tour-card--10,
  .rls-tour-card--11 {
    grid-column: span 6;
    min-height: 520px;
  }

  .rls-tour-gallery__heading {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .rls-destination-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rls-story__media,
  .rls-partners__media img {
    min-height: 460px;
  }

  .rls-partners__panel {
    right: 24px;
  }

  .rls-quote__aside {
    position: static;
  }

  .rls-agency-registration__aside {
    position: static;
  }

  .rls-wedding-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rls-partner-lanes {
    grid-template-columns: 1fr;
  }

  .site-footer__grid {
    grid-template-columns: 1.2fr 0.8fr;
  }
}

@media (max-width: 780px) {
  :root {
    --rls-section-space: 40px;
    --rls-section-space-tight: 30px;
  }

  body.admin-bar .site-header {
    top: 46px;
  }

  body {
    padding-bottom: 66px;
  }

  .rls-mobile-conversion {
    position: fixed;
    z-index: 1200;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    padding: 8px max(10px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    border-top: 1px solid rgba(229, 204, 137, 0.28);
    background: rgba(8, 9, 10, 0.96);
    box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.34);
    grid-template-columns: 1.25fr 0.75fr;
    gap: 8px;
    backdrop-filter: blur(14px);
  }

  .rls-mobile-conversion a {
    display: flex;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    color: var(--rls-ivory);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
    align-items: center;
    justify-content: center;
  }

  .rls-mobile-conversion__quote {
    border-color: var(--rls-gold) !important;
    background: var(--rls-gold);
    color: #08090a !important;
  }

  .rls-page-progress {
    top: auto;
    right: 10px;
    bottom: 76px;
    width: 104px;
    padding: 9px 10px;
    transform: none;
    opacity: 0.72;
  }

  .rls-page-progress:hover,
  .rls-page-progress:focus-visible {
    transform: translateX(-2px);
  }

  .rls-page-progress__eyebrow {
    display: none;
  }

  .rls-wrap {
    width: min(calc(100% - 30px), var(--rls-max));
  }

  .site-header__inner {
    min-height: 72px;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
  }

  .site-brand__logo {
    width: min(230px, 58vw);
  }

  .site-header__quote {
    display: none;
  }

  .site-nav {
    top: 72px;
  }

  .rls-hero {
    min-height: 600px;
    padding: 116px 0 38px;
  }

  .rls-hero__media::before {
    background: linear-gradient(0deg, rgba(5, 6, 7, 0.97) 0%, rgba(5, 6, 7, 0.66) 62%, rgba(5, 6, 7, 0.24) 100%);
  }

  .rls-hero__media img {
    object-position: 60% center;
  }

  .rls-trust__grid {
    grid-template-columns: 1fr 1fr;
  }

  .rls-trust__item {
    min-height: 86px;
    padding: 14px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .rls-trust__item strong {
    font-size: 1rem;
  }

  .rls-pathways__tabs {
    grid-template-columns: 1fr 1fr;
  }

  .rls-pathways__tabs button {
    min-height: 60px;
    padding: 10px 8px;
    font-size: 0.6rem;
  }

  .rls-pathways__panel {
    padding: 20px 16px;
  }

  .rls-pathways__links {
    grid-template-columns: 1fr;
  }

  .rls-pathways__links a {
    min-height: 74px;
  }

  .rls-story__media {
    min-height: 360px;
  }

  .rls-partner-next-step__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .rls-services,
  .rls-fleet,
  .rls-detail-grid {
    grid-template-columns: 1fr;
  }

  .rls-wedding-grid {
    grid-template-columns: 1fr;
  }

  .rls-wedding-countryside__visual {
    min-height: 460px;
  }

  .rls-wedding-countryside__visual::after {
    background: linear-gradient(0deg, rgba(4, 5, 6, 0.82) 0%, rgba(4, 5, 6, 0.08) 72%);
  }

  .rls-wedding-countryside__visual img {
    object-position: 58% center;
  }

  .rls-partner-lane,
  .rls-wedding-movement {
    min-height: 0;
  }

  .rls-legal-card,
  .rls-map-card,
  .rls-map-card iframe {
    min-height: 420px;
  }

  .rls-legal-card dl > div {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .rls-tour-grid {
    grid-template-columns: 1fr;
  }

  .rls-tour-card,
  .rls-tour-card--1,
  .rls-tour-card--2,
  .rls-tour-card--6,
  .rls-tour-card--7,
  .rls-tour-card--8,
  .rls-tour-card--9,
  .rls-tour-card--10,
  .rls-tour-card--11 {
    grid-column: 1;
    min-height: 460px;
  }

  .rls-tour-card__content {
    padding: 30px 24px;
  }

  .rls-tour-card h3 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .rls-destination-strip {
    grid-template-columns: 1fr;
  }

  .rls-destination-strip__item {
    min-height: 330px;
  }

  .rls-destination-strip__cta {
    text-align: left;
  }

  .rls-service {
    min-height: 270px;
  }

  .rls-service--photo,
  .rls-service--photo .rls-service__card-link {
    min-height: 350px;
  }

  .rls-service--photo .rls-service__number {
    top: 28px;
    left: 28px;
  }

  .rls-service--photo .rls-service__content {
    right: 28px;
    bottom: 28px;
    left: 28px;
  }

  .rls-vehicle,
  .rls-vehicle:nth-child(2),
  .rls-vehicle:nth-child(3) {
    grid-column: 1;
    min-height: 380px;
  }

  .rls-experiences {
    grid-template-columns: 1fr;
  }

  .rls-experience,
  .rls-experience + .rls-experience {
    min-height: 440px;
  }

  .rls-sightseeing-feature__media,
  .rls-sightseeing-feature__media img {
    min-height: 380px;
  }

  .rls-sightseeing-feature__routes li {
    display: block;
  }

  .rls-sightseeing-feature__routes span {
    display: block;
    margin-top: 4px;
    text-align: left;
  }

  .rls-route-options__grid {
    grid-template-columns: 1fr;
  }

  .rls-route-option {
    min-height: 0;
  }

  .rls-visual-route ol {
    grid-template-columns: 1fr;
  }

  .rls-visual-route li {
    min-height: 72px;
    padding: 4px 0 22px 48px;
  }

  .rls-visual-route li:not(:last-child)::after {
    top: 28px;
    bottom: 0;
    left: 14px;
    width: 1px;
    height: auto;
    background: linear-gradient(180deg, var(--rls-gold), rgba(201, 162, 75, 0.16));
  }

  .rls-lightbox {
    width: 96vw;
    padding: 42px 10px 12px;
  }

  .rls-lightbox__nav {
    top: auto;
    bottom: 48px;
    width: 44px;
    height: 44px;
    transform: none;
  }

  .rls-lightbox__prev {
    left: 16px;
  }

  .rls-lightbox__next {
    right: 16px;
  }

  .rls-partners__panel {
    position: relative;
    right: auto;
    bottom: auto;
    max-width: none;
    margin: -70px 18px 0;
  }

  .rls-benefits {
    grid-template-columns: 1fr;
  }

  .rls-benefit:nth-child(even) {
    padding-left: 0;
    border-left: 0;
  }

  .rls-form__grid {
    grid-template-columns: 1fr;
  }

  .rls-checkbox-group__grid {
    grid-template-columns: 1fr;
  }

  .rls-field--full {
    grid-column: auto;
  }

  .rls-form {
    padding: 28px 20px;
  }

  .rls-page-hero {
    min-height: 450px;
    padding: 124px 0 48px;
  }

  .rls-page-hero__actions {
    display: grid;
    margin-top: 24px;
    gap: 11px;
    justify-items: start;
  }

  .rls-page-hero__actions > span {
    max-width: none;
  }

  .rls-fleet-conversion,
  .rls-inline-conversion {
    grid-template-columns: 1fr;
  }

  .rls-inline-conversion {
    display: grid;
    align-items: start;
  }

  .rls-page-hero--cruise-wide {
    min-height: 660px;
    padding: 275px 0 56px;
  }

  .rls-page-hero--cruise-wide .rls-page-hero__media {
    background: var(--rls-black);
  }

  .rls-page-hero--cruise-wide .rls-page-hero__media img {
    width: 100%;
    height: auto;
    max-height: 270px;
    object-fit: contain;
    object-position: center top;
    animation: none;
  }

  .rls-page-hero--cruise-wide .rls-page-hero__media::after {
    background: linear-gradient(0deg, var(--rls-black) 56%, rgba(8, 9, 10, 0.05) 96%);
  }

  .rls-page-hero--cruise-wide h1 {
    font-size: clamp(2.55rem, 12vw, 3.7rem);
  }

  .rls-page-hero--golf-pair .rls-page-hero__media {
    left: 0;
    padding: 0;
    opacity: 0.58;
  }

  .rls-page-hero--golf-pair .rls-page-hero__media::after {
    background: linear-gradient(90deg, rgba(7, 8, 9, 0.95), rgba(7, 8, 9, 0.44)), linear-gradient(0deg, rgba(7, 8, 9, 0.86), transparent 58%);
  }

  .rls-page-hero__golf-pair {
    gap: 4px;
  }

  .rls-page-hero__golf-panel {
    border: 0;
    border-radius: 0;
  }

  .rls-tour-gallery__grid {
    grid-template-columns: 1fr;
  }

  .rls-tour-gallery__item,
  .rls-tour-gallery__item img {
    min-height: 270px;
  }

  .rls-tour-gallery__item--panorama,
  .rls-tour-gallery__item--panorama img {
    min-height: 210px;
  }

  .rls-tour-gallery__item--golf-left,
  .rls-tour-gallery__item--golf-right,
  .rls-tour-gallery__item--golf-left img,
  .rls-tour-gallery__item--golf-right img {
    min-height: 520px;
  }

  .rls-shore-timeline__grid,
  .rls-shore-focus__grid,
  .rls-timed-routes__grid,
  .rls-cruise-hub__grid,
  .rls-cruise-nearby__grid,
  .rls-request-checklist {
    grid-template-columns: 1fr;
  }

  .rls-shore-timeline__grid li,
  .rls-shore-timeline__grid li:nth-child(2n + 1),
  .rls-shore-timeline__grid li:nth-child(3n + 1) {
    min-height: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  .rls-shore-timeline__grid li::before {
    margin-bottom: 26px;
  }

  .rls-shore-focus__grid article,
  .rls-timed-route,
  .rls-cruise-option,
  .rls-cruise-nearby__grid article {
    min-height: 0;
  }

  .site-footer__cta-inner,
  .site-footer__legal {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

/* 2.8.7 · Faster and immediately readable first screen on mobile. */
@media (max-width: 780px) {
  .rls-hero__media > img,
  .rls-page-hero__media > img {
    animation: none;
    transform: none;
    will-change: auto;
  }

  .rls-page-hero__content > * {
    animation: none;
  }

  .rls-page-hero .rls-lead {
    color: #f0ece4;
  }

  .rls-page-hero__actions > span {
    color: rgba(244, 240, 231, 0.84);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Public direct-client rates */
.rls-rates-intro {
  max-width: 880px;
  margin: 0 auto 42px;
  text-align: center;
}

.rls-rates-intro strong,
.rls-price-note strong {
  color: var(--rls-gold);
}

.rls-rate-group {
  margin: 0 0 clamp(38px, 4.5vw, 58px);
}

.rls-rate-group__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 16px;
  padding: 0 2px;
}

.rls-rate-group__head h2 {
  margin-bottom: 0;
  font-size: clamp(2.25rem, 4vw, 3.65rem);
}

.rls-rate-group__head p {
  max-width: 640px;
  margin: 0;
  color: var(--rls-muted);
}

.rls-rate-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(229, 204, 137, 0.3);
  border-radius: 14px;
  background: linear-gradient(145deg, #15181a, #0d0f10);
  box-shadow: 0 24px 62px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.rls-rate-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.rls-rate-table th,
.rls-rate-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.075);
  text-align: right;
  white-space: nowrap;
}

.rls-rate-table tbody td {
  color: #ded8cd;
  font-size: 0.82rem;
  font-weight: 600;
}

.rls-rate-table tbody td:first-child {
  width: 34%;
  color: #f4f0e7;
  font-family: var(--rls-serif);
  font-size: 0.98rem;
  font-weight: 400;
  letter-spacing: 0.005em;
}

.rls-rate-table th:first-child,
.rls-rate-table td:first-child {
  text-align: left;
  white-space: normal;
}

.rls-rate-table thead th {
  background: rgba(4, 5, 6, 0.78);
  color: var(--rls-gold-light);
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rls-rate-table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.025);
}

.rls-rate-table tbody tr:hover {
  background: rgba(201, 162, 75, 0.085);
}

.rls-rate-table tbody tr:last-child td {
  border-bottom: 0;
}

.rls-rate-cards {
  display: none;
}

.rls-rate-subgroup + .rls-rate-subgroup {
  margin-top: 34px;
}

.rls-rate-subgroup__head {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: end;
  margin: 0 2px 13px;
}

.rls-rate-subgroup__head h3 {
  margin: 0;
  color: #fff;
  font-family: var(--rls-serif);
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
}

.rls-rate-subgroup__head p {
  max-width: 610px;
  margin: 0;
  color: var(--rls-muted);
  font-size: 0.9rem;
}

.rls-rate-table td > strong {
  color: #f4f0e7;
  font-size: 0.84rem;
}

.rls-rate-per-guest {
  display: block;
  margin-top: 4px;
  color: var(--rls-gold-light);
  font-size: 0.61rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: normal;
}

.rls-rate-catalogue-note {
  display: grid;
  grid-template-columns: minmax(180px, 0.28fr) minmax(0, 1fr);
  gap: 22px;
  margin-top: 28px;
  padding: 20px 22px;
  border: 1px solid rgba(229, 204, 137, 0.28);
  border-radius: 14px;
  background: rgba(201, 162, 75, 0.07);
}

.rls-rate-catalogue-note strong {
  color: var(--rls-gold-light);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.rls-rate-catalogue-note p {
  margin: 0;
  color: #d9d4ca;
}

.rls-price-note {
  margin-top: 18px;
  padding: 22px 24px;
  border-left: 3px solid var(--rls-gold);
  background: #111416;
  color: #f4f0e7;
}

.rls-price-note p:last-child {
  margin-bottom: 0;
}

.rls-public-price {
  display: inline-flex;
  margin: 13px 0 0;
  color: #b98226;
  font-weight: 800;
  letter-spacing: 0.025em;
}

.rls-service-price-band {
  border-bottom: 1px solid rgba(201, 162, 75, 0.35);
  background: #101315;
  color: #f4f0e7;
}

.rls-service-price-band__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 26px;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
}

.rls-service-price-band__price {
  color: var(--rls-gold-light);
  font-family: var(--rls-serif);
  font-size: clamp(1.4rem, 2.3vw, 2rem);
  white-space: nowrap;
}

.rls-service-price-band__copy {
  margin: 0;
  color: rgba(244, 240, 231, 0.72);
  font-size: 0.86rem;
}

.rls-service-price-band__link {
  color: var(--rls-gold-light);
  font-weight: 800;
  white-space: nowrap;
}

.rls-tour-rate-panel {
  padding: clamp(50px, 7vw, 86px) 0;
  border-bottom: 1px solid rgba(201, 162, 75, 0.24);
  background:
    radial-gradient(circle at 88% 8%, rgba(201, 162, 75, 0.13), transparent 30%),
    linear-gradient(145deg, #f8f3e8, #fff 48%, #f2eadb);
}

.rls-tour-rate-panel__heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: clamp(28px, 6vw, 82px);
  align-items: end;
  margin-bottom: 32px;
}

.rls-tour-rate-panel__heading h2,
.rls-tour-rate-panel__heading p {
  margin: 0;
}

.rls-tour-rate-panel__heading > p {
  color: #4f4a42;
  line-height: 1.75;
}

.rls-tour-rate-panel__table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(125, 91, 27, 0.24);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(53, 42, 21, 0.1);
}

.rls-tour-rate-panel__table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.rls-tour-rate-panel__table th,
.rls-tour-rate-panel__table td {
  padding: 20px 24px;
  border-right: 1px solid rgba(31, 31, 29, 0.09);
  border-bottom: 1px solid rgba(31, 31, 29, 0.09);
  text-align: center;
}

.rls-tour-rate-panel__table th:last-child,
.rls-tour-rate-panel__table td:last-child {
  border-right: 0;
}

.rls-tour-rate-panel__table tbody tr:last-child th,
.rls-tour-rate-panel__table tbody tr:last-child td {
  border-bottom: 0;
}

.rls-tour-rate-panel__table thead th {
  background: #151718;
  color: #f3d58e;
  font-size: 0.77rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rls-tour-rate-panel__table tbody th {
  background: rgba(201, 162, 75, 0.09);
  color: #25221d;
  font-family: var(--rls-serif);
  font-size: 1.08rem;
  text-align: left;
}

.rls-tour-rate-panel__table td {
  color: #24211c;
  font-weight: 800;
}

.rls-tour-rate-panel__table tr.rls-tour-rate-panel__featured th,
.rls-tour-rate-panel__table tr.rls-tour-rate-panel__featured td {
  background: rgba(201, 162, 75, 0.18);
  box-shadow: inset 0 1px rgba(201, 162, 75, 0.38), inset 0 -1px rgba(201, 162, 75, 0.38);
}

.rls-tour-rate-panel__table tr.rls-tour-rate-panel__featured th::after {
  display: inline-block;
  margin-left: 10px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #151718;
  color: #f3d58e;
  content: "Most requested";
  font-family: var(--rls-sans);
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  vertical-align: middle;
}

.rls-tour-rate-panel__conditions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 24px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.rls-tour-rate-panel__conditions li {
  position: relative;
  padding-left: 20px;
  color: #514c43;
  font-size: 0.86rem;
  line-height: 1.55;
}

.rls-tour-rate-panel__conditions li::before {
  position: absolute;
  top: 0.48em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--rls-gold);
  content: "";
}

@media (max-width: 900px) {
  .rls-tour-rate-panel__heading,
  .rls-tour-rate-panel__conditions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .rls-tour-rate-panel__table th,
  .rls-tour-rate-panel__table td {
    padding: 16px 18px;
  }
}

.rls-rates-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  padding: 36px;
  background: #0b0d0e;
  color: #f4f0e7;
}

.rls-rates-cta h2 {
  margin-bottom: 8px;
  color: #fff;
}

@media (max-width: 760px) {
  /* 2.5.8 mobile-first cleanup: remove competing overlays and desktop density. */
  body {
    font-size: 16px;
    line-height: 1.58;
  }

  .rls-page-progress {
    display: none !important;
  }

  .rls-wrap {
    width: min(calc(100% - 32px), var(--rls-max));
  }

  .site-header__inner {
    min-height: 66px;
    gap: 8px;
  }

  .site-brand__logo {
    width: min(205px, 56vw);
  }

  .site-nav {
    top: 66px;
    max-height: calc(100vh - 66px - 64px);
    padding: 16px;
    overflow-y: auto;
  }

  .site-nav a,
  .site-nav .sub-menu a {
    padding: 11px 0;
    font-size: 0.82rem;
  }

  .rls-hero {
    min-height: 0;
    padding: 108px 0 42px;
  }

  .rls-page-hero,
  .rls-page-hero--cruise-wide {
    min-height: 0;
    padding: 112px 0 44px;
  }

  .rls-page-hero--cruise-wide .rls-page-hero__media img {
    height: 100%;
    max-height: none;
    object-fit: cover;
    opacity: 0.52;
  }

  .rls-page-hero--cruise-wide .rls-page-hero__media::after {
    background: linear-gradient(0deg, rgba(8, 9, 10, 0.98), rgba(8, 9, 10, 0.44));
  }

  .rls-hero h1,
  .rls-page-hero h1,
  .rls-page-hero--cruise-wide h1 {
    font-size: clamp(2.35rem, 11vw, 3.25rem);
    line-height: 0.98;
    overflow-wrap: anywhere;
  }

  .rls-section h2,
  .rls-rate-group__head h2,
  .rls-rates-intro h2 {
    font-size: clamp(1.9rem, 8.5vw, 2.65rem);
    line-height: 1.04;
  }

  .rls-section {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .rls-trust__grid,
  .rls-pathways__tabs {
    grid-template-columns: 1fr;
  }

  .rls-trust__item {
    min-height: 0;
    padding: 15px 14px;
  }

  .rls-pathways__tabs button {
    min-height: 50px;
    font-size: 0.68rem;
    text-align: left;
  }

  .rls-tour-card,
  .rls-tour-card--1,
  .rls-tour-card--2,
  .rls-tour-card--6,
  .rls-tour-card--7,
  .rls-tour-card--8,
  .rls-tour-card--9,
  .rls-tour-card--10,
  .rls-tour-card--11,
  .rls-experience,
  .rls-experience + .rls-experience {
    min-height: 390px;
  }

  .rls-tour-card__content,
  .rls-detail-card .rls-card-link {
    padding: 24px 20px;
  }

  .rls-form {
    padding: 24px 16px;
  }

  .rls-mobile-conversion {
    padding: 7px 9px calc(7px + env(safe-area-inset-bottom));
    grid-template-columns: 1fr 1fr;
  }

  .rls-mobile-conversion a {
    min-height: 46px;
    padding: 9px 8px;
    font-size: 0.62rem;
    letter-spacing: 0.055em;
  }

  .rls-rate-group__head,
  .rls-rate-subgroup__head,
  .rls-rates-cta {
    display: block;
  }

  .rls-rates-intro {
    margin-bottom: 32px;
    text-align: left;
  }

  .rls-rate-group {
    margin-bottom: 40px;
  }

  .rls-rate-group__head {
    margin-bottom: 18px;
  }

  .rls-rate-group__head p {
    margin-top: 10px;
    font-size: 0.94rem;
  }

  .rls-rate-subgroup + .rls-rate-subgroup {
    margin-top: 28px;
  }

  .rls-rate-subgroup__head p {
    margin-top: 8px;
  }

  .rls-rate-catalogue-note {
    grid-template-columns: 1fr;
  }

  .rls-rate-table-wrap--desktop {
    display: none;
  }

  .rls-rate-cards {
    display: grid;
    gap: 12px;
  }

  .rls-rate-card {
    overflow: hidden;
    border: 1px solid rgba(229, 204, 137, 0.3);
    border-radius: 13px;
    background: linear-gradient(145deg, #15181a, #0d0f10);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
  }

  .rls-rate-card h3 {
    margin: 0;
    padding: 16px;
    border-bottom: 1px solid rgba(229, 204, 137, 0.22);
    color: #fff;
    font-family: var(--rls-serif);
    font-size: 1.18rem;
    line-height: 1.24;
  }

  .rls-rate-card dl {
    margin: 0;
  }

  .rls-rate-card dl > div {
    display: grid;
    padding: 11px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
  }

  .rls-rate-card dl > div:last-child {
    border-bottom: 0;
  }

  .rls-rate-card dt {
    color: #c8c2b8;
    font-size: 0.83rem;
    line-height: 1.3;
  }

.rls-rate-card dd {
    margin: 0;
    color: var(--rls-gold-light);
    font-size: 0.93rem;
    font-weight: 800;
    white-space: nowrap;
  }

  .rls-rate-card dt small {
    display: block;
    margin-top: 3px;
    color: var(--rls-gold-light);
    font-size: 0.68rem;
    font-weight: 700;
  }

  .rls-price-note,
  .rls-rates-cta {
    padding: 22px 18px;
  }

  .rls-service-price-band__price {
    white-space: normal;
  }

  .rls-rates-cta .rls-button {
    margin-top: 22px;
  }

  .rls-service-price-band__inner {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* 2.7 · Proprietary discovery collections and curated ticket links */
.rls-curated-collections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 0 0 clamp(42px, 6vw, 76px);
}

.rls-curated-collection {
  background: var(--rls-panel);
  border: 1px solid var(--rls-line);
  border-radius: var(--rls-radius);
  box-shadow: var(--rls-shadow);
  color: var(--rls-ivory);
  display: grid;
  grid-template-columns: minmax(180px, 0.75fr) minmax(0, 1.25fr);
  min-height: 320px;
  overflow: hidden;
}

.rls-curated-collection--tickets {
  grid-column: 1 / -1;
  grid-template-columns: minmax(240px, 0.55fr) minmax(0, 1.45fr);
}

.rls-curated-collection:only-child {
  grid-column: 1 / -1;
}

.rls-curated-collection img {
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  width: 100%;
}

.rls-curated-collection > div {
  align-self: center;
  padding: clamp(28px, 4vw, 48px);
}

.rls-curated-collection h3,
.rls-discovery-card h3,
.rls-pilgrimage-card h3,
.rls-ticket-card h3,
.rls-ticket-empty h3 {
  font-family: var(--rls-serif);
  font-size: clamp(1.45rem, 2.2vw, 2.05rem);
  line-height: 1.08;
  margin: 0 0 14px;
}

.rls-curated-collection p:not(.rls-kicker) {
  color: var(--rls-muted);
  line-height: 1.72;
}

.rls-discovery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.rls-discovery-grid.has-open-guide,
.rls-discovery-grid:has(.rls-scene-guide[open]) {
  align-items: start;
}

.rls-discovery-grid.has-open-guide .rls-discovery-card,
.rls-discovery-grid:has(.rls-scene-guide[open]) .rls-discovery-card {
  min-height: 0;
}

.rls-discovery-grid.has-open-guide .rls-discovery-card.is-guide-open,
.rls-discovery-grid:has(.rls-scene-guide[open]) .rls-discovery-card:has(.rls-scene-guide[open]) {
  grid-column: 1 / -1;
}

.rls-discovery-card {
  background: var(--rls-panel);
  border: 1px solid rgba(229, 204, 137, 0.22);
  border-radius: var(--rls-radius);
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.22);
  color: var(--rls-ivory);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  transition: transform 180ms ease, border-color 180ms ease;
}

.rls-discovery-card:hover {
  border-color: rgba(229, 204, 137, 0.55);
  transform: translateY(-4px);
}

.rls-discovery-card__media {
  min-height: 250px;
  overflow: hidden;
  position: relative;
}

.rls-discovery-card__media::after {
  background: linear-gradient(180deg, transparent 42%, rgba(8, 9, 10, 0.9));
  content: "";
  inset: 0;
  position: absolute;
}

.rls-discovery-card__media img {
  height: 270px;
  object-fit: cover;
  transition: transform 500ms ease;
  width: 100%;
}

.rls-discovery-card--monochrome .rls-discovery-card__media img {
  filter: grayscale(1) contrast(1.04);
}

.rls-discovery-card:hover .rls-discovery-card__media img {
  transform: scale(1.035);
}

.rls-discovery-card__duration,
.rls-discovery-card__location {
  color: var(--rls-gold-light);
  font-size: 0.76rem;
  font-weight: 700;
  left: 20px;
  letter-spacing: 0.11em;
  position: absolute;
  text-transform: uppercase;
  z-index: 1;
}

.rls-discovery-card__duration {
  background: rgba(6, 7, 8, 0.82);
  border: 1px solid rgba(229, 204, 137, 0.36);
  border-radius: 999px;
  padding: 8px 11px;
  top: 18px;
}

.rls-discovery-card__location {
  bottom: 18px;
  max-width: calc(100% - 40px);
}

.rls-discovery-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px;
}

.rls-discovery-card__summary {
  color: var(--rls-muted);
  line-height: 1.7;
  margin: 20px 0;
}

.rls-discovery-card__works {
  border-bottom: 1px solid var(--rls-line);
  border-top: 1px solid var(--rls-line);
  padding: 16px 0;
}

.rls-discovery-card__works > strong {
  color: var(--rls-gold-light);
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.11em;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.rls-discovery-card__works ul {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.rls-discovery-card__works li span,
.rls-discovery-card__works li small {
  display: block;
}

.rls-discovery-card__works li span {
  color: var(--rls-ivory);
  font-family: var(--rls-serif);
  font-size: 1.05rem;
}

.rls-discovery-card__works li small {
  color: var(--rls-muted);
  line-height: 1.45;
  margin-top: 3px;
}

.rls-rights-note {
  align-items: start;
  background: linear-gradient(120deg, rgba(201, 162, 75, 0.12), rgba(18, 20, 22, 0.96));
  border: 1px solid rgba(229, 204, 137, 0.28);
  border-radius: 14px;
  color: var(--rls-muted);
  display: grid;
  gap: 8px 22px;
  grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1.66fr);
  margin: 0 0 28px;
  padding: 22px 24px;
}

.rls-rights-note strong {
  color: var(--rls-gold-light);
  font-size: 0.74rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.rls-rights-note p {
  line-height: 1.6;
  margin: 0;
}

.rls-cinema-service-note {
  align-items: start;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(229, 204, 137, 0.2);
  border-radius: 14px;
  color: var(--rls-muted);
  display: grid;
  gap: 8px 22px;
  grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1.66fr);
  margin: -12px 0 30px;
  padding: 18px 24px;
}

.rls-cinema-service-note strong {
  color: var(--rls-gold-light);
  font-size: 0.74rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.rls-cinema-service-note p {
  line-height: 1.6;
  margin: 0;
}

.rls-scene-guide {
  border-bottom: 1px solid var(--rls-line);
  border-top: 1px solid var(--rls-line);
  margin: auto 0 22px;
}

.rls-scene-guide summary {
  align-items: center;
  color: var(--rls-ivory);
  cursor: pointer;
  display: flex;
  font-size: 0.76rem;
  font-weight: 800;
  justify-content: space-between;
  letter-spacing: 0.08em;
  list-style: none;
  padding: 16px 0;
  text-transform: uppercase;
}

.rls-scene-guide summary::-webkit-details-marker {
  display: none;
}

.rls-scene-guide summary span {
  color: var(--rls-gold-light);
  font-family: var(--rls-serif);
  font-size: 1.35rem;
  line-height: 1;
  margin-left: 12px;
  transition: transform 180ms ease;
}

.rls-scene-guide[open] summary span {
  transform: rotate(45deg);
}

.rls-scene-stops {
  counter-reset: rls-scene-stop;
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 4px 0 20px;
}

.rls-discovery-card.is-guide-open .rls-scene-stops,
.rls-discovery-card:has(.rls-scene-guide[open]) .rls-scene-stops {
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rls-scene-stops > li {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(229, 204, 137, 0.18);
  border-radius: 12px;
  counter-increment: rls-scene-stop;
  display: grid;
  align-content: start;
  grid-template-columns: 1fr;
  overflow: hidden;
  padding: 0;
}

.rls-scene-stop__image,
.rls-cinema-pause__image {
  align-self: start;
  aspect-ratio: 4 / 3;
  background-color: #17191b;
  background-repeat: no-repeat;
  background-size: 300% auto;
  min-height: 0;
  width: 100%;
}

.rls-scene-stop__content {
  min-width: 0;
  padding: 18px;
}

.rls-scene-stops > li > strong,
.rls-scene-stops > li > small {
  display: block;
}

.rls-scene-stop__content > strong,
.rls-scene-stop__content > small {
  display: block;
}

.rls-scene-stops > li > strong {
  color: var(--rls-ivory);
  font-family: var(--rls-serif);
  font-size: 1.04rem;
  line-height: 1.25;
}

.rls-scene-stop__content > strong {
  color: var(--rls-ivory);
  font-family: var(--rls-serif);
  font-size: 1.04rem;
  line-height: 1.25;
}

.rls-scene-stops > li > small {
  color: var(--rls-gold-light);
  font-size: 0.68rem;
  letter-spacing: 0.07em;
  margin: 4px 0 7px;
  text-transform: uppercase;
}

.rls-scene-stop__content > small {
  color: var(--rls-gold-light);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  margin: 9px 0 7px;
  text-transform: uppercase;
}

.rls-scene-stop__address {
  color: var(--rls-muted);
  display: block;
  font-size: 0.76rem;
  line-height: 1.4;
  margin-top: 7px;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.rls-scene-stop__address span {
  color: var(--rls-gold-light);
  display: block;
  font-size: 0.61rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 2px;
  text-transform: uppercase;
}

.rls-scene-stop__address:hover,
.rls-scene-stop__address:focus-visible {
  color: var(--rls-ivory);
}

.rls-scene-stop__address b {
  color: var(--rls-gold-light);
  font-weight: 700;
}

.rls-scene-stops > li p {
  color: var(--rls-muted);
  line-height: 1.55;
  margin: 0;
}

.rls-tour-roadmap {
  background: linear-gradient(145deg, rgba(201, 162, 75, 0.12), rgba(13, 15, 17, 0.98));
  border: 1px solid rgba(229, 204, 137, 0.3);
  border-radius: 14px;
  margin: 4px 0 24px;
  padding: clamp(20px, 3vw, 32px);
}

.rls-tour-roadmap__head {
  align-items: end;
  border-bottom: 1px solid rgba(229, 204, 137, 0.22);
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
  padding-bottom: 20px;
}

.rls-tour-roadmap__head small,
.rls-scene-guide__section-title small {
  color: var(--rls-gold-light);
  display: block;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rls-tour-roadmap__head strong {
  color: var(--rls-ivory);
  display: block;
  font-family: var(--rls-serif);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.15;
  margin-top: 5px;
}

.rls-tour-roadmap__head p {
  color: var(--rls-muted);
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0;
}

.rls-tour-roadmap__list {
  list-style: none;
  margin: 22px auto 0;
  max-width: 900px;
  padding: 0;
}

.rls-tour-roadmap__list li {
  display: grid;
  gap: 0 16px;
  grid-template-columns: 64px 14px minmax(0, 1fr);
  min-height: 58px;
  padding: 0;
}

.rls-tour-roadmap__list time {
  color: var(--rls-gold-light);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding-top: 3px;
}

.rls-tour-roadmap__list li > span {
  border-left: 1px solid rgba(229, 204, 137, 0.35);
  position: relative;
}

.rls-tour-roadmap__list li > span::before {
  background: var(--rls-gold);
  border: 3px solid #202023;
  border-radius: 50%;
  content: "";
  height: 11px;
  left: -6px;
  position: absolute;
  top: 4px;
  width: 11px;
}

.rls-tour-roadmap__list li:last-child > span {
  border-left-color: transparent;
}

.rls-tour-roadmap__list li > div {
  padding-bottom: 18px;
}

.rls-tour-roadmap__list small {
  color: var(--rls-muted);
  display: block;
  font-size: 0.61rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 2px;
  text-transform: uppercase;
}

.rls-tour-roadmap__list strong {
  color: var(--rls-ivory);
  display: block;
  font-family: var(--rls-serif);
  font-size: 1.02rem;
  line-height: 1.3;
}

.rls-scene-guide__section-title {
  margin: 28px 0 15px;
}

.rls-scene-guide__section-title strong {
  color: var(--rls-ivory);
  display: block;
  font-family: var(--rls-serif);
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
  line-height: 1.25;
  margin-top: 4px;
}

.rls-scene-guide blockquote {
  color: var(--rls-ivory);
  font-family: var(--rls-serif);
  font-size: 1rem;
  line-height: 1.4;
  margin: 10px 0 0;
}

.rls-scene-guide blockquote span {
  color: var(--rls-gold-light);
  display: block;
  font-family: var(--rls-sans);
  font-size: 0.64rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 3px;
  text-transform: uppercase;
}

.rls-cinema-pause {
  background: linear-gradient(135deg, rgba(201, 162, 75, 0.14), rgba(15, 17, 19, 0.96));
  border: 1px solid rgba(229, 204, 137, 0.3);
  border-radius: 12px;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  margin: 0 0 20px;
  overflow: hidden;
}

.rls-cinema-pause > div:last-child {
  min-width: 0;
  padding: clamp(20px, 3vw, 32px);
}

.rls-cinema-pause small,
.rls-cinema-pause strong,
.rls-cinema-pause a {
  display: block;
}

.rls-cinema-pause small {
  color: var(--rls-gold-light);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rls-cinema-pause strong {
  color: var(--rls-ivory);
  font-family: var(--rls-serif);
  font-size: 1.04rem;
  line-height: 1.25;
  margin-top: 4px;
}

.rls-cinema-pause a {
  color: var(--rls-gold-light);
  font-size: 0.75rem;
  line-height: 1.4;
  margin-top: 6px;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.rls-cinema-pause p {
  color: var(--rls-muted);
  font-size: 0.87rem;
  line-height: 1.5;
  margin: 9px 0 0;
}

.rls-pilgrimage-catalogue {
  background: radial-gradient(circle at 90% 5%, rgba(201, 162, 75, 0.11), transparent 30%), var(--rls-black);
}

.rls-pilgrimage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.rls-pilgrimage-card {
  align-self: start;
  background: linear-gradient(145deg, rgba(29, 32, 36, 0.98), rgba(12, 14, 16, 0.98));
  border: 1px solid rgba(229, 204, 137, 0.2);
  border-radius: var(--rls-radius);
  color: var(--rls-ivory);
  overflow: hidden;
  position: relative;
}

.rls-pilgrimage-card:has(.rls-pilgrimage-guide[open]) {
  grid-column: 1 / -1;
}

.rls-pilgrimage-card__media {
  aspect-ratio: 16 / 9;
  background: #121416;
  overflow: hidden;
  position: relative;
}

.rls-pilgrimage-card__media::after {
  background: linear-gradient(180deg, rgba(7, 8, 9, 0.05) 35%, rgba(7, 8, 9, 0.9));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.rls-pilgrimage-card__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.rls-pilgrimage-card__number {
  align-items: center;
  background: rgba(8, 9, 10, 0.76);
  border: 1px solid rgba(229, 204, 137, 0.62);
  border-radius: 50%;
  color: var(--rls-gold-light);
  display: flex;
  font-size: 0.72rem;
  font-weight: 800;
  height: 44px;
  justify-content: center;
  letter-spacing: 0.08em;
  left: 18px;
  position: absolute;
  top: 18px;
  width: 44px;
  z-index: 1;
}

.rls-pilgrimage-card__kind {
  background: rgba(8, 9, 10, 0.8);
  border-radius: 999px;
  color: #fff;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 8px 11px;
  position: absolute;
  right: 18px;
  text-transform: uppercase;
  top: 20px;
  z-index: 1;
}

.rls-pilgrimage-card__location {
  bottom: 17px;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
  left: 18px;
  letter-spacing: 0.08em;
  position: absolute;
  right: 18px;
  text-transform: uppercase;
  z-index: 1;
}

.rls-pilgrimage-card__body {
  padding: clamp(22px, 3vw, 32px);
}

.rls-pilgrimage-card__duration {
  color: var(--rls-gold-light) !important;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.rls-pilgrimage-card__body h3 {
  color: #fff;
  font-family: var(--rls-serif);
  font-size: clamp(1.75rem, 2.5vw, 2.45rem);
  line-height: 1.05;
  margin: 0 0 13px;
}

.rls-pilgrimage-card__summary {
  color: var(--rls-muted);
  font-size: 0.94rem;
  line-height: 1.62;
  margin: 0;
}

.rls-pilgrimage-guide {
  border-bottom: 1px solid rgba(229, 204, 137, 0.18);
  border-top: 1px solid rgba(229, 204, 137, 0.18);
  margin: 20px 0;
}

.rls-pilgrimage-guide summary {
  align-items: center;
  color: var(--rls-gold-light);
  cursor: pointer;
  display: flex;
  font-size: 0.72rem;
  font-weight: 800;
  gap: 18px;
  justify-content: space-between;
  letter-spacing: 0.07em;
  list-style: none;
  padding: 15px 0;
  text-transform: uppercase;
}

.rls-pilgrimage-guide summary::-webkit-details-marker {
  display: none;
}

.rls-pilgrimage-guide[open] summary span {
  transform: rotate(45deg);
}

.rls-pilgrimage-guide__inner {
  padding: 8px 0 23px;
}

.rls-pilgrimage-schedule {
  display: grid;
  gap: 7px;
  grid-template-columns: minmax(175px, 0.35fr) minmax(0, 1fr);
  margin-bottom: 20px;
}

.rls-pilgrimage-schedule small {
  color: var(--rls-gold-light);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rls-pilgrimage-schedule strong {
  color: #fff;
}

.rls-pilgrimage-schedule p {
  color: #c7c2b7;
  grid-column: 2;
  line-height: 1.55;
  margin: 0;
}

.rls-pilgrimage-route {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}

.rls-pilgrimage-route li {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(229, 204, 137, 0.18);
  border-radius: 12px;
  min-width: 0;
  padding: 14px;
}

.rls-pilgrimage-route span {
  color: var(--rls-gold-light);
  display: block;
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  margin-bottom: 7px;
}

.rls-pilgrimage-route strong {
  color: #fff;
  font-size: 0.82rem;
  line-height: 1.4;
}

.rls-pilgrimage-stops {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rls-pilgrimage-stops section {
  border-left: 2px solid var(--rls-gold);
  padding: 3px 0 3px 15px;
}

.rls-pilgrimage-stops strong {
  color: #fff;
}

.rls-pilgrimage-stops p {
  color: #c7c2b7;
  font-size: 0.86rem;
  line-height: 1.55;
  margin: 7px 0 0;
}

.rls-pilgrimage-private-note {
  background: rgba(201, 162, 75, 0.1);
  border: 1px solid rgba(201, 162, 75, 0.28);
  border-radius: 14px;
  display: grid;
  gap: 18px;
  grid-template-columns: 130px minmax(0, 1fr);
  margin-top: 20px;
  padding: 16px 18px;
}

.rls-pilgrimage-private-note strong {
  color: var(--rls-gold-light);
  text-transform: uppercase;
}

.rls-pilgrimage-private-note p {
  color: #d2cdc2;
  line-height: 1.5;
  margin: 0;
}

.rls-product-steps {
  counter-reset: rls-product-step;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 34px 0 0;
  padding: 0;
}

.rls-product-steps li {
  background: rgba(255, 255, 255, 0.34);
  border: 1px solid rgba(128, 99, 33, 0.22);
  border-radius: 14px;
  counter-increment: rls-product-step;
  min-height: 210px;
  padding: 28px;
}

.rls-product-steps li::before {
  color: var(--rls-gold-deep);
  content: "0" counter(rls-product-step);
  display: block;
  font-family: var(--rls-serif);
  font-size: 2rem;
  margin-bottom: 30px;
}

.rls-product-steps strong,
.rls-product-steps span {
  display: block;
}

.rls-product-steps strong {
  color: var(--rls-charcoal);
  font-family: var(--rls-serif);
  font-size: 1.35rem;
  margin-bottom: 10px;
}

.rls-product-steps span {
  color: #57534c;
  line-height: 1.62;
}

.rls-related-offer {
  background: linear-gradient(110deg, #6f551b, #b58c32 55%, #d0ad5b);
  color: #090a0b;
  padding: clamp(34px, 5vw, 58px) 0;
}

.rls-related-offer__inner {
  align-items: center;
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.rls-related-offer h2 {
  font-family: var(--rls-serif);
  font-size: clamp(1.7rem, 3vw, 2.8rem);
  margin: 0 0 10px;
}

.rls-related-offer p {
  line-height: 1.65;
  margin-bottom: 0;
  max-width: 760px;
}

.rls-related-offer .rls-kicker {
  color: #241b08;
}

.rls-ticket-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rls-ticket-card {
  background: var(--rls-panel);
  border: 1px solid var(--rls-line);
  border-radius: var(--rls-radius);
  color: var(--rls-ivory);
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: 30px;
}

.rls-ticket-card__mark {
  align-items: center;
  border: 1px solid var(--rls-gold);
  border-radius: 50%;
  color: var(--rls-gold-light);
  display: inline-flex;
  font-family: var(--rls-serif);
  font-size: 1.45rem;
  height: 48px;
  justify-content: center;
  margin-bottom: 36px;
  width: 48px;
}

.rls-ticket-card p {
  color: var(--rls-muted);
  flex: 1;
  line-height: 1.7;
}

.rls-ticket-card .rls-button {
  align-self: flex-start;
  font-size: 0.75rem;
}

.rls-related-tickets {
  background:
    radial-gradient(circle at 92% 8%, rgba(201, 162, 75, 0.14), transparent 34%),
    var(--rls-black);
  color: var(--rls-ivory);
}

.rls-ticket-grid--related {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rls-ticket-grid--related .rls-ticket-card {
  min-height: 285px;
}

.rls-related-tickets__all {
  margin: 28px 0 0;
}

.rls-discovery-card__tickets {
  border-top: 1px solid var(--rls-line);
  display: grid;
  gap: 8px;
  margin-top: 22px;
  padding-top: 18px;
}

.rls-discovery-card__tickets strong {
  color: var(--rls-gold-light);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rls-discovery-card__tickets a {
  color: var(--rls-ivory);
  font-weight: 700;
  text-decoration: none;
}

.rls-discovery-card__tickets a:hover,
.rls-discovery-card__tickets a:focus-visible {
  color: var(--rls-gold-light);
}

.rls-ticket-empty {
  background: var(--rls-panel);
  border: 1px dashed rgba(229, 204, 137, 0.42);
  border-radius: var(--rls-radius);
  color: var(--rls-ivory);
  max-width: 820px;
  padding: clamp(32px, 5vw, 58px);
}

.rls-ticket-empty > p:not(.rls-kicker) {
  color: var(--rls-muted);
  line-height: 1.7;
}

.rls-affiliate-disclosure {
  background: #050606;
  border-bottom: 1px solid rgba(229, 204, 137, 0.16);
  border-top: 1px solid rgba(229, 204, 137, 0.16);
  color: var(--rls-muted);
  padding: 24px 0;
}

.rls-affiliate-disclosure .rls-wrap {
  align-items: baseline;
  display: flex;
  gap: 18px;
}

.rls-affiliate-disclosure strong {
  color: var(--rls-gold-light);
  flex: 0 0 auto;
}

.rls-affiliate-disclosure p {
  line-height: 1.55;
  margin: 0;
}

@media (max-width: 980px) {
  .rls-curated-collection,
  .rls-curated-collection--tickets {
    grid-template-columns: 1fr;
  }

  .rls-curated-collection img {
    height: 260px;
    min-height: 260px;
  }

  .rls-discovery-grid,
  .rls-ticket-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .rls-curated-collections,
  .rls-discovery-grid,
  .rls-pilgrimage-grid,
  .rls-product-steps,
  .rls-ticket-grid,
  .rls-related-offer__inner {
    grid-template-columns: 1fr;
  }

  .rls-related-offer__inner .rls-button {
    justify-self: start;
  }

  .rls-affiliate-disclosure .rls-wrap {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .rls-rights-note,
  .rls-cinema-service-note {
    grid-template-columns: 1fr;
  }

  .rls-discovery-card.is-guide-open .rls-scene-stops,
  .rls-discovery-card:has(.rls-scene-guide[open]) .rls-scene-stops,
  .rls-tour-roadmap__head,
  .rls-cinema-pause {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .rls-scene-stop__image,
  .rls-cinema-pause__image {
    aspect-ratio: 4 / 3;
    min-height: 0;
  }

  .rls-tour-roadmap__list li {
    gap: 0 11px;
    grid-template-columns: 52px 12px minmax(0, 1fr);
  }
}

/* Ciociaria day journeys - compact catalogue refined in 2.7.6 */
.rls-ciociaria-catalogue {
  overflow: hidden;
}

.rls-ciociaria-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(24px, 3vw, 38px);
}

.rls-ciociaria-card {
  align-self: start;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(229, 204, 137, 0.22);
  border-radius: 24px;
  background: linear-gradient(145deg, #171a1d, #0c0d0f);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.28);
}

.rls-ciociaria-card:has(.rls-ciociaria-guide[open]) {
  grid-column: 1 / -1;
}

.rls-ciociaria-card__media {
  aspect-ratio: 16 / 9;
  position: relative;
  background: #121416;
}

.rls-ciociaria-card__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(5, 6, 7, 0.9));
  content: "";
  pointer-events: none;
}

.rls-ciociaria-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rls-ciociaria-card__number,
.rls-ciociaria-card__duration,
.rls-ciociaria-card__location {
  position: absolute;
  z-index: 1;
}

.rls-ciociaria-card__number {
  top: 22px;
  left: 22px;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(229, 204, 137, 0.62);
  border-radius: 50%;
  background: rgba(8, 9, 10, 0.72);
  color: var(--rls-gold-light);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.rls-ciociaria-card__duration {
  top: 24px;
  right: 22px;
  max-width: calc(100% - 94px);
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(8, 9, 10, 0.78);
  color: #fff;
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.rls-ciociaria-card__location {
  right: 24px;
  bottom: 22px;
  left: 24px;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rls-ciociaria-card__body {
  min-width: 0;
  padding: clamp(23px, 3vw, 34px);
  color: var(--rls-ivory);
}

.rls-ciociaria-card__body h3 {
  max-width: 820px;
  margin: 0 0 18px;
  color: #fff;
  font-family: var(--rls-serif);
  font-size: clamp(1.8rem, 2.7vw, 2.65rem);
  line-height: 1.02;
}

.rls-ciociaria-card__summary {
  max-width: 820px;
  color: #c7c2b7;
  font-size: 1rem;
  line-height: 1.62;
}

.rls-ciociaria-availability {
  display: grid;
  grid-template-columns: minmax(155px, 0.24fr) minmax(0, 1fr);
  gap: 18px;
  max-width: 980px;
  margin: 20px 0;
  padding: 17px 19px;
  border: 1px solid rgba(201, 162, 75, 0.42);
  border-radius: 14px;
  background: rgba(201, 162, 75, 0.09);
}

.rls-ciociaria-availability strong {
  color: var(--rls-gold-light);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rls-ciociaria-availability p {
  margin: 0;
  color: #d4cfc4;
  font-size: 0.9rem;
  line-height: 1.55;
}

.rls-ciociaria-price {
  max-width: 980px;
  margin: 20px 0;
  border: 1px solid rgba(229, 204, 137, 0.28);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.035);
  overflow: hidden;
}

.rls-ciociaria-price__summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px 22px;
  align-items: center;
  padding: 20px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.025), rgba(201, 162, 75, 0.035));
}

.rls-ciociaria-price__summary small {
  color: var(--rls-gold-light);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.rls-ciociaria-price__summary strong {
  justify-self: end;
  color: #fff;
  font-family: var(--rls-serif);
  font-size: 1.35rem;
  line-height: 1;
  white-space: nowrap;
}

.rls-ciociaria-price__summary p {
  margin: 0;
  color: #d4cfc4;
  font-size: 0.86rem;
  line-height: 1.5;
}

.rls-ciociaria-price__quick {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.rls-ciociaria-price__quick span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 12px;
  align-items: baseline;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid rgba(229, 204, 137, 0.2);
  border-radius: 12px;
  background: rgba(7, 9, 10, 0.45);
}

.rls-ciociaria-price__quick span.is-featured {
  border-color: rgba(229, 204, 137, 0.48);
  background: rgba(201, 162, 75, 0.13);
}

.rls-ciociaria-price__quick small {
  color: var(--rls-gold-light);
  font-size: 0.7rem;
  letter-spacing: 0.09em;
}

.rls-ciociaria-price__quick b {
  color: #fff;
  font-family: var(--rls-serif);
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
}

.rls-ciociaria-price__quick em {
  grid-column: 1 / -1;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  color: var(--rls-gold-light);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
}

.rls-discovery-card .rls-ciociaria-price__summary {
  grid-template-columns: 1fr;
  gap: 10px;
}

.rls-discovery-card .rls-ciociaria-price__summary strong {
  justify-self: start;
}

.rls-discovery-card .rls-ciociaria-price__quick {
  grid-template-columns: 1fr;
  width: 100%;
}

.rls-discovery-card:has(.rls-ciociaria-price__details[open]) .rls-ciociaria-price__quick {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-template-page-ciociaria-day-tours .rls-page-progress,
.page-template-page-pilgrimage-tours .rls-page-progress,
.page-template-page-cinema-location-tours .rls-page-progress,
body:has(.rls-ciociaria-price) .rls-page-progress {
  display: none;
}

.rls-discovery-grid:has(.rls-ciociaria-price__details[open]) {
  align-items: start;
}

.rls-discovery-grid:has(.rls-ciociaria-price__details[open]) .rls-discovery-card {
  min-height: 0;
}

.rls-discovery-grid:has(.rls-ciociaria-price__details[open]) .rls-discovery-card:has(.rls-ciociaria-price__details[open]) {
  grid-column: 1 / -1;
}

.rls-ciociaria-price__details {
  border-top: 1px solid rgba(229, 204, 137, 0.18);
}

.rls-ciociaria-price__details > summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 20px;
  color: var(--rls-gold-light);
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  list-style: none;
  text-transform: uppercase;
}

.rls-ciociaria-price__details > summary::-webkit-details-marker {
  display: none;
}

.rls-ciociaria-price__details[open] > summary span {
  transform: rotate(45deg);
}

.rls-ciociaria-price__details .rls-tour-rate-panel__table-wrap,
.rls-ciociaria-price__details .rls-tour-rate-panel__conditions {
  margin-right: 20px;
  margin-left: 20px;
}

.rls-ciociaria-price__details .rls-tour-rate-panel__table {
  min-width: 0;
  table-layout: fixed;
}

.rls-ciociaria-price__details .rls-tour-rate-panel__table th,
.rls-ciociaria-price__details .rls-tour-rate-panel__table td {
  width: 50%;
  padding: 16px 18px;
}

.rls-ciociaria-price__details .rls-tour-rate-panel__conditions {
  margin-bottom: 20px;
}

.rls-ciociaria-guide {
  margin: 20px 0;
}

.rls-ciociaria-stops {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 20px 0 34px;
  padding: 0;
  list-style: none;
}

.rls-ciociaria-stops li {
  display: flex;
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(229, 204, 137, 0.22);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.045);
  flex-direction: column;
}

.rls-ciociaria-stops small,
.rls-ciociaria-variants .rls-scene-guide__section-title small {
  color: var(--rls-gold-light);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rls-ciociaria-stops > li > strong {
  margin: 9px 0 8px;
  color: #fff;
  font-family: var(--rls-serif);
  font-size: 1.45rem;
}

.rls-ciociaria-stops a {
  color: var(--rls-gold-light);
  font-size: 0.77rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.rls-ciociaria-stops p {
  margin: 16px 0 0;
  color: #c7c2b7;
  font-size: 0.9rem;
  line-height: 1.6;
}

.rls-ciociaria-variants {
  margin-top: 10px;
}

.rls-ciociaria-variants ul {
  display: grid;
  gap: 12px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.rls-ciociaria-variants li {
  display: grid;
  grid-template-columns: minmax(160px, 0.35fr) minmax(0, 1fr);
  gap: 18px;
  padding: 16px 18px;
  border-left: 2px solid var(--rls-gold);
  background: rgba(255, 255, 255, 0.035);
}

.rls-ciociaria-variants li strong {
  color: #fff;
}

.rls-ciociaria-variants li span {
  color: #c7c2b7;
  line-height: 1.55;
}

.rls-ciociaria-unlock {
  display: grid;
  grid-template-columns: minmax(130px, 0.22fr) minmax(0, 1fr);
  gap: 20px;
  margin-top: 28px;
  padding: 20px 22px;
  border: 1px solid rgba(201, 162, 75, 0.38);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(201, 162, 75, 0.13), rgba(255, 255, 255, 0.025));
}

.rls-ciociaria-unlock strong {
  color: var(--rls-gold-light);
  text-transform: uppercase;
}

.rls-ciociaria-unlock p {
  margin: 0;
  color: #d2cdc2;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .rls-ciociaria-grid,
  .rls-pilgrimage-route {
    grid-template-columns: 1fr;
  }

  .rls-ciociaria-card:has(.rls-ciociaria-guide[open]),
  .rls-pilgrimage-card:has(.rls-pilgrimage-guide[open]) {
    grid-column: auto;
  }
}

@media (max-width: 720px) {
  .rls-ciociaria-stops,
  .rls-ciociaria-variants li,
  .rls-ciociaria-availability,
  .rls-ciociaria-unlock,
  .rls-pilgrimage-schedule,
  .rls-pilgrimage-stops,
  .rls-pilgrimage-private-note {
    grid-template-columns: 1fr;
  }

  .rls-pilgrimage-schedule p {
    grid-column: auto;
  }

  .rls-ciociaria-price__quick,
  .rls-discovery-card:has(.rls-ciociaria-price__details[open]) .rls-ciociaria-price__quick {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 460px) {
  .rls-ciociaria-price__summary {
    grid-template-columns: 1fr;
  }

  .rls-ciociaria-price__summary strong {
    justify-self: start;
  }
}

/* 2.7.7 — richer, image-led presentation for the classic day-tour pages */
.page-template-page-day-tour .rls-page-hero__media::after {
  background:
    linear-gradient(90deg, rgba(7, 8, 9, 0.88), rgba(7, 8, 9, 0.36) 62%, rgba(7, 8, 9, 0.12)),
    linear-gradient(0deg, rgba(7, 8, 9, 0.62), transparent 56%);
}

.page-template-page-day-tour .rls-page-hero__media img {
  filter: saturate(1.08) contrast(1.04);
}

.rls-tour-essentials {
  border-top: 1px solid rgba(201, 162, 75, 0.32);
  border-bottom: 1px solid rgba(201, 162, 75, 0.24);
  background: linear-gradient(110deg, #111416, #17191a 58%, #101213);
}

.rls-tour-essentials__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rls-tour-essentials article {
  min-height: 150px;
  padding: 30px 24px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.rls-tour-essentials article:last-child {
  border-right: 0;
}

.rls-tour-essentials small,
.rls-premium-roadmap__list time,
.rls-tour-gallery__caption small {
  display: block;
  margin-bottom: 12px;
  color: var(--rls-gold-light);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rls-tour-essentials strong {
  display: block;
  color: #fff;
  font-family: var(--rls-serif);
  font-size: clamp(1.08rem, 1.7vw, 1.42rem);
  font-weight: 500;
  line-height: 1.35;
}

.rls-premium-roadmap {
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 5%, rgba(201, 162, 75, 0.12), transparent 30%),
    #090b0c;
}

.rls-premium-roadmap__list {
  display: grid;
  margin: 42px 0 0;
  padding: 0;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  list-style: none;
}

.rls-premium-roadmap__list li {
  position: relative;
  min-height: 220px;
  padding: 28px 26px 30px;
  border-top: 1px solid rgba(201, 162, 75, 0.5);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.025);
}

.rls-premium-roadmap__list li:nth-child(even) {
  background: rgba(201, 162, 75, 0.045);
}

.rls-premium-roadmap__list li > span {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 30px;
  place-items: center;
  border: 1px solid rgba(201, 162, 75, 0.72);
  border-radius: 50%;
  color: var(--rls-gold-light);
  font-size: 0.67rem;
  font-weight: 800;
}

.rls-premium-roadmap__list p {
  margin: 0;
  color: #e5e0d6;
  font-family: var(--rls-serif);
  font-size: 1.06rem;
  line-height: 1.55;
}

.rls-premium-roadmap__pause {
  display: grid;
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
  gap: 34px;
  margin-top: 22px;
  padding: 24px 28px;
  border: 1px solid rgba(201, 162, 75, 0.3);
  border-radius: 18px;
  background: linear-gradient(120deg, rgba(201, 162, 75, 0.11), rgba(255, 255, 255, 0.025));
}

.rls-premium-roadmap__pause strong {
  color: var(--rls-gold-light);
  font-family: var(--rls-serif);
  font-size: 1.35rem;
  line-height: 1.35;
}

.rls-premium-roadmap__pause p {
  margin: 0;
  color: #cbc6bc;
  line-height: 1.7;
}

.page-template-page-day-tour .rls-tour-gallery__grid {
  align-items: stretch;
}

.page-template-page-day-tour .rls-tour-gallery__item,
.page-template-page-day-tour .rls-tour-gallery__item--panorama,
.page-template-page-day-tour .rls-tour-gallery__item--golf-left,
.page-template-page-day-tour .rls-tour-gallery__item--golf-right {
  display: grid;
  min-height: 0;
  overflow: hidden;
  grid-template-rows: minmax(310px, 1fr) auto;
  border-radius: 20px;
  background: #151819;
  box-shadow: 0 24px 65px rgba(0, 0, 0, 0.28);
}

.page-template-page-day-tour .rls-lightbox-trigger {
  position: relative;
  overflow: hidden;
  min-height: 310px;
}

.page-template-page-day-tour .rls-tour-gallery__item img,
.page-template-page-day-tour .rls-tour-gallery__item--panorama img,
.page-template-page-day-tour .rls-tour-gallery__item--golf-left img,
.page-template-page-day-tour .rls-tour-gallery__item--golf-right img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: cover;
  filter: saturate(1.1) contrast(1.045);
  transform: none;
}

.page-template-page-day-tour .rls-tour-gallery__item--golf-right img,
.page-template-page-day-tour .rls-tour-gallery__item--golf-right:hover img {
  transform: none;
}

.page-template-page-day-tour .rls-tour-gallery__caption {
  position: relative;
  display: block;
  padding: 22px 24px 24px;
  background: linear-gradient(135deg, #1a1d1e, #111314);
}

.page-template-page-day-tour .rls-tour-gallery__caption strong {
  display: block;
  color: #f5f1e8;
  font-family: var(--rls-serif);
  font-size: 1.16rem;
  font-weight: 500;
  line-height: 1.45;
}

.page-template-page-day-tour .rls-tour-gallery__caption .rls-photo-credit {
  display: block;
  margin: 16px -6px -8px;
  padding: 7px 8px;
}

@media (max-width: 980px) {
  .rls-tour-essentials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rls-tour-essentials article:nth-child(2) {
    border-right: 0;
  }

  .rls-tour-essentials article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
}

@media (max-width: 720px) {
  .rls-tour-essentials__grid,
  .rls-premium-roadmap__pause {
    grid-template-columns: 1fr;
  }

  .rls-tour-essentials article,
  .rls-tour-essentials article:nth-child(2) {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .rls-premium-roadmap__list {
    grid-template-columns: 1fr;
  }

  .rls-premium-roadmap__list li {
    min-height: 0;
    border-right: 0;
  }

  .page-template-page-day-tour .rls-tour-gallery__item,
  .page-template-page-day-tour .rls-tour-gallery__item--panorama,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-left,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-right {
    grid-template-rows: 250px auto;
  }

  .page-template-page-day-tour .rls-lightbox-trigger,
  .page-template-page-day-tour .rls-tour-gallery__item img,
  .page-template-page-day-tour .rls-tour-gallery__item--panorama img,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-left img,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-right img {
    min-height: 250px;
  }
}

/* Keep the 2.8.0 rhythm after all legacy responsive rules. */
:root {
  --rls-section-space: clamp(34px, 3.2vw, 50px);
  --rls-section-space-tight: clamp(22px, 2.2vw, 32px);
}

.rls-section-head {
  margin-bottom: clamp(22px, 2.4vw, 32px);
}

.rls-page-hero {
  min-height: 410px;
  padding-top: 126px;
  padding-bottom: 46px;
}

.rls-tour-rate-panel--compact {
  padding: clamp(34px, 4vw, 52px) 0;
  border-top: 1px solid rgba(201, 162, 75, 0.26);
  border-bottom: 1px solid rgba(201, 162, 75, 0.28);
  background:
    radial-gradient(circle at 88% 0, rgba(201, 162, 75, 0.13), transparent 31%),
    linear-gradient(145deg, #111416, #090b0c 68%);
  color: var(--rls-ivory);
}

.page-template-page-day-tour .rls-tour-gallery__item,
.page-template-page-day-tour .rls-tour-gallery__item--panorama,
.page-template-page-day-tour .rls-tour-gallery__item--golf-left,
.page-template-page-day-tour .rls-tour-gallery__item--golf-right {
  grid-template-rows: minmax(255px, 1fr) auto;
}

.page-template-page-day-tour .rls-lightbox-trigger,
.page-template-page-day-tour .rls-tour-gallery__item img,
.page-template-page-day-tour .rls-tour-gallery__item--panorama img,
.page-template-page-day-tour .rls-tour-gallery__item--golf-left img,
.page-template-page-day-tour .rls-tour-gallery__item--golf-right img {
  min-height: 255px;
}

@media (max-width: 720px) {
  :root {
    --rls-section-space: 32px;
    --rls-section-space-tight: 22px;
  }

  .rls-page-hero {
    min-height: 0;
    padding: 104px 0 36px;
  }

  .page-template-page-day-tour .rls-tour-gallery__grid {
    width: calc(100vw - 16px);
    padding-right: 16px;
    overflow-x: auto;
    grid-template-columns: none;
    grid-auto-columns: minmax(82vw, 1fr);
    grid-auto-flow: column;
    scroll-snap-type: x proximity;
  }

  .page-template-page-day-tour .rls-tour-gallery__item,
  .page-template-page-day-tour .rls-tour-gallery__item--panorama,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-left,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-right {
    grid-column: auto;
    grid-template-rows: 230px auto;
    scroll-snap-align: start;
  }

  .page-template-page-day-tour .rls-lightbox-trigger,
  .page-template-page-day-tour .rls-tour-gallery__item img,
  .page-template-page-day-tour .rls-tour-gallery__item--panorama img,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-left img,
  .page-template-page-day-tour .rls-tour-gallery__item--golf-right img {
    min-height: 230px;
  }
}

/* 2.8.5 · Keep explorer hero photography intact after legacy day-tour rules. */
.page-template-page-day-tour .rls-day-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media::after {
  background:
    linear-gradient(90deg, rgba(5, 5, 6, .91) 0%, rgba(5, 5, 6, .68) 36%, rgba(5, 5, 6, .12) 76%),
    linear-gradient(0deg, rgba(6, 5, 5, .73), transparent 56%);
}

.page-template-page-day-tour .rls-shore-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media::after {
  background:
    linear-gradient(90deg, rgba(4, 5, 6, .9) 0%, rgba(4, 5, 6, .66) 35%, rgba(4, 5, 6, .12) 74%),
    linear-gradient(0deg, rgba(4, 5, 6, .7), transparent 55%);
}

.page-template-page-day-tour .rls-day-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media img,
.page-template-page-day-tour .rls-shore-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  opacity: 1;
}

.page-template-page-day-tour .rls-day-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media img {
  object-position: center center;
}

.page-template-page-day-tour .rls-day-explorer-page--golf .rls-page-hero--cruise-wide .rls-page-hero__media img,
.page-template-page-day-tour .rls-day-explorer-page--umbria .rls-page-hero--cruise-wide .rls-page-hero__media img {
  object-position: 58% center;
}

.page-template-page-day-tour .rls-day-explorer-page--tuscany .rls-page-hero--cruise-wide .rls-page-hero__media img {
  object-position: 54% center;
}

.page-template-page-day-tour .rls-day-explorer-page--pompeii .rls-page-hero--cruise-wide .rls-page-hero__media img {
  object-position: 60% center;
}

.page-template-page-day-tour .rls-shore-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media img {
  object-position: center center;
}

@media (max-width: 780px) {
  .page-template-page-day-tour .rls-day-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media::after,
  .page-template-page-day-tour .rls-shore-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media::after {
    background: linear-gradient(0deg, rgba(4, 5, 6, .95) 0%, rgba(4, 5, 6, .64) 64%, rgba(4, 5, 6, .18));
  }

  .page-template-page-day-tour .rls-day-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media img,
  .page-template-page-day-tour .rls-shore-explorer-page .rls-page-hero--cruise-wide .rls-page-hero__media img {
    object-position: 62% center;
  }
}
