.nv-parties { background: #f2f5ef; }
.nv-parties .section-intro { max-width: 760px; margin: 0 auto 2.5rem; text-align: center; }
.nv-parties .eyebrow { justify-content: center; }
.nv-party-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.nv-party-card { display: flex; flex-direction: column; align-items: center; padding: clamp(1.6rem,3vw,2.5rem); text-align: center; border: 1px solid #d5dfd3; border-radius: 24px; background: #fffdf9; }
.nv-party-card > span { color: #24624e; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nv-party-card h3 { font-family: var(--font-display); font-size: clamp(1.7rem,2.4vw,2.25rem); font-weight: 400; line-height: 1.15; margin: 1.4rem 0 .8rem; text-wrap: balance; }
.nv-party-card p { line-height: 1.7; margin: 0 0 1.8rem; }
.nv-party-card > strong { margin-top: auto; color: #24624e; font-size: 2rem; }
.nv-party-card small { display: block; font-size: .8rem; font-weight: 400; }
.nv-party-details { max-width: 840px; margin: 2.5rem auto 0; text-align: center; }
.nv-party-details h3 { font-family: var(--font-display); font-size: 2rem; font-weight: 400; }
.nv-party-details p { line-height: 1.75; }
.nv-party-details .hero-actions { justify-content: center; align-items: center; }
.nv-party-call { color: #24624e; text-underline-offset: .3em; }
.nv-hero-party-link { flex-basis: 100%; margin-top: .5rem; font-size: .88rem; color: inherit; text-underline-offset: .3em; }
.nv-party-summary { font-size: .84rem; line-height: 1.6; }
.nv-party-summary[hidden], .booking-consent[data-party-consent-row][hidden] { display: none; }
@media (max-width: 700px) { .nv-party-cards { grid-template-columns: 1fr; } .nv-party-card { padding: 2rem 1.5rem; } }
