.home-page {
  background: var(--color-midnight-caviar);
}

.home-page .gold-rule {
  margin-block: 0;
}

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

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(23.75rem, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--space-7);
  min-height: 45rem;
}

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

.home-hero__content > * { margin: 0; }
.home-hero__content .eyebrow { margin-bottom: calc(var(--space-3) * -1); }
.home-hero__content h1 { font-size: clamp(3.5rem, 5.25vw, 4.25rem); max-width: 19ch; }
.home-hero__lead { max-width: 51ch; color: var(--color-text-muted); font-size: var(--text-lg); line-height: 1.55; }
.home-hero__actions { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.home-hero__actions > * { min-width: 0; }
.home-hero__salon-link { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 600; }
.home-hero__legal { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-2); border-top: 1px solid var(--color-divider); padding-top: var(--space-4); }
.home-hero__legal p { max-width: 50ch; margin: 0; font-size: var(--text-sm); line-height: var(--leading-small); }
.home-hero__legal a { font-size: var(--text-sm); }
.home-hero__figure { width: 100%; min-width: 0; margin: 0; }
.home-hero__image-wrap { position: relative; width: 100%; min-width: 0; height: clamp(42.5rem, 55vw, 47.5rem); overflow: visible; border: 1px solid var(--color-imperial-saffron-gold); }
.home-hero__image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; transition: transform var(--transition-fast); }
.home-hero__image-wrap:hover img { transform: translateY(-4px) scale(1.01); }
.home-hero__seal { position: absolute; z-index: 1; bottom: -2.75rem; left: -2.75rem; display: flex; width: 9.25rem; height: 9.25rem; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-1); border: 1px solid var(--color-imperial-saffron-gold); border-radius: 50%; outline: 1px solid var(--color-imperial-saffron-gold); outline-offset: -6px; background: var(--color-smoked-burgundy); color: var(--color-warm-silk-champagne); text-align: center; }
.home-hero__seal span { color: var(--color-imperial-saffron-gold); font-family: var(--font-display); font-size: 2rem; font-weight: 600; line-height: 1; }
.home-hero__seal small, .home-hero__seal b { max-width: 8ch; font-size: .625rem; letter-spacing: .1em; line-height: 1.25; text-transform: uppercase; }
.home-hero__seal b { color: var(--color-imperial-saffron-gold); }
.home-hero__figure figcaption { margin-top: var(--space-3); color: var(--color-text-muted); font-size: var(--text-xs); line-height: 1.35; }

.home-facts-section { padding-bottom: var(--space-8); }
.home-facts--home > div { position: relative; min-width: 0; text-align: center; }
.home-facts--home > div + div::before { position: absolute; top: 50%; left: -4px; width: 7px; height: 7px; background: var(--color-imperial-saffron-gold); content: ""; transform: translateY(-50%) rotate(45deg); }

.home-index__intro { width: 42%; min-width: 0; max-width: 35rem; }
.home-index__intro p { max-width: 56ch; }
.home-index__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.home-index__item { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); border-top: 1px solid var(--color-divider); padding-top: var(--space-4); }
.home-index__item > * { margin: 0; }
.home-index__item span, .home-wine__notes span, .home-private__notes span, .home-reservation__steps span { color: var(--color-imperial-saffron-gold); font-family: var(--font-display); font-size: 3.5rem; line-height: .8; }
.home-index__item p { max-width: 31ch; }
.home-index__item a, .home-wine__notes a, .home-reservation__steps a:not(.button) { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 600; }

