.card-lounge-page {
  overflow: hidden;
  background: var(--color-ink-950);
}

.card-lounge-page ul {
  list-style: none !important;
}

.card-lounge-page .button {
  border-radius: var(--radius-sm);
}

.cl-hero {
  padding-block: var(--space-10);
  background: var(--color-felt-700);
}

.cl-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: center;
}

.cl-hero__copy,
.cl-hero__media,
.cl-hero__actions,
.cl-hero__eligibility {
  min-width: 0;
}

.cl-hero__copy {
  grid-column: 1 / span 5;
}

.cl-hero__copy h1 {
  max-width: 12ch;
}

.cl-hero__copy .lead {
  max-width: 51ch;
}

.cl-hero__media {
  grid-column: 7 / span 6;
  grid-row: 1 / span 3;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.cl-hero__media img {
  width: 100%;
  height: 100%;
  object-position: 68% center;
}

.cl-hero__actions {
  grid-column: 1 / span 5;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cl-hero__actions > * {
  min-width: 0;
  margin: 0;
}

.cl-hero__actions > p {
  max-width: 48ch;
}

.cl-hero__eligibility {
  grid-column: 1 / span 5;
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin: 0;
  padding-top: var(--space-4);
  border-top: 1px solid rgba(243, 240, 232, 0.28);
  color: var(--color-sage-300);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.cl-hero__eligibility span,
.cl-reserve__eligibility span {
  display: block;
  width: 0.5rem;
  min-width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.3rem;
  border-radius: 50%;
  background: var(--color-danger-400);
}

.cl-purpose__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.cl-purpose__intro,
.cl-purpose__statements {
  min-width: 0;
}

.cl-purpose__intro {
  grid-column: 1 / span 4;
}

.cl-purpose__intro .lead {
  max-width: 64ch;
}

.cl-purpose__statements {
  grid-column: 5 / span 6;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.cl-statement {
  display: grid;
  grid-template-columns: minmax(2.5rem, 0.12fr) minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-4);
  border-top: var(--border-default);
}

.cl-statement > * {
  min-width: 0;
}

.cl-statement__index,
.cl-rhythm-row__label,
.cl-route-panel > span,
.cl-standard-card > span {
  color: var(--color-felt-300);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.cl-statement h3 {
  margin-bottom: var(--space-2);
}

.cl-statement p {
  max-width: 56ch;
  margin-bottom: 0;
}

.cl-statement--copper {
  border-top-color: var(--color-copper-400);
}

.cl-statement--copper .cl-statement__index {
  color: var(--color-copper-400);
}

.cl-table {
  background: var(--color-ink-900);
}

.cl-table__header {
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  margin-inline: auto;
  padding-bottom: var(--space-6);
}

.cl-table__header > * {
  max-width: 64ch;
}

.cl-table__header h2 {
  max-width: 15ch;
}

.cl-table__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: stretch;
}

.cl-table__media,
.cl-table__rail {
  min-width: 0;
}

.cl-table__media {
  grid-column: 1 / span 8;
  width: 100%;
  margin: 0;
}

.cl-table__media img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
}

.cl-table__media figcaption {
  padding: var(--space-2) var(--space-3);
  border-top: var(--border-default);
}

.cl-table__rail {
  grid-column: 9 / span 4;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-4);
}

.cl-evidence {
  min-width: 0;
  padding-bottom: var(--space-4);
  border-bottom: var(--border-default);
}

.cl-evidence:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.cl-evidence > span {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  margin-bottom: var(--space-3);
  background: var(--color-felt-300);
}

.cl-evidence h3 {
  margin-bottom: var(--space-2);
}

.cl-evidence p {
  max-width: 50ch;
  margin-bottom: 0;
}

.cl-rhythm__heading {
  width: 41.667%;
  min-width: 0;
  margin-bottom: var(--space-6);
}

.cl-rhythm__heading .lead {
  max-width: 66ch;
}

.cl-rhythm__rows {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-top: var(--border-default);
}

.cl-rhythm-row {
  display: grid;
  grid-template-columns: 2fr 3fr 5fr 2fr;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5) 0;
  border-bottom: var(--border-default);
}

.cl-rhythm-row > * {
  min-width: 0;
  margin: 0;
}

.cl-rhythm-row h3 {
  font-size: var(--text-xl);
}

.cl-rhythm-row > p:not(.cl-rhythm-row__label) {
  max-width: 56ch;
}

.cl-rhythm-row__link {
  align-self: start;
  justify-self: start;
}

.cl-rhythm-row--hospitality {
  padding-inline: var(--space-4);
  background: var(--color-ink-900);
}

.cl-rhythm-row--hospitality .cl-rhythm-row__label {
  color: var(--color-copper-400);
}

.cl-dining {
  border-top: var(--border-default);
}

.cl-dining__heading {
  width: 45%;
  min-width: 0;
  margin-bottom: var(--space-6);
}

.cl-dining__heading h2 {
  max-width: 15ch;
}

.cl-dining__heading p:last-child {
  max-width: 58ch;
}

