.kaszino-page {
  padding-block: var(--section-space-compact) var(--section-space);
}

.kaszino-page .stage-label { margin-bottom: var(--space-4); }
.kaszino-page h1 span { display: inline; background: var(--color-royal-blue); color: var(--color-white); padding-inline: 0.08em; }

.kp-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); gap: var(--space-6); align-items: center; }
.kp-hero__copy { grid-column: 1 / span 1; min-width: 0; max-width: 36.25rem; }
.kp-hero__copy .lead { max-width: 31.25rem; }
.kp-hero__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; }
.kp-hero__actions > * { min-width: 0; }
.kp-hero__micro { max-width: 28rem; margin: 0; color: var(--color-muted-ink); font-size: var(--text-ui); line-height: var(--leading-ui); }
.kp-hero__collage { position: relative; grid-column: 3 / span 1; min-width: 0; min-height: 34rem; margin: 0; padding: var(--space-5) 0 var(--space-8) var(--space-6); }
.kp-hero__blue-block { position: absolute; inset: var(--space-4) var(--space-5) var(--space-5) 0; background: var(--color-royal-blue); }
.kp-hero__main-image, .kp-hero__detail-image { position: relative; width: 100%; border: var(--border-strong) solid var(--color-ink); object-fit: cover; }
.kp-hero__main-image { height: 29rem; transform: rotate(2deg); box-shadow: var(--shadow-hard); }
.kp-hero__detail-image { width: 61%; height: 11rem; margin-top: -4.5rem; margin-left: -2rem; transform: rotate(-2deg); }
.kp-hero__collage figcaption { position: relative; width: fit-content; margin-top: var(--space-3); margin-left: auto; padding: var(--space-2); background: var(--color-ink); color: var(--color-white); }

.kp-atmosphere, .kp-board, .kp-occasions, .kp-flow, .kp-brief, .kp-why, .kp-note, .kp-request { margin-top: var(--section-space); }
.kp-atmosphere__intro { max-width: 43.75rem; }
.kp-atmosphere__intro .ticket-label { margin-bottom: var(--space-4); }
.kp-atmosphere__list { display: flex; flex-direction: column; min-width: 0; }
.kp-atmosphere__item { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 4fr); gap: var(--space-5); min-width: 0; padding-block: var(--space-5); border-top: var(--border-strong) solid var(--color-ink); }
.kp-atmosphere__item:last-child { border-bottom: var(--border-strong) solid var(--color-ink); }
.kp-atmosphere__item > * { min-width: 0; }
.kp-atmosphere__number { margin: 0; color: var(--color-orange); font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; }
.kp-atmosphere__content { max-width: 32.5rem; }
.kp-atmosphere__content p { margin-bottom: 0; }
.kp-atmosphere__meta { align-self: start; justify-self: end; width: fit-content; padding: var(--space-2) var(--space-3); border: var(--border-strong) solid var(--color-ink); font-size: var(--text-meta); font-weight: 800; letter-spacing: var(--tracking-meta); line-height: var(--leading-meta); text-transform: uppercase; }
.kp-atmosphere__meta--blue { background: var(--color-royal-blue); color: var(--color-white); }
.kp-atmosphere__item:hover { border-top-color: var(--color-orange); }
.kp-atmosphere__item:hover .kp-atmosphere__number { color: var(--color-royal-blue); }

.kp-board__intro { max-width: 40.625rem; }
.kp-board__fields { display: flex; flex-direction: column; min-width: 0; gap: var(--space-6); }
.kp-program-field { min-width: 0; padding: var(--space-6); border: var(--border-strong) solid var(--color-ink); }
.kp-program-field > * { min-width: 0; }
.kp-program-field__head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-3); min-width: 0; margin-bottom: var(--space-5); }
.kp-program-field__head > * { min-width: 0; }
.kp-program-field__number { color: var(--color-orange); font-family: var(--font-heading); font-size: 2.5rem; line-height: 1; }
.kp-program-field__keywords { margin-bottom: var(--space-4); font-size: var(--text-meta); font-weight: 800; letter-spacing: var(--tracking-meta); text-transform: uppercase; }
.kp-program-field > p, .kp-program-field__copy > p:last-child { max-width: 31.25rem; margin-bottom: 0; }
.kp-program-field--poker { width: min(100%, 52rem); background: var(--color-royal-blue); color: var(--color-white); }
.kp-program-field--poker h3 { color: var(--color-white); }
.kp-program-field--poker .ticket-label { background: var(--color-paper); }
.kp-program-field--blackjack { width: min(100%, 52rem); align-self: flex-end; background: var(--color-canvas); }
.kp-program-field--roulette { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 3fr); gap: var(--space-5); width: min(100%, 66.5rem); background: var(--color-ink); color: var(--color-white); }
.kp-program-field--roulette h3 { color: var(--color-white); }
.kp-program-field--roulette .ticket-label { border-color: var(--color-royal-blue); background: var(--color-royal-blue); color: var(--color-white); }
.kp-program-field__image { min-width: 0; margin: 0; }
.kp-program-field__image img { width: 100%; height: 18rem; border: var(--border-strong) solid var(--color-white); object-fit: cover; }
.kp-program-field__image figcaption { color: var(--color-white); }

