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

.card-lounge-page .section {
  position: relative;
}

.card-lounge-page .eyebrow {
  color: var(--color-celadon-deep);
}

.card-lounge-page .surface-danube .eyebrow,
.card-lounge-page .surface-danube .meta {
  color: var(--color-limestone-white);
}

.card-lounge-page .surface-danube .eyebrow::after {
  background: var(--color-brushed-copper);
}

.cl-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity var(--transition-slow), transform var(--transition-slow);
}

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

.cl-hero {
  padding-top: calc(var(--section-space) + var(--space-5));
}

.cl-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: center;
}

.cl-hero__copy {
  grid-column: 1 / span 1;
  min-width: 0;
  max-width: 32rem;
}

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

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

.cl-hero__offline {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  border-left: 1px solid var(--color-brushed-copper);
  padding-left: var(--space-4);
}

.cl-hero__offline p {
  max-width: 48ch;
  margin: 0;
  color: var(--color-muted-ink);
}

.cl-hero__media {
  grid-column: 3 / span 1;
  width: 100%;
  min-width: 0;
  min-height: 32rem;
  margin: 0;
}

.cl-hero__media img,
.cl-offline__media img,
.cl-food__media img {
  transition: transform var(--transition-base);
}

.cl-hero__media:hover img,
.cl-offline__media:hover img,
.cl-food__media:hover img {
  transform: scale(1.025);
}

.cl-journey__inner {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.cl-journey__intro {
  width: min(100%, 31rem);
  min-width: 0;
}

.cl-journey__routes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  border-top: 1px solid var(--color-brushed-copper);
}

.cl-route {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-5);
}

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

.cl-route p:not(.cl-route__number) {
  max-width: 46ch;
  color: var(--color-muted-ink);
}

.cl-route__number,
.cl-rhythm__number,
.cl-private__number {
  color: var(--color-brushed-copper);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.cl-offline::before,
.cl-private::before {
  position: absolute;
  width: 18rem;
  height: 18rem;
  border: 1px solid var(--color-celadon-deep);
  border-radius: 50% 50% 50% 0;
  content: "";
  opacity: 0.1;
  pointer-events: none;
}

.cl-offline::before {
  left: -8rem;
  bottom: 6rem;
}

.cl-offline__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: start;
}

.cl-offline__media {
  grid-column: 1 / span 1;
  width: 100%;
  max-width: 30rem;
  min-width: 0;
  aspect-ratio: 4 / 5;
  margin: var(--space-8) 0 0;
}

