.section-alt{background-color:#f8f6f0}.section-grid{align-items:flex-start;gap:2.5rem}.section-reverse{flex-direction:row-reverse}.section-reverse .section-grid{flex-direction:row-reverse}.about-card-title{font-size:1.3rem;margin-bottom:1rem}.about-list{display:flex;flex-direction:column;gap:0.9rem}.about-label{display:block;font-size:0.85rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.2rem}.about-meta{font-size:0.9rem;color:var(--gray-600)}.about-actions,.poker-actions,.events-footer,.testimonials-cta,.case-study-footer,.contact-links,.hero-ctas{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:0.75rem}.booking-grid{margin-top:0.75rem}.about-columns{margin-top:0.75rem}.about-card{height:100%}.poker-media-wrap,.press-media-wrap,.gallery-media-wrap{display:flex;align-items:stretch}.poker-image-card,.press-image-card,.gallery-image-card{position:relative;overflow:hidden;border-radius:1.1rem;padding:0}.poker-image-vis,.press-image-vis,.gallery-image-vis{display:block;width:100%;height:100%;min-height:260px;object-fit:cover}.poker-badge{position:absolute;left:1rem;bottom:1rem;z-index:2;display:inline-flex;align-items:center;padding:0.35rem 0.75rem;border-radius:999px;background:rgba(15,23,42,0.88);border:1px solid rgba(212,175,55,0.55);color:#f8fafc;font-size:0.7rem;letter-spacing:0.08em}.poker-grid{gap:1.5rem;margin-top:1rem}.leadership-list{margin-top:1rem}.leadership-card{height:100%}.case-study-footer{margin-top:1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem}.testimonials-grid{gap:1.5rem}.testimonial-card{height:100%;display:flex;flex-direction:column;gap:0.75rem}.testimonial-heading{font-size:1.05rem;line-height:1.35}.testimonial-meta{font-size:0.8rem;color:var(--gray-500);margin-top:auto}.press-list{margin-top:1rem}.reservation-card{height:100%}.hero-right{display:flex;flex-direction:column;gap:1.25rem}.surface-card{background:#0f172a}.chip{display:inline-flex;align-items:center;gap:0.4rem;padding:0.3rem 0.75rem;border-radius:999px;border:1px solid rgba(212,175,55,0.45);background:rgba(255,255,255,0.7);font-size:0.75rem}.chip-dot{width:0.4rem;height:0.4rem;border-radius:999px;background:#166534}.events-footer{align-items:flex-start;justify-content:space-between}.card-hero{padding:2rem}@media (max-width:1024px){.section-reverse{flex-direction:column}.section-reverse .section-grid{flex-direction:column}.poker-image-vis,.press-image-vis,.gallery-image-vis{min-height:220px}}@media (max-width:768px){.section-grid,.about-columns,.poker-grid,.testimonials-grid{grid-template-columns:1fr}.events-footer,.case-study-footer{flex-direction:column;align-items:stretch}.hero-ctas{width:100%}.hero-ctas .btn{width:100%;justify-content:center}}

/* --- visual fix pass 2026-08-06 --- */
@media (max-width: 768px) {
  .card-hero,
  .section-grid,
  .grid-2 {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
  }
  .card-hero > *,
  .section-grid > *,
  .hero-right,
  .about-card,
  .reservation-card {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .section-subtitle,
  .card-title,
  .card-body {
    overflow-wrap: anywhere;
  }
  .btn-sm {
    min-height: 44px;
    white-space: normal;
    line-height: 1.25;
  }
  .hero-ctas {
    flex-wrap: wrap;
    max-width: 100%;
  }
  .hero-ctas .btn,
  .btn-outline {
    max-width: 100%;
    width: 100%;
    white-space: normal;
    box-sizing: border-box;
  }
}
.hero-stat-label,
.hero-stat-meta,
.booking-panel-pill span,
.booking-panel-field-label,
.poker-badge,
.pill {
  font-size: 12px;
}

/* --- hero media overlap fix 2026-08-06 --- */
.hero-media-overlay {
  gap: 0.75rem;
}
.hero-stat-badge {
  z-index: 2;
}
.hero-media-caption {
  position: relative;
  z-index: 1;
  max-width: min(16rem, calc(100% - 11.5rem));
  padding-right: 0.35rem;
}
@media (max-width: 768px) {
  .hero-media {
    min-height: 300px;
  }
  .hero-media-overlay {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0.85rem;
    padding: 1.1rem 1.15rem 1.2rem;
  }
  .hero-stat-badge {
    position: static;
    top: auto;
    right: auto;
    align-self: flex-start;
    min-width: 0;
    max-width: 100%;
    width: auto;
    order: 1;
  }
  .hero-media-caption {
    max-width: 100%;
    padding-right: 0;
    order: 2;
  }
  .booking-panel-pill {
    order: 3;
    margin-top: auto;
    align-self: flex-start;
    max-width: 100%;
    white-space: normal;
    line-height: 1.35;
  }
}
@media (max-width: 480px) {
  .hero-media-overlay {
    padding: 1rem;
  }
  .hero-stat-value {
    font-size: 1rem;
  }
}


/* --- hero media overlap fix v2 2026-08-06 --- */
/* Badge must not sit absolute over the caption at any width. */
.hero-media .hero-media-overlay {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0.85rem;
  padding: 1.25rem 1.35rem 1.35rem;
}
.hero-media .hero-stat-badge {
  position: static;
  top: auto;
  right: auto;
  left: auto;
  align-self: flex-end;
  min-width: 0;
  max-width: min(14rem, 100%);
  width: auto;
  z-index: auto;
}
.hero-media .hero-media-caption {
  position: static;
  max-width: 18rem;
  padding-right: 0;
  z-index: auto;
}
.hero-media .booking-panel-pill {
  margin-top: auto;
  align-self: flex-start;
  max-width: 100%;
  white-space: normal;
  line-height: 1.35;
}
@media (max-width: 768px) {
  .hero-media .hero-stat-badge {
    align-self: flex-start;
    max-width: 100%;
  }
  .hero-media .hero-media-caption {
    max-width: 100%;
  }
}
