.dcl-page {
  --dcl-navy: #062b48;
  --dcl-navy-deep: #041f35;
  --dcl-ocean: #0b7185;
  --dcl-teal: #09878a;
  --dcl-coral: #dc5a4e;
  --dcl-gold: #c48f2d;
  --dcl-cream: #fbf7ee;
  --dcl-white: #fffdf8;
  --dcl-rule: rgba(9, 75, 107, 0.22);
  --dcl-rule-strong: rgba(9, 75, 107, 0.55);
  --dcl-serif: Georgia, "Times New Roman", serif;
}

.dcl-page .home-shell {
  width: min(100% - 40px, 1500px);
}

.dcl-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 45px;
  border-bottom: 1px solid var(--dcl-rule);
  color: rgba(4, 31, 53, 0.68);
  font-size: 0.74rem;
  font-weight: 700;
}

.dcl-breadcrumbs a:hover {
  color: var(--dcl-coral);
}

.dcl-hero {
  display: grid;
  grid-template-columns: minmax(390px, 0.83fr) minmax(580px, 1.17fr);
  min-height: 610px;
  border-bottom: 1px solid var(--dcl-rule-strong);
}

.dcl-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 68px clamp(36px, 5vw, 82px) 68px 12px;
}

.dcl-eyebrow {
  margin: 0 0 16px;
  color: var(--dcl-ocean);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.17em;
  line-height: 1.25;
  text-transform: uppercase;
}

.dcl-hero h1,
.dcl-section h2,
.dcl-booking h2,
.dcl-club h2 {
  font-family: var(--dcl-serif);
  letter-spacing: -0.047em;
}

.dcl-hero h1 {
  max-width: 680px;
  margin: 0;
  font-size: clamp(3.4rem, 6.1vw, 6.8rem);
  font-weight: 700;
  line-height: 0.91;
}

.dcl-hero-lede {
  max-width: 650px;
  margin: 28px 0 0;
  color: rgba(4, 31, 53, 0.8);
  font-size: clamp(1.05rem, 1.45vw, 1.3rem);
  line-height: 1.45;
}

.dcl-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 31px;
}

.dcl-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 14px 21px;
  border: 1px solid transparent;
  font-size: 0.83rem;
  font-weight: 900;
  letter-spacing: 0.01em;
}

.dcl-page .dcl-button--primary {
  color: #fff;
  background: var(--dcl-coral);
  box-shadow: 0 12px 24px rgba(155, 54, 46, 0.17);
}

.dcl-page .dcl-button--primary:hover,
.dcl-page .dcl-button--primary:focus-visible {
  background: #be453d;
}

.dcl-text-link {
  border-bottom: 1px solid var(--dcl-rule-strong);
  font-size: 0.8rem;
  font-weight: 900;
}

.dcl-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  margin: 36px 0 0;
  padding: 0;
  list-style: none;
  color: rgba(4, 31, 53, 0.73);
  font-size: 0.72rem;
}

.dcl-proof li {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
}

.dcl-proof strong {
  color: var(--dcl-ocean);
  font-size: 1.05rem;
}

.dcl-hero-visual {
  position: relative;
  min-height: 610px;
  overflow: hidden;
  background: var(--dcl-navy);
}

.dcl-hero-visual::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, rgba(2, 22, 37, 0.02) 30%, rgba(2, 22, 37, 0.74));
}

.dcl-hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dcl-hero-overlay {
  position: absolute;
  z-index: 1;
  right: clamp(22px, 4vw, 55px);
  bottom: clamp(22px, 4vw, 50px);
  left: clamp(22px, 4vw, 55px);
  display: grid;
  gap: 8px;
  max-width: 650px;
  color: #fff;
}

