.home-page { overflow: clip; }
.home-page section { padding-block: var(--section-space); }
.home-page .stage-label { width: fit-content; }
.home-page .home-number { margin: 0; color: var(--color-orange); font-family: var(--font-heading); font-size: 2.25rem; letter-spacing: var(--tracking-heading); line-height: 1; }
.home-page h1 span, .home-page h2 span { color: var(--color-orange); }
.home-hero { padding-block: clamp(4rem, 9vw, 8rem) var(--section-space) !important; }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); align-items: center; }
.home-hero__grid > * { min-width: 0; width: 100%; }
.home-hero__content { max-width: 47.5rem; }
.home-hero__lead { max-width: 36.25rem; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.home-hero__actions > * { min-width: 0; width: auto; }
.home-hero__collage { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; position: relative; min-height: 35rem; padding: var(--space-5) 0 var(--space-6) var(--space-5); }
.home-hero__collage > * { min-width: 0; }
.home-hero__color { position: absolute; z-index: 0; }
.home-hero__color--blue { inset: 0 2rem 3rem 0; background: var(--color-royal-blue); }
.home-hero__color--orange { width: 38%; height: 28%; right: 0; bottom: 0; background: var(--color-orange); }
.home-hero__main-image { z-index: 1; width: 100%; height: 29rem; margin: 0; transform: rotate(1.5deg); overflow: hidden; }
.home-hero__main-image img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.home-hero__detail-image { position: absolute; z-index: 2; width: 58%; right: -1rem; bottom: 1rem; margin: 0; transform: rotate(-2deg); background: var(--color-paper); }
.home-hero__detail-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-page figcaption { padding: var(--space-2); background: var(--color-ink); color: var(--color-white); }
.home-production__header { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: end; gap: var(--space-6); margin-bottom: var(--space-7); }
.home-production__header > * { min-width: 0; }
.home-production__intro { max-width: 42rem; }
.home-production__meta { justify-self: end; margin: 0; color: var(--color-ink); font-family: var(--font-heading); font-size: clamp(4rem, 10vw, 8rem); letter-spacing: var(--tracking-heading); line-height: .72; text-align: right; opacity: .15; }
.home-production__pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-production__pillars > * { min-width: 0; }
.home-production__pillar { border-top: var(--border-strong) solid var(--color-ink); padding-top: var(--space-4); }
.home-production__pillar p:last-child { max-width: 27.5rem; }
.home-programs__header { max-width: 38.75rem; margin-bottom: var(--space-7); }
.home-programs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.home-programs__grid > * { min-width: 0; }
.home-program { display: flex; min-width: 0; gap: var(--space-3); min-height: 19rem; padding: var(--space-5); border-top: var(--border-strong) solid var(--color-ink); color: var(--color-ink); text-decoration: none; transition: background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast); }
.home-program:hover { color: var(--color-ink); background: var(--color-paper); border-top-width: var(--border-poster); transform: translateX(3px); }
.home-program__number { flex: 0 0 2.5rem; color: var(--color-orange); font-family: var(--font-heading); font-size: 1.75rem; line-height: 1; }
.home-program__body { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: var(--space-3); }
.home-program__body strong { font-family: var(--font-heading); font-size: var(--text-card-title); letter-spacing: var(--tracking-heading); line-height: 1.05; }
.home-program__body span { display: block; }
.home-program__body em { margin-top: auto; color: var(--color-royal-blue); font-style: normal; font-weight: 800; }
.home-program--casino { grid-row: span 2; min-height: 0; border: var(--border-strong) solid var(--color-ink); background: var(--color-royal-blue); color: var(--color-white); }
.home-program--casino .home-program__number { color: var(--color-orange); }
.home-program--casino .home-program__body { border-bottom: 2px dashed var(--color-white); padding-bottom: var(--space-4); }
.home-program--casino .home-program__body em { color: var(--color-white); }
.home-program--casino:hover { border-color: var(--color-ink); background: var(--color-ink); color: var(--color-white); }
.home-programs__ticket { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-4); align-items: center; width: 100%; min-width: 0; margin-top: var(--space-6); padding: var(--space-4) var(--space-5); border: var(--border-strong) solid var(--color-ink); background: var(--color-orange); color: var(--color-ink); text-decoration: none; }
.home-programs__ticket > * { min-width: 0; }
.home-programs__ticket:hover { background: var(--color-ink); color: var(--color-white); }
.home-programs__ticket:hover .ticket-label { background: var(--color-paper); color: var(--color-ink); }
.home-corporate__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: start; }
.home-corporate__grid > * { min-width: 0; width: 100%; }
.home-corporate__content { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-corporate__content > * { min-width: 0; }
.home-corporate__content h2, .home-corporate__content p { margin-bottom: 0; }
.home-corporate__lead { max-width: 38.75rem; }
.home-corporate__cta { width: auto; }
.home-corporate__detail { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: var(--space-3); width: 100%; max-width: 38rem; padding-top: var(--space-5); border-top: var(--border-strong) solid var(--color-ink); }
.home-corporate__detail > * { min-width: 0; }
.home-corporate__detail h3, .home-corporate__detail p { margin-bottom: 0; }
.home-corporate__image { position: relative; margin: var(--space-7) 0 0; background: var(--color-orange); box-shadow: var(--shadow-hard); }
.home-corporate__image img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: right center; }
.home-casino { border-block: var(--border-poster) solid var(--color-ink); }
.home-casino__intro-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: start; }
.home-casino__intro-grid > * { min-width: 0; width: 100%; }
.home-casino__intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-casino__intro > * { min-width: 0; margin-bottom: 0; }
.home-casino__intro .lead { max-width: 35rem; }
.home-casino__image { margin: 0; border-color: var(--color-ink); background: var(--color-paper); }
.home-casino__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; }
.home-casino__games { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-casino__games > * { min-width: 0; }
.home-casino__games article { padding: var(--space-5); border: var(--border-strong) solid var(--color-ink); background: var(--color-paper); color: var(--color-ink); }
.home-casino__games h3 { font-size: var(--text-card-title); }
.home-casino__games article p:last-child { margin-bottom: 0; }
.home-casino__notice { display: flex; align-items: flex-start; gap: var(--space-4); margin-top: var(--space-6); padding: var(--space-4); border: var(--border-strong) solid var(--color-ink); background: var(--color-paper); color: var(--color-ink); }
.home-casino__notice > * { min-width: 0; }
.home-casino__notice p { margin-bottom: 0; }
.home-team__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); align-items: center; }
.home-team__grid > * { min-width: 0; }
.home-team__content { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); max-width: 42rem; }
.home-team__content > * { min-width: 0; margin-bottom: 0; }
.home-team__detail { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: var(--space-3); width: 100%; max-width: 29rem; padding-top: var(--space-5); border-top: var(--border-strong) solid var(--color-white); }
.home-team__detail > * { min-width: 0; }
.home-team__detail .home-number { color: var(--color-orange); }
.home-team__detail h3, .home-team__detail p { margin-bottom: 0; }
.home-team__move { justify-self: end; margin: 0; color: var(--color-orange); font-family: var(--font-heading); font-size: clamp(5rem, 13vw, 11rem); letter-spacing: var(--tracking-heading); line-height: .8; writing-mode: vertical-rl; transform: rotate(180deg); }
.home-occasions__header { max-width: 40rem; margin-bottom: var(--space-6); }
.home-occasions__panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.home-occasions__panels > * { min-width: 0; }
.home-occasion { display: flex; min-width: 0; min-height: 25rem; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: clamp(var(--space-5), 4vw, var(--space-7)); border: var(--border-strong) solid var(--color-ink); }
.home-occasion > * { min-width: 0; margin-bottom: 0; }
.home-occasion h3 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.home-occasion a { margin-top: auto; color: inherit; font-weight: 800; text-decoration: none; border-bottom: 3px solid var(--color-orange); }
.home-occasion a span { display: inline-block; transition: transform var(--transition-fast); }
.home-occasion a:hover span { transform: translateX(4px); }
.home-occasion--theme { background: var(--color-paper); }
.home-occasion--private { background: var(--color-royal-blue); color: var(--color-white); }
.home-occasion--private h3 { color: var(--color-white); }
.home-occasions__connector { width: 100%; margin-top: var(--space-6); padding: var(--space-4) var(--space-5); background: var(--color-ink); color: var(--color-white); font-weight: 800; }
.home-process__header { max-width: 32.5rem; margin-bottom: var(--space-6); }
.home-process__tickets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
.home-process__tickets > * { min-width: 0; }
.home-ticket { min-height: 23rem; padding: var(--space-5); border: var(--border-strong) solid var(--color-ink); border-right-style: dashed; background: var(--color-paper); }
.home-ticket:nth-child(2) { background: var(--color-orange); }
.home-ticket--blue { background: var(--color-royal-blue) !important; color: var(--color-white); }
.home-ticket--blue h3 { color: var(--color-white); }
.home-ticket p:last-child { margin-bottom: 0; }
.home-brief-guide__header { max-width: 37.5rem; margin-bottom: var(--space-6); }
.home-brief-guide__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-brief-guide__items > * { min-width: 0; }
.home-brief-guide__items article { border-top: var(--border-strong) solid var(--color-ink); padding-top: var(--space-4); }
.home-brief-guide__items article:nth-child(3) .home-number { color: var(--color-royal-blue); }
.home-brief-guide__items h3 { font-size: var(--text-card-title); }
.home-brief-guide__items p:last-child { margin-bottom: 0; }
.home-brief-guide__closing { max-width: 37.5rem; margin: var(--space-7) 0 0; font-size: var(--text-lead); line-height: var(--leading-lead); }
.home-final-cta { padding-top: var(--space-9) !important; padding-bottom: var(--space-10) !important; }
.home-final-cta__panel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); position: relative; overflow: hidden; padding: clamp(var(--space-5), 5vw, var(--space-8)); background: var(--color-paper); }
.home-final-cta__panel > * { min-width: 0; }
.home-final-cta__content { display: flex; position: relative; z-index: 1; flex-direction: column; align-items: flex-start; gap: var(--space-5); max-width: 38.75rem; }
.home-final-cta__content > * { min-width: 0; margin-bottom: 0; }
.home-final-cta__button { min-height: 3.25rem; width: auto; }
.home-final-cta__graphic { align-self: stretch; display: flex; align-items: end; justify-content: end; min-height: 15rem; padding: var(--space-3); background: var(--color-orange); color: var(--color-ink); font-family: var(--font-heading); font-size: clamp(8rem, 22vw, 17rem); letter-spacing: var(--tracking-heading); line-height: .65; }
@media (max-width: 68.75rem) {
  .home-hero__grid { grid-template-columns: 1fr; }
  .home-hero__content { max-width: 47.5rem; }
  .home-hero__collage { min-height: 29rem; max-width: 48rem; }
  .home-hero__main-image { height: 24rem; }
  .home-programs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-program--casino { grid-column: 1 / -1; grid-row: auto; min-height: 20rem; }
  .home-programs__ticket { grid-template-columns: auto minmax(0, 1fr); }
  .home-programs__ticket > span:last-child { grid-column: 2; }
  .home-process__tickets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-ticket { min-height: 0; }
}
@media (max-width: 61.25rem) {
  .home-production__pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-production__pillar:last-child { grid-column: 1 / -1; max-width: calc(50% - var(--space-5) / 2); }
  .home-corporate__grid, .home-casino__intro-grid { grid-template-columns: 1fr; }
  .home-corporate__image { max-width: 34rem; margin: 0; }
  .home-casino__image { max-width: 42rem; }
  .home-casino__image img { aspect-ratio: 16 / 10; }
  .home-casino__games { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-casino__games article:last-child { grid-column: 1 / -1; }
}
@media (max-width: 56.25rem) {
  .home-team__grid { grid-template-columns: 1fr; }
  .home-team__move { justify-self: start; font-size: 4rem; writing-mode: horizontal-tb; transform: none; opacity: .7; }
  .home-occasions__panels { grid-template-columns: 1fr; }
  .home-brief-guide__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-brief-guide__items article:last-child { grid-column: 1 / -1; max-width: calc(50% - var(--space-5) / 2); }
  .home-final-cta__panel { grid-template-columns: 1fr; }
  .home-final-cta__graphic { min-height: 4rem; align-items: center; justify-content: end; font-size: 5rem; }
}
@media (max-width: 47.9375rem) {
  .home-page section { padding-block: var(--section-space); }
  .home-hero__actions { flex-direction: column; width: 100%; }
  .home-hero__actions > * { width: 100%; }
  .home-hero__collage { min-height: 26rem; padding: var(--space-4) 0 var(--space-5) var(--space-3); }
  .home-hero__color--blue { right: var(--space-3); bottom: var(--space-5); }
  .home-hero__main-image { height: 21rem; transform: rotate(.7deg); }
  .home-hero__detail-image { width: 66%; right: 0; bottom: 0; transform: rotate(-.8deg); }
  .home-production__header { grid-template-columns: 1fr; gap: var(--space-4); margin-bottom: var(--space-6); }
  .home-production__meta { justify-self: start; font-size: 2rem; line-height: 1; text-align: left; opacity: .35; }
  .home-production__meta br { display: none; }
  .home-production__pillars, .home-programs__grid, .home-casino__games, .home-process__tickets, .home-brief-guide__items { grid-template-columns: 1fr; }
  .home-production__pillar:last-child, .home-casino__games article:last-child, .home-brief-guide__items article:last-child { grid-column: auto; max-width: none; }
  .home-program { min-height: 0; padding: var(--space-5); }
  .home-program--casino { min-height: 0; }
  .home-programs__ticket { grid-template-columns: 1fr; gap: var(--space-3); padding: var(--space-4); }
  .home-programs__ticket > span:last-child { grid-column: auto; }
  .home-corporate__content { gap: var(--space-4); }
  .home-corporate__cta, .home-casino__cta, .home-team__cta, .home-final-cta__button { width: 100%; }
  .home-corporate__detail, .home-team__detail { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .home-casino__intro { gap: var(--space-4); }
  .home-casino__image img { aspect-ratio: 4 / 5; }
  .home-casino__games { margin-top: var(--space-6); gap: var(--space-3); }
  .home-casino__games article { padding: var(--space-4); }
  .home-casino__notice { flex-direction: column; gap: var(--space-3); }
  .home-occasion { min-height: 0; padding: var(--space-5); }
  .home-occasions__connector { padding: var(--space-4); }
  .home-ticket { min-height: 0; padding: var(--space-4); }
  .home-final-cta { padding-bottom: var(--space-8) !important; }
  .home-final-cta__panel { padding: var(--space-5); gap: var(--space-5); }
  .home-final-cta__graphic { min-height: 3.5rem; font-size: 4rem; }
}
