.home-page {
  overflow: hidden;
}

.home-page .button {
  min-height: 3rem;
}

.home-hero {
  padding-block: clamp(3.5rem, 7vw, 8rem);
  background: var(--color-canvas);
}

.home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-7);
  align-items: stretch;
}

.home-hero__copy,
.home-hero__media,
.home-occasions__rail,
.home-occasions__intro,
.home-occasions__list,
.home-card-room__media,
.home-card-room__panel,
.home-process__intro,
.home-process__steps,
.home-notes__heading,
.home-note--one,
.home-notes__media,
.home-notes__right,
.home-formats__intro,
.home-formats__modules,
.home-signals__intro,
.home-signals__grid,
.home-routes__inspiration,
.home-routes__top-ten,
.home-inquiry__intro,
.home-inquiry__form {
  min-width: 0;
}

.home-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  max-width: 38.75rem;
  padding-block: var(--space-5);
}

.home-hero__copy .display {
  max-width: 8.5ch;
  margin-bottom: var(--space-5);
}

.home-hero__lead {
  max-width: 29.4rem;
  margin-bottom: var(--space-6);
  font-size: var(--text-body-large);
  line-height: var(--line-body-large);
}

.home-hero__lead:not(.casino-message) {
  display: none;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

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

.home-hero__text-link,
.home-service a,
.home-card-room__statements a,
.home-process__steps a,
.home-note a,
.home-formats__final a,
.home-signals__grid a,
.home-routes__inspiration a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.home-hero__promise {
  width: 100%;
  max-width: 29.4rem;
  margin-top: var(--space-7);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}

.home-hero__promise span {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-burgundy);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-hero__promise p { margin-bottom: 0; font-size: var(--text-small); line-height: var(--line-small); }

.home-hero__media {
  width: calc(100% + max(0px, (100vw - var(--container-max)) / 2));
  min-height: 42rem;
  margin-right: calc(max(0px, (100vw - var(--container-max)) / 2) * -1);
}

.home-hero__media img { object-position: 75% center; }

.home-occasions__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 5fr) minmax(0, 5fr);
  column-gap: var(--space-6);
  row-gap: var(--space-7);
}

.home-occasions__rail { grid-column: 1; grid-row: 1 / span 2; }
.home-occasions__rail .rule { margin-top: var(--space-4); }
.home-occasions__intro { grid-column: 2; max-width: 35rem; }
.home-occasions__intro p { max-width: 35rem; margin-bottom: 0; }
.home-occasions__list { grid-column: 2 / 4; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7) var(--space-6); }

.home-service {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.home-service__number { color: var(--color-cobalt); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.home-service__content { min-width: 0; max-width: 25.6rem; }
.home-service__content p { margin-bottom: var(--space-3); }
.home-service--featured { border-top-color: var(--color-cobalt); }
.home-service--featured .home-service__number { display: flex; align-items: center; justify-content: center; min-height: 3rem; background: var(--color-cobalt); color: var(--color-paper); }

.home-card-room__feature {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
}

.home-card-room__media { min-height: 31rem; }
.home-card-room__media img { object-position: 40% center; }
.home-card-room__panel { position: relative; z-index: 1; width: calc(100% + var(--space-7)); margin-left: calc(var(--space-7) * -1); padding: var(--space-7); background: var(--color-ink); box-shadow: var(--shadow-panel); }
.home-card-room__panel h2 { max-width: 10ch; }
.home-card-room__panel p { max-width: 31.9rem; }
.home-card-room__statements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.home-card-room__statements > article { min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--color-line-dark); }
.home-card-room__statements span { display: block; margin-bottom: var(--space-4); color: var(--color-burgundy); font-size: var(--text-micro); font-weight: 700; letter-spacing: 0.12em; }
.home-card-room__statements p { max-width: 21.25rem; margin-bottom: var(--space-3); }

.home-process__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); }
.home-process__intro { max-width: 35.6rem; }
.home-process__intro p { max-width: 35.6rem; }
.home-process__steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin: 0; padding: 0; list-style: none; }
.home-process__steps > li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-bottom: var(--space-5); border-bottom: 1px solid rgba(255,248,238,.45); }
.home-process__steps > li:last-child { padding-bottom: 0; border-bottom: 0; }
.home-process__number { color: var(--color-paper); font-family: var(--font-heading); font-size: 2.3rem; line-height: 1; }
.home-process__number--burgundy { color: var(--color-burgundy); }
.home-process__steps > li > div { min-width: 0; max-width: 29.4rem; }
.home-process__steps p { margin-bottom: var(--space-3); }