.dcl-hero-overlay span {
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.dcl-hero-overlay strong {
  font-family: var(--dcl-serif);
  font-size: clamp(1.8rem, 3vw, 3.1rem);
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.dcl-jump-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: clamp(18px, 3.2vw, 50px);
  min-height: 58px;
  padding-inline: 12px;
  overflow-x: auto;
  border-bottom: 1px solid var(--dcl-rule-strong);
  background: rgba(251, 247, 238, 0.94);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  scrollbar-width: none;
}

.dcl-jump-nav::-webkit-scrollbar {
  display: none;
}

.dcl-jump-nav a {
  flex: 0 0 auto;
  color: rgba(4, 31, 53, 0.75);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dcl-jump-nav a:hover {
  color: var(--dcl-coral);
}

.dcl-section {
  padding: clamp(70px, 8vw, 122px) 22px;
  border-bottom: 1px solid var(--dcl-rule-strong);
  scroll-margin-top: 58px;
}

.dcl-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  align-items: end;
  gap: 60px;
  margin-bottom: 48px;
}

.dcl-section-heading--compact {
  margin-bottom: 34px;
}

.dcl-section-heading .dcl-eyebrow,
.dcl-included-copy .dcl-eyebrow,
.dcl-booking .dcl-eyebrow,
.dcl-club .dcl-eyebrow,
.dcl-restricted-intro .dcl-eyebrow {
  margin-bottom: 12px;
}

.dcl-section h2,
.dcl-booking h2,
.dcl-club h2 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(2.6rem, 4.9vw, 5.2rem);
  line-height: 0.95;
}

.dcl-section-heading > p {
  max-width: 500px;
  margin: 0;
  color: rgba(4, 31, 53, 0.68);
  font-size: 0.96rem;
}

.dcl-checked {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 0.75rem !important;
  font-weight: 800;
}

.dcl-checked span {
  color: #12a97e;
}

.dcl-offer-ledger {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--dcl-rule-strong);
}

.dcl-offer-ledger article {
  min-height: 240px;
  padding: 28px 30px 25px 2px;
  border-bottom: 1px solid var(--dcl-rule);
}

.dcl-offer-ledger article:not(:nth-child(3n + 1)) {
  padding-left: 30px;
  border-left: 1px solid var(--dcl-rule);
}

.dcl-offer-ledger article > span {
  color: var(--dcl-ocean);
  font-size: 0.67rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.dcl-offer-ledger h3 {
  margin: 14px 0 9px;
  font-family: var(--dcl-serif);
  font-size: clamp(1.45rem, 2vw, 2.1rem);
  letter-spacing: -0.035em;
  line-height: 1.02;
}

.dcl-offer-ledger p {
  margin: 0;
  color: rgba(4, 31, 53, 0.72);
  font-size: 0.84rem;
}

.dcl-offer-ledger a,
.dcl-lane a,
.dcl-source-link,
.dcl-club-copy a {
  display: inline-block;
  margin-top: 18px;
  border-bottom: 1px solid currentColor;
  color: var(--dcl-ocean);
  font-size: 0.75rem;
  font-weight: 900;
}

.dcl-reality-check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  margin-top: 28px;
  padding: 20px 24px;
  color: #fff;
  background: var(--dcl-navy-deep);
}

.dcl-reality-check strong {
  color: #f2c46f;
  font-family: var(--dcl-serif);
  font-size: 1.25rem;
}

.dcl-reality-check span {
  font-size: 0.82rem;
}

.dcl-reality-check a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.7);
  font-size: 0.72rem;
  font-weight: 900;
  white-space: nowrap;
}

.dcl-lanes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--dcl-rule-strong);
  border-bottom: 1px solid var(--dcl-rule-strong);
}

.dcl-lane {
  position: relative;
  padding: 34px 34px 36px;
}

.dcl-lane + .dcl-lane {
  border-left: 1px solid var(--dcl-rule);
}