.cl-dining__eyebrow {
  margin: 0 0 var(--space-2);
  color: var(--color-copper-400);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.cl-dining__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: center;
}

.cl-dining__media,
.cl-dining__copy {
  min-width: 0;
}

.cl-dining__media {
  grid-column: 1 / span 6;
  width: 100%;
  aspect-ratio: 4 / 3;
}

.cl-dining__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cl-dining__copy {
  grid-column: 8 / span 4;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.cl-dining__copy article {
  min-width: 0;
}

.cl-dining__copy h3 {
  margin-bottom: var(--space-3);
}

.cl-dining__copy article > p {
  max-width: 54ch;
  margin-bottom: 0;
}

.cl-dining__annotation {
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-copper-400);
}

.cl-dining__annotation > p {
  max-width: 48ch !important;
}

.cl-standard {
  background: var(--color-ink-900);
}

.cl-standard__heading {
  width: 50%;
  min-width: 0;
  margin-bottom: var(--space-6);
}

.cl-standard__heading .lead {
  max-width: 64ch;
}

.cl-standard__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.cl-standard-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid #d8d3c8;
  border-radius: var(--radius-sm);
  background: var(--color-ivory-50);
  color: var(--color-ink-950);
}

.cl-standard-card > * {
  min-width: 0;
  margin: 0;
}

.cl-standard-card > span {
  color: var(--color-felt-700);
}

.cl-standard-card h3 {
  color: var(--color-ink-950);
}

.cl-standard-card p {
  max-width: 40ch;
  color: #405048;
}

.cl-events {
  padding-block: var(--space-9);
  background: var(--color-felt-700);
}

.cl-events__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.cl-events__intro,
.cl-events__detail,
.cl-events__enquiry {
  min-width: 0;
}

.cl-events__intro {
  grid-column: 1 / span 5;
}

.cl-events__intro .lead {
  max-width: 58ch;
}

.cl-events__detail {
  grid-column: 7 / span 4;
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-felt-300);
}

.cl-events__detail p {
  max-width: 58ch;
  margin-bottom: 0;
}

.cl-events__enquiry {
  grid-column: 11 / span 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cl-events__enquiry > * {
  min-width: 0;
  margin: 0;
}

.cl-events__enquiry p {
  max-width: 48ch;
}

.cl-events__enquiry .button {
  width: 100%;
}

.cl-location__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.cl-location__actions-wrap {
  min-width: 0;
}

.cl-location__actions-wrap > * {
  min-width: 0;
}

.cl-location__info {
  min-width: 0;
}

.cl-location__info {
  grid-column: 1 / span 4;
}

.cl-location__info > p:last-child {
  max-width: 56ch;
}

.cl-location__address {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-5);
  padding: var(--space-4);
  border-left: 2px solid var(--color-felt-300);
  background: var(--color-ivory-50);
}

.cl-location__address > * {
  min-width: 0;
  margin: 0;
}

.cl-location__address .utility-label {
  color: var(--color-felt-700);
}

.cl-location__address address {
  color: var(--color-ink-950);
  font-size: var(--text-lg);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: var(--leading-lead);
}

.cl-location__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-top: var(--space-4);
}

.cl-location__actions > * {
  min-width: 0;
  margin: 0;
}

.cl-location__actions > p {
  max-width: 48ch;
}

.cl-routes {
  border-top: var(--border-default);
}

.cl-routes__heading {
  width: 41.667%;
  min-width: 0;
  margin-bottom: var(--space-6);
}

.cl-routes__heading .lead {
  max-width: 60ch;
}

.cl-routes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.cl-route-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-default);
  background: var(--color-ink-900);
}

.cl-route-panel > * {
  min-width: 0;
  margin: 0;
}

.cl-route-panel h3 {
  margin-top: var(--space-2);
}

.cl-route-panel p {
  max-width: 50ch;
}

.cl-route-panel a {
  margin-top: auto;
  font-size: var(--text-sm);
  font-weight: 700;
}

.cl-route-panel--dining > span {
  color: var(--color-copper-400);
}

.cl-reserve {
  padding-block: var(--space-10);
  background: var(--color-felt-700);
}

.cl-reserve__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.cl-reserve__content,
.cl-reserve__detail {
  min-width: 0;
}

