main.blackjack-page {
  overflow: clip;
}

.blackjack-page .bj-shell {
  width: min(100% - (var(--container-padding) * 2), var(--container-max));
  margin-inline: auto;
}

.blackjack-page .bj-hero {
  position: relative;
  display: grid;
  min-height: 48.75rem;
  align-items: end;
  isolation: isolate;
  color: var(--color-white-on-dark);
}

.blackjack-page .bj-hero__media,
.blackjack-page .bj-hero__media::after {
  position: absolute;
  inset: 0;
}

.blackjack-page .bj-hero__media {
  z-index: -2;
  overflow: hidden;
  background: var(--color-deep-ink);
}

.blackjack-page .bj-hero__media::after {
  z-index: 1;
  content: "";
  background: linear-gradient(90deg, rgba(23, 35, 32, 0.62) 0%, rgba(23, 35, 32, 0.38) 48%, rgba(23, 35, 32, 0.16) 100%);
}

.blackjack-page .bj-hero__media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 58% center;
}

.blackjack-page .bj-hero__content {
  display: flex;
  width: min(100%, 36.25rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  padding-block: 10rem 5.5rem;
}

.blackjack-page .bj-breadcrumbs {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0;
  color: rgba(255, 253, 248, 0.82);
  font-size: var(--text-utility);
  font-weight: 600;
  line-height: var(--leading-utility);
}

.blackjack-page .bj-breadcrumbs a { color: inherit; }
.blackjack-page .bj-breadcrumbs a:hover { color: var(--color-champagne-bronze); }
.blackjack-page .bj-hero__label { margin: 0; color: var(--color-champagne-bronze); }
.blackjack-page .bj-hero h1 { margin: 0; color: var(--color-white-on-dark); }
.blackjack-page .bj-hero__lead { max-width: 31rem; margin: 0; font-size: var(--text-intro); line-height: var(--leading-intro); }

.blackjack-page .bj-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}

.blackjack-page .bj-hero__actions > * { min-width: 0; }
.blackjack-page .bj-hero__actions .text-link { color: var(--color-white-on-dark); }
.blackjack-page .bj-hero__actions .text-link:hover { color: var(--color-champagne-bronze); }
.blackjack-page .bj-hero__note { margin: 0; color: rgba(255, 253, 248, 0.8); font-size: var(--text-utility); font-weight: 600; line-height: var(--leading-utility); }

.blackjack-page .bj-section-heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.blackjack-page .bj-section-heading > * { min-width: 0; margin: 0; }
.blackjack-page .bj-section-heading h2 { margin: 0; }
.blackjack-page .bj-section-heading .intro { margin: 0; }
.blackjack-page .bj-format__heading { width: min(100%, 42.5rem); }
.blackjack-page .bj-format__heading .intro { max-width: 34rem; }

.blackjack-page .bj-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-8);
}

.blackjack-page .bj-value-grid > * { min-width: 0; }
.blackjack-page .bj-value-card {
  display: flex;
  min-width: 0;
  min-height: 19.5rem;
  flex-direction: column;
  gap: var(--space-4);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  background: var(--color-warm-limestone);
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.blackjack-page .bj-value-card:hover { border-color: var(--color-champagne-bronze); transform: translateY(-2px); }
.blackjack-page .bj-value-card > * { min-width: 0; margin: 0; }
.blackjack-page .bj-card-number { color: var(--color-champagne-bronze); font-size: var(--text-label); font-weight: 700; letter-spacing: var(--tracking-label); line-height: var(--leading-compact); }
.blackjack-page .bj-card-rule { width: 3rem; height: 1px; background: var(--color-champagne-bronze); }
.blackjack-page .bj-value-card h3 { font-size: clamp(1.9rem, 2.5vw, 2.5rem); }
.blackjack-page .bj-value-card p { color: var(--color-muted-ink); }

.blackjack-page .bj-ritual { background: var(--color-warm-limestone); }
.blackjack-page .bj-ritual__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr);
  gap: var(--space-5);
  align-items: center;
}