.dcl-lane > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  height: 28px;
  border: 1px solid var(--dcl-rule-strong);
  border-radius: 999px;
  color: var(--dcl-ocean);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dcl-lane h3 {
  min-height: 2.2em;
  margin: 24px 0 12px;
  font-family: var(--dcl-serif);
  font-size: clamp(1.65rem, 2.5vw, 2.55rem);
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.dcl-lane p,
.dcl-lane li {
  color: rgba(4, 31, 53, 0.72);
  font-size: 0.84rem;
}

.dcl-lane ul {
  margin: 20px 0 0;
  padding-left: 18px;
}

.dcl-lane li + li {
  margin-top: 7px;
}

.dcl-lane--early {
  background: rgba(255, 255, 255, 0.28);
}

.dcl-lane--late {
  background: rgba(8, 123, 131, 0.05);
}

.dcl-lane--return {
  background: rgba(196, 143, 45, 0.06);
}

.dcl-restricted {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(200px, 0.42fr) minmax(420px, 1fr);
  gap: 48px;
  color: #fff;
  background: var(--dcl-navy-deep);
}

.dcl-restricted .dcl-eyebrow {
  color: #69d9d2;
}

.dcl-restricted h2 {
  font-size: clamp(2.8rem, 4.6vw, 5.1rem);
}

.dcl-restricted-intro > p:last-child {
  color: rgba(255, 255, 255, 0.7);
}

.dcl-fare-types {
  display: grid;
  align-content: center;
}

.dcl-fare-types div {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.dcl-fare-types div:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.dcl-fare-types strong {
  color: #f2c46f;
  font-family: var(--dcl-serif);
  font-size: 2rem;
}

.dcl-fare-types span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.78rem;
}

.dcl-restriction-list {
  display: grid;
  align-content: center;
}

.dcl-restriction-list p {
  display: grid;
  grid-template-columns: 32px auto;
  gap: 0 10px;
  margin: 0;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.78rem;
}

.dcl-restriction-list p:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.dcl-restriction-list span {
  grid-row: 1 / 3;
  color: #69d9d2;
  font-size: 0.67rem;
  font-weight: 900;
}

.dcl-restriction-list strong {
  color: #fff;
  font-size: 0.88rem;
}

.dcl-restricted footer {
  grid-column: 1 / -1;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.82rem;
}

.dcl-restricted footer strong {
  color: #fff;
}

.dcl-restricted .dcl-source-link {
  grid-column: 1 / -1;
  width: max-content;
  margin-top: -22px;
  color: #69d9d2;
}

.dcl-playbook {
  padding-inline: 0;
}

.dcl-playbook > .dcl-section-heading {
  padding-inline: 22px;
}

.dcl-playbook-group {
  border-top: 1px solid var(--dcl-rule-strong);
}

.dcl-playbook-group:last-child {
  border-bottom: 1px solid var(--dcl-rule-strong);
}

.dcl-playbook-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-height: 90px;
  padding: 20px 22px;
  cursor: pointer;
  list-style: none;
}

.dcl-playbook-group summary::-webkit-details-marker {
  display: none;
}

.dcl-playbook-group summary::after {
  content: "+";
  flex: 0 0 auto;
  color: var(--dcl-ocean);
  font-family: var(--dcl-serif);
  font-size: 2rem;
}

.dcl-playbook-group[open] summary::after {
  content: "−";
}

.dcl-playbook-group summary > span {
  display: flex;
  align-items: center;
  gap: 24px;
}

.dcl-playbook-group summary small {
  color: var(--dcl-ocean);
  font-size: 0.69rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.dcl-playbook-group summary strong {
  font-family: var(--dcl-serif);
  font-size: clamp(1.7rem, 2.8vw, 2.7rem);
  letter-spacing: -0.04em;
}

.dcl-playbook-group summary em {
  margin-left: auto;
  color: rgba(4, 31, 53, 0.58);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 800;
}

.dcl-strategy-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--dcl-rule);
  background: rgba(255, 255, 255, 0.22);
}

.dcl-strategy {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  min-height: 198px;
  padding: 30px 34px 29px 22px;
  border-bottom: 1px solid var(--dcl-rule);
}

.dcl-strategy:nth-child(2n) {
  border-left: 1px solid var(--dcl-rule);
}

.dcl-strategy > span {
  color: var(--dcl-ocean);
  font-family: var(--dcl-serif);
  font-size: 1.75rem;
  font-weight: 700;
}

.dcl-strategy h3 {
  margin: 2px 0 9px;
  font-family: var(--dcl-serif);
  font-size: clamp(1.25rem, 1.65vw, 1.65rem);
  letter-spacing: -0.025em;
  line-height: 1.08;
}

