.tables-lounge-page {
  background: var(--color-canvas);
  overflow: hidden;
}

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

.tables-lounge-page .section::before {
  position: absolute;
  top: 0;
  left: 0;
  width: min(18rem, 34vw);
  height: 1px;
  background: linear-gradient(90deg, var(--color-cyan), var(--color-line), transparent);
  content: "";
  opacity: .62;
}

.tl-hero {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: clamp(42.5rem, 55vw, 51.25rem);
  align-items: end;
  overflow: hidden;
  isolation: isolate;
}

.tl-hero__image,
.tl-hero__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tl-hero__image {
  object-fit: cover;
  object-position: center;
  z-index: -2;
}

.tl-hero__overlay {
  z-index: -1;
  background: linear-gradient(90deg, rgba(5, 6, 11, .9) 0%, rgba(9, 10, 18, .73) 40%, rgba(9, 10, 18, .22) 76%, rgba(9, 10, 18, .12) 100%), linear-gradient(0deg, rgba(5, 6, 11, .92), transparent 58%);
}

.tl-hero__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  padding-bottom: clamp(var(--space-16), 9vw, var(--space-28));
}

.tl-hero__content {
  grid-column: 1 / span 6;
  display: flex;
  min-width: 0;
  width: 100%;
  max-width: 41.25rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.tl-hero__content h1,
.tl-hero__content p {
  margin: 0;
}

.tl-hero__lead {
  max-width: 58ch;
  color: var(--color-text-secondary);
}

.tl-hero__actions {
  width: 100%;
}

.tl-hero__direction {
  width: 8rem;
  height: 1px;
  background: linear-gradient(90deg, var(--color-cyan) 0 72%, transparent 72%);
}

.tl-options {
  background: linear-gradient(145deg, var(--color-canvas-violet), var(--color-canvas) 68%);
}

.tl-options__header {
  display: flex;
  width: 100%;
  max-width: 64ch;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-bottom: var(--space-12);
}

.tl-options__header > * {
  margin: 0;
}

.tl-option-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-6);
  width: 100%;
}

.tl-option-grid > * {
  min-width: 0;
  width: 100%;
}

.tl-option-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
}

.tl-option-card.is-selected {
  border-color: var(--color-cyan);
  box-shadow: var(--shadow-cyan);
}

.tl-option-card__trigger {
  display: flex;
  width: 100%;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-4);
  background: transparent;
  color: var(--color-cyan);
  font-size: var(--text-13);
  font-weight: 600;
  letter-spacing: .09em;
  line-height: var(--leading-ui);
  text-align: left;
  text-transform: uppercase;
}

.tl-option-card__trigger span:last-child {
  color: var(--color-text-primary);
  font-size: var(--text-20);
}

.tl-option-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: 0 var(--space-6) var(--space-6);
}

.tl-option-card__body > * {
  margin: 0;
}

.tl-option-card__body h3 {
  font-size: var(--text-20);
  line-height: var(--leading-ui);
}

.tl-table-scene__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: end;
}

.tl-table-scene__media {
  grid-column: 1 / span 7;
  width: 100%;
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: var(--border-default);
  border-radius: var(--radius-control);
}

.tl-table-scene__media img,
.tl-lounge-scene__media img,
.tl-feature-scene__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tl-table-scene__panel {
  grid-column: 8 / span 5;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin: 0 0 -3rem -3rem;
  padding: var(--space-8);
  border: var(--border-default);
  border-radius: var(--radius-hud);
  background: var(--color-surface-raised);
  box-shadow: var(--shadow-raised);
  z-index: 1;
}

.tl-table-scene__panel > * {
  margin: 0;
}

.tl-table-scene__panel > p:not(.eyebrow) {
  max-width: 48ch;
}

.tl-advice {
  display: flex;
  max-width: 32ch;
  flex-direction: column;
  gap: var(--space-3);
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-cyan);
}

.tl-advice > * {
  margin: 0;
}

.tl-advice h3 {
  font-size: var(--text-16);
  line-height: var(--leading-ui);
}

.tl-lounge-scene__grid,
.tl-feature-scene__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

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

.tl-lounge-scene__copy > * {
  margin: 0;
}

.tl-lounge-scene__copy > p:not(.eyebrow) {
  max-width: 54ch;
}

.tl-lounge-scene__media {
  grid-column: 7 / span 6;
  width: 100%;
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: var(--border-default);
  border-radius: var(--radius-control);
}

.tl-lounge-signals {
  display: flex;
  width: 100%;
  max-width: 30ch;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-4);
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-cyan);
}

.tl-lounge-signals > div {
  min-width: 0;
  width: 100%;
}

.tl-lounge-signals p {
  margin: 0;
}

.tl-lounge-signals .label {
  margin-bottom: var(--space-1);
}

