.private-events-page { overflow: hidden; }
.private-events-page .section { position: relative; }
.private-events-page .pe-hero { padding-top: clamp(3rem, 7vw, 7rem); }
.private-events-page .pe-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: start; gap: var(--space-6); }
.private-events-page .pe-hero__copy { grid-column: 1 / span 1; min-width: 0; max-width: 35rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.private-events-page .pe-hero__copy > * { margin: 0; min-width: 0; }
.private-events-page .pe-hero__copy .eyebrow::after { content: ""; display: inline-block; width: 3rem; height: 1px; margin-left: var(--space-3); vertical-align: middle; background: var(--color-subtle-copper); }
.private-events-page .pe-hero h1 { font-size: clamp(2rem, 5.4vw, 4rem); }
.private-events-page .pe-hero__reassurance { width: 100%; padding: var(--space-4); border-left: 3px solid var(--color-muted-teal); background: var(--color-deep-navy); color: var(--color-warm-white); }
.private-events-page .pe-hero__reassurance p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-compact); }
.private-events-page .pe-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); width: 100%; min-width: 0; }
.private-events-page .pe-text-link { font-weight: var(--weight-semibold); }
.private-events-page .pe-hero__media { grid-column: 3 / span 1; width: 100%; min-width: 0; margin: var(--space-6) 0 0; aspect-ratio: 16 / 9; }
.private-events-page .pe-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.private-events-page .pe-occasions__intro { width: min(100%, 38.75rem); min-width: 0; }
.private-events-page .pe-occasion-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto; gap: var(--space-5); margin-top: var(--space-7); }
.private-events-page .pe-occasion-card { min-width: 0; padding: var(--space-5); border: var(--border-subtle); border-radius: var(--radius-sm); background: var(--surface-raised); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.private-events-page .pe-occasion-card > * { margin: 0; min-width: 0; }
.private-events-page .pe-occasion-card p:not(.pe-card-label) { line-height: var(--leading-body); }
.private-events-page .pe-occasion-card a { margin-top: auto; font-size: var(--text-sm); font-weight: var(--weight-semibold); }
.private-events-page .pe-card-label { color: var(--color-subtle-copper); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
.private-events-page .pe-occasion-card--dinner { border-top: 3px solid var(--color-muted-teal); }
.private-events-page .pe-occasion-card--small { background: linear-gradient(to bottom, var(--color-pale-sand) 0 3rem, var(--surface-raised) 3rem); }
.private-events-page .pe-occasion-card--lounge { border-color: transparent; }
.private-events-page .pe-formats__intro { width: min(100%, 36.25rem); min-width: 0; }
.private-events-page .pe-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); align-items: start; }
.private-events-page .pe-format-panel { min-width: 0; padding: var(--space-5); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-raised); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.private-events-page .pe-format-panel > * { margin: 0; min-width: 0; }
.private-events-page .pe-format-panel > span, .private-events-page .pe-process-step > span, .private-events-page .pe-brief__prompts span { color: var(--color-subtle-copper); font-family: var(--font-heading); font-size: 2.25rem; line-height: 1; }
.private-events-page .pe-format-panel--teal { margin-top: var(--space-5); border-color: var(--color-muted-teal); background: var(--color-muted-teal); color: var(--color-warm-white); }
.private-events-page .pe-format-panel--teal > span { color: var(--color-copper-pale); }
.private-events-page .pe-format-panel--teal h3 { color: var(--color-warm-white); }
.private-events-page .pe-format-panel--teal p { color: var(--color-warm-white); }
.private-events-page .pe-format-panel a { margin-top: auto; font-weight: var(--weight-semibold); }
.private-events-page .pe-planning-note, .private-events-page .pe-comfort__note { width: min(100%, 32.5rem); min-width: 0; margin-top: var(--space-5); padding: var(--space-4); border-left: 2px solid var(--color-subtle-copper); background: var(--color-copper-pale); font-size: var(--text-sm); line-height: var(--leading-compact); }
.private-events-page .pe-atmosphere__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr); gap: var(--space-6); align-items: center; }
.private-events-page .pe-atmosphere__media { grid-column: 1 / span 1; width: 100%; min-width: 0; aspect-ratio: 3 / 2; margin: 0; }
.private-events-page .pe-atmosphere__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); }
.private-events-page .pe-atmosphere__media figcaption { padding: 0 var(--space-3); }
.private-events-page .pe-atmosphere__copy { grid-column: 3 / span 1; width: 100%; min-width: 0; max-width: 30rem; margin-top: var(--space-5); }
.private-events-page .pe-atmosphere__copy .pe-text-link { display: inline-block; }
.private-events-page .pe-comfort__intro { width: min(100%, 37.5rem); min-width: 0; }
.private-events-page .pe-comfort__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.private-events-page .pe-comfort-card { min-width: 0; padding: var(--space-5); border: var(--border-subtle); border-radius: var(--radius-sm); background: var(--surface-raised); }
.private-events-page .pe-comfort-card--dark { border-color: transparent; }
.private-events-page .pe-comfort-card--dark::before { content: ""; display: block; width: 3rem; height: 2px; margin-bottom: var(--space-4); background: var(--color-muted-teal); }
.private-events-page .pe-process__intro { width: min(100%, 35rem); min-width: 0; }
.private-events-page .pe-process__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); position: relative; }
.private-events-page .pe-process__grid::before { content: ""; position: absolute; top: 1.4rem; left: 0; right: 0; height: 1px; background: rgb(32 37 34 / 28%); }
.private-events-page .pe-process-step { position: relative; min-width: 0; padding: 0 var(--space-3) 0 0; background: var(--color-pale-sand); }
.private-events-page .pe-process-step > span { position: relative; display: inline-block; padding-right: var(--space-2); background: var(--color-pale-sand); }
.private-events-page .pe-process-step--final { padding: var(--space-4); border-radius: var(--radius-sm); background: var(--color-deep-navy); }
.private-events-page .pe-process-step--final > span { background: var(--color-deep-navy); color: var(--color-copper-pale); }
.private-events-page .pe-process__note { width: min(100%, 38.75rem); margin: var(--space-5) 0 0; font-size: var(--text-sm); line-height: var(--leading-compact); }
.private-events-page .pe-faq__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 8fr); gap: var(--space-6); align-items: start; }
.private-events-page .pe-faq__intro { grid-column: 1 / span 1; width: 100%; min-width: 0; max-width: 18.75rem; }
.private-events-page .pe-faq__content { grid-column: 3 / span 1; width: 100%; min-width: 0; max-width: 47.5rem; display: flex; flex-direction: column; gap: var(--space-5); }
.private-events-page .pe-accordion { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; min-width: 0; }
.private-events-page .pe-accordion__item { min-width: 0; border: var(--border-subtle); border-radius: var(--radius-sm); background: var(--surface-raised); overflow: hidden; }
.private-events-page .pe-accordion__item button { width: 100%; min-width: 0; min-height: 2.75rem; padding: var(--space-3) var(--space-4); border: 0; border-radius: 0; background: transparent; color: var(--color-charcoal-ink); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); font-size: var(--text-base); text-align: left; }
.private-events-page .pe-accordion__item button:hover { background: var(--color-pale-sand); color: var(--color-charcoal-ink); }
.private-events-page .pe-accordion__item button span { flex: 0 0 auto; font-size: 1.5rem; line-height: 1; }
.private-events-page .pe-accordion__item > div { width: min(100%, 38.75rem); min-width: 0; padding: 0 var(--space-4) var(--space-4); }
.private-events-page .pe-accordion__item > div p { margin: 0; }
.private-events-page .pe-faq__clarification { width: 100%; min-width: 0; padding: var(--space-4); border-left: 3px solid var(--color-muted-teal); font-size: var(--text-sm); font-weight: var(--weight-semibold); line-height: var(--leading-compact); }
.private-events-page .pe-brief__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-7); align-items: start; }
.private-events-page .pe-brief__intro { grid-column: 1 / span 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.private-events-page .pe-brief__intro > * { margin: 0; min-width: 0; }
.private-events-page .pe-brief__intro > p:not(.eyebrow):not(.pe-brief__support) { max-width: 32.5rem; }
.private-events-page .pe-brief__support { max-width: 22.5rem; font-size: var(--text-sm); }
.private-events-page .pe-brief__prompts { grid-column: 2 / span 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.private-events-page .pe-brief__prompts article { min-width: 0; }
.private-events-page .pe-brief__prompts h3 { color: var(--color-warm-white); }
.private-events-page .pe-brief__prompts span { color: var(--color-copper-pale); }
.private-events-page .pe-enquiry__intro { width: min(100%, 36.25rem); min-width: 0; }
.private-events-page .pe-enquiry-form { width: min(100%, 57.5rem); min-width: 0; margin: var(--space-7) 0 0; padding: clamp(var(--space-4), 4vw, var(--space-6)); }
.private-events-page .pe-enquiry-form { display: flex; flex-direction: column; gap: var(--space-6); }
.private-events-page .pe-fieldset { min-width: 0; padding: 0 0 var(--space-6); border-bottom: 1px solid var(--color-soft-grey); }
.private-events-page .pe-fieldset:last-of-type { padding-bottom: 0; border-bottom: 0; }
.private-events-page .pe-fieldset legend { margin-bottom: var(--space-3); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: var(--weight-medium); }
.private-events-page .pe-fields { display: grid; min-width: 0; gap: var(--space-4); margin-top: var(--space-4); }
.private-events-page .pe-fields > div { min-width: 0; }
.private-events-page .pe-fields--event { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.private-events-page .pe-fields--event > :first-child { grid-column: span 2; }
.private-events-page .pe-fields__wide { grid-column: 1 / -1; }
.private-events-page .pe-fields--single { grid-template-columns: minmax(0, 1fr); }
.private-events-page .pe-fields--contact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.private-events-page .pe-form-offline { width: min(100%, 40rem); min-width: 0; margin-top: var(--space-4); padding: var(--space-4); border-left: 3px solid var(--color-muted-teal); background: var(--color-deep-navy); color: var(--color-warm-white); font-size: var(--text-sm); line-height: var(--leading-compact); }
.private-events-page .pe-consent { display: flex; align-items: flex-start; gap: var(--space-3); min-width: 0; margin-top: var(--space-5); }
.private-events-page .pe-consent input { flex: 0 0 auto; margin-top: .2rem; }
.private-events-page .pe-consent label { min-width: 0; margin: 0; font-weight: var(--weight-regular); }
.private-events-page .pe-form-submit { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
.private-events-page .pe-form-submit > * { margin: 0; }
.private-events-page .pe-form-summary { padding: var(--space-4); border-left: 3px solid var(--color-error); background: #fff4f1; color: var(--color-error); font-weight: var(--weight-semibold); }
.private-events-page .pe-form-success { padding: var(--space-4); border-left: 3px solid var(--color-muted-teal); background: #edf6f3; color: var(--color-teal-deep); font-weight: var(--weight-semibold); }
.private-events-page .pe-closing__panel { width: min(100%, 62.5rem); min-width: 0; margin-left: auto; margin-right: auto; padding: clamp(var(--space-5), 5vw, var(--space-7)); border-left: 3px solid var(--color-subtle-copper); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-6); align-items: end; }
.private-events-page .pe-closing__panel > * { min-width: 0; }
.private-events-page .pe-closing__panel > div { max-width: 33.75rem; }
.private-events-page .pe-closing__statement { color: var(--color-warm-white); font-weight: var(--weight-semibold); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .private-events-page .pe-atmosphere__media:hover img { transform: scale(1.015); } }
@media (max-width: 63.9375rem) { .private-events-page .pe-occasion-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .private-events-page .pe-format-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .private-events-page .pe-format-panel--teal { margin-top: 0; } .private-events-page .pe-format-grid > :last-child { grid-column: 1 / -1; } .private-events-page .pe-comfort__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .private-events-page .pe-comfort__grid > :last-child { grid-column: 1 / -1; } .private-events-page .pe-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-6); } .private-events-page .pe-process__grid::before { display: none; } .private-events-page .pe-brief__grid { grid-template-columns: minmax(0, 1fr); } .private-events-page .pe-brief__intro, .private-events-page .pe-brief__prompts { grid-column: 1; } }
@media (max-width: 58.75rem) { .private-events-page .pe-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .private-events-page .pe-hero__copy, .private-events-page .pe-hero__media { grid-column: 1; } .private-events-page .pe-hero__media { margin: 0; } .private-events-page .pe-faq__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .private-events-page .pe-faq__intro, .private-events-page .pe-faq__content { grid-column: 1; max-width: 47.5rem; } }
@media (max-width: 54.9375rem) { .private-events-page .pe-atmosphere__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .private-events-page .pe-atmosphere__media, .private-events-page .pe-atmosphere__copy { grid-column: 1; max-width: none; margin: 0; } .private-events-page .pe-fields--event { grid-template-columns: repeat(2, minmax(0, 1fr)); } .private-events-page .pe-fields--contact { grid-template-columns: repeat(2, minmax(0, 1fr)); } .private-events-page .pe-fields--contact > :last-child { grid-column: 1 / -1; } }
@media (max-width: 44.9375rem) { .private-events-page .section { padding-block: clamp(2.5rem, 10vw, 3.5rem); } .private-events-page .pe-hero h1, .private-events-page h2 { font-size: clamp(2rem, 9vw, 2.75rem); } .private-events-page .pe-hero__actions { flex-direction: column; align-items: stretch; } .private-events-page .pe-hero__actions .button { width: 100%; } .private-events-page .pe-hero__actions .pe-text-link { align-self: flex-start; } .private-events-page .pe-occasion-grid, .private-events-page .pe-format-grid, .private-events-page .pe-comfort__grid, .private-events-page .pe-process__grid, .private-events-page .pe-brief__prompts { grid-template-columns: minmax(0, 1fr); } .private-events-page .pe-format-grid > :last-child, .private-events-page .pe-comfort__grid > :last-child { grid-column: 1; } .private-events-page .pe-occasion-grid, .private-events-page .pe-format-grid, .private-events-page .pe-comfort__grid, .private-events-page .pe-process__grid { margin-top: var(--space-6); } .private-events-page .pe-process-step { padding: 0; } .private-events-page .pe-process-step--final { padding: var(--space-4); } .private-events-page .pe-brief__grid { gap: var(--space-6); } .private-events-page .pe-brief__intro .button { width: 100%; } .private-events-page .pe-enquiry-form { margin-top: var(--space-6); } .private-events-page .pe-fields--event, .private-events-page .pe-fields--contact { grid-template-columns: minmax(0, 1fr); } .private-events-page .pe-fields--event > :first-child, .private-events-page .pe-fields--contact > :last-child { grid-column: 1; } .private-events-page .pe-closing__panel { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .private-events-page .pe-closing__panel .button { width: 100%; } }