.home-cuisine { background: var(--color-velvet-charcoal); }
.home-cuisine__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(21.25rem, 5fr); gap: var(--space-7); align-items: start; }
.home-cuisine__figure { width: 100%; min-width: 0; margin: 0; border: 1px solid var(--color-imperial-saffron-gold); }
.home-cuisine__figure img { width: 100%; height: 31.25rem; object-fit: cover; object-position: center; }
.home-cuisine__content { display: flex; min-width: 0; max-width: 28.75rem; flex-direction: column; align-items: flex-start; gap: var(--space-5); margin-top: 4.5rem; }
.home-cuisine__content > * { margin: 0; }
.home-cuisine__content .lead { max-width: 48ch; }
.home-cuisine__menu-panel { display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); border: 1px solid var(--color-border); background: var(--color-midnight-caviar); padding: var(--space-5); }
.home-cuisine__menu-panel > * { margin: 0; }
.home-cuisine__menu-panel p:not(.eyebrow) { max-width: 40ch; }
.home-cuisine__menu-panel:focus-within { border-color: var(--color-imperial-saffron-gold); }
.home-cuisine__note { max-width: 45ch; border-left: 2px solid var(--color-imperial-saffron-gold); padding-left: var(--space-4); }

.home-wine__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(14.375rem, 4fr); gap: var(--space-7); align-items: start; }
.home-wine__prose { min-width: 0; max-width: 42.5rem; border-left: 2px solid var(--color-imperial-saffron-gold); padding-left: var(--space-5); }
.home-wine__prose p { max-width: 64ch; }
.home-wine__notes { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); border-left: 1px solid var(--color-divider); padding-left: var(--space-6); }
.home-wine__notes article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-wine__notes article > * { margin: 0; }
.home-wine__notes p { max-width: 29ch; }

.home-lounge { background: var(--color-velvet-charcoal); }
.home-lounge__grid { display: grid; grid-template-columns: minmax(21.875rem, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: center; }
.home-lounge__content { display: flex; min-width: 0; max-width: 31.25rem; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-lounge__content > * { margin: 0; }
.home-lounge__content .lead { max-width: 50ch; }
.home-lounge__legal-panel { display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); border: 1px solid var(--color-border); background: var(--color-midnight-caviar); padding: var(--space-5); }
.home-lounge__legal-panel > * { margin: 0; }
.home-lounge__legal-panel p:not(.eyebrow) { max-width: 40ch; }
.home-lounge__action { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-lounge__action p { margin: 0; max-width: 40ch; }
.home-lounge__figure { width: 100%; min-width: 0; margin: var(--space-7) 0 0; }
.home-lounge__figure img { width: 100%; height: auto; aspect-ratio: 3 / 2; border: 1px solid var(--color-imperial-saffron-gold); object-fit: cover; object-position: center; transition: transform var(--transition-fast); }
.home-lounge__figure:hover img { transform: translateY(-4px); }
.home-lounge__figure figcaption { margin-top: var(--space-3); font-size: var(--text-xs); line-height: 1.35; }

.home-private { color: var(--color-warm-silk-champagne); }
.home-private__intro { display: flex; min-width: 0; max-width: 40.625rem; flex-direction: column; align-items: center; gap: var(--space-5); margin-inline: auto; text-align: center; }
.home-private__intro > * { margin: 0; }
.home-private__intro p { max-width: 58ch; }
.home-private__notes { display: grid; grid-template-columns: minmax(16.875rem, 1fr) minmax(16.875rem, 1fr); gap: var(--space-8); align-items: start; margin-top: var(--space-7); }
.home-private__notes article { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); border-top: 1px solid rgba(94, 234, 212, .55); padding-top: var(--space-4); }
.home-private__notes article > * { margin: 0; }
.home-private__notes p { max-width: 30ch; }
.home-private__notes article:last-child { justify-self: end; }

.home-reservation__intro { min-width: 0; max-width: 38.75rem; }
.home-reservation__intro p { max-width: 52ch; }
.home-reservation__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.home-reservation__steps article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); border-top: 1px solid var(--color-divider); padding: var(--space-4) 0; }
.home-reservation__steps article > * { margin: 0; }
.home-reservation__steps p { max-width: 31ch; }
.home-reservation__step--primary { border: 1px solid var(--color-border) !important; background: var(--color-velvet-charcoal); padding: var(--space-5) !important; }
.home-reservation__step--primary .button { margin-top: auto; }

