.private-events-page { overflow: clip; }
.private-events-page section { scroll-margin-top: 6rem; }
.private-events-page .button { min-height: 3rem; }
.pe-hero__grid, .pe-space__top, .pe-casino__top, .pe-form-section__inner { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; }
.pe-hero__grid > *, .pe-space__top > *, .pe-casino__top > *, .pe-form-section__inner > * { min-width: 0; }
.pe-room-marker { grid-column: 1 / 2; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: .25rem; padding-top: .5rem; border-top: var(--border-default); }
.pe-room-marker strong { font-family: var(--font-heading); font-size: clamp(3rem, 6vw, 5.5rem); line-height: .86; letter-spacing: var(--tracking-heading); }
.pe-room-marker > span:last-child { font-size: var(--font-size-meta); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.pe-hero__copy { grid-column: 1 / 8; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.pe-hero__copy .eyebrow, .pe-hero__copy h1, .pe-hero__copy p { margin: 0; }
.pe-hero__copy h1 { max-width: 19ch; font-size: clamp(3rem, 6.2vw, 5.5rem); line-height: .94; }
.pe-hero__copy .lead { max-width: 56ch; }
.pe-hero__figure { grid-column: 8 / 13; align-self: end; width: 100%; margin: var(--space-9) 0 0; }
.pe-hero__figure img, .pe-space__figure img, .pe-casino__figure img, .pe-perspective__visual img { width: 100%; max-width: 100%; object-fit: cover; }
.pe-hero__figure img { aspect-ratio: 4 / 3; }
.pe-hero__figure figcaption, .pe-space__figure figcaption, .pe-casino__figure figcaption, .pe-perspective__visual figcaption { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); padding-top: var(--space-3); border-top: var(--border-default); }
.pe-hero__figure figcaption span, .pe-space__figure figcaption span, .pe-casino__figure figcaption span, .pe-perspective__visual figcaption span { font-size: var(--font-size-meta); font-weight: var(--font-weight-medium); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.pe-section-intro, .pe-process__intro, .pe-rhythm__intro, .pe-services__intro { width: 100%; max-width: 62ch; }
.pe-occasions__grid { display: grid; min-width: 0; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.pe-occasions__grid > * { min-width: 0; }
.pe-occasion { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border-top: var(--border-default); }
.pe-occasion > * { margin: 0; }
.pe-occasion h3 { max-width: 16ch; }
.pe-occasion p:not(.pe-module-number) { max-width: 44ch; }
.pe-occasion--white { grid-column: span 5; background: var(--surface-paper); }
.pe-occasion--greige { grid-column: 7 / 12; background: var(--surface-muted); }
.pe-occasion--vermilion .pe-module-number { color: var(--color-vermilion); }
.pe-occasion--axis { grid-column: 7 / 12; padding-left: calc(var(--space-6) + var(--space-3)); border-left: 2px solid var(--color-ultramarine); }
.pe-module-number, .pe-service-number, .pe-roman { font-family: var(--font-heading); font-weight: var(--font-weight-extrabold); letter-spacing: var(--tracking-heading); line-height: 1; }
.pe-module-number { font-size: 2rem; color: var(--color-ultramarine); }
.pe-process__steps { position: relative; display: grid; min-width: 0; grid-template-columns: 3fr 4fr 3fr; gap: var(--space-6); margin-top: var(--space-8); padding-top: var(--space-5); }
.pe-process__steps::before { position: absolute; top: 0; right: 0; left: 0; height: 1px; background: var(--color-border); content: ""; }
.pe-process__steps > * { min-width: 0; }
.pe-process__step { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.pe-process__step > * { margin: 0; }
.pe-process__step p:not(.label):not(.pe-material-notes) { max-width: 46ch; }
.pe-process__step--concrete { padding: var(--space-5); background: var(--surface-concrete); }
.pe-material-notes { font-size: var(--font-size-meta); font-weight: var(--font-weight-medium); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.pe-process__link { margin-top: var(--space-6); }
.pe-space__top > div { grid-column: 1 / 6; }
.pe-space__figure { grid-column: 6 / 13; width: 100%; margin: 0; }
.pe-space__figure img { aspect-ratio: 4 / 3; }
.pe-space__details { display: grid; min-width: 0; grid-template-columns: 4fr 4fr 3fr; gap: var(--space-6); margin-top: var(--space-7); }
.pe-space__details > * { min-width: 0; }
.pe-space__details article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.pe-space__details article > * { margin: 0; }
.pe-space__details article p:not(.label):not(.pe-material-notes):not(.pe-space__quote) { max-width: 50ch; }
.pe-space__installation { padding: var(--space-5); background: var(--surface-muted); }
.pe-space__quote { font-family: var(--font-heading); font-size: 1.25rem; font-weight: var(--font-weight-bold); line-height: 1.2; letter-spacing: var(--tracking-heading); }
.pe-space__link { margin-top: var(--space-6); }
.pe-rhythm__intro { max-width: 60ch; }
.pe-rhythm__line { height: 1px; margin-top: var(--space-8); background: var(--color-border); }
.pe-rhythm__grid { display: grid; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: calc(-1 * var(--space-5)); }
.pe-rhythm__grid > * { min-width: 0; }
.pe-rhythm__grid article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); background: var(--surface-page); }
.pe-rhythm__grid article:nth-child(even) { margin-top: var(--space-7); }
.pe-rhythm__grid article > * { margin: 0; }
.pe-rhythm__grid h3 { font-size: 1.4rem; }
.pe-rhythm__grid p:not(.pe-roman):not(.pe-rhythm__closing) { max-width: 38ch; }
.pe-rhythm__concrete { background: var(--surface-concrete) !important; }
.pe-rhythm__greige { background: var(--surface-muted) !important; }
.pe-roman { font-size: 3rem; color: var(--color-ultramarine); }
.pe-roman--vermilion { color: var(--color-vermilion); }
.pe-rhythm__closing { font-family: var(--font-heading); font-weight: var(--font-weight-bold); letter-spacing: var(--tracking-heading); }
.pe-casino { padding-block: clamp(var(--space-9), 10vw, var(--space-11)); }
.pe-room-marker--dark { border-color: var(--color-border-on-dark); }
.pe-casino__copy { grid-column: 1 / 6; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.pe-casino__copy > * { margin: 0; }
.pe-casino__copy h2 { max-width: 13ch; }
.pe-casino__copy .lead { max-width: 56ch; }
.pe-casino__figure { grid-column: 7 / 13; width: 100%; margin: 0; }
.pe-casino__figure img { aspect-ratio: 3 / 4; }
.pe-casino__figure figcaption { border-color: var(--color-border-on-dark); color: var(--color-paper); }
.pe-casino__details { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.pe-casino__details > * { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: var(--border-dark); }
.pe-casino__details article > * { margin: 0; }
.pe-casino__details p:not(.label) { max-width: 44ch; }
.pe-casino__notice { width: 100%; max-width: 60ch; margin: var(--space-7) 0 0; padding-top: var(--space-4); border-top: var(--border-dark); font-size: var(--font-size-label); line-height: var(--line-height-label); }
.pe-services__list { margin-top: var(--space-8); border-top: var(--border-default); }
.pe-services__list article { display: grid; min-width: 0; grid-template-columns: 1fr 3fr 5fr 2fr; gap: var(--space-5); align-items: start; padding: var(--space-5) 0; border-bottom: var(--border-default); }
.pe-services__list article > * { min-width: 0; margin: 0; }
.pe-services__list article:nth-child(even) { padding-inline: var(--space-4); background: var(--surface-concrete); }
.pe-service-number { color: var(--color-ultramarine); font-size: 1.5rem; }
.pe-services__list h3 { font-size: 1.25rem; }
.pe-services__list article > p:nth-of-type(2) { max-width: 50ch; }
.pe-services__list .label { justify-self: end; text-align: right; }
.pe-services__link { margin-top: var(--space-6); }
.pe-perspective__grid { position: relative; display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
.pe-perspective__grid > * { min-width: 0; }
.pe-perspective__visual { position: relative; z-index: 1; grid-column: 1 / 7; }
.pe-editorial-number { position: absolute; z-index: -1; top: -3rem; left: -1rem; margin: 0; color: var(--surface-concrete); font-family: var(--font-heading); font-size: clamp(5rem, 14vw, 11rem); font-weight: var(--font-weight-extrabold); letter-spacing: -.08em; line-height: .86; }
.pe-perspective__visual h2 { max-width: 12ch; }
.pe-perspective__visual figure { width: 100%; margin: var(--space-6) 0 0; }
.pe-perspective__visual img { aspect-ratio: 3 / 4; }
.pe-perspective__texts { grid-column: 8 / 12; display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-8); padding-top: var(--space-10); }
.pe-perspective__texts article { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.pe-perspective__texts article > * { margin: 0; }
.pe-perspective__texts h3 { max-width: 16ch; }
.pe-perspective__texts p { max-width: 50ch; }
.pe-perspective__closing { padding: var(--space-5); border-top: 2px solid var(--color-vermilion); background: var(--surface-concrete); }
.pe-invitation__copy { width: 100%; max-width: 55ch; margin-left: 8.333%; }
.pe-invitation__copy h2 { max-width: 15ch; }
.pe-invitation__copy > .cluster { margin-top: var(--space-5); }
.pe-invitation__prompts { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); width: 58.333%; margin-top: var(--space-8); margin-left: 8.333%; }
.pe-invitation__prompts > * { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); margin: 0; padding-top: var(--space-3); border-top: var(--border-default); }
.pe-invitation__prompts strong { font-family: var(--font-heading); letter-spacing: var(--tracking-heading); }
.pe-form-section__intro { grid-column: 1 / 5; }
.pe-form-section__intro p { max-width: 56ch; }
.pe-contact-form { grid-column: 6 / 12; display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-4); padding: var(--space-6); background: var(--surface-paper); border: var(--border-default); }
.pe-contact-form > * { min-width: 0; margin: 0; }
.pe-field { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
.pe-field label { margin: 0; }
.pe-field input, .pe-field textarea { border-radius: var(--radius-sm); }
.pe-contact-form [aria-invalid="true"] { border-color: var(--color-vermilion); border-width: 2px; }
.pe-error { display: none; margin: 0; color: #a62e18; font-size: var(--font-size-label); line-height: var(--line-height-label); }
.pe-error.is-visible { display: block; }
.pe-consent { display: grid; min-width: 0; grid-template-columns: 1.25rem minmax(0, 1fr); column-gap: var(--space-3); row-gap: var(--space-2); align-items: start; }
.pe-consent > * { min-width: 0; margin: 0; }
.pe-consent input { margin-top: .1rem; }
.pe-consent label { margin: 0; font-weight: var(--font-weight-regular); }
.pe-consent .pe-error { grid-column: 2; }
.pe-form-status { min-height: 0; }
.pe-form-status.is-error { padding: var(--space-3); border-left: 2px solid var(--color-vermilion); background: #f5d8d0; }
@media (max-width: 68.75rem) { .pe-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } .pe-hero__copy { grid-column: 1 / 6; } .pe-hero__figure { grid-column: 6 / 9; margin-top: var(--space-7); } .pe-space__top, .pe-casino__top { grid-template-columns: repeat(8, minmax(0, 1fr)); } .pe-space__top > div { grid-column: 1 / 5; } .pe-space__figure { grid-column: 5 / 9; } .pe-casino__copy { grid-column: 1 / 5; } .pe-casino__figure { grid-column: 5 / 9; } .pe-perspective__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } .pe-perspective__visual { grid-column: 1 / 5; } .pe-perspective__texts { grid-column: 5 / 9; padding-top: var(--space-8); } }
@media (max-width: 65.625rem) { .pe-process__steps { grid-template-columns: 1fr; gap: var(--space-6); padding-left: var(--space-5); } .pe-process__steps::before { top: 0; bottom: 0; left: 0; width: 1px; height: auto; } .pe-process__step { width: 100%; } .pe-process__step p:not(.label):not(.pe-material-notes) { max-width: 62ch; } .pe-casino__top { grid-template-columns: 1fr; } .pe-casino__copy, .pe-casino__figure { grid-column: 1; } .pe-casino__figure { max-width: 42rem; margin-top: var(--space-2); } }
@media (max-width: 62.5rem) { .pe-occasions__grid { grid-template-columns: 1fr; } .pe-occasion--white, .pe-occasion--greige, .pe-occasion--axis { grid-column: 1; } .pe-occasion--axis { background: var(--surface-paper); } .pe-rhythm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pe-rhythm__grid article:nth-child(even) { margin-top: var(--space-6); } .pe-services__list article { grid-template-columns: 1fr 3fr 5fr; } .pe-services__list .label { grid-column: 2 / 4; justify-self: start; text-align: left; } .pe-form-section__inner { grid-template-columns: 1fr; } .pe-form-section__intro, .pe-contact-form { grid-column: 1; } .pe-contact-form { max-width: 44rem; } }
@media (max-width: 56.25rem) { .pe-hero__grid, .pe-space__top { grid-template-columns: 1fr; } .pe-room-marker, .pe-hero__copy, .pe-hero__figure, .pe-space__top > div, .pe-space__figure { grid-column: 1; } .pe-hero__figure { max-width: 42rem; margin-top: var(--space-2); } .pe-space__figure { margin-top: var(--space-5); } .pe-space__details { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pe-space__details article:last-child { grid-column: 1 / 3; } .pe-perspective__grid { grid-template-columns: 1fr; } .pe-perspective__visual, .pe-perspective__texts { grid-column: 1; } .pe-perspective__texts { max-width: 44rem; padding-top: var(--space-6); } .pe-invitation__copy, .pe-invitation__prompts { width: 100%; margin-left: 0; } }
@media (max-width: 43.75rem) { .private-events-page .button { width: 100%; min-height: 2.75rem; } .pe-hero__copy h1 { font-size: clamp(2.5rem, 11vw, 3.25rem); } .pe-hero__copy .lead { max-width: none; } .pe-room-marker { flex-direction: row; align-items: baseline; gap: var(--space-2); padding-top: 0; border-top: 0; } .pe-room-marker strong { font-size: 3rem; } .pe-room-marker .label { order: 2; } .pe-room-marker > span:last-child { order: 3; } .pe-section-intro, .pe-process__intro, .pe-rhythm__intro, .pe-services__intro { max-width: none; } .pe-occasion { padding: var(--space-5); } .pe-space__details { grid-template-columns: 1fr; gap: var(--space-5); } .pe-space__details article:last-child { grid-column: 1; } .pe-rhythm__line { display: none; } .pe-rhythm__grid { grid-template-columns: 1fr; margin-top: var(--space-6); padding-left: var(--space-5); border-left: var(--border-default); } .pe-rhythm__grid article, .pe-rhythm__grid article:nth-child(even) { margin-top: 0; padding: var(--space-4); } .pe-casino__details { grid-template-columns: 1fr; gap: var(--space-4); margin-top: var(--space-6); } .pe-services__list article { grid-template-columns: 1fr; gap: var(--space-3); padding: var(--space-5) 0; } .pe-services__list article:nth-child(even) { padding-inline: var(--space-4); } .pe-services__list .label { grid-column: 1; } .pe-perspective__visual h2 { max-width: 15ch; } .pe-editorial-number { position: static; margin-bottom: var(--space-3); font-size: clamp(3.5rem, 18vw, 4.5rem); } .pe-perspective__texts { gap: var(--space-6); } .pe-invitation__prompts { grid-template-columns: 1fr; margin-top: var(--space-6); } .pe-contact-form { padding: var(--space-5); } }
