.home-page {
  background: var(--color-limestone-white);
}

.home-page :focus-visible {
  outline: 2px solid var(--color-danube-blue);
  outline-offset: 3px;
}

.home-page .text-link {
  transition: color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.home-page .text-link:hover {
  transform: translateX(2px);
}

.home-hero {
  position: relative;
  padding: calc(var(--space-10) + var(--space-5)) 0 var(--space-10);
  overflow: hidden;
}

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  min-width: 0;
}

.home-hero__copy {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 35rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.home-hero__copy > * {
  min-width: 0;
  margin: 0;
}

.home-hero__copy .display {
  max-width: 22ch;
}

.home-hero__copy .lead {
  max-width: 56ch;
}

.home-hero__actions {
  width: 100%;
}

.home-hero__route {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  border-top: 1px solid var(--color-brushed-copper);
  padding-top: var(--space-3);
  color: var(--color-ink);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.home-hero__route > * {
  min-width: 0;
}

.home-hero__route a {
  color: inherit;
  text-decoration: none;
}

.home-hero__route a:hover {
  color: var(--color-celadon-deep);
}

.home-hero__images {
  position: absolute;
  z-index: 0;
  top: var(--space-7);
  right: 0;
  display: grid;
  width: min(55vw, 54rem);
  min-width: 37.5rem;
  height: min(47rem, 66vw);
  grid-template-columns: minmax(0, 36fr) minmax(0, 25fr) minmax(0, 39fr);
  gap: var(--space-2);
}

.home-hero__strip {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-1);
  background: var(--color-limestone-warm);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity var(--transition-slow), transform var(--transition-slow);
}

.home-hero__images.is-visible .home-hero__strip {
  opacity: 1;
  transform: translateY(0);
}

.home-hero__images.is-visible .home-hero__strip--lounge {
  transition-delay: 100ms;
}

.home-hero__images.is-visible .home-hero__strip--night {
  transition-delay: 180ms;
}

.home-hero__strip--lounge {
  margin-top: var(--space-6);
  margin-bottom: calc(var(--space-6) * -1);
}

.home-hero__strip img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition: transform var(--transition-base);
}

.home-hero__strip--day img { object-position: 20% center; }
.home-hero__strip--lounge img { object-position: 52% center; }
.home-hero__strip--night img { object-position: 86% center; }
.home-hero__strip:hover img { transform: scale(1.035); }

.home-hero__strip figcaption {
  position: absolute;
  right: var(--space-3);
  bottom: var(--space-3);
  left: var(--space-3);
  margin: 0;
  color: var(--color-limestone-white);
}

.home-kitchen__grid,
.home-poker__grid,
.home-private__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-7);
  align-items: center;
}

.home-kitchen__copy,
.home-poker__copy,
.home-private__copy {
  min-width: 0;
}

.home-kitchen__intro {
  max-width: 58ch;
}

.home-kitchen__details {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5) var(--space-4);
  margin-top: var(--space-6);
}

.home-kitchen__details > article {
  min-width: 0;
}

.home-kitchen__details > article:nth-child(3) {
  grid-column: 1 / -1;
}

.home-kitchen__details span,
.home-evenings__pillars span {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-brushed-copper);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.home-kitchen__details h3,
.home-evenings__pillars h3 {
  margin-bottom: var(--space-2);
}

.home-kitchen__details p,
.home-evenings__pillars p {
  max-width: 34ch;
}

.home-kitchen__media,
.home-poker__media {
  width: 100%;
  min-width: 0;
  height: 31rem;
  margin: 0;
}

.home-kitchen__media img {
  object-position: center;
}

.home-kitchen__links,
.home-poker__links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.home-kitchen__links > *,
.home-poker__links > * {
  min-width: 0;
}

.home-bar__heading,
.home-spaces__heading,
.home-evenings__heading,
.home-closing__copy {
  min-width: 0;
  margin-inline: auto;
  text-align: center;
}

.home-bar__heading { max-width: 48ch; }
.home-bar__heading .lead { max-width: 48ch; margin-inline: auto; }

.home-bar__branches {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 5fr) minmax(14rem, 3fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: center;
  margin-top: var(--space-7);
}

.home-bar__branches > * { min-width: 0; }
.home-bar__lounge,
.home-bar__drinks { max-width: 48ch; }
.home-bar__media { width: 100%; height: 27rem; margin: 0; }
.home-bar__media img { object-position: center; }



.home-route__stations {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 3fr) repeat(3, minmax(0, 2fr)) minmax(0, 3fr);
  gap: var(--space-4);
  margin-top: var(--space-7);
}

.home-route__station {
  display: block;
  min-width: 0;
  border-top: 1px solid var(--color-brushed-copper);
  padding-top: var(--space-4);
  color: var(--color-ink);
  text-decoration: none;
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.home-route__station:hover {
  border-color: var(--color-celadon-deep);
  transform: translateY(-4px);
}

.home-route__station > span {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--color-brushed-copper);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.home-route__station h3 { margin-bottom: var(--space-2); font-size: 1.5rem; }
.home-route__station p { margin-bottom: 0; font-size: 0.9375rem; }
.home-route__station--accent > span { color: var(--color-peach-terracotta); }

.home-spaces__heading { max-width: 50ch; }
.home-spaces__heading .lead { max-width: 50ch; margin-inline: auto; }

.home-spaces__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 7fr) minmax(25rem, 5fr);
  gap: var(--space-6);
  align-items: stretch;
  margin-top: var(--space-7);
}

