.home-page {
  overflow: clip;
}

.home-page .eyebrow {
  color: var(--color-wine-red);
}

.home-hero {
  padding-block: var(--space-5) var(--space-8);
}

.home-hero__wrap {
  position: relative;
  min-width: 0;
}

.home-hero__media,
.home-menu__media,
.home-daytime__media,
.home-poker__media,
.home-private__media,
.home-final__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.home-hero__media {
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 5;
}

.home-hero__media img,
.home-menu__media img,
.home-daytime__media img,
.home-poker__media img,
.home-private__media img,
.home-final__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

.home-hero__panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding-block: var(--space-5) 0;
}

.home-hero__panel :is(h1, p) {
  margin: 0;
}

.home-hero__lead {
  font-size: var(--text-lg);
  line-height: 1.55;
}

.home-hero__actions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.home-hero__actions > * {
  width: 100%;
  min-width: 0;
}

.home-hero__markers {
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  border-top: 1px solid var(--color-border);
  padding-top: var(--space-4);
}

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

.home-hero__markers p {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  color: var(--color-muted-brown);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.home-hero__markers strong {
  color: var(--color-ink-brown);
}

.home-courtyard-intro__heading {
  width: 100%;
  max-width: 38.75rem;
  min-width: 0;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: var(--space-5);
}

.home-courtyard-intro__cards {
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

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

.home-intro-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  transition: transform var(--transition-fast);
}

.home-intro-card :is(h3, p) {
  margin: 0;
}

.home-intro-card p {
  color: var(--color-muted-brown);
}

.home-intro-card a {
  min-height: 2.75rem;
  margin-top: auto;
  color: var(--color-wine-red);
  font-size: var(--text-sm);
  font-weight: 800;
}

.home-intro-card--meal { background: var(--color-paper-warm); }
.home-intro-card--light { background: var(--color-terracotta-peach); }
.home-intro-card--occasion { background: #f8efe1; }

.home-intro-card__motif {
  color: var(--color-olive-leaf);
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
}

.home-menu {
  background: var(--color-paper-warm);
}

.home-menu__top {
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}

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

.home-menu__copy {
  width: 100%;
  max-width: 33.75rem;
  min-width: 0;
}

.home-menu__media {
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 5;
}

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

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

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

.home-food-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  gap: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  background: var(--color-paper-warm);
  text-decoration: none;
  transition: transform var(--transition-fast), border-color var(--transition-fast);
}

.home-food-card :is(h3, p) { margin: 0; }
.home-food-card h3 { font-size: clamp(1.125rem, 2vw, 1.5rem); }
.home-food-card p { color: var(--color-muted-brown); font-size: var(--text-sm); line-height: 1.55; }
.home-food-card span { margin-top: auto; color: var(--color-wine-red); font-size: var(--text-sm); font-weight: 800; }

.home-drinks {
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: 1px;
  margin-top: var(--space-5);
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: rgb(48 39 34 / 16%);
}

.home-drinks > * {
  min-width: 0;
  padding: var(--space-5);
  background: #d7ebe6;
}

.home-drinks :is(h3, p) { margin: 0; }
.home-drinks h3 { margin-bottom: var(--space-2); }
.home-drinks p { color: var(--color-ink-brown); font-size: var(--text-sm); }

.home-menu__actions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.home-menu__actions p { width: 100%; max-width: 32rem; margin: 0; }
.home-menu__actions .cluster { width: 100%; }
.home-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); color: var(--color-wine-red); font-weight: 800; }

.home-daytime__stage,
.home-final__stage {
  position: relative;
  min-width: 0;
}

.home-daytime__media {
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 4;
}

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

.home-daytime__panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding: var(--space-5);
  background: var(--color-paper-warm);
}

