.home-page { background: var(--color-midnight-emerald); overflow: hidden; }
.home-page .section { position: relative; }
.home-hero { padding: var(--space-8) 0 var(--space-9); background: var(--color-deep-emerald); }
.home-hero__grid, .home-menu__grid, .home-salon__grid, .home-reservation__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.home-hero__copy { grid-column: span 5; min-width: 0; position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-7); background: var(--color-deep-emerald); }
.home-hero__copy > * { margin: 0; min-width: 0; }
.home-hero__copy h1 { max-width: 32rem; }
.home-hero__copy .lead { max-width: 29rem; }
.home-hero__media { grid-column: span 7; min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--border-gold-subtle); box-shadow: var(--shadow-panel); }
.home-hero__media img { width: 100%; height: 100%; aspect-ratio: 16 / 10; object-position: 55% 42%; }
.home-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); min-width: 0; }
.home-hero__actions > * { min-width: 0; }
.home-hero__meta { color: var(--color-muted-sage); font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-hero__meta span { color: var(--color-champagne-gold); margin-inline: var(--space-2); }
.home-experience__intro { width: 58.333%; min-width: 0; }
.home-experience__intro p:not(.eyebrow) { max-width: 39rem; }
.home-experience__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-experience__item { position: relative; min-width: 0; padding-right: var(--space-5); }
.home-experience__item:not(:first-child) { border-inline-start: 1px solid var(--border-gold-subtle); padding-inline-start: var(--space-5); }
.home-experience__number { display: block; margin-bottom: var(--space-4); color: var(--color-champagne-gold); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.home-experience__item p { max-width: 22rem; }
.home-menu__media { grid-column: span 6; width: 100%; min-width: 0; margin: 0; }
.home-menu__media img { width: 100%; aspect-ratio: 4 / 3; object-position: 45% 48%; }
.home-menu__panel { grid-column: 8 / span 5; min-width: 0; padding: var(--space-7); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-menu__panel > * { margin: 0; min-width: 0; }
.home-menu__panel h2, .home-menu__panel > p { max-width: 36rem; }
.home-menu__highlights { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); padding-top: var(--space-3); }
.home-menu__highlights > div { min-width: 0; border-top: 1px solid var(--border-gold-subtle); padding-top: var(--space-3); }
.home-menu__highlights h3, .home-menu__highlights p { margin: 0; }
.home-menu__highlights h3 { color: var(--color-champagne-gold); font-family: var(--font-body); font-size: var(--text-sm); letter-spacing: .08em; text-transform: uppercase; }
.home-menu__highlights p { margin-top: var(--space-2); color: var(--color-muted-sage); font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-menu__action { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; }
.home-drinks__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.home-drinks__intro { grid-column: span 4; min-width: 0; padding-top: var(--space-4); }
.home-drinks__intro p:not(.eyebrow) { max-width: 32rem; }
.home-drinks__media { grid-column: 6 / span 7; width: 100%; min-width: 0; margin: 0; }
.home-drinks__media img { width: 100%; aspect-ratio: 3 / 2; object-position: 58% 45%; }
.home-drinks__panels { grid-column: 1 / span 9; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: calc(var(--space-6) * -1); position: relative; z-index: 1; }
.home-drinks__panel { min-width: 0; padding: var(--space-5); }
.home-drinks__panel--offset { margin-top: var(--space-5); }
.home-drinks__action { grid-column: 10 / span 3; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; padding-top: var(--space-5); color: var(--color-muted-sage); font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-salon__copy { grid-column: span 6; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.home-salon__copy > * { margin: 0; min-width: 0; }
.home-salon__copy > p:not(.eyebrow) { max-width: 38rem; }
.home-salon__notice { width: min(100%, 32.5rem); padding: var(--space-4); margin-top: var(--space-2); }
.home-salon__notice p { margin: 0; }
.home-salon__notice .eyebrow { margin-bottom: var(--space-2); }
.home-salon__media { grid-column: 8 / span 5; width: 100%; min-width: 0; margin: 0; }
.home-salon__media img { width: 100%; aspect-ratio: 4 / 3; object-position: 56% 42%; }
.home-occasions__intro { width: 50%; min-width: 0; }
.home-occasions__intro p:not(.eyebrow) { max-width: 37.5rem; }
.home-occasions__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: start; margin-top: var(--space-7); }
.home-occasions__card { min-width: 0; padding: var(--space-5); }
.home-occasions__card--offset { margin-top: var(--space-6); box-shadow: var(--shadow-panel), var(--shadow-offset); }
.home-occasions__card--lower { margin-top: var(--space-4); }
.home-venue__strip { width: 100%; margin: 0; overflow: hidden; background: var(--color-charcoal-card); }
.home-venue__strip img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-position: 50% 45%; }
.home-venue__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); padding-top: var(--space-8); padding-bottom: var(--space-9); }
.home-venue__copy { grid-column: span 6; min-width: 0; }
.home-venue__copy > p:not(.eyebrow) { max-width: 35rem; }
.home-venue__copy address { max-width: 35rem; margin: var(--space-5) 0 var(--space-4); color: var(--color-white-text); font-style: normal; font-weight: 500; }
.home-venue__space { grid-column: span 6; min-width: 0; align-self: stretch; border-top: 1px solid var(--border-gold-subtle); margin-top: var(--space-7); }
.home-reservation { background: var(--color-deep-emerald); }
.home-reservation__intro { grid-column: span 4; min-width: 0; }
.home-reservation__intro p:not(.eyebrow) { max-width: 24.5rem; }
.home-reservation__form { grid-column: 6 / span 7; min-width: 0; padding: var(--space-6); }
.home-reservation__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-field { min-width: 0; }
.home-field--full { grid-column: 1 / -1; }
.home-field label { min-width: 0; }
.home-field__error { min-height: 1.25rem; margin: var(--space-1) 0 0; color: var(--color-focus-ivory); font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-field [aria-invalid="true"] { border-color: var(--color-warm-copper); }
.home-reservation__submit { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; margin-top: var(--space-5); }
.home-reservation__submit p { margin: 0; color: var(--color-muted-sage); font-size: var(--text-sm); line-height: var(--leading-sm); }
.home-reservation__success { margin-top: var(--space-4); border: 1px solid var(--border-gold); color: var(--color-warm-white); padding: var(--space-3) var(--space-4); }
.home-faq__container { width: 66.666%; min-width: 0; margin-inline: auto; }
.home-faq__container > h2 { max-width: 43.75rem; }
.home-faq__item { min-width: 0; padding-block: var(--space-5); border-top: 1px solid var(--border-gold-subtle); }
.home-faq__item:last-child { border-bottom: 1px solid var(--border-gold-subtle); }
.home-faq__item h3 { max-width: 43.75rem; }
.home-faq__item p { max-width: 38.75rem; margin-bottom: 0; }
.home-closing { padding-top: var(--space-8); border-top: 1px solid var(--border-gold); }
.home-closing__copy { width: 58.333%; min-width: 0; margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-4); text-align: center; }
.home-closing__copy > * { margin: 0; min-width: 0; }
.home-closing__copy h2 { max-width: 38.75rem; }
.home-closing__copy > p:not(.eyebrow) { max-width: 36rem; }
.home-closing__meta { color: var(--color-muted-sage); font-size: var(--text-xs); line-height: var(--leading-xs); }
@media (max-width: 60rem) { .home-hero__grid, .home-menu__grid, .home-salon__grid, .home-reservation__grid, .home-drinks__grid, .home-venue__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } .home-hero__copy { grid-column: span 4; padding: var(--space-5); } .home-hero__media { grid-column: span 4; } .home-experience__intro { width: 75%; } .home-menu__media { grid-column: span 4; } .home-menu__panel { grid-column: span 4; padding: var(--space-5); } .home-menu__highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-menu__highlights > div:last-child { grid-column: 1 / -1; } .home-drinks__intro { grid-column: span 3; } .home-drinks__media { grid-column: span 5; } .home-drinks__panels { grid-column: span 8; margin-top: 0; } .home-drinks__action { grid-column: span 8; flex-direction: row; align-items: center; padding-top: 0; } .home-salon__copy { grid-column: span 4; } .home-salon__media { grid-column: span 4; } .home-occasions__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-occasions__card--lower { grid-column: 1 / -1; width: 100%; } .home-venue__copy { grid-column: span 5; } .home-venue__space { grid-column: span 3; } .home-reservation__intro { grid-column: span 3; } .home-reservation__form { grid-column: span 5; } .home-faq__container { width: 75%; } .home-closing__copy { width: 75%; } }
@media (max-width: 51rem) { .home-reservation__fields { grid-template-columns: 1fr; } .home-field--full { grid-column: auto; } }
@media (max-width: 47.5rem) { .home-hero { padding: var(--space-7) 0; } .home-hero__grid, .home-menu__grid, .home-salon__grid, .home-reservation__grid, .home-drinks__grid, .home-venue__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .home-hero__copy, .home-hero__media, .home-menu__media, .home-menu__panel, .home-drinks__intro, .home-drinks__media, .home-drinks__panels, .home-drinks__action, .home-salon__copy, .home-salon__media, .home-reservation__intro, .home-reservation__form, .home-venue__copy, .home-venue__space { grid-column: 1; } .home-hero__copy { padding: 0; } .home-hero__copy h1 { max-width: none; } .home-hero__copy .lead { max-width: none; } .home-hero__media img { aspect-ratio: 4 / 3; min-height: 17.5rem; } .home-hero__actions { width: 100%; flex-direction: column; align-items: stretch; } .home-hero__actions .button { width: 100%; min-height: 3rem; } .home-experience__intro, .home-occasions__intro, .home-faq__container, .home-closing__copy { width: 100%; } .home-experience__list, .home-occasions__cards, .home-menu__highlights, .home-drinks__panels { grid-template-columns: minmax(0, 1fr); } .home-experience__item { padding: var(--space-5) 0 0; border-top: 1px solid var(--border-gold-subtle); } .home-experience__item:not(:first-child) { border-inline-start: 0; padding-inline-start: 0; } .home-menu__panel { padding: var(--space-5); } .home-menu__highlights > div:last-child { grid-column: auto; } .home-menu__action { width: 100%; } .home-menu__action .button { width: 100%; min-height: 3rem; } .home-drinks__panel--offset { margin-top: var(--space-1); margin-left: var(--space-1); } .home-drinks__action { flex-direction: column; align-items: stretch; } .home-drinks__action .button { width: 100%; min-height: 3rem; } .home-salon__notice { width: 100%; } .home-salon__media { order: 2; } .home-occasions__card--offset { margin-top: var(--space-1); margin-left: var(--space-1); } .home-occasions__card--lower { margin-top: var(--space-1); margin-right: var(--space-1); } .home-venue__strip img { aspect-ratio: 3 / 2; } .home-venue__grid { padding-top: var(--space-7); padding-bottom: var(--space-7); } .home-venue__space { display: none; } .home-reservation__form { padding: var(--space-5); } .home-reservation__fields { grid-template-columns: minmax(0, 1fr); } .home-reservation__submit { width: 100%; } .home-reservation__submit .button { width: 100%; min-height: 3rem; } .home-faq__item { padding-block: var(--space-4); } .home-closing { padding-top: var(--space-7); } .home-closing__copy .button { width: 100%; min-height: 3rem; } }
@media (prefers-reduced-motion: reduce) { .home-page *, .home-page *::before, .home-page *::after { transition-duration: .01ms !important; } }

/* mobile-media-center */
@media (max-width: 48rem) {
  .media-frame,
  .image-frame,
  [class*="__media"],
  [class*="__visual"] {
    grid-column: 1 / -1;
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }

  .media-frame > img,
  .media-frame img,
  .media-frame video,
  .image-frame img,
  [class*="__media"] img,
  [class*="__visual"] img,
  [class*="hero"] > img,
  figure img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

/* mobile-photo-center */
@media (max-width: 56.25rem) {
  img,
  video {
    object-position: center !important;
  }

  .image-frame,
  .media-frame,
  .card__media,
  [class*='__media'] {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    justify-self: stretch;
    overflow: hidden;
  }

  .image-frame img,
  .media-frame img,
  .media-frame video,
  .card__media img,
  [class*='__media'] img,
  [class*='hero'] img,
  [class*='hero__image'] {
    width: 100%;
    height: 100%;
    max-width: none;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center !important;
  }
}
