.tb-page { overflow: clip; }
.tb-page .container-wide { width: min(calc(100% - 6rem), 90rem); }
.tb-page .section { padding-block: var(--space-10); }
.tb-page .tb-image-frame { width: 100%; overflow: hidden; border-radius: var(--radius-lg); background: var(--surface-muted); }
.tb-page .tb-image-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-base); }
.tb-page .tb-image-frame:hover img { transform: scale(1.025); }
.tb-page .tb-section-heading { min-width: 0; }
.tb-page .tb-number, .tb-page .tb-marker { margin: 0; color: var(--color-saffron); font-size: var(--text-label); font-weight: 650; letter-spacing: .12em; line-height: var(--leading-label); text-transform: uppercase; }
.tb-page .text-link { display: inline-flex; min-height: 2.75rem; align-items: center; }
.tb-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 1fr) minmax(0, 5fr); align-items: center; gap: var(--space-5); }
.tb-hero__copy { grid-column: 1 / 2; min-width: 0; max-width: 38.75rem; }
.tb-hero__copy h1 { font-size: clamp(3rem, 6.1vw, 5.25rem); line-height: .99; }
.tb-hero__copy h1 span { color: var(--color-aquamarine); }
.tb-hero__copy .lead { max-width: 32em; }
.tb-hero__copy > p:not(.eyebrow):not(.lead) { max-width: 48ch; }
.tb-hero__rule { width: 5rem; height: 2px; margin-bottom: var(--space-5); background: var(--color-saffron); }
.tb-hero__actions { margin-top: var(--space-6); }
.tb-hero__media { grid-column: 3 / 4; min-width: 0; margin: var(--space-6) 0 0; }
.tb-hero__media .tb-image-frame { aspect-ratio: 4 / 5; }
.tb-hero__media figcaption { max-width: 28ch; }
.tb-ideas__heading { width: min(100%, 38rem); margin-bottom: var(--space-7); }
.tb-ideas__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 3fr) minmax(0, 1fr); gap: var(--space-5); }
.tb-idea-card { grid-column: span 1; min-width: 0; min-height: 100%; padding: var(--space-5); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-raised); transition: transform var(--transition-fast); }
.tb-idea-card:hover { transform: translateY(-2px); }
.tb-idea-card:nth-child(1) { grid-column: 1 / 2; }
.tb-idea-card:nth-child(2) { grid-column: 2 / 3; }
.tb-idea-card:nth-child(3) { grid-column: 3 / 4; }
.tb-idea-card--warm { background: var(--surface-warm); }
.tb-idea-card--raspberry { border-top: 4px solid var(--color-raspberry); }
.tb-number--aqua { color: var(--color-aquamarine); }
.tb-idea-card h3 { margin-top: var(--space-4); }
.tb-idea-card p:not(.tb-number) { max-width: 42ch; }
.tb-dramaturgies__heading { width: min(100%, 42rem); margin-bottom: var(--space-7); }
.tb-dramaturgies__heading .lead { max-width: 48ch; }
.tb-dramaturgies__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); align-items: start; gap: var(--space-5); }
.tb-dramaturgy { min-width: 0; }
.tb-dramaturgy--workshop { grid-column: 1 / 2; padding: var(--space-6); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-raised); }
.tb-dramaturgy--workshop p { max-width: 62ch; }
.tb-plan-line { width: 100%; height: 1px; margin-bottom: var(--space-5); background: linear-gradient(90deg, var(--color-aquamarine) 0 35%, var(--color-line) 35% 100%); }
.tb-dramaturgy--city { grid-column: 2 / 3; display: grid; grid-template-rows: auto auto; gap: var(--space-4); }
.tb-dramaturgy--city .tb-image-frame { aspect-ratio: 4 / 5; }
.tb-dramaturgy__caption { min-width: 0; padding: var(--space-4); border: var(--border-subtle); border-radius: var(--radius-md); }
.tb-dramaturgy__caption h3 { font-size: clamp(1.5rem, 2vw, 2rem); }
.tb-dramaturgy__caption p { max-width: 40ch; }
.tb-dramaturgy--evening { grid-column: 3 / 4; min-height: 100%; margin-top: var(--space-7); padding: var(--space-6); border-radius: var(--radius-md); }
.tb-dramaturgy--evening h3 { color: var(--color-alabaster); margin-top: var(--space-4); }
.tb-dramaturgy--evening p:not(.tb-marker) { max-width: 42ch; }
.tb-dramaturgy--evening .text-link { color: var(--color-alabaster); }
.tb-planning__heading { width: min(100%, 38rem); margin-bottom: var(--space-7); }
.tb-process { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); padding-top: var(--space-5); }
.tb-process::before { position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: var(--color-line); content: ""; transform-origin: left center; }
.tb-process__item { min-width: 0; padding-top: var(--space-5); }
.tb-process__item--warm { padding: var(--space-5); border-radius: var(--radius-md); background: var(--surface-warm); }
.tb-process__item h3 { margin-top: var(--space-4); font-size: clamp(1.5rem, 2vw, 2rem); }
.tb-process__item p:not(.tb-number) { max-width: 38ch; }
.tb-location__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.tb-location__heading { grid-column: 1 / 6; min-width: 0; }
.tb-location__media { grid-column: 6 / 13; grid-row: 1 / 4; min-width: 0; margin: 0; }
.tb-location__media .tb-image-frame { aspect-ratio: 3 / 2; }
.tb-location__main { grid-column: 1 / 6; min-width: 0; }
.tb-location__main p { max-width: 56ch; }
.tb-materials { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.tb-materials span { min-width: 0; padding: var(--space-2) var(--space-3); border: var(--border-subtle); border-radius: var(--radius-xs); color: var(--color-slate-muted); font-size: var(--text-label); letter-spacing: .08em; text-transform: uppercase; }
.tb-location__aside { grid-column: 1 / 5; min-width: 0; margin: 0; border-bottom: 3px solid var(--color-aquamarine); }
.tb-location__aside h3 { font-size: clamp(1.5rem, 2vw, 2rem); }
.tb-location__aside p { max-width: 36ch; }
.tb-zone-legend { grid-column: 5 / 6; display: grid; grid-template-columns: 1fr; gap: var(--space-3); min-width: 0; align-self: end; }
.tb-zone-legend p { position: relative; margin: 0; padding-left: var(--space-4); color: var(--color-slate-muted); font-size: var(--text-meta); }
.tb-zone-legend p::before { position: absolute; top: .7em; left: 0; width: .5rem; height: 1px; background: var(--color-saffron); content: ""; }
.tb-event__heading { width: min(100%, 42rem); margin-bottom: var(--space-7); }
.tb-event__grid { display: grid; grid-template-columns: 2fr 2fr 3fr 2fr 3fr; align-items: start; gap: var(--space-4); }
.tb-event-card { min-width: 0; min-height: 100%; padding: var(--space-4); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-raised); transition: transform var(--transition-fast); }
.tb-event-card:hover { transform: translateY(-2px); }
.tb-event-card:nth-child(3), .tb-event-card:nth-child(5) { margin-top: var(--space-5); }
.tb-event-card h3 { margin-top: var(--space-4); font-size: clamp(1.35rem, 1.8vw, 1.75rem); }
.tb-event-card p:not(.tb-number) { max-width: 38ch; }
.tb-event-card--stone { background: var(--surface-muted); }
.tb-event-card--rasp { border-top: 4px solid var(--color-raspberry); }
.tb-event-card--aqua { background: var(--color-aquamarine); }
.tb-event-card--aqua p, .tb-event-card--aqua h3 { color: var(--color-slate); }
.tb-casino__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: stretch; gap: var(--space-5); }
.tb-casino__copy { min-width: 0; padding: var(--space-7); border-radius: var(--radius-lg); }
.tb-casino__copy h2 { color: var(--color-alabaster); }
.tb-casino__copy p:not(.eyebrow) { max-width: 52ch; }
.tb-casino__copy .text-link { color: var(--color-aquamarine); }
.tb-casino__visual { position: relative; min-width: 0; padding-bottom: var(--space-8); }
.tb-casino__visual .tb-image-frame { aspect-ratio: 4 / 5; }
.tb-casino__trust { position: absolute; bottom: 0; left: var(--space-5); width: min(calc(100% - var(--space-10)), 20.625rem); min-width: 0; margin: 0; box-shadow: var(--shadow-card); }
.tb-casino__trust h3 { font-size: clamp(1.4rem, 1.9vw, 1.8rem); }
.tb-casino__trust p { max-width: 36ch; }
.tb-tables__intro { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); gap: var(--space-5); align-items: end; margin-bottom: var(--space-7); }
.tb-tables__intro > * { min-width: 0; }
.tb-tables__intro .lead { max-width: 40ch; margin-bottom: 0; }
.tb-tables__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.tb-table-card { min-width: 0; padding: var(--space-5); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-raised); }
.tb-table-card--roulette { margin-top: var(--space-5); }
.tb-table-card h3 { margin-top: var(--space-5); }
.tb-table-card p { max-width: 40ch; }
.tb-table-plan { position: relative; width: 100%; height: 5rem; color: var(--color-slate); }
.tb-table-plan::before, .tb-table-plan::after, .tb-table-plan i { position: absolute; display: block; border: 1.5px solid currentColor; content: ""; }
.tb-table-plan--poker::before { top: 1rem; left: 12%; width: 76%; height: 3rem; border-radius: 50% / 48%; background: rgba(23,111,104,.12); }
.tb-table-plan--poker i { top: 2rem; width: .75rem; height: .75rem; border-radius: 50%; background: var(--surface-raised); }
.tb-table-plan--poker i:nth-child(1) { left: 8%; }.tb-table-plan--poker i:nth-child(2) { left: calc(50% - .375rem); }.tb-table-plan--poker i:nth-child(3) { right: 8%; }
.tb-table-plan--roulette { display: grid; place-items: center; }.tb-table-plan--roulette::before { width: 4.5rem; height: 4.5rem; border-radius: 50%; background: rgba(23,111,104,.12); }.tb-table-plan--roulette i { width: 1.25rem; height: 1.25rem; border-color: var(--color-saffron); border-radius: 50%; }
.tb-table-plan--blackjack::before { right: 12%; bottom: .5rem; left: 12%; height: 3.5rem; border-radius: 4rem 4rem 0 0; background: rgba(23,111,104,.12); }.tb-table-plan--blackjack i { bottom: .75rem; width: .7rem; height: .7rem; border-radius: 50%; background: var(--surface-raised); }.tb-table-plan--blackjack i:nth-child(1) { left: 18%; }.tb-table-plan--blackjack i:nth-child(2) { left: calc(50% - .35rem); }.tb-table-plan--blackjack i:nth-child(3) { right: 18%; }
.tb-briefing__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr); gap: var(--space-5); align-items: end; margin-bottom: var(--space-7); }
.tb-briefing__top > * { min-width: 0; }.tb-briefing__top .lead { max-width: 42ch; margin-bottom: 0; }
.tb-briefing__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.tb-brief-card { min-width: 0; padding: var(--space-4); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-raised); }.tb-brief-card h3 { margin-top: var(--space-4); font-size: clamp(1.35rem, 1.8vw, 1.7rem); }.tb-brief-card p:not(.tb-number) { max-width: 34ch; }.tb-brief-card--aqua { border-top: 4px solid var(--color-aquamarine); }
.tb-request__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr); align-items: start; gap: var(--space-5); }
.tb-request__copy { grid-column: 1 / 2; min-width: 0; }.tb-request__copy p:not(.eyebrow) { max-width: 48ch; }.tb-request__contact { margin-top: var(--space-6); }
.tb-form { grid-column: 3 / 4; min-width: 0; padding: var(--space-6); border: var(--border-subtle); border-radius: var(--radius-lg); background: var(--surface-raised); }.tb-form__intro p { max-width: 55ch; }.tb-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }.tb-field { min-width: 0; }.tb-field--full { grid-column: 1 / -1; }.tb-error { min-height: 1.4em; margin: var(--space-2) 0 0; color: var(--color-raspberry-deep); font-size: var(--text-meta); line-height: var(--leading-meta); }.tb-field [aria-invalid="true"] { border-color: var(--color-raspberry); }.tb-checks { display: grid; min-width: 0; gap: var(--space-3); margin: 0; padding: var(--space-4); }.tb-checks__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }.tb-checks__grid label { display: flex; min-width: 0; min-height: 2.75rem; align-items: center; gap: var(--space-2); margin: 0; font-weight: 400; }.tb-help { max-width: 55ch; margin: 0; color: var(--color-slate-muted); font-size: var(--text-meta); line-height: var(--leading-meta); }.tb-form__bottom { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-5); }.tb-form__bottom p { min-width: 0; max-width: 42ch; margin: 0; font-size: var(--text-meta); line-height: var(--leading-meta); }.tb-form__bottom .button { min-width: 10rem; }.tb-form__status { min-height: 1.5em; margin-top: var(--space-4); font-weight: 650; }.tb-form__status--success { color: var(--color-aquamarine-deep); }
.tb-closing__panel { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); min-height: 28rem; padding: var(--space-8); overflow: hidden; border-radius: var(--radius-lg); background: var(--surface-warm); }.tb-closing__panel::after { position: absolute; right: 12%; bottom: -4rem; width: 12rem; height: 2px; background: var(--color-saffron); content: ""; transform: rotate(-34deg); }.tb-closing__copy { grid-column: 2 / 8; z-index: 1; min-width: 0; align-self: end; }.tb-closing__copy p:not(.eyebrow) { max-width: 58ch; }.tb-closing__copy .button { margin-top: var(--space-3); }
.tb-page [data-reveal] { opacity: 0; transform: translateY(12px); transition: opacity 220ms ease, transform 220ms ease; }.tb-page [data-reveal].is-visible { opacity: 1; transform: none; }.tb-page [data-reveal].is-visible::before { animation: tb-line-draw 220ms ease both; }@keyframes tb-line-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 68.6875rem) { .tb-page .section { padding-block: var(--space-9); }.tb-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.tb-hero__copy { grid-column: 1 / 2; }.tb-hero__media { grid-column: 2 / 3; }.tb-dramaturgies__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.tb-dramaturgy--workshop { grid-column: 1 / 2; }.tb-dramaturgy--city { grid-column: 2 / 3; }.tb-dramaturgy--evening { grid-column: 1 / 2; margin-top: 0; }.tb-process { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-6); }.tb-event__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }.tb-event-card { grid-column: span 2; }.tb-event-card:nth-child(4), .tb-event-card:nth-child(5) { grid-column: span 3; }.tb-event-card:nth-child(3), .tb-event-card:nth-child(5) { margin-top: 0; }.tb-location__media { grid-column: 7 / 13; }.tb-location__heading, .tb-location__main { grid-column: 1 / 7; }.tb-location__aside { grid-column: 1 / 5; }.tb-zone-legend { grid-column: 5 / 7; }.tb-briefing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.tb-request__grid { grid-template-columns: 1fr; }.tb-request__copy, .tb-form { grid-column: 1; }.tb-form { width: min(100%, 54rem); }.tb-tables__grid { gap: var(--space-4); } }
@media (max-width: 61.1875rem) { .tb-page .container-wide { width: min(calc(100% - 4rem), 90rem); }.tb-ideas__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.tb-idea-card:nth-child(n) { grid-column: auto; }.tb-casino__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.tb-casino__copy { padding: var(--space-6); }.tb-checks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 47.5rem) { .tb-page .container-wide { width: min(calc(100% - 2.5rem), 90rem); }.tb-page .section { padding-block: var(--space-8); }.tb-hero__grid, .tb-dramaturgies__grid, .tb-casino__grid, .tb-tables__intro, .tb-briefing__top { grid-template-columns: 1fr; }.tb-hero__copy, .tb-hero__media, .tb-dramaturgy--workshop, .tb-dramaturgy--city, .tb-dramaturgy--evening { grid-column: 1; }.tb-hero__copy { max-width: none; }.tb-hero__copy h1 { font-size: clamp(2.625rem, 12vw, 3.5rem); }.tb-hero__copy .lead, .tb-hero__copy > p:not(.eyebrow):not(.lead) { max-width: none; }.tb-hero__media { margin-top: var(--space-4); }.tb-hero__media .tb-image-frame { max-height: 31rem; }.tb-ideas__grid, .tb-process, .tb-tables__grid, .tb-briefing__grid, .tb-form__fields { grid-template-columns: 1fr; }.tb-ideas__heading, .tb-dramaturgies__heading, .tb-planning__heading, .tb-event__heading { width: 100%; margin-bottom: var(--space-6); }.tb-idea-card p:not(.tb-number), .tb-dramaturgy--workshop p, .tb-dramaturgy__caption p, .tb-dramaturgy--evening p:not(.tb-marker), .tb-process__item p:not(.tb-number) { max-width: none; }.tb-dramaturgy--city { gap: var(--space-4); }.tb-dramaturgy__caption { border: var(--border-subtle); background: var(--surface-raised); backdrop-filter: none; }.tb-dramaturgy--evening { min-height: auto; }.tb-process { gap: 0; padding-top: 0; }.tb-process::before { top: 0; bottom: 0; left: 1.125rem; width: 1px; height: auto; }.tb-process__item { position: relative; padding: 0 0 var(--space-6) 3.25rem; }.tb-process__item--warm { margin-left: 3.25rem; padding: var(--space-4); }.tb-process__item .tb-number { position: absolute; top: .2rem; left: 0; }.tb-location__grid { grid-template-columns: 1fr; }.tb-location__heading, .tb-location__media, .tb-location__main, .tb-location__aside, .tb-zone-legend { grid-column: 1; grid-row: auto; }.tb-location__media { order: 2; }.tb-location__main { order: 3; }.tb-location__aside { order: 4; }.tb-zone-legend { order: 5; grid-template-columns: 1fr; }.tb-location__main p, .tb-location__aside p { max-width: none; }.tb-event__grid { grid-template-columns: 1fr; gap: var(--space-4); }.tb-event-card, .tb-event-card:nth-child(4), .tb-event-card:nth-child(5) { grid-column: 1; }.tb-event-card:nth-child(n) { margin-top: 0; }.tb-casino__copy { padding: var(--space-5); }.tb-casino__copy p:not(.eyebrow) { max-width: none; }.tb-casino__visual { padding-bottom: 0; }.tb-casino__trust { position: static; width: 100%; margin-top: var(--space-4); box-shadow: none; }.tb-table-card--roulette { margin-top: 0; }.tb-tables__intro .lead, .tb-briefing__top .lead { max-width: none; }.tb-briefing__top { margin-bottom: var(--space-6); }.tb-brief-card p:not(.tb-number) { max-width: none; }.tb-field--full { grid-column: 1; }.tb-checks__grid { grid-template-columns: 1fr; }.tb-form { padding: var(--space-4); }.tb-form__bottom { align-items: stretch; }.tb-form__bottom .button { width: 100%; }.tb-closing__panel { grid-template-columns: 1fr; min-height: 0; padding: var(--space-5); }.tb-closing__copy { grid-column: 1; }.tb-closing__copy p:not(.eyebrow) { max-width: none; }.tb-closing__panel::after { right: 1rem; bottom: 2rem; width: 7rem; }.tb-page .actions .button { flex-basis: auto; } }
@media (prefers-reduced-motion: reduce) { .tb-page .tb-image-frame img, .tb-idea-card, .tb-event-card, .tb-page [data-reveal] { transition: none; }.tb-page [data-reveal] { opacity: 1; transform: none; }.tb-page [data-reveal].is-visible::before { animation: none; } }