.home-spaces__grid > * { min-width: 0; }
.home-spaces__lounge { padding: var(--space-6); background: var(--color-limestone-warm); }
.home-spaces__lounge > p { max-width: 48ch; }
.home-spaces__room { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: var(--space-6); background: var(--color-danube-blue); color: var(--color-limestone-white); }
.home-spaces__room h3 { color: inherit; }
.home-spaces__room p { max-width: 42ch; }
.home-spaces__room .text-link { color: var(--color-limestone-white); }
.home-spaces__portrait { width: min(100%, 21rem); height: 25rem; margin: var(--space-6) 0 0 auto; }

.home-poker__copy .lead { max-width: 52ch; }
.home-poker__copy > p:not(.lead) { max-width: 42ch; }
.home-poker__media { height: 29rem; }
.home-poker__media img { object-position: center; }

.home-evenings__heading { max-width: 52ch; }
.home-evenings__heading .lead { max-width: 52ch; margin-inline: auto; }
.home-evenings__pillars {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-7);
}

.home-evenings__pillars > article {
  min-width: 0;
  border-top: 1px solid var(--color-brushed-copper);
  padding-top: var(--space-4);
}

.home-evenings__pillars .text-link { margin-top: var(--space-2); }

.home-private__grid {
  grid-template-columns: minmax(0, 5fr) minmax(22.5rem, 4fr) minmax(0, 2fr);
  align-items: center;
}

.home-private__copy .eyebrow,
.home-private__copy .lead { color: var(--color-limestone-white); }
.home-private__copy .eyebrow::after { background: var(--color-brushed-copper); }
.home-private__copy .lead { max-width: 48ch; }
.home-private__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  border-radius: var(--radius-3);
  background: var(--color-limestone-white);
  padding: var(--space-6);
}

.home-private__panel > * { min-width: 0; margin: 0; }
.home-private__panel p { max-width: 40ch; }

.home-private__panel h3, .home-private__panel p { color: var(--color-ink); }

.home-closing__copy { max-width: 54ch; }
.home-closing__copy .status-offline { margin-bottom: var(--space-4); }
.home-closing__copy p { max-width: 54ch; margin-inline: auto; }
.home-closing__links {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-7);
}

.home-closing__links > * { min-width: 0; justify-self: center; }

@media (max-width: 1020px) {
  .home-hero { padding-top: var(--space-9); }
  .home-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .home-hero__images { position: relative; top: auto; width: calc(100% - var(--gutter)); min-width: 0; height: 28rem; margin: var(--space-7) 0 0 auto; }
}

@media (max-width: 940px) {
  .home-kitchen__grid,
  .home-poker__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-kitchen__media,
  .home-poker__media { height: 26rem; }
  .home-kitchen__media { grid-row: 1; }
  .home-poker__media { grid-row: 1; }
  .home-spaces__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 880px) {
  .home-bar__branches { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-bar__lounge,
  .home-bar__drinks { max-width: 48ch; }
  .home-bar__media { width: 100%; max-width: 32rem; height: 32rem; }
}

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

@media (max-width: 760px) {
  .home-hero__images { width: 100%; height: auto; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-right: 0; }
  .home-hero__strip { height: 15rem; }
  .home-hero__strip--lounge { margin: 0; }
  .home-route__stations { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-route__station { position: relative; padding: 0 0 0 2.5rem; border-top: 0; }
  .home-route__station::before { position: absolute; top: 0; bottom: calc(var(--space-5) * -1); left: 0.65rem; width: 1px; background: var(--color-brushed-copper); content: ""; }
  .home-route__station:last-child::before { bottom: 0; }
  .home-route__station > span { position: absolute; top: 0; left: 0; }
  .home-route__station p { max-width: 42ch; }
  .home-evenings__pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-evenings__pillars > article:nth-child(3) { grid-column: 1 / -1; max-width: calc(50% - var(--space-3)); }
}

@media (max-width: 640px) {
  .home-hero { padding-top: var(--space-8); padding-bottom: var(--space-8); }
  .home-hero__copy { gap: var(--space-4); }
  .home-hero__copy .display { font-size: 2.5rem; }
  .home-hero__copy .lead { max-width: 34ch; font-size: 1.1875rem; }
  .home-hero__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .home-hero__actions .button { width: 100%; }
  .home-hero__route { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
  .home-hero__route span { display: none; }
  .home-hero__strip { height: 12rem; }
  .home-kitchen__details { grid-template-columns: minmax(0, 1fr); }
  .home-kitchen__details > article:nth-child(3) { grid-column: auto; }
  .home-kitchen__details p { max-width: 42ch; }
  .home-kitchen__media,
  .home-poker__media { height: 15rem; }
  .home-kitchen__links,
  .home-poker__links { flex-direction: column; align-items: flex-start; }
  .home-bar__heading .lead { max-width: 35ch; }
  .home-bar__media { height: 25rem; }
  .home-spaces__lounge,
  .home-spaces__room { padding: var(--space-5); }
  .home-spaces__portrait { width: 100%; height: 23rem; }
  .home-evenings__pillars { grid-template-columns: minmax(0, 1fr); }
  .home-evenings__pillars > article:nth-child(3) { grid-column: auto; max-width: none; }
  .home-evenings__pillars p { max-width: 40ch; }
  .home-private__panel { padding: var(--space-5); }
  .home-closing__copy { max-width: 35ch; }
  .home-closing__links { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .home-closing__links > * { justify-self: start; }
}

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