.blackjack-page .bj-ritual__grid > * { min-width: 0; }
.blackjack-page .bj-ritual__figure { grid-column: 1; width: 100%; margin: var(--space-7) 0 0; }
.blackjack-page .bj-ritual__media { width: 100%; aspect-ratio: 4 / 3; }
.blackjack-page .bj-ritual__media img { object-position: 48% center; transition: object-position var(--transition-panel); }
.blackjack-page .bj-ritual__figure:hover img { object-position: 51% center; }
.blackjack-page .bj-ritual__figure figcaption { width: min(60%, 28rem); }
.blackjack-page .bj-ritual__copy { grid-column: 3; display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.blackjack-page .bj-ritual__copy > * { min-width: 0; margin: 0; }
.blackjack-page .bj-ritual__copy p { max-width: 31rem; color: var(--color-muted-ink); }
.blackjack-page .bj-ritual__quote { max-width: 36rem; margin-top: var(--space-2); }

.blackjack-page .bj-evening__heading { width: min(100%, 38.75rem); }
.blackjack-page .bj-evening__heading .intro { max-width: 36rem; }
.blackjack-page .bj-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-8);
  border-top: 1px solid var(--color-champagne-bronze);
  padding-top: var(--space-5);
}

.blackjack-page .bj-timeline > * { min-width: 0; }
.blackjack-page .bj-step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.blackjack-page .bj-step > * { min-width: 0; margin: 0; }
.blackjack-page .bj-step__number { color: var(--color-champagne-bronze); font-size: var(--text-label); font-weight: 700; letter-spacing: var(--tracking-label); }
.blackjack-page .bj-step h3 { font-size: clamp(1.7rem, 2.25vw, 2.2rem); }
.blackjack-page .bj-step p { color: var(--color-muted-ink); }
.blackjack-page .bj-step.is-reveal-ready { opacity: 0; transform: translateY(0.75rem); transition: opacity 220ms ease-out, transform 220ms ease-out; }
.blackjack-page .bj-step.is-visible { opacity: 1; transform: translateY(0); }

.blackjack-page .bj-welcome__panel {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  border-radius: var(--radius-xl);
  padding: var(--space-7);
}

.blackjack-page .bj-welcome__panel > * { min-width: 0; }
.blackjack-page .bj-welcome__heading { grid-column: 1 / span 6; width: 100%; }
.blackjack-page .bj-welcome__heading .intro { max-width: 38rem; }
.blackjack-page .bj-welcome__answers { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-3); }
.blackjack-page .bj-welcome__answers > * { min-width: 0; }
.blackjack-page .bj-answer { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); border-top: 1px solid rgba(23, 35, 32, 0.22); padding-top: var(--space-5); }
.blackjack-page .bj-answer > * { min-width: 0; margin: 0; }
.blackjack-page .bj-answer__label { color: var(--color-cobalt-blue); font-size: var(--text-label); font-weight: 700; letter-spacing: var(--tracking-label); line-height: var(--leading-compact); }
.blackjack-page .bj-answer h3 { font-size: clamp(1.8rem, 2.4vw, 2.45rem); }
.blackjack-page .bj-answer p { max-width: 30rem; color: var(--color-deep-ink); }

.blackjack-page .bj-restaurant__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-7);
  align-items: start;
}

.blackjack-page .bj-restaurant__grid > * { min-width: 0; }
.blackjack-page .bj-restaurant__copy { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); padding-top: var(--space-6); }
.blackjack-page .bj-restaurant__copy > * { min-width: 0; margin: 0; }
.blackjack-page .bj-restaurant__copy p { max-width: 34rem; color: var(--color-muted-ink); }
.blackjack-page .bj-restaurant__figure { width: 100%; margin: var(--space-7) 0 0; }
.blackjack-page .bj-restaurant__media { width: 100%; min-height: 32.5rem; aspect-ratio: 3 / 2; }
.blackjack-page .bj-restaurant__media img { object-position: 58% center; }
.blackjack-page .bj-restaurant__figure figcaption { max-width: 34rem; }

.blackjack-page .bj-related { background: var(--color-warm-limestone); }
.blackjack-page .bj-related__heading { width: min(100%, 42.5rem); }
.blackjack-page .bj-related__heading .intro { max-width: 34rem; }
.blackjack-page .bj-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-8);
}

.blackjack-page .bj-related__grid > * { min-width: 0; }
.blackjack-page .bj-related-card {
  display: flex;
  min-width: 0;
  min-height: 19rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  background: var(--color-pearl-white);
}

.blackjack-page .bj-related-card > * { min-width: 0; margin: 0; }
.blackjack-page .bj-related-card h3 { font-size: clamp(1.9rem, 2.5vw, 2.5rem); }
.blackjack-page .bj-related-card p { max-width: 30rem; color: var(--color-muted-ink); }
.blackjack-page .bj-related-card .text-link { margin-top: auto; }
.blackjack-page .bj-arrow { color: var(--color-cobalt-blue); transition: transform var(--transition-fast); }
.blackjack-page .bj-related-card:hover .bj-arrow { transform: translateX(0.25rem); }

.blackjack-page .bj-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr);
  gap: var(--space-5);
  align-items: start;
}

