main.home-page {
  background: var(--color-obsidian);
}

.home-page .home-hero {
  position: relative;
  display: grid;
  min-height: 45rem;
  overflow: hidden;
  background: var(--color-obsidian);
}

.home-page .home-hero__media,
.home-page .home-hero__shade {
  grid-area: 1 / 1;
}

.home-page .home-hero__media {
  width: 100%;
  height: 100%;
}

.home-page .home-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center left;
}

.home-page .home-hero__shade {
  background: var(--overlay-cinematic);
}

.home-page .home-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-area: 1 / 1;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  min-width: 0;
  margin-inline: auto;
  padding-block: var(--space-10);
  align-items: center;
}

.home-page .home-hero__copy {
  grid-column: 1 / span 6;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 35rem;
  gap: var(--space-5);
  align-items: flex-start;
}

.home-page .home-hero__copy > * {
  min-width: 0;
  margin: 0;
}

.home-page .home-hero__copy h1 {
  max-width: 10.5ch;
}

.home-page .home-hero__lead {
  max-width: 34rem;
  color: var(--color-ivory);
  font-size: var(--text-lead);
  line-height: var(--line-lead);
}

.home-page .home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  gap: var(--space-3);
}

.home-page .home-hero__actions > * {
  width: auto;
  min-width: 0;
}

.home-page .home-facts {
  padding-block: clamp(2.5rem, 5vw, 3.5rem);
  background: var(--color-olive-teal);
  border-block: var(--border-champagne);
}

.home-page .home-facts__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-5);
  margin: 0;
  padding: 0;
}

.home-page .home-facts__item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-2);
}

.home-page .home-facts__item:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: calc(var(--space-5) / -2 - 2px);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-champagne);
  content: "";
}

.home-page .home-facts__value {
  color: var(--color-ivory);
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.35;
}

.home-page .home-section__intro {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
}

.home-page .home-section__intro > * {
  min-width: 0;
  margin: 0;
}

.home-page .home-section__intro .lead {
  margin-top: var(--space-2);
}

.home-page .home-formats__intro {
  width: min(100%, 38.75rem);
}

.home-page .home-formats__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: var(--space-8);
  align-items: start;
}

.home-page .format-module {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  padding: var(--space-5) 0;
  border-top: var(--border-copper);
  gap: var(--space-4);
}

.home-page .format-module > * {
  min-width: 0;
  margin: 0;
}

.home-page .format-module--private { grid-column: 1 / span 4; }
.home-page .format-module--corporate {
  grid-column: 5 / span 4;
  margin-top: var(--space-8);
  padding: var(--space-5);
  border: 0;
  background: var(--color-olive-teal);
}
.home-page .format-module--theme { grid-column: 9 / span 4; }

.home-page .format-module p {
  max-width: 39rem;
}

.home-page .text-link {
  display: inline-block;
  align-self: flex-start;
  color: var(--color-ivory);
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-decoration-color: var(--color-copper);
}

.home-page .home-entertainment {
  background: var(--color-aubergine);
}

.home-page .entertainment-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: center;
}

.home-page .entertainment-layout__media {
  grid-column: 1 / span 7;
  min-width: 0;
  margin: 0;
}

.home-page .entertainment-layout__frame {
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.home-page .entertainment-layout__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-page .entertainment-layout__media figcaption {
  max-width: 100%;
}

.home-page .entertainment-layout__copy {
  grid-column: 9 / span 4;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 29.375rem;
  gap: var(--space-4);
}

.home-page .entertainment-layout__copy > * {
  min-width: 0;
  margin: 0;
}

.home-page .entertainment-layout__copy .lead {
  max-width: 29.375rem;
}

.home-page .entertainment-layout__support {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: var(--border-copper);
}

.home-page .entertainment-layout__support > * {
  margin: 0;
}

.home-page .entertainment-layout__copy .button {
  align-self: flex-start;
  width: auto;
}

.home-page .home-process__intro {
  width: min(100%, 36.875rem);
}

.home-page .process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: var(--space-8);
  border-top: var(--border-champagne);
}

