.card-room-page {
  background: var(--color-ink-950);
}

.card-room-page .section {
  padding-block: clamp(3rem, 7vw, 7rem);
}

.card-room-page .button:focus-visible,
.card-room-page a:focus-visible {
  outline: 2px solid var(--color-signal-green-bright);
  outline-offset: 2px;
}

.card-room-hero {
  padding-block: clamp(4rem, 9vw, 8rem) clamp(3rem, 6vw, 5rem);
  border-bottom: var(--border-default);
}

.card-room-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.36fr) minmax(22.5rem, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.card-room-hero__copy,
.card-room-hero__visual,
.card-room-readout__intro,
.card-room-readout__card,
.card-room-tables__image,
.card-room-tables__annotations,
.card-room-formats__intro,
.card-room-formats__panel,
.card-room-high-roller__image,
.card-room-high-roller__panel,
.card-room-dining__feature,
.card-room-dining__notes,
.card-room-brief__intro,
.card-room-brief__tile,
.card-room-coordinates__content,
.card-room-coordinates__empty,
.card-room-final__panel {
  min-width: 0;
}

.card-room-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.card-room-hero__copy .route-marker,
.card-room-hero__copy h1,
.card-room-hero__copy p {
  margin: 0;
}

.card-room-hero__copy h1 {
  max-width: 43.75rem;
}

.card-room-hero__summary {
  max-width: 42rem;
  font-size: clamp(1rem, 1.4vw, 1.125rem);
}

.card-room-hero__actions,
.card-room-final__actions {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.card-room-hero__actions > .button,
.card-room-final__actions > .button {
  min-width: 0;
}

.card-room-hero__visual {
  position: relative;
  width: 100%;
  padding-bottom: clamp(5rem, 11vw, 7.5rem);
}

.card-room-hero__image {
  width: 100%;
  aspect-ratio: 16 / 10;
}

.card-room-hero__image::after,
.card-room-high-roller__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13, 17, 23, 0.04), rgba(13, 17, 23, 0.58));
  content: "";
  pointer-events: none;
}

.card-room-hero__image img {
  object-position: 62% center;
  transition: transform var(--transition-panel);
}

.card-room-hero__image:hover img,
.card-room-tables__image:hover img,
.card-room-high-roller__image:hover img,
.card-room-dining__image:hover img {
  transform: scale(1.025);
}

.card-room-hero__status {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: clamp(-1rem, -2vw, -0.5rem);
  display: flex;
  width: min(21.25rem, calc(100% - 1rem));
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
}

.card-room-hero__status p,
.card-room-hero__status-head {
  margin: 0;
}

.card-room-hero__status-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.card-room-hero__coord,
.card-room-readout__label,
.card-room-tables__microcopy,
.card-room-formats__code,
.card-room-formats__strip-label,
.card-room-high-roller__label,
.card-room-dining__note-label,
.card-room-coordinates__label {
  color: var(--color-text-muted);
  font-family: var(--font-mono);
  font-size: var(--text-telemetry);
  letter-spacing: var(--tracking-mono);
  line-height: var(--leading-telemetry);
  text-transform: uppercase;
}

.card-room-readout__intro {
  max-width: 32.5rem;
  margin-bottom: var(--space-10);
}

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

.card-room-readout__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  min-height: 100%;
}

.card-room-readout__card > * {
  margin: 0;
}

.card-room-readout__card::before {
  width: 2.5rem;
  height: 1px;
  background: var(--color-signal-green);
  content: "";
}

.card-room-readout__card-top {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.card-room-readout__card-top > * {
  margin: 0;
}

.card-room-readout__card p:not(.card-room-readout__label) {
  max-width: 19.375rem;
}

.card-room-tables__heading {
  max-width: 37.5rem;
  margin-bottom: var(--space-10);
}

.card-room-tables__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(21.875rem, 1fr);
  gap: clamp(2rem, 4vw, 2.5rem);
  align-items: stretch;
}

.card-room-tables__image {
  width: 100%;
  min-height: 100%;
  aspect-ratio: 4 / 5;
}

.card-room-tables__image img {
  object-position: center right;
  transition: transform var(--transition-panel);
}

.card-room-tables__annotations {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.card-room-tables__annotation {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-5);
  border-top: var(--border-default);
}

.card-room-tables__annotation:first-child {
  padding-top: 0;
  border-top: 0;
}

