.offline-poker-page {
  background: var(--color-ivory);
}

.offline-poker-page .section {
  overflow: clip;
}

.offline-poker-hero {
  padding-block-start: clamp(2.5rem, 5vw, 5rem);
}

.offline-poker-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(2rem, 1fr) minmax(0, 6fr);
  align-items: center;
  gap: var(--space-6);
}

.offline-poker-hero__content {
  grid-column: 1;
  min-width: 0;
  max-width: 42.5rem;
}

.offline-poker-hero__eyebrow {
  display: inline-block;
  margin: 0 0 var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--color-sky);
  color: var(--color-ink);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.offline-poker-hero__lead {
  max-width: 35rem;
  color: var(--color-muted-ink);
  font-size: var(--text-lg);
}

.offline-poker-hero__actions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.offline-poker-hero__actions > * {
  min-width: 0;
}

.offline-poker-hero__note {
  max-width: 31rem;
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
}

.offline-poker-hero__media {
  grid-column: 3;
  width: 100%;
  min-width: 0;
  max-width: 37.5rem;
  justify-self: end;
  aspect-ratio: 4 / 5;
  margin: 0;
  border-radius: var(--radius-lg);
}

.offline-poker-hero__media img {
  object-position: center;
}

.offline-poker-definition__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-6);
}

.offline-poker-definition__copy,
.offline-poker-definition__panel {
  min-width: 0;
}

.offline-poker-definition__copy {
  grid-column: 1;
  max-width: 40.625rem;
}

.offline-poker-definition__copy > p {
  max-width: 40.625rem;
}

.offline-poker-definition__rule {
  width: 4.5rem;
  height: 2px;
  margin: 0 0 var(--space-6);
  background: var(--color-wood);
}

.offline-poker-definition__panel {
  grid-column: 3;
  padding: var(--space-8);
  border-radius: var(--radius-lg);
  background: var(--color-mint);
}

.offline-poker-definition__panel > :last-child,
.offline-poker-format-card > :last-child,
.offline-poker-mini-card > :last-child,
.offline-poker-step > :last-child,
.offline-poker-planning-card > :last-child,
.offline-poker-related-card > :last-child,
.offline-poker-closing__content > :last-child {
  margin-bottom: 0;
}

.offline-poker-formats__header {
  width: 100%;
  max-width: 38.75rem;
}

.offline-poker-formats__header > p:not(.eyebrow) {
  max-width: 37.5rem;
  color: var(--color-muted-ink);
}

.offline-poker-formats__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

.offline-poker-formats__grid > * {
  min-width: 0;
}

.offline-poker-format-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.offline-poker-format-card > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-format-card__label {
  color: var(--color-muted-ink);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.offline-poker-format-card__link {
  min-height: 2.75rem;
  margin-top: auto;
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
}

.offline-poker-format-card--sky {
  border-color: transparent;
  background: var(--color-sky);
}

.offline-poker-format-card--mint {
  border-color: transparent;
  background: var(--color-mint);
}

.offline-poker-format-card--lemon {
  border-color: transparent;
  background: var(--color-lemon);
}

.offline-poker-format-card--coral {
  border-color: transparent;
  background: var(--color-coral);
}

.offline-poker-format-card--white {
  background: var(--color-white);
}

.offline-poker-format-card--ivory {
  border-top: var(--rule-wood);
  background: var(--color-ivory);
}

.offline-poker-atmosphere__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-6);
}

.offline-poker-atmosphere__media {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 2;
  margin: 0;
  border-radius: var(--radius-lg);
}

.offline-poker-atmosphere__content {
  display: flex;
  grid-column: 3;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
}

.offline-poker-atmosphere__copy {
  min-width: 0;
  max-width: 38.75rem;
}

.offline-poker-atmosphere__copy > p:not(.eyebrow) {
  max-width: 38.75rem;
  color: var(--color-muted-ink);
}

.offline-poker-atmosphere__cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
}

.offline-poker-atmosphere__cards > * {
  min-width: 0;
}

.offline-poker-mini-card {
  min-width: 0;
  padding: var(--space-6);
  border-radius: var(--radius-md);
}

.offline-poker-mini-card--sky {
  background: var(--color-sky);
}

.offline-poker-mini-card--mint {
  background: var(--color-mint);
}

.offline-poker-process {
  background: var(--color-mint);
}

.offline-poker-process__header {
  max-width: 43.75rem;
  margin-inline: auto;
  text-align: center;
}

.offline-poker-process__header > p:not(.eyebrow) {
  max-width: 43.75rem;
  margin-inline: auto;
  color: var(--color-muted-ink);
}

.offline-poker-process__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-6);
  margin: var(--space-10) 0 0;
  padding: 0;
  list-style: none;
}

.offline-poker-process__grid > * {
  min-width: 0;
}

.offline-poker-step {
  position: relative;
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
}

.offline-poker-step--white {
  background: var(--color-white);
}

.offline-poker-step--sky {
  border-color: transparent;
  background: var(--color-sky);
}

.offline-poker-step--lemon {
  border-color: transparent;
  background: var(--color-lemon);
}

.offline-poker-step--coral {
  border-color: transparent;
  background: var(--color-coral);
}

.offline-poker-step__number {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-wood);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: var(--weight-extrabold);
  line-height: 1;
}

.offline-poker-planning__header {
  width: 100%;
  max-width: 40.625rem;
}

.offline-poker-planning__header > p:not(.eyebrow) {
  max-width: 40.625rem;
  color: var(--color-muted-ink);
}

.offline-poker-planning__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

.offline-poker-planning__grid > * {
  min-width: 0;
}

