.ai-page { overflow: hidden; }
.ai-page .ai-shell { width: 100%; max-width: calc(var(--container-max) + (var(--gutter) * 2)); margin-inline: auto; padding-inline: var(--gutter); }
.ai-page .ai-text-link { color: var(--color-copper-dark); font-weight: 700; text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.ai-page .ai-text-link:hover { text-decoration-thickness: 2px; }
.ai-page .ai-text-link--light { color: var(--color-soft-ivory); }
.ai-hero { position: relative; min-height: 45rem; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; isolation: isolate; background: var(--color-midnight-blue); color: var(--color-soft-ivory); }
.ai-hero__image { position: absolute; inset: 0; z-index: -2; width: 100%; min-width: 0; }
.ai-hero__image::after { position: absolute; inset: 0; background: rgba(16,27,45,.34); content: ""; }
.ai-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.ai-hero__shell { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; min-height: 45rem; padding-block: var(--space-8); }
.ai-hero__panel { grid-column: 1; min-width: 0; max-width: 38.125rem; display: flex; flex-direction: column; gap: var(--space-5); border-left: var(--border-copper-strong); background: var(--color-midnight-blue); padding: var(--space-6); box-shadow: var(--shadow-panel); }
.ai-hero__panel > * { margin: 0; min-width: 0; }
.ai-hero h1 { max-width: 12ch; font-size: clamp(3.5rem, 7vw, 6.5rem); }
.ai-hero .intro { max-width: 40ch; font-size: var(--font-size-intro); }
.ai-hero__actions { gap: var(--space-3); }
.ai-hero__actions > * { min-width: 0; }
.ai-practical__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-5); align-items: start; }
.ai-practical__grid > * { min-width: 0; }
.ai-practical__intro { grid-column: 1; max-width: 30ch; }
.ai-practical__intro p { max-width: 30ch; }
.ai-data-panel { min-width: 0; border-top: var(--border-copper); border-bottom: var(--border-hairline); padding: var(--space-6) 0; }
.ai-data-panel--place { grid-column: 2; }
.ai-data-panel--hours { grid-column: 3; }
.ai-data-panel address, .ai-contact-value { font-size: 1.125rem; font-weight: 600; line-height: 1.55; }
.ai-data-panel address { max-width: 28ch; }
.ai-data-panel p:last-child, .ai-data-panel address:last-child { margin-bottom: 0; }
.ai-hours { margin: var(--space-5) 0 0; }
.ai-hours > div { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: var(--space-3); padding-block: var(--space-3); border-top: 1px solid var(--color-copper); }
.ai-hours > div:last-child { border-bottom: 1px solid var(--color-copper); }
.ai-hours dd { margin: 0; font-weight: 700; white-space: nowrap; }
.ai-dining__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.ai-dining__grid > * { min-width: 0; }
.ai-dining__copy { grid-column: 1; max-width: 35rem; }
.ai-dining__copy > p { max-width: 50ch; }
.ai-dining__aside { border-left: var(--border-copper); padding-left: var(--space-5); font-family: var(--font-display); font-size: clamp(1.5rem, 2.5vw, 2.25rem); font-style: italic; line-height: 1.1; }
.ai-dining__links { border-top: var(--border-copper); padding-top: var(--space-5); }
.ai-dining__links h3 { font-size: 1.5rem; }
.ai-dining__media { grid-column: 2; width: 100%; margin: 0 0 calc(var(--space-7) * -1); padding-top: var(--space-6); }
.ai-dining__media .media-frame { aspect-ratio: 3 / 2; }
.ai-dining__media p { max-width: 44ch; }
.ai-dining__media figcaption { color: var(--color-muted-blue); }
.ai-programs__intro { width: 100%; max-width: 42.5rem; margin-bottom: var(--space-7); }
.ai-programs__intro p { max-width: 52ch; }
.ai-programs__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 3fr); gap: var(--space-5); border-top: var(--border-copper); padding-top: var(--space-5); }
.ai-programs__grid > * { min-width: 0; }
.ai-program-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); border-bottom: var(--border-hairline); padding: var(--space-5) 0; }
.ai-program-card > * { margin: 0; min-width: 0; }
.ai-program-card__number { color: var(--color-copper-dark); font-size: var(--font-size-meta); font-weight: 700; letter-spacing: var(--tracking-meta); }
.ai-program-card h3 { font-size: 1.5rem; }
.ai-program-card p:not(.ai-program-card__number) { max-width: 38ch; }
.ai-program-card--action { border-color: var(--color-copper); }
.ai-program-card--action .button { margin-top: auto; }
.ai-poker__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.ai-poker__grid > * { min-width: 0; }
.ai-poker__copy { grid-column: 1; max-width: 38.75rem; }
.ai-poker__copy > p { max-width: 54ch; }
.ai-poker__focus { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-6); border: var(--border-copper); padding: var(--space-5); }
.ai-poker__focus > * { margin: 0; min-width: 0; }
.ai-poker__focus h3 { font-size: 1.5rem; }
.ai-poker__focus p { max-width: 48ch; }
.ai-poker__focus ul { padding-left: 1.2em; }
.ai-poker__focus li + li { margin-top: var(--space-2); }
.ai-poker__guide { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-top: var(--space-6); }
.ai-poker__guide > * { margin: 0; min-width: 0; }
.ai-poker__guide p { max-width: 48ch; }
.ai-poker__visual { grid-column: 2; min-width: 0; padding-top: var(--space-4); }
.ai-poker__media { width: 100%; margin: 0; }
.ai-poker__media .media-frame { aspect-ratio: 4 / 5; }
.ai-poker__responsible { min-width: 0; margin: calc(var(--space-6) * -1) var(--space-5) 0 0; position: relative; background: var(--color-deep-plum); border: var(--border-copper); padding: var(--space-5); }
.ai-poker__responsible p:last-child { max-width: 36ch; margin-bottom: 0; }
.ai-groups__intro { max-width: 40rem; margin-bottom: var(--space-7); }
.ai-groups__intro p { max-width: 52ch; }
.ai-groups__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.ai-groups__grid > * { min-width: 0; }
.ai-group-unit { min-width: 0; border-left: var(--border-copper); padding: var(--space-5); }
.ai-group-unit h3 { font-size: 1.5rem; }
.ai-group-unit p { max-width: 40ch; }
.ai-group-unit p:last-child, .ai-group-unit > a:last-child { margin-bottom: 0; }
.ai-group-unit--dark { background: var(--color-black-marble); color: var(--color-soft-ivory); border: var(--border-copper); }
.ai-group-unit--dark { display: flex; flex-direction: column; gap: var(--space-4); }
.ai-group-unit--dark > * { margin: 0; min-width: 0; }
.ai-group-unit--dark .button { width: fit-content; }
.ai-access__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-7); align-items: start; }
.ai-access__grid > * { min-width: 0; }
.ai-access__intro { grid-column: 1; max-width: 29rem; }
.ai-access__intro p { max-width: 46ch; }
.ai-access__address { border-left: var(--border-copper); padding-left: var(--space-4); color: var(--color-soft-ivory); font-size: 1.125rem; font-weight: 700; }
.ai-access__content { grid-column: 2; min-width: 0; }
.ai-access__controls { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-5); }
.ai-access__controls > button { min-width: 0; border: 1px solid var(--color-copper); color: var(--color-soft-ivory); padding: .625rem .875rem; font-size: var(--font-size-small); font-weight: 700; }
.ai-access__controls > button[aria-pressed="true"] { background: var(--color-copper); color: var(--color-midnight-blue); }
.ai-access__panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.ai-access__panels > * { min-width: 0; }
.ai-access-panel { min-width: 0; border-top: var(--border-copper); border-bottom: var(--border-hairline-dark); padding: var(--space-5) 0; }
.ai-access-panel h3 { font-size: 1.5rem; }
.ai-access-panel p:last-child { max-width: 38ch; margin-bottom: 0; }
.ai-access__help { max-width: 52ch; margin: var(--space-6) 0 0; }
.ai-faq__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
.ai-faq__grid > * { min-width: 0; }
.ai-faq__intro { grid-column: 1; max-width: 32.5rem; }
.ai-faq__intro p { max-width: 45ch; }
.ai-faq__list { grid-column: 2; min-width: 0; }
.ai-faq__list details { border-bottom: var(--border-copper); }
.ai-faq__list summary { min-height: 3.5rem; display: flex; align-items: center; padding: var(--space-4) 2rem var(--space-4) 0; position: relative; cursor: pointer; font-size: 1.125rem; font-weight: 700; line-height: 1.45; list-style: none; }
.ai-faq__list summary::-webkit-details-marker { display: none; }
.ai-faq__list summary::after { position: absolute; right: .25rem; width: .75rem; height: .75rem; border-right: 2px solid var(--color-copper-dark); border-bottom: 2px solid var(--color-copper-dark); content: ""; transform: rotate(45deg) translateY(-.2rem); transition: transform var(--transition-fast); }
.ai-faq__list details[open] summary::after { transform: rotate(225deg) translate(-.15rem, -.15rem); }
.ai-faq__list details > div { background: var(--color-stone-ivory); padding: var(--space-5); }
.ai-faq__list details > div p { max-width: 56ch; margin: 0; }
.ai-closing__content { width: 100%; max-width: 47.5rem; margin-left: calc((100% / 12) * 2); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.ai-closing__content > * { margin: 0; min-width: 0; }
.ai-closing__content h2 { max-width: 18ch; font-size: clamp(3.25rem, 5vw, 4rem); }
.ai-closing__content > p:not(.eyebrow) { max-width: 48ch; color: var(--color-muted-blue); }
.ai-closing__actions { gap: var(--space-4); }

@media (max-width: 74.99rem) {
 .ai-hero, .ai-hero__shell { min-height: 40rem; }
 .ai-practical__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) minmax(0, 3fr); }
 .ai-programs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ai-program-card--action { grid-column: 1 / span 2; }
 .ai-groups__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ai-group-unit--dark { grid-column: 1 / span 2; }
 .ai-closing__content { margin-left: 0; }
}
@media (max-width: 67.49rem) {
 .ai-dining__grid, .ai-poker__grid { grid-template-columns: minmax(0, 1fr); }
 .ai-dining__media, .ai-poker__visual { grid-column: 1; }
 .ai-dining__media { order: -1; margin-bottom: 0; padding-top: 0; }
 .ai-dining__copy { max-width: 38rem; }
 .ai-poker__copy { max-width: 40rem; }
 .ai-poker__visual { max-width: 38rem; }
 .ai-poker__responsible { margin: calc(var(--space-5) * -1) var(--space-4) 0 0; }
}
@media (max-width: 61.24rem) {
 .ai-practical__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ai-practical__intro { grid-column: 1 / span 2; max-width: 42rem; }
 .ai-data-panel--place { grid-column: 1; }
 .ai-data-panel--hours { grid-column: 2; }
 .ai-access__grid, .ai-faq__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
 .ai-access__intro, .ai-access__content, .ai-faq__intro, .ai-faq__list { grid-column: 1; }
 .ai-access__intro { max-width: 42rem; }
 .ai-faq__intro { max-width: 40rem; }
}
@media (max-width: 47.99rem) {
 .ai-hero { min-height: 0; display: block; padding-top: 58vw; }
 .ai-hero__image { bottom: auto; height: 58vw; }
 .ai-hero__shell { min-height: 0; display: block; padding: 0 var(--gutter) var(--space-6); }
 .ai-hero__panel { max-width: none; margin-top: calc(var(--space-5) * -1); padding: var(--space-6); }
 .ai-hero h1 { max-width: 13ch; font-size: clamp(2.75rem, 12vw, 3.875rem); }
 .ai-hero .intro { max-width: 36ch; }
 .ai-hero__actions { align-items: flex-start; flex-direction: column; }
 .ai-hero__actions .button:first-child { width: 100%; }
 .ai-practical__grid, .ai-programs__grid, .ai-groups__grid, .ai-access__panels { grid-template-columns: minmax(0, 1fr); }
 .ai-practical__intro, .ai-data-panel--place, .ai-data-panel--hours, .ai-program-card--action, .ai-group-unit--dark { grid-column: 1; }
 .ai-practical__intro { max-width: none; }
 .ai-practical__intro p { max-width: 38ch; }
 .ai-data-panel { padding: var(--space-5) 0; }
 .ai-hours > div { grid-template-columns: minmax(0, 1fr) max-content; }
 .ai-dining__grid, .ai-poker__grid { gap: var(--space-6); }
 .ai-dining__media p { max-width: 38ch; }
 .ai-programs__intro { margin-bottom: var(--space-6); }
 .ai-program-card { padding: var(--space-5) 0; }
 .ai-program-card--action .button, .ai-group-unit--dark .button { width: 100%; }
 .ai-poker__focus { padding: var(--space-5); }
 .ai-poker__visual { max-width: none; }
 .ai-access__controls > button { min-height: 3rem; }
 .ai-access__panels { gap: 0; }
 .ai-access-panel { padding: var(--space-5) 0; }
 .ai-access-panel + .ai-access-panel { border-top: 1px solid rgba(243,235,221,.18); }
 .ai-faq__list summary { min-height: 3.5rem; font-size: 1.0625rem; }
 .ai-faq__list details > div { padding: var(--space-5); }
 .ai-closing__content h2 { max-width: 13ch; font-size: clamp(2.375rem, 11vw, 2.75rem); }
 .ai-closing__actions { width: 100%; align-items: stretch; flex-direction: column; }
 .ai-closing__actions .button { width: 100%; }
}
@media (max-width: 25rem) {
 .ai-hours > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
 .ai-hours dd { white-space: normal; }
}