.card-room-tables__annotation > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.card-room-tables__annotation h3,
.card-room-tables__annotation p {
  margin: 0;
}

.card-room-tables__annotation p:not(.card-room-tables__microcopy) {
  max-width: 26.875rem;
}

.card-room-tables__number,
.card-room-brief__number {
  color: var(--color-signal-green-bright);
  font-family: var(--font-mono);
  font-size: var(--text-meta);
  letter-spacing: var(--tracking-mono);
  line-height: 1.4;
}

.card-room-formats {
  border-top: var(--border-default);
  border-bottom: var(--border-default);
}

.card-room-formats__intro {
  max-width: 32.5rem;
  margin-bottom: var(--space-10);
}

.card-room-formats__intro > :last-child {
  margin-bottom: 0;
}

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

.card-room-formats__panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  min-height: 100%;
  transition: border-color var(--transition-control);
}

.card-room-formats__panel > * {
  margin: 0;
}

.card-room-formats__panel p:not(.card-room-formats__code) {
  max-width: 25.625rem;
}

.card-room-formats__panel-head {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.card-room-formats__panel-head > * {
  margin: 0;
}

.card-room-formats__panel:hover,
.card-room-formats__panel:focus-within {
  border-color: var(--color-signal-green);
}

.card-room-formats__strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-6);
  align-items: end;
  margin-top: var(--space-5);
}

.card-room-formats__strip > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.card-room-formats__strip h3,
.card-room-formats__strip p,
.card-room-formats__strip-label {
  margin: 0;
}

.card-room-formats__strip p {
  max-width: 39rem;
}

.card-room-formats__strip > .button {
  min-width: 0;
}

.card-room-high-roller__heading {
  max-width: 38rem;
  margin-bottom: var(--space-10);
}

.card-room-high-roller__grid {
  display: grid;
  grid-template-columns: minmax(27.5rem, 1.22fr) minmax(23.125rem, 1fr);
  gap: 0;
  align-items: center;
}

.card-room-high-roller__image {
  z-index: 0;
  width: 100%;
  aspect-ratio: 16 / 10;
}

.card-room-high-roller__image img {
  object-position: 42% center;
  transition: transform var(--transition-panel);
}

.card-room-high-roller__panel {
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  margin-left: clamp(-2rem, -4vw, -1rem);
}