.blackjack-page .bj-faq__grid > * { min-width: 0; }
.blackjack-page .bj-faq__heading { grid-column: 1; width: 100%; }
.blackjack-page .bj-faq__heading .intro { max-width: 26rem; }
.blackjack-page .bj-accordion { grid-column: 3; width: 100%; }
.blackjack-page .bj-accordion-item { min-width: 0; border-bottom: 1px solid var(--color-border-light); }
.blackjack-page .bj-accordion-button { display: flex; width: 100%; min-width: 0; min-height: 4rem; align-items: center; justify-content: space-between; gap: var(--space-4); border: 0; padding: var(--space-5) 0; background: transparent; color: var(--color-deep-ink); font-weight: 700; line-height: var(--leading-compact); text-align: left; }
.blackjack-page .bj-accordion-button span:first-child { min-width: 0; }
.blackjack-page .bj-accordion-icon { display: grid; width: 1.5rem; min-width: 1.5rem; height: 1.5rem; place-items: center; color: var(--color-champagne-bronze); font-size: 1.35rem; font-weight: 400; transition: transform 220ms ease-out; }
.blackjack-page .bj-accordion-button[aria-expanded="true"] .bj-accordion-icon { transform: rotate(45deg); }
.blackjack-page .bj-accordion-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 220ms ease-out; }
.blackjack-page .bj-accordion-panel[hidden] { display: none; }
.blackjack-page .bj-accordion-panel.is-open { grid-template-rows: 1fr; }
.blackjack-page .bj-accordion-panel__inner { min-height: 0; overflow: hidden; }
.blackjack-page .bj-accordion-panel__inner p { max-width: 43rem; margin: 0; padding: 0 0 var(--space-5); color: var(--color-muted-ink); }

.blackjack-page .bj-cta {
  position: relative;
  overflow: hidden;
  padding-block: var(--section-space);
  background: var(--color-cobalt-blue);
  color: var(--color-white-on-dark);
}

.blackjack-page .bj-cta::before {
  position: absolute;
  top: -6rem;
  left: 50%;
  width: min(90vw, 84rem);
  height: 10rem;
  border-radius: 0 0 50% 50%;
  background: var(--color-pearl-white);
  content: "";
  transform: translateX(-50%);
}

.blackjack-page .bj-cta__inner { position: relative; display: flex; width: min(100%, 47.5rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-5); margin-inline: auto; padding-top: var(--space-6); text-align: center; }
.blackjack-page .bj-cta__inner > * { min-width: 0; margin: 0; }
.blackjack-page .bj-cta .eyebrow { color: var(--color-champagne-bronze); }
.blackjack-page .bj-cta h2 { color: var(--color-white-on-dark); }
.blackjack-page .bj-cta__lead { width: min(100%, 42rem); font-size: var(--text-intro); line-height: var(--leading-intro); }
.blackjack-page .bj-cta__actions { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: var(--space-4); }
.blackjack-page .bj-cta__actions > * { min-width: 0; }
.blackjack-page .bj-cta .text-link { color: var(--color-white-on-dark); }
.blackjack-page .bj-cta .text-link:hover { color: var(--color-champagne-bronze); }
.blackjack-page .bj-contact-line { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: var(--space-2) var(--space-4); color: rgba(255, 253, 248, 0.84); font-size: var(--text-utility); font-weight: 600; }
.blackjack-page .bj-contact-line a { color: var(--color-white-on-dark); }
.blackjack-page .bj-contact-line a:hover { color: var(--color-champagne-bronze); }

.blackjack-page .bj-discover { padding-block: var(--section-space-compact); border-top: 1px solid var(--color-warm-limestone); }
.blackjack-page .bj-discover__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 10fr); gap: var(--space-5); align-items: start; }
.blackjack-page .bj-discover__grid > * { min-width: 0; }
.blackjack-page .bj-discover__label { margin: var(--space-2) 0 0; }
.blackjack-page .bj-discover__links { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3) var(--space-5); }
.blackjack-page .bj-discover__links > * { min-width: 0; }
.blackjack-page .bj-discover__links .text-link { min-height: 2.75rem; }

@media (max-width: 1040px) {
  .blackjack-page .bj-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-7); }
}

@media (max-width: 960px) {
  .blackjack-page .bj-value-grid,
  .blackjack-page .bj-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blackjack-page .bj-value-grid > :nth-child(3),
  .blackjack-page .bj-related__grid > :nth-child(3) { grid-column: 1 / -1; }
  .blackjack-page .bj-ritual__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .blackjack-page .bj-ritual__figure,
  .blackjack-page .bj-ritual__copy { grid-column: 1; }
  .blackjack-page .bj-ritual__figure { margin-top: 0; }
  .blackjack-page .bj-restaurant__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .blackjack-page .bj-restaurant__copy { padding-top: 0; }
  .blackjack-page .bj-restaurant__figure { margin-top: 0; }
}