.cl-reserve__content {
  grid-column: 1 / span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.cl-reserve__content > * {
  min-width: 0;
  margin: 0;
}

.cl-reserve__content h2 {
  max-width: 13ch;
}

.cl-reserve__content > p:not(.eyebrow):not(.cl-reserve__eligibility) {
  max-width: 52ch;
}

.cl-reserve__secondary {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.cl-reserve__secondary > * {
  margin: 0;
}

.cl-reserve__eligibility {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  width: 100%;
  padding-top: var(--space-4);
  border-top: 1px solid rgba(243, 240, 232, 0.28);
  color: var(--color-sage-300);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.cl-reserve__detail {
  grid-column: 6 / span 7;
  min-height: 12rem;
  background-image: linear-gradient(rgba(243,240,232,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(243,240,232,.12) 1px, transparent 1px);
  background-size: 3rem 3rem;
  opacity: 0.55;
}

@media (max-width: 980px) {
  .cl-hero__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cl-hero__copy,
  .cl-hero__actions,
  .cl-hero__eligibility {
    grid-column: 1;
  }

  .cl-hero__media {
    grid-column: 2;
    grid-row: 1 / span 3;
  }
}

@media (max-width: 960px) {
  .cl-table__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cl-table__media {
    grid-column: 1;
  }

  .cl-table__rail {
    grid-column: 2;
  }
}

@media (max-width: 900px) {
  .cl-purpose__grid,
  .cl-location__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cl-purpose__intro, .cl-purpose__statements, .cl-location__info {
    grid-column: auto;
  }

  .cl-rhythm__heading,
  .cl-dining__heading,
  .cl-standard__heading,
  .cl-routes__heading {
    width: 100%;
  }

  .cl-rhythm-row {
    grid-template-columns: 1fr 1.5fr;
  }

  .cl-rhythm-row__label {
    grid-column: 1;
  }

  .cl-rhythm-row h3 {
    grid-column: 2;
  }

  .cl-rhythm-row > p:not(.cl-rhythm-row__label) {
    grid-column: 2;
  }

  .cl-rhythm-row__link {
    grid-column: 2;
  }

  .cl-dining__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cl-dining__media,
  .cl-dining__copy {
    grid-column: auto;
  }

  .cl-events__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .cl-events__intro {
    grid-column: 1 / -1;
  }

  .cl-events__detail {
    grid-column: 1 / span 3;
  }

  .cl-events__enquiry {
    grid-column: 4 / span 2;
  }

  .cl-routes__grid {
    gap: var(--space-4);
  }

  .cl-reserve__content {
    grid-column: 1 / span 7;
  }

  .cl-reserve__detail {
    grid-column: 8 / span 5;
  }
}

@media (max-width: 759px) {
  .cl-hero,
  .cl-reserve {
    padding-block: var(--space-8);
  }

  .cl-hero__grid,
  .cl-purpose__grid,
  .cl-table__grid,
  .cl-dining__grid,
  .cl-events__grid,
  .cl-location__grid,
  .cl-reserve__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cl-hero__copy, .cl-hero__media, .cl-hero__actions, .cl-hero__eligibility, .cl-purpose__intro, .cl-purpose__statements, .cl-table__media, .cl-table__rail, .cl-dining__media, .cl-dining__copy, .cl-events__intro, .cl-events__detail, .cl-events__enquiry, .cl-location__info, .cl-reserve__content, .cl-reserve__detail {
    grid-column: 1;
  }

  .cl-hero__copy {
    order: 1;
  }

  .cl-hero__media {
    grid-row: auto;
    order: 2;
    aspect-ratio: 4 / 3;
  }

  .cl-hero__media img {
    object-position: 63% 34%;
  }

  .cl-hero__eligibility {
    order: 3;
  }

  .cl-hero__actions {
    order: 4;
  }

  .cl-hero__actions .button-group,
  .cl-location__actions .button-group {
    flex-direction: column;
    align-items: stretch;
  }

  .cl-hero__actions .button,
  .cl-location__actions .button {
    width: 100%;
  }

  .cl-hero__copy h1 {
    max-width: 14ch;
    font-size: clamp(2.75rem, 12vw, 3.125rem);
  }

  .cl-hero__copy .lead {
    max-width: 40ch;
  }

  .cl-purpose__statements {
    gap: var(--space-4);
  }

  .cl-statement p {
    max-width: none;
  }

  .cl-table__header {
    padding-bottom: var(--space-5);
  }

  .cl-table__media img {
    aspect-ratio: 4 / 3;
  }

  .cl-table__rail {
    gap: 0;
  }

  .cl-evidence {
    padding-block: var(--space-4);
  }

  .cl-rhythm-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    padding: var(--space-5) 0;
  }

  .cl-rhythm-row__label,
  .cl-rhythm-row h3,
  .cl-rhythm-row > p:not(.cl-rhythm-row__label),
  .cl-rhythm-row__link {
    grid-column: 1;
  }

  .cl-rhythm-row--hospitality {
    padding-inline: var(--space-4);
  }

  .cl-dining__media {
    aspect-ratio: 4 / 3;
  }

  .cl-dining__copy {
    gap: var(--space-4);
  }

  .cl-standard__grid,
  .cl-routes__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .cl-standard-card,
  .cl-route-panel {
    padding: var(--space-4);
  }

  .cl-events {
    padding-block: var(--space-8);
  }

  .cl-events__detail {
    padding-left: var(--space-3);
  }

  .cl-events__enquiry .button {
    width: 100%;
  }

  .cl-location__actions-wrap .button-tertiary {
    justify-content: flex-start;
  }

  .cl-reserve__content {
    align-items: stretch;
  }

  .cl-reserve__content h2 {
    font-size: clamp(2.25rem, 10vw, 2.5rem);
  }

  .cl-reserve__content > .button {
    width: 100%;
  }

  .cl-reserve__detail {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .card-lounge-page *,
  .card-lounge-page *::before,
  .card-lounge-page *::after {
    transition-duration: 0.01ms !important;
  }
}