.tl-back-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  margin-top: var(--space-2);
  font-size: var(--text-13);
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.tl-occasion-scene {
  background: linear-gradient(155deg, var(--color-canvas-violet), var(--color-canvas) 65%);
}

.tl-occasion-scene__header {
  display: flex;
  width: 100%;
  max-width: 60ch;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: var(--space-12);
}

.tl-occasion-scene__header > * {
  margin: 0;
}

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

.tl-occasion-grid > * {
  min-width: 0;
  width: 100%;
}

.tl-occasion-card {
  display: flex;
  grid-column: span 3;
  flex-direction: column;
  gap: var(--space-4);
}

.tl-occasion-card > * {
  margin: 0;
}

.tl-occasion-card h3,
.tl-featured-occasion h3 {
  font-size: var(--text-28);
}

.tl-featured-occasion {
  display: flex;
  grid-column: 8 / span 5;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-8);
  border: var(--border-default);
  border-top: 2px solid var(--color-fuchsia);
}

.tl-featured-occasion > * {
  margin: 0;
}

.tl-featured-occasion .button {
  align-self: flex-start;
  margin-top: auto;
}

.tl-signals {
  padding-block: var(--space-16);
}

.tl-signals__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: var(--border-cyan);
}

.tl-signals__grid > * {
  min-width: 0;
  width: 100%;
  padding: var(--space-6);
  border-right: var(--border-default);
}

.tl-signals__grid > :last-child {
  border-right: 0;
}

.tl-signals__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.tl-signals__intro > * {
  margin: 0;
}

.tl-signals__intro h2 {
  font-size: var(--text-28);
}

.tl-signal {
  position: relative;
}

.tl-signal p {
  margin: 0;
}

.tl-signal .label {
  margin-bottom: var(--space-3);
}

.tl-signal--live::before {
  display: block;
  width: .5rem;
  height: .5rem;
  margin-bottom: var(--space-3);
  background: var(--color-green);
  content: "";
}

.tl-feature-scene {
  background: linear-gradient(145deg, var(--color-canvas-violet), var(--color-canvas) 70%);
}

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

.tl-feature-scene__copy > * {
  margin: 0;
}

.tl-feature-scene__copy > p:not(.eyebrow) {
  max-width: 52ch;
}

.tl-feature-note {
  display: flex;
  max-width: 40ch;
  flex-direction: column;
  gap: var(--space-3);
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-fuchsia);
}

.tl-feature-note > * {
  margin: 0;
}

.tl-feature-note h3 {
  font-size: var(--text-16);
  line-height: var(--leading-ui);
}

.tl-feature-scene__media {
  grid-column: 7 / span 6;
  width: 100%;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border: var(--border-default);
  border-radius: var(--radius-control);
}

.tl-feature-scene__media figcaption {
  max-width: 42ch;
  margin: 0;
  padding: var(--space-3) var(--space-4);
  border-top: var(--border-default);
  background: var(--color-surface);
}

.tl-request {
  background: linear-gradient(150deg, var(--color-canvas-violet), var(--color-canvas) 72%);
}

.tl-request__header {
  display: flex;
  width: 100%;
  max-width: 52ch;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: var(--space-12);
}

.tl-request__header > * {
  margin: 0;
}

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

.tl-request-form {
  display: flex;
  grid-column: 1 / span 7;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--space-8);
  border: var(--border-default);
}

.tl-request-form > * {
  margin: 0;
}

.tl-form-help {
  max-width: 40ch;
  color: var(--color-text-secondary);
  font-size: var(--text-15);
}

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

.tl-form-row > * {
  min-width: 0;
  width: 100%;
}

.tl-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.tl-field label,
.tl-seat-fieldset legend {
  color: var(--color-text-primary);
  font-size: var(--text-13);
  font-weight: 600;
  letter-spacing: .09em;
  line-height: var(--leading-ui);
  text-transform: uppercase;
}

.tl-field .meta {
  margin: 0;
}

.tl-seat-fieldset {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
}

.tl-radio-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.tl-radio-list > * {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  border: var(--border-default);
  border-radius: var(--radius-control);
  background: rgba(9, 10, 18, .4);
}

.tl-radio-list span {
  min-width: 0;
  font-size: var(--text-15);
}

.tl-field-error {
  min-height: 1.3em;
  margin: 0;
  color: var(--color-warning);
  font-size: var(--text-13);
  line-height: var(--leading-ui);
}

.tl-form-actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

.tl-form-actions > * {
  min-width: 0;
}

.tl-form-status {
  max-width: 42ch;
  color: var(--color-green);
  font-size: var(--text-15);
  line-height: var(--leading-copy);
}

.tl-request-note {
  display: flex;
  max-width: 42ch;
  flex-direction: column;
  gap: var(--space-2);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-warning);
}