.home-notes__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.home-notes__heading { grid-column: 1 / span 5; max-width: 40.6rem; }
.home-notes__heading p { max-width: 32rem; }
.home-note--one { grid-column: 1 / span 4; margin-top: var(--space-5); }
.home-notes__media { grid-column: 5 / span 4; min-height: 35rem; margin: 0; }
.home-notes__media img { object-position: center; }
.home-notes__right { grid-column: 9 / span 4; display: flex; flex-direction: column; gap: var(--space-7); }
.home-note { min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--color-line); }
.home-note > span { display: block; margin-bottom: var(--space-4); color: var(--color-cobalt); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.home-note p { max-width: 24.4rem; margin-bottom: var(--space-3); }
.home-notes__right .home-note:last-child { border-top-color: var(--color-burgundy); }

.home-formats__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); }
.home-formats__intro { max-width: 32.5rem; }
.home-formats__intro p { max-width: 32.5rem; }
.home-formats__modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.home-formats__modules > article { min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--color-line-dark); }
.home-formats__modules > article > span { display: block; margin-bottom: var(--space-3); color: var(--color-burgundy); font-size: var(--text-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.home-formats__modules > article:nth-child(4) > span { color: var(--color-cobalt); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.home-formats__modules p { max-width: 21.25rem; margin-bottom: 0; }
.home-formats__final { grid-column: 1 / 3; border-top-color: var(--color-cobalt) !important; }
.home-formats__final p { max-width: 27.5rem; margin-bottom: var(--space-3); }

.home-signals__panel { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); padding: var(--space-8); border: 1px solid var(--color-line); border-radius: var(--radius-card); background: var(--color-paper); }
.home-signals__intro { max-width: 32.5rem; }
.home-signals__intro p { max-width: 32.5rem; }
.home-signals__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.home-signals__grid > article { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-line); }
.home-signals__grid > article > span { display: block; margin-bottom: var(--space-3); color: var(--color-burgundy); font-size: var(--text-micro); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.home-signals__grid p { max-width: 25.6rem; margin-bottom: var(--space-3); }

.home-routes { padding-block: var(--section-space-compact); }
.home-routes__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-routes__inspiration, .home-routes__top-ten { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: clamp(2rem, 5vw, 4rem); }
.home-routes__inspiration { background: var(--color-paper); color: var(--color-ink); }
.home-routes__top-ten { background: var(--color-cobalt); color: var(--color-paper); padding-top: clamp(3rem, 7vw, 5.5rem); }
.home-routes__inspiration h2 { max-width: 10ch; }
.home-routes__inspiration p { max-width: 26.25rem; }
.home-routes__top-ten h3 { max-width: 12ch; font-size: var(--text-h2); line-height: var(--line-h2); }
.home-routes__top-ten p { max-width: 26.25rem; }
.home-routes__top-ten .button { margin-top: auto; }

.home-inquiry__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: start; }
.home-inquiry__intro { max-width: 29.4rem; }
.home-inquiry__intro p { max-width: 29.4rem; }
.home-inquiry__direct { font-size: var(--text-small); }
.home-inquiry__form { padding: var(--space-7); }
.home-inquiry__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-bottom: var(--space-5); }
.home-field { min-width: 0; }
.home-field--full { grid-column: 1 / 3; }
.home-field .form-error:empty { display: none; }
.home-field input, .home-field select, .home-field textarea { min-height: 3rem; }
.home-inquiry__form > button { width: 100%; }
.home-inquiry__privacy { max-width: 35rem; margin-top: var(--space-4); margin-bottom: var(--space-3); font-size: var(--text-small); line-height: var(--line-small); }
.home-inquiry__status:empty { display: none; }
.home-inquiry__status { padding: var(--space-3); border-radius: var(--radius-control); background: var(--color-success); color: var(--color-paper); font-size: var(--text-small); font-weight: 700; }