.home-page .process-step {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-5);
  gap: var(--space-3);
}

.home-page .process-step:not(:first-child) {
  border-left: var(--border-champagne);
}

.home-page .process-step > * {
  min-width: 0;
  margin: 0;
}

.home-page .process-step p {
  font-size: 0.93rem;
}

.home-page .process-link {
  margin-top: var(--space-6);
}

.home-page .home-corporate {
  background: var(--color-olive-teal);
}

.home-page .corporate-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: center;
}

.home-page .corporate-layout__copy {
  grid-column: 1 / span 5;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 35rem;
  gap: var(--space-4);
}

.home-page .corporate-layout__copy > * {
  min-width: 0;
  margin: 0;
}

.home-page .corporate-layout__meta {
  color: var(--color-highlight);
  font-size: var(--text-eyebrow);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.home-page .corporate-layout__inset {
  display: flex;
  flex-direction: column;
  max-width: 27.5rem;
  padding: var(--space-5);
  border-top: var(--border-copper);
  background: rgba(8, 9, 12, 0.28);
  gap: var(--space-3);
}

.home-page .corporate-layout__inset > * { margin: 0; }

.home-page .corporate-layout__media {
  grid-column: 8 / span 5;
  width: 100%;
  min-width: 0;
  max-width: 28.75rem;
  margin: 0;
  justify-self: end;
}

.home-page .corporate-layout__frame {
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.home-page .corporate-layout__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-page .home-evenings__intro {
  width: min(100%, 37.5rem);
}

.home-page .evening-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: var(--space-8);
  align-items: start;
}

.home-page .evening-dossier {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  padding: var(--space-5);
  gap: var(--space-3);
}

.home-page .evening-dossier > * { min-width: 0; margin: 0; }
.home-page .evening-dossier p { font-size: 0.94rem; }
.home-page .evening-dossier--private { grid-column: 1 / span 5; border-top: var(--border-copper); background: var(--color-aubergine); }
.home-page .evening-dossier--gala { grid-column: 7 / span 3; margin-top: var(--space-7); background: var(--color-plum); }
.home-page .evening-dossier--theme { grid-column: 10 / span 3; border-top: var(--border-copper); background: rgba(33, 19, 31, 0.65); }

.home-page .evening-action {
  margin-top: var(--space-6);
}

.home-page .home-cta {
  background: var(--color-garnet);
}

.home-page .home-cta__block {
  display: flex;
  flex-direction: column;
  grid-column: 3 / span 7;
  width: min(100%, 40rem);
  min-width: 0;
  gap: var(--space-4);
}

.home-page .home-cta__block > * { min-width: 0; margin: 0; }

.home-page .home-cta__rule {
  width: 100%;
  height: 1px;
  background: var(--color-copper);
}

.home-page .home-cta__block .button {
  align-self: flex-start;
  width: auto;
  margin-top: var(--space-2);
}

.home-page .home-faq__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
}

.home-page .home-faq__intro {
  grid-column: 1 / span 4;
  max-width: 26.875rem;
}

.home-page .faq-list {
  grid-column: 6 / span 6;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  max-width: 39.375rem;
  gap: var(--space-5);
}

.home-page .faq-entry {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: var(--space-5) 0;
  border-top: var(--border-champagne);
  gap: var(--space-3);
}

.home-page .faq-entry > * { min-width: 0; margin: 0; }
.home-page .faq-entry--inset { padding: var(--space-5); border-top: 0; background: var(--color-plum); }
.home-page .faq-entry--offline { border-top-color: var(--color-copper); }

.home-page .home-philosophy__panel {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  padding: var(--space-8);
  border-top: var(--border-champagne);
  background: var(--color-plum);
}

.home-page .home-philosophy__statement {
  grid-column: 1 / span 7;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 45rem;
  gap: var(--space-4);
}