.tl-request-note > * {
  margin: 0;
}

.tl-request-note .label {
  color: var(--color-warning);
}

.tl-summary {
  grid-column: 9 / span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
}

.tl-summary > * {
  margin: 0;
}

.tl-summary h3 {
  font-size: var(--text-28);
}

.tl-summary dl {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.tl-summary dl,
.tl-summary dd {
  margin: 0;
}

.tl-summary dd {
  overflow-wrap: anywhere;
}

@media (max-width: 899px) {
  .tl-hero__container,
  .tl-table-scene__grid,
  .tl-lounge-scene__grid,
  .tl-feature-scene__grid,
  .tl-occasion-grid,
  .tl-request__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-5, 1.5rem);
  }

  .tl-hero {
    min-height: 38.75rem;
  }

  .tl-hero__content {
    grid-column: 1 / span 6;
  }

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

  .tl-table-scene__media {
    grid-column: 1 / span 8;
  }

  .tl-table-scene__panel {
    grid-column: 1 / span 6;
    margin: 0;
    margin-top: calc(var(--space-6) * -1);
    padding: var(--space-6);
  }

  .tl-lounge-scene__copy {
    grid-column: 1 / span 4;
  }

  .tl-lounge-scene__media {
    grid-column: 5 / span 4;
  }

  .tl-occasion-card {
    grid-column: span 4;
  }

  .tl-featured-occasion {
    grid-column: 1 / span 8;
  }

  .tl-signals__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tl-signals__intro {
    grid-column: 1 / span 3;
    border-bottom: var(--border-default);
  }

  .tl-feature-scene__copy {
    grid-column: 1 / span 4;
  }

  .tl-feature-scene__media {
    grid-column: 5 / span 4;
  }

  .tl-request-form {
    grid-column: 1 / span 8;
  }

  .tl-summary {
    grid-column: 1 / span 6;
  }
}

@media (max-width: 759px) {
  .tl-hero {
    min-height: 38.125rem;
  }

  .tl-hero__image {
    object-position: 45% center;
  }

  .tl-hero__overlay {
    background: linear-gradient(90deg, rgba(5, 6, 11, .9), rgba(9, 10, 18, .46) 100%), linear-gradient(0deg, rgba(5, 6, 11, .96), transparent 72%);
  }

  .tl-hero__container,
  .tl-table-scene__grid,
  .tl-lounge-scene__grid,
  .tl-feature-scene__grid,
  .tl-occasion-grid,
  .tl-request__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .tl-hero__content,
  .tl-table-scene__media,
  .tl-table-scene__panel,
  .tl-lounge-scene__copy,
  .tl-lounge-scene__media,
  .tl-occasion-card,
  .tl-featured-occasion,
  .tl-feature-scene__copy,
  .tl-feature-scene__media,
  .tl-request-form,
  .tl-summary {
    grid-column: 1;
  }

  .tl-hero__content {
    max-width: 40rem;
  }

  .tl-hero__lead {
    max-width: 40ch;
  }

  .tl-table-scene__panel {
    margin-top: 0;
  }

  .tl-lounge-scene__media {
    grid-row: 1;
  }

  .tl-lounge-scene__copy {
    grid-row: 2;
  }

  .tl-feature-scene__media {
    grid-row: 2;
  }

  .tl-option-grid,
  .tl-signals__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .tl-signals__grid > * {
    border-right: 0;
    border-bottom: var(--border-default);
  }

  .tl-signals__grid > :last-child {
    border-bottom: 0;
  }

  .tl-signals__intro {
    grid-column: 1;
  }

  .tl-form-row,
  .tl-radio-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 479px) {
  .tl-hero {
    min-height: 38rem;
  }

  .tl-hero__content {
    gap: var(--space-4);
  }

  .tl-hero__content h1 {
    font-size: clamp(2.625rem, 13vw, 3.625rem);
  }

  .tl-hero__lead {
    max-width: 34ch;
  }

  .tl-options__header,
  .tl-occasion-scene__header,
  .tl-request__header {
    margin-bottom: var(--space-8);
  }

  .tl-table-scene__panel,
  .tl-featured-occasion,
  .tl-request-form {
    padding: var(--space-6);
  }

  .tl-table-scene__panel > p:not(.eyebrow),
  .tl-lounge-scene__copy > p:not(.eyebrow),
  .tl-feature-scene__copy > p:not(.eyebrow),
  .tl-request__header {
    max-width: 36ch;
  }

  .tl-lounge-signals,
  .tl-advice,
  .tl-feature-note,
  .tl-request-note {
    max-width: 100%;
  }

  .tl-form-actions {
    align-items: stretch;
  }

  .tl-form-actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tl-option-card,
  .tl-option-card * {
    transition: none;
  }
}