.home-close { padding-block: var(--section-space-compact); background: var(--color-canvas); }
.home-close__content { display: flex; flex-direction: column; align-items: center; max-width: 40.6rem; text-align: center; }
.home-close__content .eyebrow { color: var(--color-burgundy); }
.home-close__content h2 { max-width: 14ch; }
.home-close__content p { max-width: 30rem; }
.home-close__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-4); width: 100%; }
.home-close__actions > * { min-width: 0; }

@media (max-width: 999px) {
  .home-notes__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-notes__heading, .home-note--one, .home-notes__media, .home-notes__right { grid-column: 1 / -1; }
  .home-note--one { margin-top: 0; }
  .home-notes__media { width: 100%; min-height: 34rem; }
  .home-notes__right { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  .home-notes__right > .home-note { min-width: 0; }
}

@media (max-width: 980px) {
  .home-occasions__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-occasions__rail, .home-occasions__intro, .home-occasions__list { grid-column: 1; grid-row: auto; }
  .home-occasions__list { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-service__content { max-width: 30rem; }
  .home-card-room__feature { grid-template-columns: minmax(0, 1fr); }
  .home-card-room__panel { width: 100%; margin-left: 0; padding: var(--space-6); box-shadow: none; }
  .home-card-room__statements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-card-room__statements > article:last-child { grid-column: 1 / -1; }
  .home-formats__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-formats__modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 959px) {
  .home-hero__grid, .home-process__grid, .home-signals__panel, .home-inquiry__grid { grid-template-columns: minmax(0, 1fr); }
  .home-hero__copy { max-width: 38.75rem; padding-block: 0; }
  .home-hero__media { width: 100%; min-height: 34rem; margin-top: var(--space-2); margin-right: 0; margin-left: var(--space-3); }
  .home-card-room__media { min-height: 34rem; }
  .home-process__grid, .home-signals__panel, .home-inquiry__grid { gap: var(--space-6); }
  .home-process__steps { max-width: 43rem; }
  .home-signals__panel { padding: var(--space-7); }
  .home-inquiry__intro { max-width: 35rem; }
}

@media (max-width: 840px) {
  .home-routes__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 699px) {
  .home-hero { padding-block: var(--section-space-compact); }
  .home-hero__copy .display { max-width: 7.6ch; }
  .home-hero__lead { max-width: none; }
  .home-hero__actions { flex-direction: column; align-items: stretch; }
  .home-hero__actions > * { width: 100%; min-height: 3rem; }
  .home-hero__text-link { justify-content: center; }
  .home-hero__media { min-height: 25rem; margin-left: var(--space-3); }
  .home-hero__media img { object-position: 72% center; }
  .home-service { grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-3); }
  .home-service__number { font-size: 1.7rem; }
  .home-card-room__media { min-height: 25rem; }
  .home-card-room__media img { object-position: 42% center; }
  .home-card-room__panel { padding: var(--space-5); }
  .home-card-room__statements, .home-notes__right, .home-formats__modules, .home-signals__grid { grid-template-columns: minmax(0, 1fr); }
  .home-card-room__statements > article:last-child { grid-column: auto; }
  .home-card-room__statements { gap: var(--space-5); }
  .home-process__steps > li { grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); }
  .home-process__number { font-size: 1.7rem; }
  .home-notes__media { min-height: 27rem; }
  .home-note { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-3); }
  .home-note > span { grid-column: 1; grid-row: 1 / span 3; font-size: 1.7rem; }
  .home-note h3, .home-note p, .home-note a { grid-column: 2; }
  .home-formats__final { grid-column: auto; }
  .home-formats__modules > article { padding-top: var(--space-5); }
  .home-signals__panel { padding: var(--space-5); }
  .home-routes__inspiration, .home-routes__top-ten { padding: var(--space-5); }
  .home-inquiry__form { padding: var(--space-5); }
  .home-inquiry__fields { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .home-field--full { grid-column: auto; }
  .home-close__actions { flex-direction: column; align-items: stretch; }
  .home-close__actions > * { width: 100%; }
}