.home-page .home-philosophy__statement > * { margin: 0; }
.home-page .home-philosophy__statement h2 { font-size: clamp(2.8rem, 5vw, 5.4rem); }

.home-page .principles-list {
  grid-column: 9 / span 4;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  max-width: 24.375rem;
  gap: var(--space-4);
}

.home-page .principle {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: var(--space-3);
  border-top: var(--border-champagne);
  gap: var(--space-2);
}

.home-page .principle > * { margin: 0; }
.home-page .principle p { font-size: 0.9rem; }
.home-page .principles-list .button { width: auto; justify-self: start; }

.home-page .home-inquiry {
  background: var(--color-aubergine);
}

.home-page .home-inquiry__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
}

.home-page .home-inquiry__intro {
  grid-column: 1 / span 5;
  max-width: 32.5rem;
}

.home-page .inquiry-form {
  grid-column: 7 / span 5;
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 35rem;
  gap: var(--space-4);
}

.home-page .inquiry-form > * { min-width: 0; margin: 0; }

.home-page .inquiry-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.home-page .inquiry-form__row > * { min-width: 0; }

.home-page .inquiry-form textarea { min-height: 9.375rem; }

.home-page .inquiry-form__offline-note {
  display: flex;
  flex-direction: column;
  padding-top: var(--space-4);
  border-top: var(--border-copper);
  gap: var(--space-2);
}

.home-page .inquiry-form__offline-note > * { margin: 0; }
.home-page .inquiry-form__offline-note p { font-size: var(--text-small); }
.home-page .inquiry-form .button { align-self: flex-start; width: auto; }
.home-page .form-field.has-error input,
.home-page .form-field.has-error textarea { border-color: var(--color-highlight); box-shadow: inset 0 0 0 1px var(--color-highlight); }
.home-page .form-status { min-height: 1.5rem; color: var(--color-highlight); font-size: var(--text-small); }

.home-page [data-reveal] {
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 500ms ease-out, transform 500ms ease-out;
}

