.poker-calendar-page { overflow: hidden; }
.poker-calendar-page .eyebrow { color: var(--color-brass); }
.poker-calendar-hero { position: relative; min-height: 38.75rem; display: grid; isolation: isolate; background: var(--color-ink); }
.poker-calendar-hero__image, .poker-calendar-hero__overlay, .poker-calendar-hero__inner { grid-area: 1 / 1; }
.poker-calendar-hero__image { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 72% 50%; }
.poker-calendar-hero__overlay { z-index: 1; background: linear-gradient(90deg, rgba(12,12,10,.9) 0%, rgba(12,12,10,.72) 34%, rgba(12,12,10,.25) 69%, rgba(12,12,10,.18) 100%); }
.poker-calendar-hero__inner { position: relative; z-index: 2; width: 100%; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: end; padding-block: 5rem; }
.poker-calendar-hero__copy { grid-column: 1; min-width: 0; max-width: 38.75rem; display: flex; flex-direction: column; gap: var(--space-5); align-items: flex-start; }
.poker-calendar-hero__copy > * { margin: 0; min-width: 0; }
.poker-calendar-hero__rule, .poker-calendar-cta__rule { width: 4.5rem; height: 1px; background: var(--color-brass); }
.poker-calendar-hero__copy .display { max-width: 35rem; font-size: clamp(3rem, 5.8vw, 4.5rem); }
.poker-calendar-hero__copy .dek { max-width: 31.25rem; }
.poker-calendar-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); min-width: 0; }
.poker-calendar-hero__actions > * { min-width: 0; }
.poker-calendar-hero__jump { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-ivory); font-size: .8125rem; font-weight: 700; letter-spacing: .05em; }
.poker-calendar-schedule__intro { max-width: 38.75rem; display: flex; flex-direction: column; gap: var(--space-4); }
.poker-calendar-schedule__intro > * { margin: 0; }
.poker-calendar-schedule__intro .dek { max-width: 38.75rem; }
.poker-calendar-filters { margin-top: var(--space-8); display: flex; flex-direction: column; gap: var(--space-4); width: 100%; min-width: 0; }
.poker-calendar-filters__label { margin: 0; max-width: 40rem; font-size: .875rem; }
.poker-calendar-filters__controls { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.poker-calendar-filter { min-width: 0; min-height: 2.75rem; padding: .75rem 1rem; border: 1px solid var(--color-line); border-radius: var(--radius-control); background: transparent; color: var(--color-ivory); font-size: .8125rem; font-weight: 700; letter-spacing: .05em; line-height: 1; transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast); }
.poker-calendar-filter:hover, .poker-calendar-filter.is-active { border-color: var(--color-brass); background: var(--color-forest); }
.poker-calendar-empty, .poker-calendar-no-results { width: 100%; margin-top: var(--space-6); }
.poker-calendar-empty__content { max-width: 42.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.poker-calendar-empty__content > * { margin: 0; }
.poker-calendar-no-results { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); }
.poker-calendar-no-results > * { margin: 0; min-width: 0; }
.poker-calendar-events { width: 100%; min-width: 0; }
.poker-calendar-event, .poker-calendar-entry-demo { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr); gap: var(--space-5); width: 100%; min-width: 0; padding-block: var(--space-5); border-bottom: var(--border-default); }
.poker-calendar-event__date, .poker-calendar-entry-demo__date, .poker-calendar-event__detail, .poker-calendar-entry-demo__detail, .poker-calendar-event__action, .poker-calendar-entry-demo__action { min-width: 0; }
.poker-calendar-event__date, .poker-calendar-entry-demo__date { display: flex; flex-direction: column; gap: var(--space-2); }
.poker-calendar-event__date small { color: var(--color-ivory-muted); }
.poker-calendar-event__detail h3, .poker-calendar-entry-demo__detail h3 { margin: 0 0 var(--space-3); }
.poker-calendar-event__meta, .poker-calendar-entry-demo__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); color: var(--color-ivory-muted); font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.poker-calendar-event__action, .poker-calendar-entry-demo__action { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.poker-calendar-anatomy { border-top: 1px solid var(--color-brass); }
.poker-calendar-anatomy__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-8); }
.poker-calendar-anatomy__intro, .poker-calendar-anatomy__content { min-width: 0; }
.poker-calendar-anatomy__intro { max-width: 26.875rem; }
.poker-calendar-anatomy__content > .meta { margin-top: 0; }
.poker-calendar-anatomy__legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.poker-calendar-anatomy__legend > div { min-width: 0; }
.poker-calendar-anatomy__legend p:first-child { margin-bottom: var(--space-2); color: var(--color-brass); }
.poker-calendar-anatomy__action-note { margin-top: var(--space-6); max-width: 42rem; }
.poker-calendar-blinds-toggle { padding: 0; background: transparent; color: var(--color-ivory); font-size: .875rem; font-weight: 700; text-decoration: underline; text-decoration-color: var(--color-brass); text-underline-offset: .18em; }
.poker-calendar-blinds-note { margin-top: var(--space-4); padding-left: var(--space-4); border-left: 2px solid var(--color-brass); }
.poker-calendar-formats__intro { max-width: 38.75rem; margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-4); text-align: center; }
.poker-calendar-formats__intro > * { margin: 0; }
.poker-calendar-formats__intro .dek { max-width: 38.75rem; }
.poker-calendar-format-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.poker-calendar-format-card { min-width: 0; min-height: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: var(--border-default); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--color-ink) 55%, transparent); transition: transform var(--transition-fast), border-color var(--transition-fast); }
.poker-calendar-format-card > * { margin: 0; min-width: 0; }
.poker-calendar-format-card:hover { border-color: var(--color-brass); transform: translateY(-2px); }
.poker-calendar-format-card--offset { margin-top: var(--space-5); }
.poker-calendar-format-card--tournament { border-color: var(--color-brass); background: var(--color-burgundy); }
.poker-calendar-format-card__link { margin-top: auto; font-size: .875rem; font-weight: 700; }
.poker-calendar-rhythm__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: min(8vw, 7rem); justify-content: space-between; }
.poker-calendar-rhythm__intro { min-width: 0; max-width: 33.75rem; }
.poker-calendar-rhythm__intro .dek { max-width: 33.75rem; }
.poker-calendar-rhythm__steps { min-width: 0; border-left: 1px solid var(--color-brass); }
.poker-calendar-step { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding: 0 0 var(--space-5) var(--space-5); border-bottom: var(--border-default); }
.poker-calendar-step + .poker-calendar-step { padding-top: var(--space-5); }
.poker-calendar-step__number { color: var(--color-brass); font-size: 1.125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.poker-calendar-step h3 { margin-bottom: var(--space-3); }
.poker-calendar-step p { max-width: 26.875rem; }
.poker-calendar-dining__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: center; }
.poker-calendar-dining__copy { min-width: 0; max-width: 35rem; }
.poker-calendar-dining__copy .dek { max-width: 31.25rem; }
.poker-calendar-dining__list { display: flex; flex-direction: column; width: 100%; min-width: 0; margin-top: var(--space-6); border-top: var(--border-default); }
.poker-calendar-dining__list > div { min-width: 0; padding-block: var(--space-4); border-bottom: var(--border-default); }
.poker-calendar-dining__list h3 { margin-bottom: var(--space-2); font-size: 1.5rem; }
.poker-calendar-dining__list p { max-width: 26.25rem; margin: 0; }
.poker-calendar-dining__drinks { margin-top: var(--space-6); max-width: 31.25rem; }
.poker-calendar-dining__link { display: inline-flex; min-height: 2.75rem; align-items: center; margin-top: var(--space-2); font-weight: 700; }
.poker-calendar-dining__figure { width: 100%; min-width: 0; margin: 0; padding-left: var(--space-4); border-left: 1rem solid var(--color-wood); }
.poker-calendar-dining__figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 48% 48%; }
.poker-calendar-dining__figure figcaption { max-width: 34rem; }
.poker-calendar-culture { position: relative; }
.poker-calendar-culture::before { position: absolute; inset: 0; background: repeating-linear-gradient(105deg, rgba(241,233,216,.04) 0 1px, transparent 1px 14px); content: ""; pointer-events: none; }
.poker-calendar-culture .container { position: relative; }
.poker-calendar-culture__intro { max-width: 35rem; margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-4); text-align: center; }
.poker-calendar-culture__intro > * { margin: 0; }
.poker-calendar-culture__rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-8); }
.poker-calendar-culture__rules > article { min-width: 0; padding-inline: var(--space-6); border-left: var(--border-default); }
.poker-calendar-culture__rules > article:first-child { padding-left: 0; border-left: 0; }
.poker-calendar-culture__rules > article:last-child { padding-right: 0; }
.poker-calendar-culture__rules span { display: block; margin-bottom: var(--space-4); color: var(--color-brass); font-size: 1.125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.poker-calendar-culture__rules h3 { margin-bottom: var(--space-3); }
.poker-calendar-culture__rules p { max-width: 20.625rem; }
.poker-calendar-cta { padding-block: 5rem; }
.poker-calendar-cta__panel { max-width: 45rem; margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-5); text-align: center; }
.poker-calendar-cta__panel > * { margin: 0; }
.poker-calendar-cta__panel .dek { max-width: 33.75rem; }
.poker-calendar-cta__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-5); }
.poker-calendar-cta__actions > * { min-width: 0; }
.poker-calendar-cta__secondary { display: inline-flex; min-height: 2.75rem; align-items: center; font-size: .875rem; font-weight: 700; }
.poker-calendar-faq__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: min(8vw, 7rem); justify-content: space-between; }
.poker-calendar-faq__intro { min-width: 0; max-width: 26.25rem; }
.poker-calendar-faq__intro .dek { max-width: 26.25rem; }
.poker-calendar-faq__items { min-width: 0; max-width: 46.25rem; }
.poker-calendar-faq__item { border-top: var(--border-default); }
.poker-calendar-faq__item:last-child { border-bottom: var(--border-default); }
.poker-calendar-faq__item h3 { margin: 0; }
.poker-calendar-faq__item button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); width: 100%; min-width: 0; min-height: 4rem; align-items: center; padding: var(--space-4) 0; background: transparent; color: var(--color-ivory); font-family: var(--font-heading); font-size: clamp(1.375rem, 2vw, 1.75rem); font-weight: 600; letter-spacing: -0.015em; line-height: 1.15; text-align: left; }
.poker-calendar-faq__item button span { color: var(--color-brass); font-family: var(--font-body); font-size: 1.5rem; transition: transform var(--transition-fast); }
.poker-calendar-faq__item button[aria-expanded="true"] span { transform: rotate(45deg); }
.poker-calendar-faq__answer { max-width: 38.75rem; padding-bottom: var(--space-5); }
.poker-calendar-faq__answer p { margin: 0; }
@media (max-width: 64rem) { .poker-calendar-anatomy__grid, .poker-calendar-rhythm__grid, .poker-calendar-faq__grid { grid-template-columns: 1fr; gap: var(--space-6); } .poker-calendar-anatomy__intro, .poker-calendar-faq__intro { max-width: 38.75rem; } .poker-calendar-format-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .poker-calendar-format-card--tournament { grid-column: 1 / 2; } .poker-calendar-rhythm__intro .dek, .poker-calendar-faq__intro .dek { max-width: 38.75rem; } .poker-calendar-dining__grid { gap: var(--space-6); } }
@media (max-width: 57.5rem) { .poker-calendar-dining__grid { grid-template-columns: 1fr; gap: var(--space-6); } .poker-calendar-dining__figure { grid-row: 1; padding-left: 0; border-left: 0; } .poker-calendar-dining__copy { max-width: 35rem; } }
@media (max-width: 47.5rem) { .poker-calendar-hero { min-height: 31.25rem; } .poker-calendar-hero__image { object-position: 58% 48%; } .poker-calendar-hero__overlay { background: linear-gradient(0deg, rgba(12,12,10,.93) 0%, rgba(12,12,10,.78) 54%, rgba(12,12,10,.28) 100%); } .poker-calendar-hero__inner { grid-template-columns: minmax(0, 1fr); padding-block: 3.5rem 2rem; } .poker-calendar-hero__copy { grid-column: 1; max-width: none; gap: var(--space-4); } .poker-calendar-hero__copy .display, .poker-calendar-hero__copy .dek { max-width: none; } .poker-calendar-hero__actions { width: 100%; flex-direction: column; align-items: stretch; } .poker-calendar-hero__actions > * { width: 100%; } .poker-calendar-hero__jump { justify-content: center; } .poker-calendar-filters { margin-top: var(--space-6); } .poker-calendar-filters__controls { gap: var(--space-2); } .poker-calendar-filter { flex: 1 1 auto; } .poker-calendar-empty { padding: var(--space-5); } .poker-calendar-empty__content .button { width: 100%; } .poker-calendar-event, .poker-calendar-entry-demo { grid-template-columns: 1fr; gap: var(--space-4); } .poker-calendar-event__action, .poker-calendar-entry-demo__action { width: 100%; } .poker-calendar-event__action .button, .poker-calendar-entry-demo__action .button { width: 100%; } .poker-calendar-anatomy__legend, .poker-calendar-format-cards, .poker-calendar-culture__rules { grid-template-columns: 1fr; } .poker-calendar-anatomy__legend { gap: 0; } .poker-calendar-anatomy__legend > div { padding-block: var(--space-4); border-bottom: var(--border-default); } .poker-calendar-format-cards { margin-top: var(--space-6); } .poker-calendar-format-card--offset { margin-top: 0; } .poker-calendar-format-card--tournament { grid-column: auto; } .poker-calendar-rhythm__steps { border-left: 0; } .poker-calendar-step { grid-template-columns: 1fr; gap: var(--space-2); padding-left: 0; } .poker-calendar-step + .poker-calendar-step { padding-top: var(--space-5); } .poker-calendar-step p { max-width: none; } .poker-calendar-dining__figure img { width: 100%; } .poker-calendar-culture__rules { margin-top: var(--space-6); } .poker-calendar-culture__rules > article, .poker-calendar-culture__rules > article:first-child, .poker-calendar-culture__rules > article:last-child { padding: var(--space-5) 0; border-left: 0; border-bottom: var(--border-default); } .poker-calendar-culture__rules > article:first-child { border-top: var(--border-default); } .poker-calendar-culture__rules p { max-width: none; } .poker-calendar-cta { padding-block: var(--space-6); } .poker-calendar-cta__panel { padding: var(--space-6) var(--space-5); } .poker-calendar-cta__actions { width: 100%; flex-direction: column; align-items: stretch; gap: var(--space-3); } .poker-calendar-cta__actions > * { width: 100%; } .poker-calendar-cta__secondary { justify-content: center; } .poker-calendar-faq__item button { min-height: 3.5rem; } }