.dcl-strategy p {
  margin: 0;
  color: rgba(4, 31, 53, 0.69);
  font-size: 0.79rem;
}

.dcl-strategy a {
  display: inline-block;
  margin-top: 12px;
  border-bottom: 1px solid rgba(11, 113, 133, 0.6);
  color: var(--dcl-ocean);
  font-size: 0.7rem;
  font-weight: 900;
}

.dcl-strategy--warning {
  background: rgba(220, 90, 78, 0.07);
}

.dcl-strategy--warning > span,
.dcl-strategy--warning a {
  color: #b4433b;
}

.dcl-payment-table {
  border-top: 1px solid var(--dcl-rule-strong);
}

.dcl-payment-row {
  display: grid;
  grid-template-columns: minmax(190px, 0.72fr) minmax(260px, 1.25fr) minmax(260px, 1.25fr);
  gap: 28px;
  align-items: center;
  min-height: 80px;
  padding: 17px 18px;
  border-bottom: 1px solid var(--dcl-rule);
  font-size: 0.8rem;
}

.dcl-payment-head {
  min-height: 46px;
  color: rgba(4, 31, 53, 0.56);
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.dcl-payment-row strong {
  font-family: var(--dcl-serif);
  font-size: 1.18rem;
}

.dcl-payment-row span {
  color: rgba(4, 31, 53, 0.7);
}

.dcl-protection-note {
  display: grid;
  grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr);
  gap: 24px;
  margin-top: 30px;
  padding: 25px 28px;
  color: #fff;
  background: var(--dcl-navy-deep);
}

.dcl-protection-note strong {
  color: #f2c46f;
  font-family: var(--dcl-serif);
  font-size: 1.35rem;
}

.dcl-protection-note p {
  margin: 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.82rem;
}

.dcl-included {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(500px, 1.28fr);
  gap: 70px;
  background: rgba(8, 123, 131, 0.045);
}

.dcl-included-copy > p:last-child {
  color: rgba(4, 31, 53, 0.7);
}

.dcl-included-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--dcl-rule-strong);
  border-bottom: 1px solid var(--dcl-rule-strong);
}

.dcl-included-columns > div {
  padding: 27px 30px;
}

.dcl-included-columns > div + div {
  border-left: 1px solid var(--dcl-rule);
}

.dcl-included-columns span {
  color: var(--dcl-ocean);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.dcl-included-columns ul {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.dcl-included-columns li {
  position: relative;
  padding: 10px 0 10px 21px;
  border-bottom: 1px solid var(--dcl-rule);
  color: rgba(4, 31, 53, 0.75);
  font-size: 0.82rem;
}

.dcl-included-columns li::before {
  position: absolute;
  left: 0;
  color: var(--dcl-teal);
  content: "✓";
  font-weight: 900;
}

.dcl-included-columns > div + div li::before {
  color: var(--dcl-coral);
  content: "+";
}

.dcl-traps ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--dcl-rule-strong);
  list-style: none;
  counter-reset: trap;
}

.dcl-traps li {
  counter-increment: trap;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 3px 15px;
  min-height: 105px;
  padding: 25px 28px;
  border-bottom: 1px solid var(--dcl-rule);
}

.dcl-traps li:nth-child(2n) {
  border-left: 1px solid var(--dcl-rule);
}

.dcl-traps li::before {
  grid-row: 1 / 3;
  color: var(--dcl-coral);
  content: counter(trap, decimal-leading-zero);
  font-family: var(--dcl-serif);
  font-size: 1.45rem;
}

.dcl-traps strong {
  font-family: var(--dcl-serif);
  font-size: 1.12rem;
}

.dcl-traps span {
  color: rgba(4, 31, 53, 0.66);
  font-size: 0.76rem;
}

.dcl-faq details {
  border-top: 1px solid var(--dcl-rule-strong);
}

.dcl-faq details:last-child {
  border-bottom: 1px solid var(--dcl-rule-strong);
}

.dcl-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 76px;
  padding: 18px 5px;
  cursor: pointer;
  font-family: var(--dcl-serif);
  font-size: clamp(1.15rem, 1.8vw, 1.65rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  list-style: none;
}