.home-daytime__panel :is(h2, p, ul) { margin: 0; }
.home-daytime__list { display: flex; flex-direction: column; gap: var(--space-3); padding: 0; list-style: none; }
.home-daytime__list li { min-width: 0; color: var(--color-muted-brown); font-size: var(--text-sm); }
.home-daytime__list strong { color: var(--color-ink-brown); }

.home-poker { position: relative; }
.home-poker .eyebrow { color: var(--color-sunlight-gold); }

.home-poker__heading {
  width: 100%;
  max-width: 41.25rem;
  min-width: 0;
}

.home-poker__heading > p:last-child { color: var(--color-limewash-cream); font-size: var(--text-lg); line-height: 1.6; }

.home-poker__body {
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.home-poker__body > * { min-width: 0; }
.home-poker__media { width: 100%; min-width: 0; aspect-ratio: 4 / 3; }
.home-poker__media img { object-position: center; }

.home-poker__cards {
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: 1px;
  border-top: 1px solid rgb(244 235 221 / 35%);
  background: rgb(244 235 221 / 35%);
}

.home-poker__cards > * {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5) 0;
  background: var(--color-felt-green);
}

.home-poker__cards :is(h3, p) { margin: 0; }
.home-poker__cards p { color: var(--color-limewash-cream); font-size: var(--text-sm); }
.home-poker__cards span { color: var(--color-sunlight-gold); font-size: var(--text-xl); line-height: 1; }
.home-poker__actions { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-3); margin-top: var(--space-6); }
.home-poker__actions > * { width: 100%; min-width: 0; }

.home-rhythm__heading { width: 100%; max-width: 38.75rem; min-width: 0; }
.home-rhythm__steps { display: grid; min-width: 0; grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-6); }
.home-rhythm__steps > * { min-width: 0; }
.home-rhythm__step { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-rhythm__step :is(h3, p) { margin: 0; }
.home-rhythm__step > span { display: grid; width: 3rem; min-width: 3rem; height: 3rem; place-items: center; border-radius: 50%; color: var(--color-paper-warm); font-family: var(--font-heading); font-size: var(--text-xl); }
.home-rhythm__step--one > span { background: var(--color-terracotta-peach); }
.home-rhythm__step--two > span { background: var(--color-faded-turquoise); color: var(--color-ink-brown); }
.home-rhythm__step--three > span { background: var(--color-wine-red); }
.home-rhythm__step p { color: var(--color-muted-brown); }

.home-private { background: #f6e4d8; }
.home-private__top { display: grid; min-width: 0; grid-template-columns: 1fr; gap: var(--space-6); }
.home-private__top > * { min-width: 0; }
.home-private__copy { display: flex; width: 100%; max-width: 35rem; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-private__copy :is(h2, p) { margin: 0; }
.home-private__copy .button { margin-top: var(--space-2); }
.home-private__media { width: 100%; min-width: 0; aspect-ratio: 4 / 5; }
.home-private__media img { object-position: center; }
.home-private__points { display: grid; min-width: 0; grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-6); }
.home-private__points > * { min-width: 0; border-top: 3px solid var(--color-terracotta-peach); padding-top: var(--space-4); }
.home-private__points > *:nth-child(3) { border-color: var(--color-felt-green); }
.home-private__points :is(h3, p) { margin: 0; }
.home-private__points p { margin-top: var(--space-2); color: var(--color-muted-brown); }

.home-paths > h2 { width: 100%; max-width: 38.75rem; }
.home-paths__grid { display: grid; min-width: 0; grid-template-columns: 1fr; gap: var(--space-4); margin-top: var(--space-6); }
.home-paths__grid > * { min-width: 0; }
.home-path-card { display: flex; min-width: 0; min-height: 100%; flex-direction: column; gap: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-5); text-decoration: none; transition: transform var(--transition-fast); }
.home-path-card :is(h3, p) { margin: 0; }
.home-path-card > span { font-family: var(--font-heading); font-size: var(--text-2xl); line-height: 1; }
.home-path-card p { color: var(--color-muted-brown); }
.home-path-card b { margin-top: auto; color: var(--color-wine-red); font-size: var(--text-sm); }
.home-path-card--restaurant { border-top: 6px solid var(--color-terracotta-peach); background: var(--color-paper-warm); }
.home-path-card--courtyard { border-top: 6px solid var(--color-olive-leaf); background: #dce1d4; }
.home-path-card--poker { border-color: rgb(244 235 221 / 25%); border-top: 6px solid var(--color-wine-red); background: var(--color-felt-green); color: var(--color-paper-warm); }
.home-path-card--poker :is(h3, p, b) { color: inherit; }
.home-path-card--poker > span { color: var(--color-sunlight-gold); }
.home-paths__closing { width: 100%; max-width: 31.25rem; min-width: 0; margin: var(--space-6) auto 0; color: var(--color-muted-brown); text-align: center; }

.home-booking__panel { display: flex; width: 100%; max-width: 65rem; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-6); margin-inline: auto; border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-5); background: var(--color-paper-warm); box-shadow: var(--shadow-floating); }
.home-booking__intro { width: 100%; max-width: 33.75rem; min-width: 0; margin-inline: auto; text-align: center; }
.home-booking__intro :is(h2, p) { margin-inline: auto; }
.home-booking__choices { display: grid; min-width: 0; grid-template-columns: 1fr; gap: var(--space-4); }
.home-booking__choices > * { min-width: 0; }
.home-booking__choice { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-4); border-radius: var(--radius-lg); padding: var(--space-5); }
.home-booking__choice :is(h3, p) { margin: 0; }
.home-booking__choice p { font-size: var(--text-sm); }
.home-booking__choice .button { width: 100%; margin-top: auto; }
.home-booking__choice--table { background: var(--color-wine-red); color: var(--color-paper-warm); }
.home-booking__choice--table h3 { color: inherit; }
.home-booking__choice--private { background: var(--color-olive-leaf); color: var(--color-paper-warm); }
.home-booking__choice--private h3 { color: inherit; }
.home-booking__note { width: 100%; max-width: 27.5rem; min-width: 0; margin: 0 auto; color: var(--color-muted-brown); font-size: var(--text-sm); text-align: center; }

