/* Buffet offers: prices retain their per-person or whole-group scope. */
.buffet-hero .intent-hero-copy { padding-block: clamp(2.5rem, 5vw, 5rem); }
.buffet-hero h1 { font-size: clamp(3.1rem, 5.3vw, 5.8rem); max-width: 15ch; }
.buffet-hero picture { align-self: stretch; }
.buffet-hero img { height: 100%; min-height: 100%; object-fit: cover; }
.buffet-hero-note { font-size: .87rem; max-width: 52ch; }
.buffet-section { scroll-margin-top: 1rem; }
.buffet-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.3rem; align-items: stretch; }
.buffet-card { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.25rem,2.2vw,2rem); background: var(--white); border-top: 3px solid var(--gold); }
.buffet-card .eyebrow { font-size: .68rem; letter-spacing: .11em; }
.buffet-card h3 { margin: .4rem 0 .6rem; font-size: clamp(2rem,2.7vw,2.8rem); line-height: 1.08; }
.buffet-card > p:not(.eyebrow) { font-size: .93rem; }
.buffet-price { display: flex; flex-direction: column; align-items: flex-start; padding: 1.2rem 0; margin: .8rem 0; border-block: 1px solid var(--paper-deep); color: var(--wine-dark); }
.buffet-price span { font-size: .78rem; line-height: 1.6; }
.buffet-price strong { font-family: var(--serif); font-size: clamp(2.5rem,3.5vw,3.8rem); line-height: 1.18; font-weight: 600; }
.buffet-dishes h4 { margin: 1.2rem 0 .5rem; color: var(--wine); font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
.buffet-dishes ul { margin: 0; padding-left: 1.1rem; }
.buffet-dishes li { margin-bottom: .45rem; font-size: .92rem; line-height: 1.55; }
.buffet-card-menu { flex: 1; }
.buffet-card-menu > p { font-size: .88rem; }
.buffet-card > .button { margin-top: 1.5rem; text-align: center; }
.buffet-note { padding-top: 1rem; font-size: .86rem; line-height: 1.6; }
.buffet-card .buffet-note { border-top: 1px solid var(--paper-deep); margin-top: 1.5rem; }
.buffet-custom { margin-top: 2rem; padding: clamp(1.5rem,4vw,4rem); background: var(--paper-deep); border-top: 3px solid var(--gold); scroll-margin-top: 1rem; }
.buffet-custom-head { display: grid; grid-template-columns: 1.6fr 1fr; gap: 2rem; align-items: start; }
.buffet-custom h3 { margin: .3rem 0 1rem; font-size: clamp(2.4rem,4vw,4rem); line-height: 1.08; }
.buffet-custom .buffet-price { margin: 0; padding: 1.25rem; border: 1px solid var(--gold); }
.buffet-custom .buffet-price strong { font-size: clamp(2.4rem,3.6vw,3.9rem); white-space: nowrap; }
.buffet-custom > .buffet-note { margin-top: 0; padding: 1rem 0; max-width: 82ch; font-weight: 600; }
.buffet-custom-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem 2rem; margin-bottom: 2.5rem; }
.buffet-receptions { background: #e9dfd0; }
.buffet-price-note { max-width: 85ch; padding: clamp(1.5rem,3vw,2.5rem); background: var(--white); border-left: 3px solid var(--gold); }
.buffet-price-note h3 { margin-top: 0; font-size: 2rem; }
.buffet-price-note p { margin-bottom: 0; font-size: .94rem; }
.buffet-final .button.primary { background: var(--white); color: var(--wine-dark); }
.buffet-final .button.primary:hover { background: var(--paper-deep); }
@media (max-width:1100px) {
 .buffet-grid { grid-template-columns: 1fr 1fr; }
 .buffet-card:last-child { grid-column: 1/-1; }
 .buffet-custom-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width:760px) {
 .buffet-grid, .buffet-custom-head, .buffet-custom-grid { grid-template-columns: minmax(0,1fr); }
 .buffet-card:last-child { grid-column: auto; }
 .buffet-hero img { min-height: 0; aspect-ratio: 3/2; }
 .buffet-hero h1 { font-size: clamp(2.7rem,10vw,4rem); }
 .buffet-hero .button-row { align-items: stretch; flex-direction: column; }
 .buffet-hero .button { text-align: center; }
 .buffet-custom .buffet-price strong { font-size: clamp(2rem,8vw,3.5rem); }
 .buffet-custom-head { gap: .7rem; }
 .buffet-custom-grid { gap: 0; }
 .buffet-custom > .button { width: 100%; text-align: center; }
}

/* Make package totals and the scope clear beside the per-person price. */
.buffet-price .buffet-package-total { margin-top: .45rem; font-size: .88rem; font-weight: 650; }
.buffet-price .buffet-scope-note { margin-top: .15rem; }
