.celebrations-page {
  overflow: hidden;
}

.celebrations-page .celebrations-hero__grid,
.celebrations-page .celebrations-formats__grid,
.celebrations-page .celebrations-casino__grid,
.celebrations-page .celebrations-conversation__grid,
.celebrations-page .celebrations-inquiry__panel {
  display: grid;
  min-width: 0;
}

.celebrations-page .celebrations-hero {
  padding-block: clamp(var(--space-8), 10vw, var(--space-11));
}

.celebrations-page .celebrations-hero__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: end;
  min-height: 47.5rem;
}

.celebrations-page .celebrations-hero__copy {
  grid-column: 2 / span 6;
  min-width: 0;
  max-width: 56.25rem;
  padding-block: var(--space-6);
}

.celebrations-page .celebrations-hero__copy h1 {
  max-width: 17ch;
  text-transform: uppercase;
}

.celebrations-page .celebrations-hero__lead {
  max-width: 33rem;
  color: rgba(232, 227, 216, 0.9);
  font-size: var(--text-lg);
}

.celebrations-page .celebrations-hero__media {
  grid-column: 8 / -1;
  width: 100%;
  min-width: 0;
  height: min(43rem, 58vw);
  margin: 0;
}

.celebrations-page .celebrations-hero__media img {
  object-position: 72% center;
}

.celebrations-page .celebrations-terms {
  border-block: 1px solid var(--color-aluminium);
}

.celebrations-page .celebrations-terms__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
}

.celebrations-page .celebrations-ticker {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border-block: 1px solid rgba(36, 26, 43, 0.28);
  white-space: nowrap;
}

.celebrations-page .celebrations-ticker__track {
  display: inline-block;
  min-width: max-content;
  padding-block: var(--space-3);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: var(--tracking-wide);
  line-height: 1.2;
  animation: celebrations-ticker 42s linear infinite;
}

.celebrations-page .celebrations-ticker:hover .celebrations-ticker__track,
.celebrations-page .celebrations-ticker:focus .celebrations-ticker__track {
  animation-play-state: paused;
}

.celebrations-page .celebrations-terms__note {
  width: 100%;
  max-width: 32.5rem;
  margin: 0;
  margin-left: calc((100% - 10 * (100% - 11 * var(--space-5)) / 12) + var(--space-5));
}

.celebrations-page .celebrations-scenario__intro {
  width: 100%;
  max-width: 42.5rem;
  margin-left: calc((100% - 10 * (100% - 11 * var(--space-5)) / 12) + var(--space-5));
}

.celebrations-page .celebrations-scenario__intro p:last-child {
  max-width: 40rem;
}

.celebrations-page .celebrations-scenario__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-8);
}

.celebrations-page .celebrations-decision {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-6);
  border-inline-start: 1px solid var(--color-aluminium);
  background: rgba(244, 241, 234, 0.45);
  transition: border-color var(--transition-fast);
}

.celebrations-page .celebrations-decision:hover {
  border-color: var(--color-azure);
}

.celebrations-page .celebrations-decision > * { margin: 0; }
.celebrations-page .celebrations-decision--one { grid-column: 1 / span 3; }
.celebrations-page .celebrations-decision--two { grid-column: 5 / span 4; margin-top: var(--space-7); background: var(--color-aubergine); color: var(--color-stone); }
.celebrations-page .celebrations-decision--three { grid-column: 10 / span 3; margin-top: var(--space-4); }
.celebrations-page .celebrations-decision__number,
.celebrations-page .celebrations-zone__number,
.celebrations-page .celebrations-principle__number {
  color: var(--color-paprika);
  font-family: var(--font-heading);
  font-size: var(--text-h2);
  font-weight: 700;
  letter-spacing: var(--tracking-heading);
  line-height: 0.86;
}

.celebrations-page .celebrations-decision--two .celebrations-decision__number { color: var(--color-pistachio); }

.celebrations-page .celebrations-formats {
  background: var(--color-stone-clean);
}

.celebrations-page .celebrations-formats__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.celebrations-page .celebrations-formats__intro { grid-column: 2 / span 4; min-width: 0; }
.celebrations-page .celebrations-formats__intro > p:last-child { max-width: 35rem; }