.card-room-high-roller__primary,
.card-room-high-roller__support {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.card-room-high-roller__primary > *,
.card-room-high-roller__support > * {
  margin: 0;
}

.card-room-high-roller__primary p:not(.card-room-high-roller__label) {
  max-width: 27.5rem;
}

.card-room-high-roller__support {
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.card-room-high-roller__support p:not(.card-room-high-roller__label) {
  max-width: 23.125rem;
}

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

.card-room-dining__heading {
  max-width: 36rem;
  margin-bottom: var(--space-10);
}

.card-room-dining__grid {
  display: grid;
  grid-template-columns: minmax(31.25rem, 1.78fr) minmax(18.75rem, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}

.card-room-dining__feature {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
}

.card-room-dining__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.card-room-dining__intro > * {
  margin: 0;
}

.card-room-dining__intro p {
  max-width: 33.75rem;
}

.card-room-dining__image {
  width: 100%;
  aspect-ratio: 16 / 10;
}

.card-room-dining__image img {
  object-position: center;
  transition: transform var(--transition-panel);
}

.card-room-dining__notes {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.card-room-dining__note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-bottom: var(--space-5);
  border-bottom: var(--border-default);
}

.card-room-dining__note > * {
  margin: 0;
}

.card-room-dining__note p:not(.card-room-dining__note-label) {
  max-width: 20.625rem;
}

.card-room-dining__note--signal {
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-signal-green);
}

.card-room-brief {
  border-top: var(--border-default);
}

.card-room-brief__intro {
  max-width: 35rem;
  margin-bottom: var(--space-10);
}

.card-room-brief__intro > :last-child {
  margin-bottom: 0;
}

.card-room-brief__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.card-room-brief__tile {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.card-room-brief__tile > * {
  margin: 0;
}

.card-room-brief__tile p {
  max-width: 18.125rem;
}

.card-room-brief__tile--action .button {
  margin-top: auto;
}

.card-room-brief__tile--action:focus-within {
  border-color: var(--color-signal-green);
}

.card-room-coordinates {
  border-top: var(--border-default);
  border-bottom: var(--border-default);
}

.card-room-coordinates__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 0.42fr);
  gap: var(--space-8);
}

.card-room-coordinates__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.card-room-coordinates__content > * {
  margin: 0;
}

.card-room-coordinates__content > h2 {
  max-width: 31rem;
}

.card-room-coordinates__address {
  display: flex;
  width: 100%;
  max-width: 38.75rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.card-room-coordinates__address > * {
  margin: 0;
}

.card-room-coordinates__address address {
  color: var(--color-text-primary);
  font-family: var(--font-heading);
  font-size: var(--text-card-title);
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
  line-height: var(--leading-card);
}

.card-room-coordinates__address p {
  max-width: 26.25rem;
}

.card-room-coordinates__status {
  display: flex;
  width: 100%;
  max-width: 32.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.card-room-coordinates__status p {
  margin: 0;
}

.card-room-coordinates__empty {
  min-height: 18rem;
  border-left: 1px solid rgba(48, 54, 61, 0.55);
}

.card-room-final__panel {
  display: flex;
  width: 100%;
  max-width: 47.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-inline: auto;
  border-left: 2px solid var(--color-signal-green);
  padding: clamp(var(--space-6), 4vw, var(--space-8));
}

.card-room-final__panel > * {
  margin: 0;
}

.card-room-final__panel p:not(.route-marker) {
  max-width: 33.75rem;
}

@media (max-width: 979px) {
  .card-room-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-8);
  }

  .card-room-hero__copy {
    max-width: 43.75rem;
  }

  .card-room-hero__visual {
    padding-bottom: 0;
  }

  .card-room-hero__status {
    position: static;
    width: 100%;
    margin-top: var(--space-4);
  }
}

@media (max-width: 939px) {
  .card-room-high-roller__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .card-room-high-roller__panel {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 919px) {
  .card-room-readout__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .card-room-tables__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .card-room-tables__image {
    aspect-ratio: 4 / 3;
  }

  .card-room-dining__grid {
    grid-template-columns: minmax(0, 1fr);
  }

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

@media (max-width: 819px) {
  .card-room-formats__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 759px) {
  .card-room-coordinates__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-room-coordinates__empty {
    display: none;
  }
}

@media (max-width: 679px) {
  .card-room-formats__strip {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .card-room-formats__strip > .button {
    width: 100%;
  }

  .card-room-brief__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .card-room-page .section {
    padding-block: clamp(3rem, 10vw, 4.5rem);
  }

  .card-room-hero {
    padding-top: 3.5rem;
  }

  .card-room-hero__copy h1 {
    font-size: var(--text-display-mobile);
  }

  .card-room-hero__actions,
  .card-room-final__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .card-room-hero__actions > .button,
  .card-room-final__actions > .button {
    width: 100%;
  }

  .card-room-hero__image,
  .card-room-high-roller__image,
  .card-room-dining__image {
    aspect-ratio: 4 / 3;
  }

  .card-room-readout__grid,
  .card-room-dining__notes,
  .card-room-brief__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-room-readout__intro,
  .card-room-tables__heading,
  .card-room-formats__intro,
  .card-room-high-roller__heading,
  .card-room-dining__heading,
  .card-room-brief__intro {
    margin-bottom: var(--space-6);
  }

  .card-room-readout__card,
  .card-room-formats__panel,
  .card-room-brief__tile {
    padding: var(--space-5);
  }

  .card-room-tables__annotation {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .card-room-tables__annotation > div .button {
    width: 100%;
  }

  .card-room-high-roller__panel {
    padding: var(--space-5);
  }

  .card-room-dining__notes {
    gap: var(--space-4);
  }

  .card-room-dining__note p:not(.card-room-dining__note-label),
  .card-room-brief__tile p,
  .card-room-readout__card p:not(.card-room-readout__label) {
    max-width: none;
  }

  .card-room-brief__tile--action .button {
    width: 100%;
  }

  .card-room-final__panel {
    padding: var(--space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .card-room-hero__image img,
  .card-room-tables__image img,
  .card-room-high-roller__image img,
  .card-room-dining__image img {
    transition: none;
  }

  .card-room-hero__image:hover img,
  .card-room-tables__image:hover img,
  .card-room-high-roller__image:hover img,
  .card-room-dining__image:hover img {
    transform: none;
  }
}