.home-final__media { width: 100%; min-width: 0; aspect-ratio: 4 / 5; }
.home-final__media img { object-position: center; }
.home-final__panel { display: flex; width: 100%; max-width: 28.75rem; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); margin-inline: auto; padding: var(--space-5); background: var(--color-paper-warm); text-align: center; }
.home-final__panel :is(h2, p) { margin: 0; }
.home-final__panel .button { width: 100%; max-width: 22.5rem; }

@media (hover: hover) {
  .home-intro-card:hover,
  .home-food-card:hover,
  .home-path-card:hover { transform: translateY(-2px); }
  .home-food-card:hover { border-color: var(--color-wine-red); }
}

@media (min-width: 37.5rem) {
  .home-hero__actions { flex-direction: row; flex-wrap: wrap; align-items: stretch; }
  .home-hero__actions > * { width: auto; flex: 0 1 auto; }
  .home-hero__actions > :first-child { flex-basis: 100%; }
  .home-hero__markers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-drinks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-poker__actions { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .home-poker__actions > * { width: auto; }
}

@media (min-width: 48rem) {
  .home-hero { padding-block: var(--space-6) var(--space-9); }
  .home-courtyard-intro__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .home-courtyard-intro__cards > :nth-child(3) { grid-column: 1 / -1; }
  .home-food-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
  .home-private__points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
  .home-paths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .home-paths__grid > :nth-child(3) { grid-column: 1 / -1; }
  .home-booking__panel { padding: var(--space-7); }
  .home-booking__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
}

@media (min-width: 47.5rem) and (max-width: 51.1875rem) {
  .home-poker__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); border: 0; background: transparent; }
  .home-poker__cards > * { border-top: 1px solid rgb(244 235 221 / 35%); }
  .home-poker__cards > :nth-child(3) { grid-column: 1 / -1; }
}

