.privat-events-page { overflow: clip; }
.privat-events-page .container { width: min(100% - (2 * var(--container-padding)), var(--container-max)); }
.pe-hero { padding-block: var(--space-24); }
.pe-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: center; min-width: 0; }
.pe-hero__panel { grid-column: 1 / span 6; min-width: 0; max-width: 590px; border: var(--border-default); border-radius: var(--radius-lg); background: var(--color-porcelain-white); padding: var(--space-8); }
.pe-hero__panel h1 { max-width: 470px; }
.pe-hero__lead { max-width: 510px; font-size: var(--font-size-body-l); }
.pe-hero__actions { display: flex; min-width: 0; margin-top: var(--space-6); }
.pe-hero__media { grid-column: 7 / span 6; width: 100%; min-width: 0; margin: var(--space-8) 0 0; overflow: hidden; border-radius: var(--radius-lg); }
.pe-hero__media img, .pe-hospitality__media img, .pe-program-card__image img { width: 100%; height: 100%; object-fit: cover; }
.pe-hero__media img { aspect-ratio: 3 / 4; }
.pe-reveal { clip-path: inset(0 0 100% 0); transition: clip-path var(--transition-reveal); }
.pe-reveal.is-visible { clip-path: inset(0); }
.pe-occasions__intro { max-width: 530px; }
.pe-occasion-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; min-width: 0; }
.pe-occasion-card { display: flex; flex-direction: column; align-items: flex-start; width: 100%; min-width: 0; min-height: 230px; border: var(--border-default); border-radius: var(--radius-md); background: var(--color-porcelain-white); padding: var(--space-6); color: var(--color-text); text-align: left; transition: transform var(--transition-fast), border-color var(--transition-fast); }
.pe-occasion-card:hover, .pe-occasion-card:focus-visible, .pe-occasion-card.is-active { border-color: var(--color-border-strong); transform: translateY(-4px); }
.pe-occasion-card > span, .pe-scene-list span, .pe-process__steps > article > span, .pe-route-card > span { color: var(--color-cobalt-blue); font-size: var(--font-size-label); font-weight: 700; letter-spacing: var(--tracking-label); }
.pe-occasion-card:hover > span, .pe-occasion-card.is-active > span { color: var(--color-coral); }
.pe-occasion-card h3 { margin-top: var(--space-4); margin-bottom: var(--space-3); font-size: var(--font-size-heading-s); }
.pe-occasion-card p { margin: 0; font-size: var(--font-size-body-s); }
.pe-occasion-card--warm { background: var(--color-sandstone); transform: translateY(24px); }
.pe-inspiration { min-height: 2.5rem; margin-top: var(--space-12); color: var(--color-cobalt-blue); font-family: var(--font-heading); font-size: var(--font-size-heading-s); }
.pe-programs__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; min-width: 0; }
.pe-programs__intro { grid-column: 1 / span 5; min-width: 0; max-width: 470px; }
.pe-program-card { display: flex; flex-direction: column; min-width: 0; padding: 0; overflow: hidden; }
.pe-program-card--poker { grid-column: 6 / span 3; }
.pe-program-card--roulette { grid-column: 9 / span 4; }
.pe-program-card--blackjack { grid-column: 6 / span 7; background: var(--color-sandstone); }
.pe-program-card__image { width: 100%; min-width: 0; overflow: hidden; }
.pe-program-card__image img { aspect-ratio: 4 / 3; }
.pe-program-card__content { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); padding: var(--space-6); }
.pe-program-card__content .eyebrow, .pe-program-card__content h3, .pe-program-card__content p { margin: 0; }
.pe-program-card__content h3 { font-size: var(--font-size-heading-s); }
.pe-custom__intro { max-width: 580px; margin-inline: auto; text-align: center; }
.pe-filter-row { display: flex; justify-content: center; gap: var(--space-3); min-width: 0; margin-bottom: var(--space-12); }
.pe-filter { min-height: 44px; min-width: 0; border: 1px solid var(--color-cobalt-blue); border-radius: var(--radius-pill); background: transparent; padding: 0.65rem 1rem; color: var(--color-cobalt-blue); font-size: var(--font-size-body-s); font-weight: 700; }
.pe-filter.is-active, .pe-filter:hover { background: var(--color-cobalt-blue); color: var(--color-white); }
.pe-module-group { scroll-margin-top: var(--space-16); margin-bottom: var(--space-12); }
.pe-module-group > h3 { margin-bottom: var(--space-6); }
.pe-module-grid { display: grid; gap: 24px; min-width: 0; }
.pe-module-grid--space { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pe-module-grid--interaction { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pe-module-grid--atmosphere { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pe-module { min-width: 0; border: var(--border-default); border-radius: var(--radius-md); background: rgb(247 245 239 / 72%); padding: var(--space-6); }
.pe-module--coral { background: var(--color-coral); }
.pe-module h4 { margin-top: var(--space-4); margin-bottom: var(--space-3); }
.pe-module p { margin: 0; font-size: var(--font-size-body-s); }
.pe-swatch { width: 100%; height: 52px; border-radius: var(--radius-sm); border: 1px solid rgb(36 87 197 / 16%); }
.pe-swatch--palette { background: linear-gradient(90deg, #f7f5ef 0 35%, #d8c3a5 35% 68%, #a7b19a 68%); }
.pe-swatch--decor { background: repeating-linear-gradient(90deg, #f7f5ef 0 12px, #d8c3a5 12px 24px); }
.pe-swatch--flowers { background: radial-gradient(circle at 25% 50%, #f47c68 0 11px, transparent 12px), radial-gradient(circle at 55% 45%, #f7f5ef 0 15px, transparent 16px), #a7b19a; }
.pe-swatch--table, .pe-swatch--roulette, .pe-swatch--blackjack { background-color: #f7f5ef; background-image: linear-gradient(#2457c5 1px, transparent 1px), linear-gradient(90deg, #2457c5 1px, transparent 1px); background-size: 18px 18px; }
.pe-swatch--cocktails { background: linear-gradient(110deg, #f47c68 0 40%, #f7f5ef 40% 65%, #2457c5 65%); }
.pe-swatch--light { background: radial-gradient(circle at center, #f7f5ef, #d8c3a5 48%, #58677c); }
.pe-swatch--music { background: repeating-linear-gradient(90deg, #2457c5 0 3px, transparent 3px 12px), #a7b19a; }
.pe-swatch--lounge { background: linear-gradient(135deg, #d8c3a5 0 45%, #f7f5ef 45% 65%, #a7b19a 65%); }
.pe-hospitality__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: start; min-width: 0; }
.pe-hospitality__media { grid-column: 1 / span 5; width: 100%; min-width: 0; overflow: hidden; border-radius: var(--radius-md); }
.pe-hospitality__media img { aspect-ratio: 3 / 4; }
.pe-hospitality__copy { grid-column: 7 / span 5; min-width: 0; max-width: 480px; margin-top: var(--space-12); }
.pe-moment-list { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.pe-moment-list > div { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--space-3); min-width: 0; border-bottom: var(--border-default); padding-bottom: var(--space-4); }
.pe-moment-list span { color: var(--color-cobalt-blue); font-size: var(--font-size-label); font-weight: 700; }
.pe-moment-list h3, .pe-moment-list p { margin: 0; }
.pe-moment-list h3 { font-size: var(--font-size-heading-s); }
.pe-moment-list p { margin-top: var(--space-2); font-size: var(--font-size-body-s); }
.pe-process__intro { max-width: 430px; }
.pe-process__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; min-width: 0; margin-top: var(--space-12); border-top: 2px solid var(--color-cobalt-blue); }
.pe-process__steps > article { min-width: 0; padding-top: var(--space-6); }
.pe-process__steps > article:nth-child(even) { transform: translateY(24px); }
.pe-process__steps h3 { margin-top: var(--space-4); margin-bottom: var(--space-3); font-size: var(--font-size-heading-s); }
.pe-process__steps p { margin: 0; font-size: var(--font-size-body-s); }
.pe-text-link { display: inline-block; margin-top: var(--space-12); color: var(--color-cobalt-blue); font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }
.pe-text-link:hover { border-bottom-width: 2px; }
.pe-guests__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; min-width: 0; }
.pe-guests__intro { grid-column: 1 / span 7; min-width: 0; max-width: 680px; }
.pe-scene-list { grid-column: 9 / span 4; display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.pe-scene-list article { min-width: 0; border-bottom: var(--border-default); padding-bottom: var(--space-4); }
.pe-scene-list h3 { margin-top: var(--space-3); margin-bottom: var(--space-2); font-size: var(--font-size-heading-s); }
.pe-scene-list p { margin: 0; font-size: var(--font-size-body-s); }
.pe-routes__intro { max-width: 500px; }
.pe-route-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; min-width: 0; }
.pe-route-card { grid-column: 6 / span 5; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; border: var(--border-default); border-radius: var(--radius-md); background: var(--color-porcelain-white); padding: var(--space-8); color: var(--color-text); text-decoration: none; transition: transform var(--transition-fast), border-color var(--transition-fast); }
.pe-route-card:nth-child(2) { grid-column: 3 / span 5; background: rgb(184 201 234 / 34%); }
.pe-route-card:hover { border-color: var(--color-border-strong); transform: translateY(-4px); }
.pe-route-card h3 { margin-top: var(--space-4); margin-bottom: var(--space-3); }
.pe-route-card p { margin-bottom: var(--space-6); }
.pe-route-card strong { color: var(--color-cobalt-blue); border-bottom: 1px solid currentColor; }
.pe-trust__intro { max-width: 620px; margin-inline: auto; text-align: center; }
.pe-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; min-width: 0; }
.pe-trust-grid .card { min-width: 0; }
.pe-trust-grid h3 { font-size: var(--font-size-heading-s); }
.pe-trust-grid p { font-size: var(--font-size-body-s); }
.pe-trust-card--accent { border-top: 3px solid var(--color-coral); transform: translateY(20px); }
.pe-trust-card__meta { color: var(--color-cobalt-blue); font-size: var(--font-size-label) !important; font-weight: 700; letter-spacing: var(--tracking-label); line-height: 1.5; text-transform: uppercase; }
.pe-final { padding-block: var(--space-32); }
.pe-final__inner { display: flex; flex-direction: column; align-items: center; min-width: 0; text-align: center; }
.pe-final__inner h2 { max-width: 850px; margin-bottom: var(--space-6); }
.pe-final__inner > p:not(.eyebrow) { max-width: 560px; font-size: var(--font-size-body-l); }
.pe-final__inner .button { margin-top: var(--space-2); }

@media (max-width: 63.99rem) {
  .pe-hero__grid, .pe-programs__grid, .pe-hospitality__grid, .pe-guests__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 20px; }
  .pe-hero__panel { grid-column: 1 / span 4; padding: var(--space-6); }
  .pe-hero__media { grid-column: 5 / span 4; margin-top: var(--space-4); }
  .pe-occasion-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .pe-occasion-card--warm { transform: translateY(12px); }
  .pe-programs__intro { grid-column: 1 / -1; max-width: 620px; }
  .pe-program-card--poker { grid-column: 1 / span 4; }
  .pe-program-card--roulette { grid-column: 5 / span 4; }
  .pe-program-card--blackjack { grid-column: 1 / -1; }
  .pe-module-grid--space, .pe-module-grid--interaction, .pe-module-grid--atmosphere { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .pe-hospitality__media { grid-column: 1 / span 3; }
  .pe-hospitality__copy { grid-column: 4 / span 5; margin-top: 0; }
  .pe-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-process__steps > article:nth-child(even) { transform: none; }
  .pe-guests__intro { grid-column: 1 / -1; }
  .pe-scene-list { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .pe-route-card, .pe-route-card:nth-child(2) { grid-column: 1 / -1; }
  .pe-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .pe-trust-card--accent { transform: none; }
}

@media (max-width: 47.99rem) {
  .pe-hero { padding-top: var(--space-12); }
  .pe-hero__grid, .pe-programs__grid, .pe-hospitality__grid, .pe-guests__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .pe-hero__media { grid-column: 1; grid-row: 1; margin: 0; border-radius: var(--radius-md); }
  .pe-hero__panel { grid-column: 1; grid-row: 2; max-width: none; border-radius: var(--radius-md); padding: var(--space-6); }
  .pe-hero__panel h1 { font-size: 2.625rem; }
  .pe-hero__lead { max-width: none; font-size: 1.125rem; }
  .pe-hero__actions, .pe-hero__actions .button { width: 100%; }
  .pe-occasion-grid, .pe-module-grid--space, .pe-module-grid--interaction, .pe-module-grid--atmosphere, .pe-process__steps, .pe-trust-grid, .pe-scene-list { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .pe-occasion-card--warm { transform: translateX(12px); width: calc(100% - 12px); }
  .pe-inspiration { margin-top: var(--space-8); }
  .pe-programs__intro, .pe-program-card--poker, .pe-program-card--roulette, .pe-program-card--blackjack, .pe-hospitality__media, .pe-hospitality__copy, .pe-guests__intro, .pe-scene-list { grid-column: 1; }
  .pe-program-card__content { padding: var(--space-6); }
  .pe-custom__intro, .pe-trust__intro { margin-inline: 0; text-align: left; }
  .pe-filter-row { justify-content: flex-start; overflow-x: auto; padding-bottom: var(--space-2); }
  .pe-filter { flex: 0 0 auto; }
  .pe-module-group { margin-bottom: var(--space-8); }
  .pe-hospitality__copy { max-width: none; }
  .pe-hospitality__media { margin: 0; }
  .pe-process__steps { margin-top: var(--space-8); border-top: 0; border-left: 2px solid var(--color-cobalt-blue); padding-left: var(--space-6); }
  .pe-process__steps > article { padding-top: 0; }
  .pe-text-link { margin-top: var(--space-8); }
  .pe-route-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .pe-route-card, .pe-route-card:nth-child(2) { grid-column: 1; padding: var(--space-6); }
  .pe-final { padding-block: 5rem; }
  .pe-final__inner { align-items: stretch; }
  .pe-final__inner h2 { font-size: 2.25rem; }
  .pe-final__inner > p:not(.eyebrow) { max-width: none; font-size: 1.125rem; }
  .pe-final__inner .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .pe-reveal { clip-path: none; }
  .pe-occasion-card--warm, .pe-trust-card--accent, .pe-process__steps > article:nth-child(even) { transform: none; }
}