.cl-offline__copy {
  display: flex;
  grid-column: 3 / span 1;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

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

.cl-offline__copy > p:not(.eyebrow) {
  max-width: 61ch;
}

.cl-offline__statement {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  background: var(--color-danube-blue);
  padding: var(--space-6);
  color: var(--color-limestone-white);
}

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

.cl-offline__statement h3 {
  color: inherit;
}

.cl-offline__statement p {
  max-width: 45ch;
}

.cl-offline__statement ul {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
  padding-left: 1rem;
}

.cl-offline__closing {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

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

.cl-offline__closing p {
  max-width: 59ch;
}

.cl-food__inner {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.cl-food__intro {
  width: min(100%, 44rem);
  min-width: 0;
}

.cl-food__intro h2 {
  max-width: 27ch;
}

.cl-food__intro .lead {
  max-width: 62ch;
}

.cl-food__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
}

.cl-food__media {
  grid-column: 1 / span 1;
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 2;
  margin: 0;
}

.cl-food__details {
  display: flex;
  grid-column: 3 / span 1;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
}

.cl-food__list,
.cl-food__drinks {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.cl-food__list > *,
.cl-food__drinks > * {
  min-width: 0;
  margin: 0;
}

.cl-food__item {
  width: 100%;
  min-width: 0;
  border-top: 1px solid var(--color-brushed-copper);
  padding-top: var(--space-3);
}

.cl-food__item h4 {
  margin-bottom: var(--space-2);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.35;
}

.cl-food__item p,
.cl-food__drinks p {
  max-width: 42ch;
  margin: 0;
  color: var(--color-muted-ink);
}

.cl-rhythm__inner {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.cl-rhythm__intro {
  width: min(100%, 44rem);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.cl-rhythm__intro .eyebrow {
  justify-content: center;
}

.cl-rhythm__intro p:not(.eyebrow) {
  max-width: 58ch;
  margin: 0 auto;
}

.cl-rhythm__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(183, 122, 84, 0.8);
}

.cl-rhythm__step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border-right: 1px solid rgba(183, 122, 84, 0.65);
  padding: var(--space-5) var(--space-5) 0 0;
}

.cl-rhythm__step:not(:first-child) {
  padding-left: var(--space-5);
}

.cl-rhythm__step:last-child {
  border-right: 0;
}

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

.cl-rhythm__step p:not(.cl-rhythm__number) {
  max-width: 40ch;
}

.cl-choice__inner {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.cl-choice__intro {
  width: min(100%, 37rem);
  min-width: 0;
}

.cl-choice__intro p:not(.eyebrow) {
  max-width: 58ch;
}

.cl-choice__bands {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cl-choice__band {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border-left: 1px solid var(--color-brushed-copper);
  padding: 0 var(--space-5);
}

.cl-choice__band:first-child {
  padding-left: 0;
}

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

.cl-choice__band p:not(.meta) {
  max-width: 43ch;
  color: var(--color-muted-ink);
}

.cl-choice__current {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border-bottom: 1px solid var(--color-celadon-deep);
  color: var(--color-celadon-deep);
  font-size: var(--text-nav);
  font-weight: 700;
}

.cl-private {
  overflow: hidden;
}

.cl-private::before {
  right: -6rem;
  top: -8rem;
  left: auto;
}

.cl-private__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: start;
}

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

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

.cl-private__offer p:not(.eyebrow) {
  max-width: 58ch;
}

.cl-private__examples {
  display: grid;
  grid-column: 3 / span 1;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.cl-private__example {
  display: grid;
  grid-template-columns: minmax(2rem, auto) minmax(0, 1fr);
  column-gap: var(--space-4);
  row-gap: var(--space-2);
  min-width: 0;
  border-top: 1px solid rgba(32, 49, 47, 0.3);
  padding: var(--space-4) 0;
}

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

.cl-private__example h3,
.cl-private__example p:not(.cl-private__number),
.cl-private__example .text-link {
  grid-column: 2 / span 1;
}

.cl-private__example p:not(.cl-private__number) {
  max-width: 40ch;
}

.cl-inquiry {
  border-top: 1px solid var(--color-brushed-copper);
}

.cl-inquiry__inner {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.cl-inquiry__intro {
  width: min(100%, 44rem);
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.cl-inquiry__intro .eyebrow {
  justify-content: center;
}

.cl-inquiry__intro .lead {
  max-width: 56ch;
  margin-inline: auto;
}

.cl-inquiry__form {
  display: flex;
  width: min(100%, 47.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin-inline: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-3);
  padding: var(--space-6);
}

.cl-inquiry__form-head,
.cl-inquiry__actions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.cl-inquiry__form-head > *,
.cl-inquiry__actions > * {
  min-width: 0;
  margin: 0;
}

.cl-inquiry__form-head p {
  max-width: 65ch;
  color: var(--color-muted-ink);
}

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

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

.cl-inquiry__full {
  grid-column: 1 / span 2;
}

.cl-inquiry__form textarea {
  min-height: 8.25rem;
}

.cl-field-error {
  min-height: 1.2em;
  color: #8d3025;
  font-size: 0.8125rem;
  line-height: 1.35;
}

.cl-inquiry__form [aria-invalid="true"] {
  border-color: #8d3025;
}

.cl-optional {
  color: var(--color-muted-ink);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.cl-inquiry__privacy {
  color: var(--color-muted-ink);
  font-size: 0.875rem;
}

.cl-inquiry__status {
  min-height: 1.5em;
  color: var(--color-celadon-deep);
  font-weight: 700;
}

.cl-inquiry__status.is-error {
  color: #8d3025;
}

@media (max-width: 1060px) {
  .cl-hero__grid {
    gap: var(--space-6);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .cl-hero__copy,
  .cl-hero__media {
    grid-column: auto;
  }

  .cl-hero__media {
    min-height: 28rem;
  }
}

@media (max-width: 980px) {
  .cl-offline__grid,
  .cl-food__grid {
    gap: var(--space-6);
    grid-template-columns: minmax(0, 1fr);
  }

  .cl-offline__media,
  .cl-offline__copy,
  .cl-food__media,
  .cl-food__details {
    grid-column: auto;
  }

  .cl-offline__media {
    max-width: 35rem;
    margin-top: 0;
  }

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

@media (max-width: 920px) {
  .cl-choice__bands {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6) 0;
  }

  .cl-choice__band:nth-child(3) {
    grid-column: 1 / span 2;
  }

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

  .cl-private__offer,
  .cl-private__examples {
    grid-column: auto;
  }

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

  .cl-private__example:nth-child(3) {
    grid-column: 1 / span 2;
  }
}

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

  .cl-route:nth-child(3) {
    grid-column: 1 / span 2;
  }

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

  .cl-rhythm__step:nth-child(3) {
    grid-column: 1 / span 2;
    border-right: 0;
    padding-left: 0;
  }
}

@media (max-width: 760px) {
  .cl-hero__grid {
    gap: var(--space-5);
    grid-template-columns: minmax(0, 1fr);
  }

  .cl-hero__copy,
  .cl-hero__media {
    grid-column: auto;
  }

  .cl-hero__media {
    min-height: auto;
    aspect-ratio: 3 / 2;
  }

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

  .cl-inquiry__full {
    grid-column: auto;
  }
}

@media (max-width: 700px) {
  .cl-food__details,
  .cl-choice__bands,
  .cl-private__examples {
    grid-template-columns: minmax(0, 1fr);
  }

  .cl-choice__band,
  .cl-choice__band:first-child {
    padding: var(--space-5) 0 0;
    border-left: 0;
    border-top: 1px solid var(--color-brushed-copper);
  }

  .cl-choice__band:nth-child(3),
  .cl-private__example:nth-child(3) {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .cl-journey__routes,
  .cl-rhythm__steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .cl-route:nth-child(3),
  .cl-rhythm__step:nth-child(3) {
    grid-column: auto;
  }

  .cl-rhythm__step,
  .cl-rhythm__step:not(:first-child) {
    border-right: 0;
    border-bottom: 1px solid rgba(183, 122, 84, 0.65);
    padding: var(--space-5) 0;
  }

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

@media (max-width: 599px) {
  .cl-hero {
    padding-top: var(--section-space);
  }

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

  .cl-hero__copy > .lead,
  .cl-hero__offline p,
  .cl-offline__copy > p:not(.eyebrow),
  .cl-offline__closing p,
  .cl-food__intro .lead,
  .cl-rhythm__intro p:not(.eyebrow),
  .cl-choice__intro p:not(.eyebrow),
  .cl-private__offer p:not(.eyebrow),
  .cl-inquiry__intro .lead {
    max-width: none;
  }

  .cl-hero__copy > .button,
  .cl-private__offer > .button,
  .cl-food__drinks > .button,
  .cl-inquiry__actions > .button {
    width: 100%;
  }

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

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

  .cl-offline__media {
    max-width: none;
  }

  .cl-food__inner,
  .cl-journey__inner,
  .cl-rhythm__inner,
  .cl-choice__inner,
  .cl-inquiry__inner {
    gap: var(--space-6);
  }

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

  .cl-private__example {
    padding-block: var(--space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cl-reveal {
    opacity: 1;
    transform: none;
  }
}