.celebrations-page .celebrations-formats__cards {
  display: grid;
  grid-column: 6 / -1;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.celebrations-page .celebrations-format {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border-subtle);
}

.celebrations-page .celebrations-format > * { margin: 0; }
.celebrations-page .celebrations-format--dinner { grid-column: 1 / span 3; }
.celebrations-page .celebrations-format--cocktail { grid-column: 4 / span 3; }
.celebrations-page .celebrations-format--theme { grid-column: 1 / span 3; background: var(--color-aubergine); color: var(--color-stone); }
.celebrations-page .celebrations-format--casino { grid-column: 3 / span 4; background: var(--color-table-green); color: var(--color-stone); }
.celebrations-page .celebrations-format--casino .label { color: var(--color-pistachio); }

.celebrations-page .celebrations-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.celebrations-page .celebrations-space__media {
  position: relative;
  width: 100%;
  height: clamp(24rem, 35vw, 31.25rem);
  margin: 0;
}

.celebrations-page .celebrations-space__media img { object-position: center; }

.celebrations-page .celebrations-space__hotspots {
  position: absolute;
  inset: 0;
}

.celebrations-page .celebrations-space__hotspots a {
  position: absolute;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid var(--color-stone);
  border-radius: 50%;
  background: var(--color-paprika);
  color: var(--color-stone);
  font-size: var(--text-xs);
  font-weight: 700;
  text-decoration: none;
}

.celebrations-page .celebrations-space__hotspots a:nth-child(1) { top: 29%; left: 15%; }
.celebrations-page .celebrations-space__hotspots a:nth-child(2) { top: 48%; left: 50%; }
.celebrations-page .celebrations-space__hotspots a:nth-child(3) { top: 31%; right: 17%; }

.celebrations-page .celebrations-space__heading {
  width: 100%;
  max-width: 37.5rem;
  margin-top: var(--space-8);
  margin-left: calc((100% - 10 * (100% - 11 * var(--space-5)) / 12) + var(--space-5));
}

.celebrations-page .celebrations-space__zones {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.celebrations-page .celebrations-zone { min-width: 0; border-top: 1px solid var(--color-aluminium); padding-top: var(--space-4); }
.celebrations-page .celebrations-zone__number { display: block; font-size: var(--text-h3); margin-bottom: var(--space-3); }
.celebrations-page .celebrations-zone:nth-child(1) { grid-column: 2 / span 3; }
.celebrations-page .celebrations-zone:nth-child(2) { grid-column: 5 / span 3; }
.celebrations-page .celebrations-zone:nth-child(3) { grid-column: 9 / span 3; }

.celebrations-page .celebrations-casino__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.celebrations-page .celebrations-casino__copy { grid-column: 1 / span 5; min-width: 0; }
.celebrations-page .celebrations-casino__copy > p:last-child { max-width: 33.75rem; }
.celebrations-page .celebrations-casino__copy .eyebrow { color: var(--color-pistachio); }
.celebrations-page .celebrations-casino__media { grid-column: 7 / -1; width: 100%; height: min(39rem, 52vw); margin: var(--space-7) 0 0; }
.celebrations-page .celebrations-casino__media img { object-position: center; }

.celebrations-page .celebrations-casino__principles {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin-top: var(--space-7);
}

.celebrations-page .celebrations-principle {
  min-width: 0;
  border-top: 1px solid rgba(232, 227, 216, 0.4);
  padding-top: var(--space-4);
}

.celebrations-page .celebrations-principle:nth-child(1) { grid-column: 1 / span 4; }
.celebrations-page .celebrations-principle:nth-child(2) { grid-column: 6 / span 3; }
.celebrations-page .celebrations-principle:nth-child(3) { grid-column: 10 / span 3; }
.celebrations-page .celebrations-principle__number { display: block; color: var(--color-pistachio); font-size: var(--text-h3); margin-bottom: var(--space-3); }

.celebrations-page .celebrations-gallery__intro {
  width: 100%;
  max-width: 40rem;
  margin-left: calc((100% - 10 * (100% - 11 * var(--space-5)) / 12) + var(--space-5));
}

.celebrations-page .celebrations-gallery__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
  min-width: 0;
  margin-top: var(--space-8);
}