.kp-occasions__intro { max-width: 37.5rem; }
.kp-occasions__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 5fr)); column-gap: calc(2 / 12 * 100%); row-gap: var(--space-6); min-width: 0; }
.kp-occasions__grid > * { min-width: 0; }
.kp-occasion { min-width: 0; padding-top: var(--space-4); border-top: var(--border-poster) solid var(--color-ink); }
.kp-occasion__letter { display: block; margin-bottom: var(--space-2); color: var(--color-orange); font-family: var(--font-heading); font-size: 3.5rem; line-height: 1; }
.kp-occasion h3 { font-size: clamp(1.5rem, 2vw, 1.75rem); }
.kp-occasion p { max-width: 26.25rem; margin-bottom: 0; }
.kp-occasion--blue-line { border-top-color: var(--color-royal-blue); }
.kp-occasion:hover .kp-occasion__letter { color: var(--color-royal-blue); }

.kp-backstage { margin-top: var(--section-space); }
.kp-backstage__inner { padding: clamp(var(--space-6), 5vw, var(--space-8)); }
.kp-backstage__title { max-width: 39rem; }
.kp-backstage__rows { display: flex; flex-direction: column; min-width: 0; }
.kp-backstage__row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr); gap: var(--space-5); min-width: 0; padding-block: var(--space-5); border-top: var(--border-strong) solid var(--color-white); }
.kp-backstage__row > * { min-width: 0; }
.kp-backstage__number { color: var(--color-orange); font-size: var(--text-meta); font-weight: 800; letter-spacing: var(--tracking-meta); line-height: var(--leading-meta); text-transform: uppercase; }
.kp-backstage__copy { max-width: 38.75rem; }
.kp-backstage__copy h3 span { color: var(--color-orange); }
.kp-backstage__copy p { margin-bottom: 0; color: var(--color-white); }
.kp-backstage__meta { align-self: start; color: var(--color-line); font-size: var(--text-meta); font-weight: 800; letter-spacing: var(--tracking-meta); line-height: var(--leading-meta); text-transform: uppercase; }

.kp-flow__intro { max-width: 37.5rem; }
.kp-flow__tickets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.kp-flow__tickets > * { min-width: 0; }
.kp-ticket { display: flex; flex-direction: column; align-items: stretch; min-width: 0; gap: var(--space-3); padding: var(--space-5); border: var(--border-strong) solid var(--color-ink); border-bottom-style: dashed; background: var(--color-canvas); }
.kp-ticket > * { min-width: 0; margin: 0; }
.kp-ticket span { color: var(--color-orange); font-family: var(--font-heading); font-size: 2.25rem; line-height: 1; }
.kp-ticket h3 { font-size: 1.375rem; }
.kp-ticket:hover { border-width: var(--border-poster); background: var(--color-paper); }

.kp-brief__intro { max-width: 40.625rem; }
.kp-brief__rows { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.kp-brief__row { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 7fr) minmax(0, 2fr); min-width: 0; padding: var(--space-5); border: var(--border-strong) solid var(--color-ink); background: var(--color-paper); }
.kp-brief__row > * { min-width: 0; }
.kp-brief__row > div:nth-child(2) { max-width: 38.75rem; }
.kp-brief__row > div:nth-child(2) p { margin-bottom: 0; }
.kp-brief__row--accent { border-bottom: var(--border-poster) solid var(--color-orange); }