.offline-poker-planning-card {
  min-width: 0;
  padding: var(--space-8);
  border: var(--border-default);
  border-radius: var(--radius-md);
}

.offline-poker-planning-card--white {
  background: var(--color-white);
}

.offline-poker-planning-card--sky {
  border-color: transparent;
  background: var(--color-sky);
}

.offline-poker-planning-card--lemon {
  border-color: transparent;
  background: var(--color-lemon);
}

.offline-poker-planning-card--coral {
  border-color: transparent;
  background: var(--color-coral);
}

.offline-poker-related__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: start;
  gap: var(--space-6);
}

.offline-poker-related__copy {
  grid-column: 1;
  min-width: 0;
  max-width: 35rem;
}

.offline-poker-related__copy > p:not(.eyebrow) {
  max-width: 35rem;
  color: var(--color-muted-ink);
}

.offline-poker-related__text-link {
  display: inline-block;
  min-height: 2.75rem;
  padding-top: var(--space-2);
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
}

.offline-poker-related__cards {
  display: grid;
  grid-column: 3;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.offline-poker-related__cards > * {
  min-width: 0;
}

.offline-poker-related-card {
  display: flex;
  min-width: 0;
  min-height: 10rem;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  border: var(--border-default);
  border-radius: var(--radius-md);
  color: var(--color-ink);
  text-decoration: none;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);
}

.offline-poker-related-card:hover {
  color: var(--color-ink);
  transform: translateY(-3px);
  box-shadow: var(--shadow-lift);
}

.offline-poker-related-card span {
  font-family: var(--font-heading);
  font-size: var(--text-card-title);
  font-weight: var(--weight-bold);
  line-height: var(--leading-card);
}

.offline-poker-related-card small {
  color: var(--color-muted-ink);
  line-height: var(--leading-body);
}

.offline-poker-related-card--lemon {
  border-color: transparent;
  background: var(--color-lemon);
}

.offline-poker-related-card--sky {
  border-color: transparent;
  background: var(--color-sky);
}

.offline-poker-related-card--mint {
  border-color: transparent;
  background: var(--color-mint);
}

.offline-poker-related-card--white {
  background: var(--color-white);
}

.offline-poker-closing {
  padding-top: 0;
}

.offline-poker-closing__panel {
  width: min(100%, 62.5rem);
  margin-inline: auto;
  padding: clamp(var(--space-8), 6vw, var(--space-16));
  border-radius: var(--radius-xl);
  background: var(--color-coral);
}

.offline-poker-closing__content {
  display: flex;
  min-width: 0;
  max-width: 45rem;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  margin-inline: auto;
  text-align: center;
}

.offline-poker-closing__content > * {
  min-width: 0;
  margin: 0;
}

.offline-poker-closing__content > p:not(.eyebrow):not(.offline-poker-closing__note) {
  max-width: 42rem;
  font-size: var(--text-lg);
}

.offline-poker-closing__note {
  max-width: 38rem;
  padding-top: var(--space-4);
  border-top: 2px solid rgba(38, 59, 54, 0.28);
  font-size: var(--text-sm);
}

@media (max-width: 67.49rem) {
  .offline-poker-formats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 61.24rem) {
  .offline-poker-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-8);
  }

  .offline-poker-hero__content {
    grid-column: 1;
  }

  .offline-poker-hero__media {
    grid-column: 2;
  }

  .offline-poker-process__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 56.24rem) {
  .offline-poker-definition__grid,
  .offline-poker-atmosphere__grid,
  .offline-poker-related__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-8);
  }

  .offline-poker-definition__copy,
  .offline-poker-definition__panel,
  .offline-poker-atmosphere__media,
  .offline-poker-atmosphere__content,
  .offline-poker-related__copy,
  .offline-poker-related__cards {
    grid-column: 1;
    width: 100%;
    max-width: none;
  }

  .offline-poker-definition__panel {
    max-width: 35rem;
  }

  .offline-poker-atmosphere__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .offline-poker-atmosphere__copy {
    grid-column: 1 / -1;
    max-width: 38.75rem;
  }

  .offline-poker-atmosphere__cards {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .offline-poker-related__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 51.24rem) {
  .offline-poker-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .offline-poker-hero__content,
  .offline-poker-hero__media {
    grid-column: 1;
    width: 100%;
  }

  .offline-poker-hero__media {
    max-width: 35rem;
    justify-self: start;
  }
}

@media (max-width: 47.49rem) {
  .offline-poker-planning__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 44.99rem) {
  .offline-poker-hero {
    padding-block-start: var(--space-10);
  }

  .offline-poker-hero__lead {
    max-width: none;
    font-size: var(--text-base);
  }

  .offline-poker-hero__actions .button-link {
    width: 100%;
  }

  .offline-poker-definition__panel,
  .offline-poker-planning-card {
    padding: var(--space-6);
  }

  .offline-poker-formats__grid,
  .offline-poker-process__grid,
  .offline-poker-atmosphere__cards,
  .offline-poker-related__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .offline-poker-formats__grid,
  .offline-poker-process__grid,
  .offline-poker-planning__grid {
    gap: var(--space-4);
    margin-top: var(--space-8);
  }

  .offline-poker-atmosphere__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }

  .offline-poker-atmosphere__cards {
    display: grid;
    gap: var(--space-4);
  }

  .offline-poker-related-card {
    min-height: 0;
  }

  .offline-poker-closing__panel {
    padding: var(--space-6);
  }

  .offline-poker-closing__content .button-link {
    width: 100%;
    max-width: 22.5rem;
  }
}