@media (max-width: 899px) {
  .blackjack-page .bj-hero { min-height: 43rem; }
  .blackjack-page .bj-hero__content { padding-block: 8rem 4rem; }
  .blackjack-page .bj-welcome__panel { padding: var(--space-6); }
}

@media (max-width: 860px) {
  .blackjack-page .bj-faq__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .blackjack-page .bj-faq__heading,
  .blackjack-page .bj-accordion { grid-column: 1; }
  .blackjack-page .bj-faq__heading .intro { max-width: 34rem; }
}

@media (max-width: 820px) {
  .blackjack-page .bj-welcome__panel { grid-template-columns: 1fr; }
  .blackjack-page .bj-welcome__heading,
  .blackjack-page .bj-welcome__answers { grid-column: 1; }
  .blackjack-page .bj-welcome__answers { grid-template-columns: 1fr; gap: var(--space-5); }
}

@media (max-width: 620px) {
  .blackjack-page .bj-hero { min-height: 42.5rem; }
  .blackjack-page .bj-hero__media::after { background: linear-gradient(0deg, rgba(23, 35, 32, 0.74) 0%, rgba(23, 35, 32, 0.36) 55%, rgba(23, 35, 32, 0.12) 100%); }
  .blackjack-page .bj-hero__media img { object-position: 49% center; }
  .blackjack-page .bj-hero__content { width: 100%; gap: var(--space-4); padding-block: 7rem 2rem; }
  .blackjack-page .bj-hero h1 { font-size: clamp(3rem, 13vw, 4.25rem); }
  .blackjack-page .bj-hero__lead { max-width: 29rem; }
  .blackjack-page .bj-hero__actions { align-items: stretch; flex-direction: column; }
  .blackjack-page .bj-hero__actions .button { width: 100%; }
  .blackjack-page .bj-hero__actions .text-link { min-height: 2.75rem; width: fit-content; }
  .blackjack-page .bj-value-grid,
  .blackjack-page .bj-related__grid,
  .blackjack-page .bj-timeline { grid-template-columns: 1fr; }
  .blackjack-page .bj-value-grid > :nth-child(3),
  .blackjack-page .bj-related__grid > :nth-child(3) { grid-column: 1; }
  .blackjack-page .bj-value-card,
  .blackjack-page .bj-related-card { min-height: auto; padding: var(--space-5); }
  .blackjack-page .bj-ritual__media { aspect-ratio: 4 / 5; }
  .blackjack-page .bj-ritual__figure figcaption { width: 100%; }
  .blackjack-page .bj-timeline { gap: var(--space-5); margin-top: var(--space-6); border-top: 0; border-left: 1px solid var(--color-champagne-bronze); padding: 0 0 0 var(--space-5); }
  .blackjack-page .bj-welcome__panel { border-radius: 1.5rem; padding: var(--space-5); }
  .blackjack-page .bj-restaurant__media { min-height: 0; aspect-ratio: 4 / 5; }
  .blackjack-page .bj-accordion-button { min-height: 3.25rem; }
  .blackjack-page .bj-cta { padding-block: var(--section-space-mobile); }
  .blackjack-page .bj-cta::before { top: -3.5rem; height: 6rem; }
  .blackjack-page .bj-cta__inner { gap: var(--space-4); padding-top: var(--space-5); }
  .blackjack-page .bj-cta__lead { width: min(100%, 25rem); }
  .blackjack-page .bj-cta__actions { width: 100%; align-items: stretch; flex-direction: column; }
  .blackjack-page .bj-cta__actions .button { width: 100%; }
  .blackjack-page .bj-cta__actions .text-link { width: 100%; min-height: 3rem; justify-content: center; }
  .blackjack-page .bj-contact-line { flex-direction: column; gap: var(--space-2); }
  .blackjack-page .bj-discover__grid { grid-template-columns: 1fr; gap: var(--space-3); }
  .blackjack-page .bj-discover__label { margin-top: 0; }
  .blackjack-page .bj-discover__links { align-items: stretch; flex-direction: column; gap: var(--space-2); }
  .blackjack-page .bj-discover__links .text-link { width: fit-content; }
}

@media (prefers-reduced-motion: reduce) {
  .blackjack-page .bj-step.is-reveal-ready { opacity: 1; transform: none; }
  .blackjack-page .bj-ritual__figure:hover img { object-position: 48% center; }
}