.celebrations-page .celebrations-gallery-card { min-width: 0; }
.celebrations-page .celebrations-gallery-card .media-frame { width: 100%; margin: 0; }
.celebrations-page .celebrations-gallery-card--dinner { grid-column: 1 / span 3; }
.celebrations-page .celebrations-gallery-card--loft { grid-column: 5 / span 5; margin-top: var(--space-7); }
.celebrations-page .celebrations-gallery-card--activity { grid-column: 10 / span 3; }
.celebrations-page .celebrations-gallery-card--dinner .media-frame { height: 28rem; }
.celebrations-page .celebrations-gallery-card--loft .media-frame { height: 32rem; }
.celebrations-page .celebrations-gallery-card--activity .media-frame { height: 20rem; }
.celebrations-page .celebrations-gallery-card__copy { max-width: 22.5rem; margin-top: var(--space-4); }
.celebrations-page .celebrations-gallery-card__copy .label { color: var(--color-aubergine-muted); }

.celebrations-page .celebrations-process { background: var(--color-stone-clean); }
.celebrations-page .celebrations-process__intro {
  width: 100%;
  max-width: 33.75rem;
  margin-left: calc((100% - 10 * (100% - 11 * var(--space-5)) / 12) + var(--space-5));
}

.celebrations-page .celebrations-process__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  margin: var(--space-8) 0 0;
  padding: 0;
  list-style: none;
}

.celebrations-page .celebrations-process-step {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  min-width: 0;
  border-top: 1px solid var(--color-aluminium);
  padding-top: var(--space-4);
}

.celebrations-page .celebrations-process-step:not(:last-child)::after {
  position: absolute;
  top: -1px;
  left: 100%;
  width: var(--space-5);
  height: 1px;
  background: var(--color-aluminium);
  content: "";
}

.celebrations-page .celebrations-process-step > span {
  color: var(--color-paprika);
  font-family: var(--font-heading);
  font-size: var(--text-h3);
  font-weight: 700;
  letter-spacing: var(--tracking-heading);
  line-height: 0.86;
}

.celebrations-page .celebrations-process-step h3 { font-size: var(--text-xl); }
.celebrations-page .celebrations-process__link { margin-top: var(--space-6); }

.celebrations-page .celebrations-conversation__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.celebrations-page .celebrations-conversation__primary { grid-column: 2 / span 5; min-width: 0; }
.celebrations-page .celebrations-conversation__primary h2 { max-width: 14ch; }
.celebrations-page .celebrations-conversation__primary > p:last-child { max-width: 38.75rem; }
.celebrations-page .celebrations-conversation__secondary { grid-column: 8 / span 4; min-width: 0; margin-top: var(--space-9); }
.celebrations-page .celebrations-conversation__secondary > p { max-width: 26.25rem; }

.celebrations-page .celebrations-inquiry__heading {
  width: 100%;
  max-width: 32.5rem;
  margin-left: calc((100% - 10 * (100% - 11 * var(--space-5)) / 12) + var(--space-5));
}

.celebrations-page .celebrations-inquiry__panel {
  grid-template-columns: repeat(11, minmax(0, 1fr));
  gap: var(--space-6);
  min-width: 0;
  margin-top: var(--space-7);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: 1px solid rgba(232, 227, 216, 0.3);
  background: var(--color-stone-clean);
  color: var(--color-aubergine);
}

.celebrations-page .celebrations-inquiry__intro { grid-column: 1 / span 4; min-width: 0; }
.celebrations-page .celebrations-inquiry__intro p { max-width: 25rem; }
.celebrations-page .celebrations-inquiry__note { color: var(--color-aubergine-muted); font-size: var(--text-sm); }
.celebrations-page .celebrations-form { grid-column: 5 / -1; min-width: 0; }