.home-legal { padding-top: 0; }
.home-legal__panel { display: grid; grid-template-columns: minmax(0, 1fr) 15rem; gap: var(--space-6); align-items: center; width: 100%; max-width: 65rem; margin-inline: auto; border: 1px solid var(--color-border); background: var(--color-velvet-charcoal); padding: var(--space-6); }
.home-legal__message { min-width: 0; max-width: 45rem; }
.home-legal__message p { max-width: 60ch; }
.home-legal__link { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); border-left: 1px solid var(--color-divider); padding-left: var(--space-6); }
.home-legal__link span { color: var(--color-imperial-saffron-gold); font-size: var(--text-sm); font-weight: 700; letter-spacing: .12em; }
.home-legal__link a { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 600; }

@media (max-width: 61.25rem) {
  .home-hero { padding-top: var(--space-8); }
  .home-hero__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: var(--space-7); }
  .home-hero__content { max-width: 38rem; }
  .home-hero__content h1 { font-size: clamp(2.875rem, 7vw, 3.5rem); }
  .home-hero__figure { max-width: 100%; }
  .home-hero__image-wrap { height: auto; aspect-ratio: 16 / 10; }
  .home-cuisine__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-cuisine__content { max-width: 60ch; margin-top: 0; }
  .home-cuisine__figure img { height: auto; aspect-ratio: 16 / 10; }
  .home-lounge__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-lounge__content { max-width: 60ch; }
  .home-lounge__figure { margin: 0; }
  .home-lounge__figure img { aspect-ratio: 16 / 10; }
}

@media (max-width: 57.5rem) {
  .home-index__intro { width: 100%; max-width: 35rem; }
  .home-index__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-index__item p { max-width: 38ch; }
  .home-wine__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-wine__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); border-top: 1px solid var(--color-divider); border-left: 0; padding-top: var(--space-5); padding-left: 0; }
  .home-wine__notes article { width: 100%; }
  .home-reservation__steps { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .home-reservation__steps article, .home-reservation__step--primary { width: 100%; }
}

@media (max-width: 51.25rem) {
  .home-private__notes { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-private__notes article:last-child { justify-self: stretch; }
  .home-private__notes p { max-width: 45ch; }
}

@media (max-width: 47.5rem) {
  .home-facts--home > div { text-align: left; }
  .home-facts--home > div + div::before { top: -4px; left: var(--space-4); transform: rotate(45deg); }
  .home-legal__panel { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-legal__link { width: 100%; border-top: 1px solid var(--color-divider); border-left: 0; padding-top: var(--space-5); padding-left: 0; }
}

@media (max-width: 43.75rem) {
  .home-hero { padding-block: var(--space-7) var(--space-6); }
  .home-hero__grid { gap: var(--space-6); }
  .home-hero__content { gap: var(--space-4); }
  .home-hero__content h1 { max-width: 19ch; font-size: clamp(2.375rem, 10vw, 2.625rem); }
  .home-hero__lead { max-width: 34ch; font-size: 1.0625rem; }
  .home-hero__actions { align-items: stretch; flex-direction: column; }
  .home-hero__actions > * { width: 100%; }
  .home-hero__salon-link { justify-content: center; }
  .home-hero__image-wrap { aspect-ratio: 4 / 5; }
  .home-hero__seal { bottom: -2rem; left: .75rem; width: 6rem; height: 6rem; outline-offset: -4px; }
  .home-hero__seal span { font-size: 1.35rem; }
  .home-hero__seal small, .home-hero__seal b { font-size: .48rem; }
  .home-hero__figure figcaption { margin-top: var(--space-5); }
  .home-facts-section { padding-bottom: var(--space-6); }
  .home-cuisine__figure img, .home-lounge__figure img { aspect-ratio: 4 / 3; }
  .home-cuisine__content, .home-lounge__content { gap: var(--space-4); }
  .home-wine__prose { padding-left: var(--space-4); }
  .home-wine__notes { grid-template-columns: minmax(0, 1fr); }
  .home-private__intro { align-items: stretch; text-align: left; }
  .home-private__intro .button { width: 100%; }
  .home-reservation__step--primary .button { width: 100%; }
  .home-legal__panel { padding: var(--space-5); }
}

@media (max-width: 30rem) {
  .home-facts--home > div + div::before { top: var(--space-2); left: var(--space-4); }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__image-wrap:hover img, .home-lounge__figure:hover img { transform: none; }
}