@media (min-width: 56.25rem) {
  .home-daytime__stage { min-height: 38rem; }
  .home-daytime__media { aspect-ratio: 21 / 9; }
  .home-daytime__panel { position: absolute; bottom: var(--space-6); left: var(--space-6); width: min(31.25rem, calc(100% - 6rem)); border-radius: var(--radius-lg); }
  .home-final__stage { min-height: 33.75rem; }
  .home-final__media { aspect-ratio: 21 / 9; }
  .home-final__panel { position: absolute; right: 50%; bottom: var(--space-6); transform: translateX(50%); border-radius: var(--radius-lg); }
}

@media (min-width: 53.75rem) {
  .home-hero__wrap { min-height: 42.5rem; }
  .home-hero__media { aspect-ratio: auto; height: 42.5rem; }
  .home-hero__panel { position: absolute; top: 50%; left: var(--container-padding); width: min(36.875rem, calc(100% - 2 * var(--container-padding))); transform: translateY(-50%); border-radius: var(--radius-lg); padding: var(--space-6); background: var(--color-paper-warm); }

  .home-hero__actions > * { flex: 1 1 0; }
}

@media (min-width: 56.25rem) {
  .home-menu__top { grid-template-columns: minmax(0, 48fr) minmax(0, 44fr); justify-content: space-between; align-items: center; column-gap: 8%; }
  .home-menu__copy { grid-column: 1; }
  .home-menu__media { grid-column: 2; }
  .home-private__top { grid-template-columns: minmax(0, 52fr) minmax(0, 40fr); justify-content: space-between; align-items: center; column-gap: 8%; }
  .home-private__copy { grid-column: 1; }
  .home-private__media { grid-column: 2; }
}

@media (min-width: 51.25rem) {
  .home-courtyard-intro__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
  .home-courtyard-intro__cards > :nth-child(3) { grid-column: auto; }
  .home-poker__body { grid-template-columns: minmax(0, 34fr) minmax(0, 62fr); column-gap: 4%; align-items: start; }
  .home-poker__media { grid-column: 1; }
  .home-poker__cards { grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); border: 0; background: transparent; }
  .home-poker__cards > * { border-top: 1px solid rgb(244 235 221 / 35%); }
  .home-poker__cards > :nth-child(3) { grid-column: 1 / -1; }
}

@media (min-width: 61.25rem) {
  .home-rhythm__steps { position: relative; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-7); }
  .home-rhythm__steps::before { position: absolute; top: 1.5rem; right: 12%; left: 12%; height: 1px; background: var(--color-terracotta-peach); content: ""; }
  .home-rhythm__step { position: relative; z-index: 1; background: var(--color-limewash-cream); }
  .home-rhythm__step--two { transform: translateY(2.25rem); }
  .home-rhythm__step--three { transform: translateY(4.5rem); }
  .home-rhythm { padding-bottom: 8.5rem; }
}

@media (min-width: 75rem) {
  .home-hero__panel { left: calc(var(--container-padding) + 1rem); }
  .home-poker__body { grid-template-columns: minmax(0, 34fr) minmax(0, 62fr); }
  .home-poker__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-poker__cards > :nth-child(3) { grid-column: auto; }
  .home-paths__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-paths__grid > :nth-child(3) { grid-column: auto; }
}

@media (max-width: 37.4375rem) {
  .home-food-grid { grid-template-columns: 1fr; }
}

@media (max-width: 47.9375rem) {
  .home-page .button { min-height: 3rem; }
  .home-menu__actions .cluster { align-items: stretch; }
  .home-menu__actions .button,
  .home-menu__actions .home-text-link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .home-intro-card,
  .home-food-card,
  .home-path-card {
    transition: none;
  }

  .home-rhythm__step--two,
  .home-rhythm__step--three {
    transform: none;
  }
}