.dcl-faq summary::-webkit-details-marker {
  display: none;
}

.dcl-faq summary::after {
  color: var(--dcl-ocean);
  content: "+";
  font-size: 1.65rem;
}

.dcl-faq details[open] summary::after {
  content: "−";
}

.dcl-faq details p {
  max-width: 900px;
  margin: -3px 0 25px;
  color: rgba(4, 31, 53, 0.7);
  font-size: 0.86rem;
}

.dcl-booking {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 45px;
  padding: clamp(55px, 7vw, 90px) clamp(24px, 4vw, 60px);
  color: #fff;
  background: linear-gradient(115deg, var(--dcl-navy-deep), #0a5265 72%, #126f7b);
}

.dcl-booking .dcl-eyebrow {
  color: #75e1d7;
}

.dcl-booking h2 {
  max-width: 830px;
  font-size: clamp(2.5rem, 4.3vw, 4.6rem);
}

.dcl-booking p:not(.dcl-eyebrow) {
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.74);
}

.dcl-page .dcl-button--light {
  min-width: 245px;
  color: var(--dcl-navy-deep);
  background: var(--dcl-white);
}

.dcl-club {
  display: grid;
  grid-template-columns: minmax(390px, 0.85fr) minmax(500px, 1.15fr);
  min-height: 400px;
  margin-top: 28px;
  overflow: hidden;
  color: #fff;
  background: var(--dcl-navy-deep);
}

.dcl-club-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px clamp(30px, 5vw, 72px);
}

.dcl-club .dcl-eyebrow {
  color: #ef7d74;
}

.dcl-club h2 {
  font-size: clamp(2.45rem, 4.1vw, 4.4rem);
}

.dcl-club-copy p:not(.dcl-eyebrow) {
  color: rgba(255, 255, 255, 0.72);
}

.dcl-club-copy a {
  width: max-content;
  color: #fff;
}

.dcl-club-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dcl-disclosure {
  display: grid;
  grid-template-columns: minmax(180px, 0.28fr) minmax(0, 1fr);
  gap: 25px;
  margin: 0;
  padding: 32px 22px;
  border-bottom: 1px solid var(--dcl-rule-strong);
}

.dcl-disclosure strong {
  font-family: var(--dcl-serif);
  font-size: 1.1rem;
}

.dcl-disclosure p {
  margin: 0;
  color: rgba(4, 31, 53, 0.62);
  font-size: 0.72rem;
}

