.private-events-page { overflow: clip; }
.private-events-hero { position: relative; min-height: 42.5rem; display: grid; color: var(--color-cream); background: var(--color-walnut); }
.private-events-hero__image, .private-events-hero__overlay, .private-events-hero__container { grid-area: 1 / 1; }
.private-events-hero__image { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 68% center; }
.private-events-hero__overlay { background: linear-gradient(90deg, rgb(36 24 20 / 72%) 0%, rgb(36 24 20 / 56%) 43%, rgb(36 24 20 / 18%) 76%), linear-gradient(0deg, rgb(36 24 20 / 58%), transparent 45%); }
.private-events-hero__container { width: min(100% - (2 * var(--container-padding)), var(--container-max)); margin-inline: auto; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-6); padding-block: var(--space-8); }
.private-events-hero__content { width: min(100%, 31.25rem); min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.private-events-hero__content :is(h1, p) { margin: 0; }
.private-events-hero h1 { max-width: 12ch; font-size: clamp(3.2rem, 6vw, 4.7rem); }
.private-events-hero__lead { max-width: 31rem; font-size: var(--text-intro); line-height: var(--leading-intro); }
.private-events-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.private-events-hero__actions > * { min-width: 0; }
.private-events-hero__secondary { border-color: var(--color-cream); background: transparent; color: var(--color-cream); }
.private-events-hero__secondary:hover { background: var(--color-cream); color: var(--color-walnut); }
.private-events-hero__note { width: min(100%, 34rem); margin-left: auto; padding: var(--space-4) var(--space-5); background: rgb(231 216 191 / 92%); color: var(--color-ink); font-size: var(--text-label); line-height: var(--leading-label); }
.private-events-manifest__heading { width: 58.333%; min-width: 0; }
.private-events-manifest__heading :is(h2, p) { max-width: 40rem; }
.private-events-manifest__intro { border-top: 1px solid var(--color-burgundy); padding-top: var(--space-4); }
.private-events-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.private-events-principles > * { min-width: 0; }
.private-events-principle { border-top: 1px solid var(--color-line); padding-top: var(--space-5); }
.private-events-principle__number { display: block; margin-bottom: var(--space-4); color: var(--color-burgundy); font-family: var(--font-heading); font-size: 2.25rem; line-height: 1; }
.private-events-principle__tag { display: inline-block; margin-bottom: var(--space-3); padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); background: var(--color-emerald); color: var(--color-cream); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.private-events-principle p { max-width: 28rem; }
.private-events-occasions__heading { width: 50%; min-width: 0; }
.private-events-occasions__heading p { max-width: 38rem; }
.private-events-occasion-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.private-events-occasion-grid > * { min-width: 0; }
.private-events-occasion { min-height: 100%; border: 1px solid var(--color-line); padding: var(--space-6); background: var(--color-cream); }
.private-events-occasion--warm { background: var(--color-cream-warm); }
.private-events-occasion--emerald { border-color: var(--color-emerald); background: var(--color-emerald); color: var(--color-cream); }
.private-events-occasion .meta { margin-bottom: var(--space-3); }
.private-events-occasion--emerald .meta { color: var(--color-cream-warm); }
.private-events-occasion p { max-width: 40rem; }
.private-events-timeline__heading { width: 41.667%; min-width: 0; }
.private-events-timeline__heading p { max-width: 31rem; }
.private-events-timeline__list { display: grid; grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-7); }
.private-events-moment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-5); align-items: stretch; min-width: 0; }
.private-events-moment > * { min-width: 0; }
.private-events-moment__rail { position: relative; border-right: 1px solid rgb(242 233 216 / 45%); color: var(--color-cream-warm); font-family: var(--font-heading); font-size: 1.5rem; }
.private-events-moment__rail span { display: block; }
.private-events-moment__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--space-4); }
.private-events-moment__copy :is(h3, p) { margin: 0; }
.private-events-moment__copy p { max-width: 29rem; }
.private-events-moment__copy--emerald { order: 3; padding: var(--space-6); background: var(--color-emerald); }
.private-events-moment--reverse .private-events-moment__media { order: 2; }
.private-events-moment__copy--last { grid-column: 2 / 4; padding: var(--space-6); border: 1px solid rgb(242 233 216 / 32%); }
.private-events-moment__media { margin: 0; overflow: hidden; }
.private-events-moment__media img { width: 100%; height: 100%; min-height: 18rem; object-fit: cover; transition: transform var(--transition-base); }
.private-events-moment__media:hover img { transform: scale(1.02); }
.private-events-gastronomy__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: start; }
.private-events-gastronomy__grid > * { min-width: 0; }
.private-events-gastronomy__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.private-events-gastronomy__copy > :is(p, h2, div, a) { margin: 0; }
.private-events-gastronomy__copy h2 { max-width: 34rem; }
.private-events-gastronomy__layer { width: 100%; border-top: 1px solid var(--color-line); padding-top: var(--space-5); }
.private-events-gastronomy__layer p { max-width: 34rem; }
.private-events-gastronomy__layer ul { max-width: 18rem; margin-bottom: 0; }
.private-events-gastronomy__layer--warm { padding: var(--space-5); background: var(--color-cream-warm); }
.private-events-gastronomy__quote { margin-bottom: var(--space-3); font-family: var(--font-heading); font-size: 1.5rem; line-height: var(--leading-heading); }
.private-events-text-link, .private-events-poker__link { font-weight: 700; text-underline-offset: .22em; }
.private-events-gastronomy__media { margin: var(--space-8) 0 0; overflow: hidden; }
.private-events-gastronomy__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.private-events-poker__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: start; }
.private-events-poker__top > * { min-width: 0; }
.private-events-poker__narrative { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.private-events-poker__narrative :is(h2, p) { margin: 0; }
.private-events-poker__narrative h2 { max-width: 36rem; }
.private-events-poker__narrative .intro { max-width: 39rem; }
.private-events-poker__media { margin: 0; overflow: hidden; }
.private-events-poker__media img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.private-events-poker__rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.private-events-poker__rules > * { min-width: 0; }
.private-events-poker-rule { border-top: 1px solid rgb(242 233 216 / 52%); padding-top: var(--space-5); }
.private-events-poker-rule > span { display: block; margin-bottom: var(--space-4); color: var(--color-cream-warm); font-family: var(--font-heading); font-size: 1.75rem; }
.private-events-poker-rule p { max-width: 27rem; }
.private-events-poker__boundary { margin-top: var(--space-6); border-left: 3px solid var(--color-burgundy); padding: var(--space-5); background: var(--color-cream-warm); color: var(--color-ink); }
.private-events-poker__boundary a { color: var(--color-emerald); font-weight: 700; }
.private-events-gallery__heading { width: 50%; min-width: 0; }
.private-events-gallery__heading p { max-width: 39rem; }
.private-events-gallery__track { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.private-events-gallery__track > * { min-width: 0; }
.private-events-gallery-card { margin: 0; }
.private-events-gallery-card img { width: 100%; object-fit: cover; }
.private-events-gallery-card figcaption { max-width: 29rem; }
.private-events-gallery-card figcaption strong { display: block; margin-bottom: var(--space-2); color: var(--color-ink); font-family: var(--font-heading); font-size: var(--text-h4); line-height: var(--leading-heading-sm); }
.private-events-gallery-card--wide { grid-column: span 7; }
.private-events-gallery-card--wide img { aspect-ratio: 3 / 2; }
.private-events-gallery-card--detail { grid-column: span 5; }
.private-events-gallery-card--detail img { aspect-ratio: 1 / 1; }
.private-events-gallery-card--lounge { grid-column: span 12; }
.private-events-gallery-card--lounge img { aspect-ratio: 3 / 2; }
.private-events-process__heading { width: 50%; min-width: 0; }
.private-events-process__heading p { max-width: 35rem; }
.private-events-process__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.private-events-process__steps > * { min-width: 0; }
.private-events-step { border-top: 1px solid var(--color-line); padding-top: var(--space-5); }
.private-events-step > span { display: block; margin-bottom: var(--space-3); color: var(--color-burgundy); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.private-events-step p { max-width: 27rem; }
.private-events-process__note { margin-top: var(--space-6); padding: var(--space-5); background: var(--color-walnut-soft); color: var(--color-cream); }
.private-events-inquiry { scroll-margin-top: 6rem; }
.private-events-inquiry__heading { width: 58.333%; min-width: 0; }
.private-events-inquiry__heading p { max-width: 34rem; }
.private-events-inquiry__layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-6); align-items: start; margin-top: var(--space-7); }
.private-events-inquiry__layout > * { min-width: 0; }
.private-events-form { display: flex; flex-direction: column; gap: var(--space-5); padding: var(--space-6); background: var(--color-walnut-soft); box-shadow: var(--shadow-raised); }
.private-events-form__status:empty { display: none; }
.private-events-form__status { padding: var(--space-3); border-left: 3px solid var(--color-burgundy); background: rgb(118 47 53 / 30%); color: var(--color-white); }
.private-events-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.private-events-form__grid > * { min-width: 0; }
.private-events-field { display: flex; flex-direction: column; gap: var(--space-2); }
.private-events-field label, .private-events-form__radio legend { margin: 0; color: var(--color-cream); }
.private-events-field input, .private-events-field select, .private-events-field textarea { min-height: 3rem; border-color: rgb(242 233 216 / 52%); background: var(--color-cream); color: var(--color-ink); }
.private-events-field textarea { min-height: 9rem; }
.private-events-field--full, .private-events-form__radio { grid-column: 1 / -1; }
.private-events-field--consent label { font-weight: 400; }
.private-events-field--consent input { width: 1rem; min-height: 1rem; margin-right: var(--space-2); vertical-align: middle; }
.private-events-field__error { min-height: 1.25rem; color: var(--color-cream-warm); font-size: var(--text-meta); font-weight: 700; line-height: var(--leading-meta); }
.private-events-field input[aria-invalid="true"], .private-events-field textarea[aria-invalid="true"], .private-events-field--consent input[aria-invalid="true"] { border-color: var(--color-burgundy); outline: 2px solid var(--color-burgundy); outline-offset: 2px; }
.private-events-form__radio { margin: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.private-events-form__radio-options { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.private-events-form__radio-options > * { min-width: 0; }
.private-events-form__radio-options label { margin: 0; font-weight: 400; }
.private-events-form__radio-options input { width: 1rem; min-height: 1rem; margin-right: var(--space-1); vertical-align: middle; }
.private-events-form__poker-note { margin: 0; padding: var(--space-3); border-left: 2px solid var(--color-cream-warm); color: var(--color-cream-warm); font-size: var(--text-label); }
.private-events-contact { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); border: 1px solid rgb(242 233 216 / 40%); padding: var(--space-6); }
.private-events-contact :is(p, h3, address, a) { margin: 0; }
.private-events-contact p { max-width: 19rem; }
.private-events-contact > a { color: var(--color-cream-warm); font-weight: 700; }
.private-events-contact address { color: var(--color-cream-warm); font-size: var(--text-label); line-height: var(--leading-label); }
.private-events-faq__heading { width: 50%; min-width: 0; }
.private-events-faq__list { width: 66.667%; min-width: 0; margin-top: var(--space-7); border-top: 1px solid var(--color-line); }
.private-events-faq__item { border-bottom: 1px solid var(--color-line); }
.private-events-faq__item h3 { margin: 0; }
.private-events-faq__item button { width: 100%; min-height: 4rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); border: 0; background: transparent; padding: var(--space-4) 0; color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-body); font-weight: 700; line-height: var(--leading-label); text-align: left; }
.private-events-faq__item button span { flex: 0 0 2.75rem; width: 2.75rem; text-align: right; color: var(--color-burgundy); font-size: 1.5rem; }
.private-events-faq__answer { overflow: hidden; transition: max-height var(--transition-base), opacity var(--transition-base); }
.private-events-faq__answer p { max-width: 40rem; padding-bottom: var(--space-5); }
.private-events-faq__cta { margin-top: var(--space-6); }
@media (max-width: 61.24rem) { .private-events-hero { min-height: auto; grid-template-rows: auto auto; } .private-events-hero__image { grid-area: 1 / 1; height: min(62vw, 34rem); object-position: center; } .private-events-hero__overlay { grid-area: 1 / 1; background: linear-gradient(0deg, rgb(36 24 20 / 55%), transparent 65%); } .private-events-hero__container { grid-area: 2 / 1; width: 100%; padding: var(--space-6) var(--container-padding); background: var(--color-walnut); } .private-events-hero__note { margin-left: 0; } .private-events-manifest__heading, .private-events-occasions__heading, .private-events-timeline__heading, .private-events-process__heading, .private-events-inquiry__heading, .private-events-gallery__heading { width: 75%; } .private-events-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .private-events-principle:nth-child(3) { grid-column: 1 / -1; } .private-events-timeline__heading { width: 62.5%; } .private-events-moment { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .private-events-moment__rail { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid rgb(242 233 216 / 45%); padding-bottom: var(--space-2); } .private-events-moment__copy--emerald, .private-events-moment--reverse .private-events-moment__media { order: initial; } .private-events-moment__copy--last { grid-column: 1 / -1; } .private-events-gastronomy__grid, .private-events-poker__top { grid-template-columns: 1fr; } .private-events-gastronomy__media { order: -1; margin: 0; } .private-events-gastronomy__media img { aspect-ratio: 3 / 2; } .private-events-poker__media img { aspect-ratio: 3 / 2; } .private-events-poker__rules { grid-template-columns: repeat(2, minmax(0, 1fr)); } .private-events-poker-rule:nth-child(3) { grid-column: 1 / -1; } .private-events-gallery__track { grid-template-columns: repeat(8, minmax(0, 1fr)); } .private-events-gallery-card--wide { grid-column: span 8; } .private-events-gallery-card--detail, .private-events-gallery-card--lounge { grid-column: span 4; } .private-events-gallery-card--lounge img { aspect-ratio: 1 / 1; } .private-events-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .private-events-step:nth-child(3) { grid-column: 1 / -1; } .private-events-inquiry__layout { grid-template-columns: 1fr; } .private-events-faq__list { width: 100%; } }
@media (max-width: 56.24rem) { .private-events-occasion-grid { grid-template-columns: 1fr; } .private-events-inquiry__heading { width: 100%; } }
@media (max-width: 47.99rem) { .private-events-hero__image { height: 75vw; min-height: 18rem; } .private-events-hero__container { gap: var(--space-5); padding-block: var(--space-5); } .private-events-hero__content { width: 100%; } .private-events-hero h1 { max-width: 11ch; font-size: clamp(2.9rem, 12vw, 3.25rem); } .private-events-hero__lead { font-size: 1.0625rem; } .private-events-hero__actions { width: 100%; flex-direction: column; } .private-events-hero__actions .button { width: 100%; } .private-events-hero__note { width: 100%; } .private-events-manifest__heading, .private-events-occasions__heading, .private-events-timeline__heading, .private-events-process__heading, .private-events-gallery__heading { width: 100%; } .private-events-manifest h2, .private-events-occasions h2, .private-events-gastronomy h2, .private-events-gallery h2, .private-events-process h2, .private-events-faq h2 { font-size: clamp(2.125rem, 10vw, 2.4rem); } .private-events-poker h2, .private-events-inquiry h2, .private-events-timeline h2 { font-size: clamp(2.25rem, 10.5vw, 2.6rem); } .private-events-principles, .private-events-poker__rules, .private-events-process__steps { grid-template-columns: 1fr; gap: var(--space-5); } .private-events-principle:nth-child(3), .private-events-poker-rule:nth-child(3), .private-events-step:nth-child(3) { grid-column: auto; } .private-events-occasion { padding: var(--space-5); } .private-events-timeline__list { gap: var(--space-5); } .private-events-moment { grid-template-columns: 1fr; gap: var(--space-4); } .private-events-moment__rail { grid-column: auto; } .private-events-moment__copy, .private-events-moment__copy--emerald, .private-events-moment__media { grid-column: auto; order: initial; } .private-events-moment__copy--last { grid-column: auto; padding: var(--space-5); } .private-events-moment__media img { min-height: 0; aspect-ratio: 3 / 2; } .private-events-gastronomy__grid { gap: var(--space-6); } .private-events-gastronomy__layer--warm { padding: var(--space-5); } .private-events-poker__top { gap: var(--space-6); } .private-events-poker__boundary { padding: var(--space-4); } .private-events-gallery__track { display: flex; width: calc(100% + var(--container-padding)); margin-right: calc(-1 * var(--container-padding)); overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--space-4); padding-right: var(--container-padding); } .private-events-gallery-card { flex: 0 0 min(82vw, 20rem); scroll-snap-align: start; } .private-events-gallery-card--wide img, .private-events-gallery-card--detail img, .private-events-gallery-card--lounge img { aspect-ratio: 4 / 5; } .private-events-gallery-card--wide img { aspect-ratio: 3 / 2; } .private-events-process__note { padding: var(--space-5); } .private-events-form { padding: var(--space-5); } .private-events-form__grid { grid-template-columns: 1fr; } .private-events-field--full, .private-events-form__radio { grid-column: auto; } .private-events-form__radio-options { flex-direction: column; gap: var(--space-2); } .private-events-contact { padding: var(--space-5); } .private-events-faq__cta { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .private-events-moment__media img, .private-events-faq__answer { transition: none; } .private-events-moment__media:hover img { transform: none; } }