.celebrations-page .celebrations-form__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.celebrations-page .celebrations-field { min-width: 0; }
.celebrations-page .celebrations-field--full { grid-column: 1 / -1; min-width: 0; }
.celebrations-page .celebrations-field label { display: block; }
.celebrations-page .celebrations-field__error { display: block; min-height: 1.2em; margin-top: var(--space-1); color: #9c2f26; font-size: var(--text-xs); font-weight: 700; line-height: var(--leading-xs); }
.celebrations-page .celebrations-field.is-invalid input,
.celebrations-page .celebrations-field.is-invalid select,
.celebrations-page .celebrations-field.is-invalid textarea { border-color: #9c2f26; }
.celebrations-page .celebrations-form__consent label { display: flex; align-items: flex-start; gap: var(--space-2); min-width: 0; font-weight: 400; }
.celebrations-page .celebrations-form__consent input { margin-top: 0.2rem; }
.celebrations-page .celebrations-form__status { margin: var(--space-4) 0 0; font-weight: 700; }

.celebrations-page .celebrations-reveal { opacity: 0; transform: translateY(1.25rem); transition: opacity 600ms ease, transform 600ms ease; }
.celebrations-page .celebrations-reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes celebrations-ticker { to { transform: translateX(-25%); } }

@media (max-width: 73.75rem) {
  .celebrations-page .celebrations-hero__grid { min-height: auto; }
  .celebrations-page .celebrations-hero__copy { grid-column: 1 / span 7; }
  .celebrations-page .celebrations-hero__media { grid-column: 8 / -1; height: 35rem; }
  .celebrations-page .celebrations-formats__intro { grid-column: 1 / span 5; }
  .celebrations-page .celebrations-formats__cards { grid-column: 6 / -1; }
  .celebrations-page .celebrations-gallery-card--dinner { grid-column: 1 / span 4; }
  .celebrations-page .celebrations-gallery-card--loft { grid-column: 6 / span 7; }
  .celebrations-page .celebrations-gallery-card--activity { grid-column: 1 / span 6; margin-top: var(--space-5); }
}

@media (max-width: 63.99rem) {
  .celebrations-page .celebrations-hero__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .celebrations-page .celebrations-hero__copy { grid-column: 1 / span 7; }
  .celebrations-page .celebrations-hero__media { grid-column: 1 / -1; height: min(32rem, 56vw); }
  .celebrations-page .celebrations-scenario__intro,
  .celebrations-page .celebrations-gallery__intro,
  .celebrations-page .celebrations-process__intro,
  .celebrations-page .celebrations-space__heading,
  .celebrations-page .celebrations-inquiry__heading { margin-left: 0; }
  .celebrations-page .celebrations-terms__note { margin-left: 0; }
  .celebrations-page .celebrations-decision--one { grid-column: 1 / span 6; }
  .celebrations-page .celebrations-decision--two { grid-column: 7 / span 6; margin-top: 0; }
  .celebrations-page .celebrations-decision--three { grid-column: 1 / span 7; margin-top: 0; }
  .celebrations-page .celebrations-formats__grid { grid-template-columns: 1fr; }
  .celebrations-page .celebrations-formats__intro,
  .celebrations-page .celebrations-formats__cards { grid-column: 1; }
  .celebrations-page .celebrations-formats__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .celebrations-page .celebrations-format--dinner,
  .celebrations-page .celebrations-format--cocktail,
  .celebrations-page .celebrations-format--theme,
  .celebrations-page .celebrations-format--casino { grid-column: auto; }
  .celebrations-page .celebrations-space__zones { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .celebrations-page .celebrations-zone:nth-child(n) { grid-column: auto; }
  .celebrations-page .celebrations-casino__copy { grid-column: 1 / -1; }
  .celebrations-page .celebrations-casino__media { grid-column: 1 / -1; height: min(38rem, 72vw); margin: 0; }
  .celebrations-page .celebrations-casino__principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .celebrations-page .celebrations-principle:nth-child(n) { grid-column: auto; }
  .celebrations-page .celebrations-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .celebrations-page .celebrations-gallery-card--dinner,
  .celebrations-page .celebrations-gallery-card--loft { grid-column: auto; margin-top: 0; }
  .celebrations-page .celebrations-gallery-card--activity { grid-column: 1 / -1; margin-top: 0; }
  .celebrations-page .celebrations-gallery-card--activity .media-frame { height: 24rem; }
  .celebrations-page .celebrations-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .celebrations-page .celebrations-process-step:nth-child(2)::after { display: none; }
  .celebrations-page .celebrations-conversation__primary { grid-column: 1 / span 7; }
  .celebrations-page .celebrations-conversation__secondary { grid-column: 8 / -1; margin-top: var(--space-7); }
  .celebrations-page .celebrations-inquiry__panel { grid-template-columns: 1fr; }
  .celebrations-page .celebrations-inquiry__intro,
  .celebrations-page .celebrations-form { grid-column: 1; }
}

@media (max-width: 44.99rem) {
  .celebrations-page .celebrations-hero { padding-block: var(--space-8); }
  .celebrations-page .celebrations-hero__grid,
  .celebrations-page .celebrations-formats__grid,
  .celebrations-page .celebrations-casino__grid,
  .celebrations-page .celebrations-conversation__grid { grid-template-columns: 1fr; }
  .celebrations-page .celebrations-hero__copy,
  .celebrations-page .celebrations-hero__media,
  .celebrations-page .celebrations-formats__intro,
  .celebrations-page .celebrations-formats__cards,
  .celebrations-page .celebrations-casino__copy,
  .celebrations-page .celebrations-casino__media,
  .celebrations-page .celebrations-conversation__primary,
  .celebrations-page .celebrations-conversation__secondary { grid-column: 1; }
  .celebrations-page .celebrations-hero__copy { padding-block: 0; }
  .celebrations-page .celebrations-hero__copy h1 { max-width: 12ch; }
  .celebrations-page .celebrations-hero__lead { max-width: 38ch; font-size: var(--text-md); }
  .celebrations-page .celebrations-hero__media { height: 24.5rem; }
  .celebrations-page .celebrations-hero .button { width: 100%; }
  .celebrations-page .celebrations-ticker { overflow-x: auto; scrollbar-width: thin; }
  .celebrations-page .celebrations-ticker__track { animation: none; font-size: var(--text-xs); }
  .celebrations-page .celebrations-scenario__grid,
  .celebrations-page .celebrations-space__zones,
  .celebrations-page .celebrations-gallery__grid,
  .celebrations-page .celebrations-casino__principles { grid-template-columns: 1fr; }
  .celebrations-page .celebrations-decision--one,
  .celebrations-page .celebrations-decision--two,
  .celebrations-page .celebrations-decision--three,
  .celebrations-page .celebrations-zone:nth-child(n),
  .celebrations-page .celebrations-gallery-card--dinner,
  .celebrations-page .celebrations-gallery-card--loft,
  .celebrations-page .celebrations-gallery-card--activity,
  .celebrations-page .celebrations-principle:nth-child(n) { grid-column: 1; margin-top: 0; }
  .celebrations-page .celebrations-formats__cards { grid-template-columns: 1fr; }
  .celebrations-page .celebrations-format--casino { min-height: 18.75rem; }
  .celebrations-page .celebrations-space__media { height: 25rem; }
  .celebrations-page .celebrations-space__hotspots { display: none; }
  .celebrations-page .celebrations-casino__media { height: 25rem; }
  .celebrations-page .celebrations-gallery-card--dinner .media-frame,
  .celebrations-page .celebrations-gallery-card--loft .media-frame { height: 25rem; }
  .celebrations-page .celebrations-gallery-card--activity .media-frame { height: 18rem; }
  .celebrations-page .celebrations-process__steps { grid-template-columns: 1fr; gap: var(--space-5); }
  .celebrations-page .celebrations-process-step { grid-template-columns: 3.25rem minmax(0, 1fr); }
  .celebrations-page .celebrations-process-step:not(:last-child)::after { top: 100%; left: 1.6rem; width: 1px; height: var(--space-5); }
  .celebrations-page .celebrations-conversation__secondary { margin-top: 0; }
  .celebrations-page .celebrations-conversation__secondary .button { width: 100%; }
  .celebrations-page .celebrations-inquiry__panel { padding: var(--space-5); }
  .celebrations-page .celebrations-form__fields { grid-template-columns: 1fr; }
  .celebrations-page .celebrations-field--full { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .celebrations-page .celebrations-reveal { opacity: 1; transform: none; transition: none; }
  .celebrations-page .celebrations-ticker__track { animation: none; }
}