@media (max-width: 1100px) {
  .dcl-hero {
    grid-template-columns: 0.85fr 1.15fr;
  }

  .dcl-hero h1 {
    font-size: clamp(3.2rem, 6.8vw, 5rem);
  }

  .dcl-offer-ledger {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dcl-offer-ledger article:nth-child(3n + 1) {
    padding-left: 30px;
  }

  .dcl-offer-ledger article:nth-child(2n + 1) {
    padding-left: 2px;
    border-left: 0;
  }

  .dcl-offer-ledger article:nth-child(2n) {
    padding-left: 30px;
    border-left: 1px solid var(--dcl-rule);
  }

  .dcl-restricted {
    grid-template-columns: minmax(260px, 0.72fr) minmax(180px, 0.42fr) minmax(330px, 1fr);
    gap: 28px;
  }

  .dcl-included {
    gap: 38px;
  }
}

@media (max-width: 900px) {
  .dcl-page .home-shell {
    width: 100%;
  }

  .dcl-page .home-header,
  .dcl-page .home-footer {
    margin-inline: 20px;
  }

  .dcl-breadcrumbs {
    padding-inline: 20px;
  }

  .dcl-hero {
    grid-template-columns: 1fr;
  }

  .dcl-hero-copy {
    padding: 58px 24px 50px;
  }

  .dcl-hero-visual {
    min-height: 500px;
  }

  .dcl-section-heading,
  .dcl-included,
  .dcl-disclosure {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .dcl-lanes {
    grid-template-columns: 1fr;
  }

  .dcl-lane + .dcl-lane {
    border-top: 1px solid var(--dcl-rule);
    border-left: 0;
  }

  .dcl-lane h3 {
    min-height: 0;
  }

  .dcl-restricted {
    grid-template-columns: 1fr 0.55fr 1fr;
  }

  .dcl-restricted-intro,
  .dcl-restricted footer,
  .dcl-restricted .dcl-source-link {
    grid-column: 1 / -1;
  }

  .dcl-included-columns {
    min-height: 390px;
  }

  .dcl-booking {
    grid-template-columns: 1fr;
  }

  .dcl-button--light {
    width: max-content;
  }

  .dcl-club {
    grid-template-columns: 1fr;
  }

  .dcl-club-image {
    min-height: 300px;
  }
}

@media (max-width: 700px) {
  .dcl-page .home-header {
    margin-inline: 16px;
  }

  .dcl-breadcrumbs {
    padding-inline: 17px;
  }

  .dcl-hero-copy {
    padding: 47px 18px 42px;
  }

  .dcl-hero h1 {
    font-size: clamp(3.1rem, 15vw, 4.4rem);
  }

  .dcl-hero-lede {
    margin-top: 22px;
    font-size: 1.02rem;
  }

  .dcl-proof {
    gap: 13px 19px;
    margin-top: 28px;
  }

  .dcl-hero-visual {
    min-height: 410px;
  }

  .dcl-hero-overlay strong {
    font-size: 1.75rem;
  }

  .dcl-jump-nav {
    padding-inline: 17px;
  }

  .dcl-section {
    padding: 70px 18px;
  }

  .dcl-section h2,
  .dcl-booking h2,
  .dcl-club h2 {
    font-size: clamp(2.65rem, 12.5vw, 4rem);
  }

  .dcl-offer-ledger {
    grid-template-columns: 1fr;
  }

  .dcl-offer-ledger article,
  .dcl-offer-ledger article:nth-child(n) {
    min-height: 0;
    padding: 25px 3px;
    border-left: 0;
  }

  .dcl-reality-check {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .dcl-reality-check a {
    width: max-content;
    white-space: normal;
  }

  .dcl-lane {
    padding-inline: 8px;
  }

  .dcl-restricted {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .dcl-restricted-intro,
  .dcl-restricted footer,
  .dcl-restricted .dcl-source-link {
    grid-column: auto;
  }

  .dcl-restricted .dcl-source-link {
    max-width: 100%;
    margin-top: -10px;
  }

  .dcl-playbook > .dcl-section-heading {
    padding-inline: 18px;
  }

  .dcl-playbook-group summary {
    min-height: 76px;
    padding-inline: 18px;
  }

  .dcl-playbook-group summary > span {
    gap: 14px;
  }

  .dcl-playbook-group summary em {
    display: none;
  }

  .dcl-strategy-list {
    grid-template-columns: 1fr;
  }

  .dcl-strategy,
  .dcl-strategy:nth-child(2n) {
    min-height: 0;
    padding: 25px 18px;
    border-left: 0;
  }

  .dcl-payment-row,
  .dcl-payment-head {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 20px 4px;
  }

  .dcl-payment-head {
    display: none;
  }

  .dcl-protection-note {
    grid-template-columns: 1fr;
  }

  .dcl-included-columns {
    grid-template-columns: 1fr;
  }

  .dcl-included-columns > div + div {
    border-top: 1px solid var(--dcl-rule);
    border-left: 0;
  }

  .dcl-traps ol {
    grid-template-columns: 1fr;
  }

  .dcl-traps li,
  .dcl-traps li:nth-child(2n) {
    min-height: 0;
    padding-inline: 3px;
    border-left: 0;
  }

  .dcl-booking {
    padding: 60px 22px;
  }

  .dcl-button--light {
    width: 100%;
  }

  .dcl-club {
    margin-top: 0;
  }

  .dcl-club-copy {
    padding: 55px 22px;
  }

  .dcl-club-image {
    min-height: 215px;
  }

  .dcl-disclosure {
    padding-inline: 18px;
  }

  .dcl-page .home-footer {
    margin-inline: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dcl-page *,
  .dcl-page *::before,
  .dcl-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