.kp-why__intro { max-width: 37.5rem; }
.kp-why__principles { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.kp-why__principles > * { min-width: 0; }
.kp-principle { display: flex; flex-direction: column; align-items: stretch; min-width: 0; gap: var(--space-3); padding: var(--space-5); border: var(--border-strong) solid var(--color-ink); }
.kp-principle > * { min-width: 0; margin: 0; }
.kp-principle span { color: var(--color-orange); font-family: var(--font-heading); font-size: 2.25rem; line-height: 1; }
.kp-principle h3 { font-size: clamp(1.5rem, 2vw, 1.75rem); }
.kp-principle--blue { grid-column: 1 / span 4; background: var(--color-royal-blue); color: var(--color-white); }
.kp-principle--blue h3 { color: var(--color-white); }
.kp-principle--paper { grid-column: 6 / span 4; border-left: var(--border-poster) solid var(--color-royal-blue); background: var(--color-paper); }
.kp-principle--ink { grid-column: 3 / span 5; background: var(--color-ink); color: var(--color-white); border-bottom: var(--border-poster) solid var(--color-orange); }
.kp-principle--ink h3 { color: var(--color-white); }
.kp-principle--ink a { color: var(--color-white); text-decoration-color: var(--color-orange); }
.kp-principle--ink a:hover { color: var(--color-orange); }

.kp-note__box { max-width: 42.5rem; padding: var(--space-5); border: var(--border-poster) solid var(--color-ink); background: var(--color-paper); }
.kp-note__box .ticket-label { margin-bottom: var(--space-4); background: var(--color-orange); }
.kp-note__box h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.kp-note__box p:last-child { margin-bottom: 0; }

.kp-request__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr); gap: var(--space-5); align-items: start; min-width: 0; }
.kp-request__grid > * { min-width: 0; }
.kp-request__intro { grid-column: 1 / span 1; padding: var(--space-6); border: var(--border-strong) solid var(--color-ink); background: var(--color-orange); }
.kp-request__intro h2 { font-size: clamp(2.5rem, 4vw, 3rem); }
.kp-request__intro p:last-child { margin-bottom: 0; }
.kp-request__form-panel { grid-column: 3 / span 1; min-width: 0; padding: var(--space-6); border: var(--border-strong) solid var(--color-ink); background: var(--color-paper); }
.kp-form { display: flex; flex-direction: column; align-items: stretch; min-width: 0; gap: var(--space-4); }
.kp-form > * { min-width: 0; }
.kp-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.kp-form__grid > * { min-width: 0; margin: 0; }
.kp-form__full { grid-column: 1 / -1; }
.kp-required-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.kp-field-error { min-height: 1.25rem; margin: 0; color: #a12600; font-size: var(--text-meta); font-weight: 800; line-height: var(--leading-meta); }
.kp-form [aria-invalid="true"] { border-color: #a12600; }
.kp-form__privacy { max-width: 35rem; margin: 0; color: var(--color-muted-ink); font-size: var(--text-meta); line-height: var(--leading-meta); }
.kp-form-success { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-3); margin-bottom: var(--space-5); padding: var(--space-5); border: var(--border-strong) solid var(--color-royal-blue); background: #dce6ff; }
.kp-form-success > * { min-width: 0; margin: 0; }

@media (max-width: 67.5rem) {
  .kp-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .kp-hero__copy { grid-column: 1 / span 4; }
  .kp-hero__collage { grid-column: 5 / span 4; min-height: 29rem; }
  .kp-hero__main-image { height: 24rem; }
  .kp-program-field--roulette { width: min(100%, 56rem); }
  .kp-request__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr); }
  .kp-request__intro { grid-column: 1; }
  .kp-request__form-panel { grid-column: 2; }
}

@media (max-width: 60rem) {
  .kp-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
  .kp-hero__copy, .kp-hero__collage { grid-column: 1; width: 100%; max-width: none; }
  .kp-hero__collage { min-height: 0; max-width: 44rem; padding-bottom: var(--space-7); }
  .kp-hero__main-image { height: auto; aspect-ratio: 4 / 5; }
  .kp-atmosphere__item { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr); }
  .kp-atmosphere__meta { grid-column: 2; justify-self: start; }
  .kp-occasions__grid { column-gap: var(--space-5); }
  .kp-backstage__row { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr); }
  .kp-backstage__meta { display: none; }
  .kp-flow__tickets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kp-brief__row { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr); gap: var(--space-4); }
  .kp-why__principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kp-principle--blue, .kp-principle--paper { grid-column: auto; }
  .kp-principle--ink { grid-column: 1 / -1; }
}

@media (max-width: 50rem) {
  .kp-request__grid { grid-template-columns: minmax(0, 1fr); }
  .kp-request__intro, .kp-request__form-panel { grid-column: 1; }
}

@media (max-width: 47.9375rem) {
  .kaszino-page { padding-top: var(--space-6); }
  .kp-hero__actions { align-items: stretch; }
  .kp-hero__collage { padding-left: var(--space-4); }
  .kp-hero__main-image { transform: rotate(1deg); }
  .kp-hero__detail-image { width: 80%; height: auto; aspect-ratio: 16 / 10; margin-top: -2rem; margin-left: -1rem; transform: rotate(-1deg); }
  .kp-atmosphere__item { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .kp-atmosphere__meta { grid-column: 1; justify-self: start; }
  .kp-program-field, .kp-program-field--poker, .kp-program-field--blackjack, .kp-program-field--roulette { width: 100%; padding: var(--space-5); }
  .kp-program-field--roulette { grid-template-columns: minmax(0, 1fr); }
  .kp-program-field__image img { height: auto; aspect-ratio: 16 / 10; }
  .kp-occasions__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-5); }
  .kp-backstage__inner { padding: var(--space-5); }
  .kp-backstage__row { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .kp-flow__tickets { grid-template-columns: minmax(0, 1fr); }
  .kp-brief__row { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); padding: var(--space-5); }
  .kp-why__principles { grid-template-columns: minmax(0, 1fr); }
  .kp-principle--blue, .kp-principle--paper, .kp-principle--ink { grid-column: 1; }
  .kp-request__intro, .kp-request__form-panel { padding: var(--space-5); }
  .kp-form__grid { grid-template-columns: minmax(0, 1fr); }
  .kp-form__full { grid-column: 1; }
}
