.landing-page {
  max-width: 1320px;
  margin: 0 auto;
  padding: 28px 24px 64px;
}

.landing-launch {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 20px;
  border: 1px solid #e5c77a;
  border-radius: 14px;
  background: #fff5d8;
  color: #654616;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}

.landing-launch-dot, .landing-coming-dot {
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-radius: 50%;
  background: currentColor;
}

.landing-launch-dot { color: #a87617; box-shadow: 0 0 0 5px #f6e8bb; }
.landing-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 34px 0 26px; }
.landing-intro h1 { color: var(--theme-text-primary); font-size: clamp(28px, 3.2vw, 43px); font-weight: 900; letter-spacing: -0.055em; line-height: 1.1; }
.landing-intro h1 span { color: var(--theme-text-muted); }
.landing-intro > p { color: var(--theme-text-secondary); max-width: 260px; font-size: 14px; line-height: 1.6; }
.landing-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.landing-choice { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid rgb(0 0 0 / 7%); border-radius: 28px; box-shadow: 0 18px 48px rgb(0 0 0 / 10%); transition: transform 220ms ease, box-shadow 220ms ease; }
.landing-choice:hover { transform: translateY(-5px); box-shadow: 0 26px 60px rgb(0 0 0 / 16%); }
.landing-choice-play { color: #17362b; background: #c7f36b; background-image: radial-gradient(ellipse at 10% 0%, #e1ffa0, transparent 65%); }
.landing-choice-club { color: #f7f5e9; background: #173438; background-image: radial-gradient(ellipse at 100% 0%, #285859, transparent 65%); }
.landing-choice-venue { color: #44345c; background: #e8e1f2; background-image: radial-gradient(ellipse at 20% 0%, #f7f0ff, transparent 65%); }
.landing-choice-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; padding: 22px 26px 0; font-size: 10px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.landing-choice-top > :last-child { opacity: 0.7; }
.landing-choice-top .landing-soon { opacity: 1; padding: 6px 9px; border: 1px solid #7256a849; border-radius: 99px; color: #674a96; font-size: 9px; letter-spacing: 0.07em; }
.landing-art { position: relative; padding: 4px 10px 0; }
.landing-art svg { display: block; width: 100%; height: 180px; }
.landing-art-play svg { color: #17362b70; }
.landing-art-venue svg { color: #7256a87d; }
.landing-art-caption { display: block; margin-top: 2px; text-align: center; font-size: 10px; font-weight: 700; letter-spacing: 0.03em; opacity: 0.72; }
.landing-choice-body { display: flex; flex: 1; flex-direction: column; padding: 26px 30px 28px; }
.landing-choice-body h2 { color: inherit; font-size: clamp(34px, 3.3vw, 47px); font-weight: 900; letter-spacing: -0.055em; line-height: 1.05; }
.landing-choice-lead { margin-top: 16px; font-size: 15px; font-weight: 500; line-height: 1.65; opacity: 0.85; }
.landing-benefits { list-style: none; margin: 24px 0 28px; padding: 0; }
.landing-benefits li { position: relative; padding-left: 18px; font-size: 13px; line-height: 1.65; }
.landing-benefits li + li { margin-top: 15px; }
.landing-benefits li::before { position: absolute; top: 8px; left: 0; width: 5px; height: 5px; border: 1px solid currentColor; border-radius: 50%; content: ""; }
.landing-benefits strong { font-weight: 800; }
.landing-benefits em { font-style: normal; font-weight: 700; }
.landing-choice-actions { margin-top: auto; }
.landing-cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 15px 20px; border-radius: 12px; font-size: 14px; font-weight: 800; transition: opacity 160ms ease; }
.landing-cta:hover { opacity: 0.88; }
.landing-cta span { font-size: 23px; font-weight: 400; line-height: 1; }
.landing-cta-ink { color: #f7f5e9; background: #17362b; }
.landing-cta-lime { color: #17362b; background: #c7f36b; }
.landing-text-link { display: inline-block; padding-top: 16px; font-size: 11px; font-weight: 700; text-underline-offset: 4px; }
.landing-text-link:hover { text-decoration: underline; }
.landing-venue-intro { margin-top: 21px; font-size: 12px; line-height: 1.65; opacity: 0.85; }
.landing-choice-venue .landing-benefits { margin-top: 14px; }
.landing-coming-label { display: flex; align-items: center; gap: 9px; min-height: 52px; padding: 12px 14px; border: 1px dashed #7256a86b; border-radius: 12px; font-size: 11px; font-weight: 800; line-height: 1.5; }
.landing-coming-dot { width: 6px; height: 6px; color: #7256a8; }
.landing-venue-note { padding-top: 16px; font-size: 11px; opacity: 0.75; }
.landing-page a:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }

@media (min-width: 1400px) {
  .landing-page { padding-top: 36px; }
  .landing-art svg { height: 200px; }
}

@media (max-width: 1023px) {
  .landing-choices { grid-template-columns: 1fr; max-width: 600px; margin: 0 auto; gap: 24px; }
  .landing-intro { max-width: 600px; margin: 0 auto; }
  .landing-intro > p { display: none; }
  .landing-choice-body h2 { font-size: 44px; }
  .landing-art svg { height: 190px; }
  .landing-choice-body { padding: 24px 30px 30px; }
}

@media (max-width: 479px) {
  .landing-page { padding: 20px 16px 36px; }
  .landing-launch { align-items: flex-start; padding: 14px 16px; font-size: 12px; }
  .landing-launch-dot { margin-top: 6px; }
  .landing-intro { padding: 26px 0 22px; }
  .landing-choice-body h2 { font-size: 42px; }
  .landing-choice-top { padding-inline: 24px; }
  .landing-choice-body { padding-inline: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .landing-choice, .landing-cta { transition: none; }
  .landing-choice:hover { transform: none; }
}