.home-page [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 940px) {
  .home-page .home-hero { min-height: auto; }
  .home-page .home-hero__inner { grid-template-columns: repeat(8, minmax(0, 1fr)); padding-block: var(--space-9); }
  .home-page .home-hero__copy { grid-column: 1 / span 6; }
  .home-page .home-facts__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .home-facts__item:not(:last-child)::after { display: none; }
  .home-page .home-facts__item { padding: var(--space-3) 0; border-bottom: var(--border-champagne); }
  .home-page .home-facts__item:last-child { grid-column: 1 / span 2; }
  .home-page .home-formats__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-page .format-module--private { grid-column: 1 / span 4; }
  .home-page .format-module--corporate { grid-column: 5 / span 4; margin-top: 0; }
  .home-page .format-module--theme { grid-column: 1 / span 8; }
  .home-page .entertainment-layout,
  .home-page .corporate-layout,
  .home-page .home-faq__layout,
  .home-page .home-inquiry__layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-page .entertainment-layout__media { grid-column: 1 / span 5; }
  .home-page .entertainment-layout__copy { grid-column: 6 / span 3; }
  .home-page .corporate-layout__copy { grid-column: 1 / span 5; }
  .home-page .corporate-layout__media { grid-column: 6 / span 3; }
  .home-page .evening-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-page .evening-dossier--private { grid-column: 1 / span 4; }
  .home-page .evening-dossier--gala { grid-column: 5 / span 4; margin-top: 0; }
  .home-page .evening-dossier--theme { grid-column: 1 / span 8; }
  .home-page .home-cta__block { grid-column: 2 / span 6; }
  .home-page .home-faq__intro { grid-column: 1 / span 8; max-width: 34rem; }
  .home-page .faq-list { grid-column: 1 / span 6; }
  .home-page .home-philosophy__panel { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-page .home-philosophy__statement { grid-column: 1 / span 5; }
  .home-page .principles-list { grid-column: 6 / span 3; }
  .home-page .home-inquiry__intro { grid-column: 1 / span 5; }
  .home-page .inquiry-form { grid-column: 6 / span 3; }
  .home-page .inquiry-form__row { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 820px) {
  .home-page .entertainment-layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-page .entertainment-layout__copy { grid-column: 1 / span 5; order: 1; max-width: 31rem; }
  .home-page .entertainment-layout__media { grid-column: 1 / span 8; order: 2; }
  .home-page .corporate-layout__copy { grid-column: 1 / span 5; }
  .home-page .corporate-layout__media { grid-column: 6 / span 3; }
  .home-page .home-faq__layout { gap: var(--space-6); }
  .home-page .faq-list { grid-column: 1 / span 8; }
}

@media (max-width: 720px) {
  .home-page .home-hero { display: flex; flex-direction: column; }
  .home-page .home-hero__media { order: 2; height: auto; aspect-ratio: 16 / 10; }
  .home-page .home-hero__shade { display: none; }
  .home-page .home-hero__inner { display: flex; order: 1; width: min(100% - (var(--gutter) * 2), var(--container-max)); padding-block: var(--space-8) var(--space-6); }
  .home-page .home-hero__copy { max-width: 100%; }
  .home-page .home-hero__copy h1 { max-width: 12ch; font-size: clamp(3.1rem, 13vw, 4.75rem); line-height: 0.98; }
  .home-page .home-hero__lead { max-width: 38ch; }
  .home-page .home-hero__media img { object-position: center; }
  .home-page .home-formats__grid,
  .home-page .entertainment-layout,
  .home-page .corporate-layout,
  .home-page .evening-grid,
  .home-page .home-faq__layout,
  .home-page .home-philosophy__panel,
  .home-page .home-inquiry__layout { grid-template-columns: minmax(0, 1fr); }
  .home-page .format-module--private,
  .home-page .format-module--corporate,
  .home-page .format-module--theme,
  .home-page .entertainment-layout__copy,
  .home-page .entertainment-layout__media,
  .home-page .corporate-layout__copy,
  .home-page .corporate-layout__media,
  .home-page .evening-dossier--private,
  .home-page .evening-dossier--gala,
  .home-page .evening-dossier--theme,
  .home-page .home-faq__intro,
  .home-page .faq-list,
  .home-page .home-philosophy__statement,
  .home-page .principles-list,
  .home-page .home-inquiry__intro,
  .home-page .inquiry-form { grid-column: 1; max-width: 100%; }
  .home-page .format-module { padding-inline: var(--space-5); background: rgba(33, 19, 31, 0.65); }
  .home-page .format-module--corporate { background: var(--color-olive-teal); }
  .home-page .entertainment-layout__copy { order: 1; }
  .home-page .entertainment-layout__media { order: 2; }
  .home-page .corporate-layout__media { justify-self: start; width: min(100%, 32.5rem); }
  .home-page .corporate-layout__copy { order: 1; }
  .home-page .corporate-layout__media { order: 2; }
  .home-page .corporate-layout__inset { max-width: 100%; }
  .home-page .home-cta__block { grid-column: 1; width: 100%; }
  .home-page .home-philosophy__panel { padding: var(--space-5); }
  .home-page .principles-list { gap: var(--space-3); }
  .home-page .inquiry-form { margin-top: var(--space-6); }
}

@media (max-width: 620px) {
  .home-page .home-facts__list,
  .home-page .process-grid { grid-template-columns: minmax(0, 1fr); }
  .home-page .home-facts__item:last-child { grid-column: 1; }
  .home-page .process-step { padding-inline: 0; }
  .home-page .process-step:not(:first-child) { border-top: var(--border-champagne); border-left: 0; }
  .home-page .home-hero__actions { flex-direction: column; align-items: stretch; width: 100%; }
  .home-page .home-hero__actions > * { width: 100%; }
  .home-page .home-cta__block .button,
  .home-page .entertainment-layout__copy .button,
  .home-page .inquiry-form .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page [data-reveal],
  .home-page [data-reveal].is-visible { opacity: 1; transform: none; transition: none; }
}
