.home-page { overflow: hidden; }
.home-page ul { list-style: none !important; }
.home-hero { padding: 7rem 0 6rem; }
.home-hero__grid, .home-food__grid, .home-gallery__grid, .home-wine__grid, .home-evening__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; }
.home-hero__copy { grid-column: 1 / span 5; align-self: center; min-width: 0; max-width: 30.5rem; }
.home-hero__copy h1 { font-size: var(--text-hero); }
.home-hero__media { grid-column: 6 / span 7; width: 100%; min-width: 0; align-self: end; aspect-ratio: 16 / 9; margin: 2rem 0 0; }
.home-hero__media figcaption { width: min(17.5rem, calc(100% - 2rem)); margin: -3rem 1rem 0 auto; padding: .75rem 1rem; position: relative; background: var(--color-ivory); border: var(--border-soft); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; min-width: 0; }
.home-food__intro { grid-column: 1 / span 5; min-width: 0; max-width: 33.75rem; }
.home-food__content { grid-column: 6 / span 7; min-width: 0; }
.home-food__image { width: 100%; aspect-ratio: 4 / 3; }
.home-food__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.home-food__card { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; min-width: 0; padding: 1.5rem; }
.home-food__card > * { margin: 0; }
.home-food__card p { max-width: 31ch; }
.home-food__card a, .home-evening__step a, .home-evening__note a, .home-wine__note a, .home-choices__card > a { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: auto; }
.home-salon__panel { width: min(100%, 64.6rem); margin: 0 auto; padding: 3rem; border-radius: var(--radius-feature); }
.home-salon__top { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 1.5rem; }
.home-salon__intro { grid-column: 1 / span 5; min-width: 0; max-width: 36.9rem; }
.home-salon__intro .eyebrow { color: var(--color-pale-gold); }
.home-salon__rule { width: 4rem; height: 1px; margin: 0 0 1.5rem; border: 0; background: var(--color-amber); }
.home-salon__image { grid-column: 6 / span 5; width: 100%; min-width: 0; aspect-ratio: 3 / 2; }
.home-salon__details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.home-salon__detail { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; min-width: 0; padding-top: 1.25rem; border-top: 1px solid rgba(255,253,247,.46); }
.home-salon__detail > * { margin: 0; }
.home-salon__detail p { max-width: 30ch; }
.home-evening__heading { grid-column: 1 / span 12; min-width: 0; max-width: 32rem; }
.home-evening__step { min-width: 0; max-width: 29.4rem; }
.home-evening__step--one { grid-column: 1 / span 5; }
.home-evening__step--two { grid-column: 7 / span 5; margin-top: 4rem; }
.home-evening__number, .home-choices__number { display: block; margin-bottom: .75rem; color: var(--color-bronze); font-family: var(--font-heading); font-size: 3.5rem; font-weight: 600; line-height: 1; }
.home-evening__step--two .home-evening__number { color: var(--color-felt); }
.home-evening__note { grid-column: 4 / span 5; min-width: 0; max-width: 22.5rem; margin-top: 1rem; }
.home-gallery__copy { grid-column: 1 / span 4; min-width: 0; max-width: 28.75rem; }
.home-gallery__copy .tag { margin-bottom: 1rem; }
.home-gallery__visuals { grid-column: 5 / span 8; display: grid; grid-template-columns: 5fr 3fr; gap: 1rem; min-width: 0; }
.home-gallery__primary { width: 100%; min-width: 0; aspect-ratio: 4 / 3; }
.home-gallery__support { display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 1rem; min-width: 0; }
.home-gallery__material, .home-gallery__recognition { display: flex; align-items: end; min-width: 0; padding: 1rem; color: var(--color-ivory); font-family: var(--font-heading); font-size: 1.5rem; line-height: 1.15; border-radius: var(--radius-card); }
.home-gallery__material { background: var(--color-felt); }
.home-gallery__recognition { background: var(--color-bronze); }
.home-wine__text { grid-column: 8 / span 5; min-width: 0; max-width: 30rem; align-self: center; }
.home-wine__image { grid-column: 1 / span 6; grid-row: 1 / span 2; width: 100%; min-width: 0; aspect-ratio: 3 / 2; }
.home-wine__notes { grid-column: 8 / span 5; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; min-width: 0; }
.home-wine__note { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; min-width: 0; padding: 1.5rem; }
.home-wine__note > * { margin: 0; }
.home-wine__note p { max-width: 32ch; }
.home-choices__heading { width: min(100%, 31.25rem); margin: 0 auto 2rem; text-align: center; }
.home-choices__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.home-choices__card { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; min-width: 0; }
.home-choices__card > * { margin: 0; }
.home-choices__card p { max-width: 31ch; }
.home-choices__card--felt { background: var(--color-felt); border-color: var(--color-felt-deep); color: var(--color-ivory); }
.home-choices__card--felt :is(h3, h3 a) { color: var(--color-ivory); }
.home-choices__card--felt .home-choices__number, .home-choices__card--felt > a { color: var(--color-pale-gold); }
.home-visit__panel { width: min(100%, 51.7rem); margin: 0 auto; padding: 2rem; display: grid; grid-template-columns: 3fr 4fr; gap: 2rem; min-width: 0; }
.home-visit__address, .home-visit__copy { min-width: 0; }
.home-visit__address address { margin: 0; font-size: 1.125rem; line-height: 1.6; }
.home-visit__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.home-visit__copy > * { margin: 0; }
.home-visit__copy p { max-width: 26.25rem; }
.home-reserve__panel { width: min(100%, 51.7rem); margin: 0 auto; padding: 4rem 2rem; border: 1px solid var(--color-amber); border-radius: var(--radius-feature); background: var(--color-ivory); box-shadow: var(--shadow-card); position: relative; overflow: hidden; }
.home-reserve__panel::after { position: absolute; right: 0; bottom: 0; width: 7rem; height: 7rem; background: var(--color-felt); content: ""; }
.home-reserve__content { position: relative; z-index: 1; width: min(100%, 35rem); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center; }
.home-reserve__content > * { margin: 0; }
.home-reserve__content p { max-width: 31.25rem; }
.home-reserve__secondary { min-height: 2.75rem; display: inline-flex; align-items: center; }
.home-close { padding: 5rem 0 7rem; }
.home-close__content { width: min(100%, 32.5rem); margin: 0 auto; text-align: center; }
.home-close__content hr { width: 4rem; margin: 0 auto 1.5rem; }
.home-close__content h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); font-style: italic; }
.home-close__content p { width: min(100%, 26.25rem); margin: 0 auto; color: var(--color-slate-muted); }
@media (max-width: 1024px) {
.home-hero__grid, .home-food__grid, .home-gallery__grid, .home-wine__grid, .home-evening__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.home-hero { padding: 5rem 0; }
.home-hero__copy { grid-column: 1 / span 3; }
.home-hero__media { grid-column: 4 / span 5; }
.home-food__intro { grid-column: 1 / span 3; }
.home-food__content { grid-column: 4 / span 5; }
.home-food__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-food__cards > :last-child { grid-column: 1 / span 2; }
.home-salon__panel { width: 100%; }
.home-salon__top { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.home-salon__intro { grid-column: 1 / span 4; }
.home-salon__image { grid-column: 5 / span 4; }
.home-salon__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-salon__details > :last-child { grid-column: 1 / span 2; }
.home-evening__heading { grid-column: 1 / span 8; }
.home-evening__step--one { grid-column: 1 / span 3; }
.home-evening__step--two { grid-column: 6 / span 3; }
.home-evening__note { grid-column: 3 / span 4; }
.home-gallery__copy { grid-column: 1 / span 3; }
.home-gallery__visuals { grid-column: 4 / span 5; grid-template-columns: 1fr; }
.home-gallery__support { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr; }
.home-wine__image { grid-column: 1 / span 4; }
.home-wine__text, .home-wine__notes { grid-column: 5 / span 4; }
.home-wine__notes { grid-template-columns: 1fr; }
.home-choices__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-choices__cards > :last-child { grid-column: 1 / span 1; }
}
@media (max-width: 760px) {
.home-hero { padding: 3.5rem 0; }
.home-hero__grid, .home-food__grid, .home-gallery__grid, .home-wine__grid, .home-evening__grid { grid-template-columns: 1fr; gap: 2rem; }
.home-hero__copy, .home-hero__media, .home-food__intro, .home-food__content, .home-gallery__copy, .home-gallery__visuals, .home-wine__text, .home-wine__image, .home-wine__notes, .home-evening__heading, .home-evening__step--one, .home-evening__step--two, .home-evening__note { grid-column: 1; width: 100%; max-width: none; margin: 0; }
.home-hero__copy { order: 1; }
.home-hero__media { order: 2; aspect-ratio: 4 / 3; }
.home-hero__copy .lead { max-width: 38ch; }
.home-hero__actions { flex-direction: column; }
.home-hero__actions > * { width: 100%; }
.home-food__content { display: flex; flex-direction: column; gap: 1rem; }
.home-food__content > * { margin: 0; }
.home-food__cards, .home-salon__details, .home-wine__notes, .home-choices__cards { grid-template-columns: 1fr; }
.home-food__cards > :last-child, .home-salon__details > :last-child, .home-choices__cards > :last-child { grid-column: 1; }
.home-salon__panel { padding: 1.25rem; }
.home-salon__top { grid-template-columns: 1fr; gap: 1.5rem; }
.home-salon__intro, .home-salon__image { grid-column: 1; width: 100%; }
.home-salon__image { aspect-ratio: 3 / 2; }
.home-salon__details { gap: 1.25rem; }
.home-evening__step { max-width: 38ch; }
.home-evening__step--two { margin-top: 0; }
.home-gallery__visuals { grid-template-columns: 1fr; }
.home-gallery__support { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-wine__text { order: 1; }
.home-wine__image { order: 2; }
.home-wine__notes { order: 3; }
.home-visit__panel { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.25rem; }
.home-visit__copy { padding-top: 1.5rem; border-top: var(--border-soft); }
.home-visit__copy .button { width: 100%; }
.home-reserve__panel { padding: 2rem 1.25rem; }
.home-reserve__content .button { width: 100%; }
.home-close { padding: 3.5rem 0; }
}
@media (max-width: 560px) { .home-gallery__support { grid-template-columns: 1fr; grid-template-rows: repeat(2, minmax(8rem, 1fr)); } }
@media (max-width: 420px) { .home-hero__copy h1 { font-size: 2.625rem; } .home-food__card, .home-wine__note { padding: 1.25rem; } .home-choices__heading h2 { max-width: 12ch; margin-inline: auto; } .home-close__content h2 { font-size: 1.75rem; } }
@media (hover: hover) and (pointer: fine) { .home-choices__card--felt:hover { background: var(--color-felt-deep); } }