/* ==========================================================================
   S9 GAME — home.css  (index.html only)
   ========================================================================== */

/* --------------------------------------------------------------------------
   HERO — asymmetric split
   -------------------------------------------------------------------------- */
.hero {
  position: relative;
  padding-block: clamp(2.5rem, 1.5rem + 5vw, 5.5rem) clamp(3rem, 2rem + 5vw, 6rem);
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(70% 90% at 78% 34%, rgba(122, 17, 40, 0.42), transparent 65%),
    radial-gradient(50% 60% at 8% 12%, rgba(201, 162, 75, 0.10), transparent 70%);
  pointer-events: none;
}

.hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(2.5rem, 2rem + 4vw, 4rem);
  grid-template-columns: 1fr;
  align-items: center;
}

.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.42rem 1rem 0.42rem 0.45rem;
  border-radius: var(--r-pill);
  background: rgba(46, 21, 27, 0.6);
  border: 1px solid var(--color-border-hair-2);
  font-size: var(--fs-xs);
  color: var(--color-text-secondary);
  margin-bottom: var(--sp-5);
  backdrop-filter: blur(8px);
}
.hero__badge-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--grad-gold);
  display: grid;
  place-items: center;
  font-size: 0.6rem;
  font-weight: 800;
  color: #23120A;
  flex: none;
}
.hero__badge strong { color: var(--color-gold-soft); }

.hero__title {
  font-size: var(--fs-h1);
  margin-bottom: var(--sp-4);
  letter-spacing: 0.01em;
}
.hero__title span { display: block; }
.hero__title-accent {
  background: var(--grad-gold);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero__text {
  font-size: var(--fs-md);
  max-width: 58ch;
  margin-bottom: var(--sp-5);
}

/* Bonus callout */
.hero__bonus {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  padding: 1.05rem 1.4rem;
  border-radius: var(--r-md);
  background: linear-gradient(120deg, rgba(122, 17, 40, 0.5), rgba(26, 11, 15, 0.7));
  border: 1px solid var(--color-border-hair-2);
  box-shadow: var(--shadow-card), inset 0 1px 0 rgba(201, 162, 75, 0.14);
  margin-bottom: var(--sp-5);
  max-width: 520px;
}
.hero__bonus-amount {
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 1.2rem + 2vw, 2.35rem);
  font-weight: 700;
  line-height: 1;
  background: var(--grad-gold);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
}
.hero__bonus-copy {
  font-size: var(--fs-xs);
  line-height: 1.6;
  color: var(--color-text-secondary);
  border-inline-start: 1px solid var(--color-border-hair);
  padding-inline-start: var(--sp-4);
}
.hero__bonus-copy strong { display: block; color: var(--color-text-primary); }

.hero__cta { margin-bottom: var(--sp-5); }

.hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.4rem;
  font-size: var(--fs-xs);
  color: var(--color-text-muted);
}
.hero__trust-item { display: inline-flex; align-items: center; gap: 0.4rem; }
.hero__trust-item svg { width: 15px; height: 15px; color: var(--color-success); flex: none; }

/* Hero visual column */
.hero__visual {
  position: relative;
  padding-inline: clamp(0.5rem, 1.6vw, 1.35rem);
  padding-block: clamp(3.25rem, 4vw, 3rem);
}

/* --------------------------------------------------------------------------
   MARQUEE HEAD
   -------------------------------------------------------------------------- */
.marquee-label {
  text-align: center;
  font-size: 0.66rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--color-text-faint);
  margin-bottom: var(--sp-4);
}

/* --------------------------------------------------------------------------
   OG BANNER SECTION
   -------------------------------------------------------------------------- */
.ogbanner { position: relative; }
.ogbanner__frame {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--color-border-hair-2);
  box-shadow: var(--shadow-card-lg), 0 0 60px rgba(122, 17, 40, 0.28);
  background: #0B0507;
}
.ogbanner__frame::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 90px rgba(11, 5, 7, 0.55);
}
.ogbanner__img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 1.4s var(--ease-out-soft);
}
.ogbanner__frame:hover .ogbanner__img { transform: scale(1.025); }

.ogbanner__shine {
  position: absolute;
  top: -60%;
  left: -30%;
  width: 26%;
  height: 240%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.14), transparent);
  transform: rotate(16deg);
  animation: ogShine 6.5s var(--ease-in-out-soft) infinite;
  z-index: 2;
  pointer-events: none;
}
@keyframes ogShine {
  0%, 55%  { left: -30%; }
  90%, 100% { left: 120%; }
}

.ogbanner__caption {
  display: grid;
  gap: var(--sp-4);
  grid-template-columns: 1fr;
  align-items: center;
  margin-top: var(--sp-6);
}
.ogbanner__points {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ogbanner__point {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-size: var(--fs-xs);
  color: var(--color-text-secondary);
}
.ogbanner__point svg { width: 16px; height: 16px; color: var(--color-gold); flex: none; margin-top: 3px; }

/* --------------------------------------------------------------------------
   WHY S9 — alternating rows
   -------------------------------------------------------------------------- */
.altrow {
  display: grid;
  gap: clamp(1.75rem, 1.2rem + 3vw, 3.5rem);
  grid-template-columns: 1fr;
  align-items: center;
  padding-block: clamp(2rem, 1.2rem + 3vw, 3.25rem);
  position: relative;
}
.altrow + .altrow { border-top: 1px solid var(--color-border-soft); }

.altrow__media {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-card-lg);
  background: var(--color-surface);
}
.altrow__media img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 1.2s var(--ease-out-soft);
}
.altrow__media:hover img { transform: scale(1.05); }
.altrow__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 5, 7, 0.1), rgba(11, 5, 7, 0.55));
  pointer-events: none;
}
.altrow__tag {
  position: absolute;
  z-index: 2;
  bottom: 0.9rem;
  inset-inline-start: 0.9rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gold-soft);
  background: rgba(11, 5, 7, 0.75);
  border: 1px solid var(--color-border-hair);
  padding: 0.35rem 0.75rem;
  border-radius: var(--r-pill);
  backdrop-filter: blur(6px);
}

.altrow__num {
  font-family: var(--font-display);
  font-size: 0.8rem;
  letter-spacing: 0.3em;
  color: var(--color-gold);
  display: block;
  margin-bottom: var(--sp-3);
}
.altrow__title { margin-bottom: var(--sp-4); }
.altrow__text { font-size: var(--fs-sm); margin-bottom: var(--sp-4); }
.altrow__list { display: grid; gap: 0.65rem; }
.altrow__list li {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
}
.altrow__list svg { width: 17px; height: 17px; color: var(--color-gold); flex: none; margin-top: 4px; }

/* --------------------------------------------------------------------------
   SCREENSHOT SLIDER
   -------------------------------------------------------------------------- */
.shots {
  position: relative;
  overflow: hidden;
}
.shots::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 60% at 50% 45%, rgba(122, 17, 40, 0.32), transparent 70%);
  pointer-events: none;
}

.shots__viewport {
  position: relative;
  overflow: hidden;
  padding-block: clamp(1rem, 3vw, 2.25rem);
  margin-inline: calc(var(--container-gutter) * -0.5);
  padding-inline: calc(var(--container-gutter) * 0.5);
}

.shots__track {
  display: flex;
  gap: clamp(0.9rem, 2vw, 1.75rem);
  transition: transform 750ms var(--ease-out-soft);
  will-change: transform;
}

.shots__slide {
  flex: 0 0 auto;
  width: clamp(280px, 78vw, 420px);
  opacity: 0.42;
  transform: scale(0.9);
  transition: opacity 600ms var(--ease-out-soft), transform 600ms var(--ease-out-soft);
}
.shots__slide.is-active { opacity: 1; transform: scale(1); }

.shots__frame {
  position: relative;
  border-radius: clamp(14px, 1.8vw, 22px);
  padding: clamp(6px, 0.7vw, 10px);
  background: linear-gradient(145deg, #4A3320, #16090D 30%, #0B0507 55%, #16090D 75%, #4A3320);
  box-shadow: 0 22px 55px rgba(0, 0, 0, 0.62), 0 0 0 1px rgba(201, 162, 75, 0.22);
}
.shots__screen {
  position: relative;
  border-radius: clamp(9px, 1.2vw, 15px);
  overflow: hidden;
  background: #000;
  aspect-ratio: 2800 / 1280;
}
.shots__screen img { width: 100%; height: 100%; object-fit: cover; }

.shots__caption {
  margin-top: 0.85rem;
  text-align: center;
  font-size: var(--fs-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-faint);
  transition: color var(--dur-base);
}
.shots__slide.is-active .shots__caption { color: var(--color-gold-soft); }

.shots__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-4);
  margin-top: var(--sp-6);
}
.shots__arrow {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid var(--color-border-hair-2);
  background: rgba(26, 11, 15, 0.8);
  color: var(--color-gold);
  transition: all var(--dur-base) var(--ease-out-soft);
  flex: none;
}
.shots__arrow:hover { background: var(--color-accent); color: #fff; transform: scale(1.06); }
.shots__arrow:disabled { opacity: 0.3; cursor: not-allowed; transform: none; }
.shots__arrow svg { width: 18px; height: 18px; }

.shots__dots { display: flex; gap: 0.45rem; flex-wrap: wrap; justify-content: center; }
.shots__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-surface-3);
  border: 1px solid var(--color-border-hair);
  transition: all var(--dur-base) var(--ease-out-soft);
}
.shots__dot.is-active {
  width: 26px;
  border-radius: var(--r-pill);
  background: var(--grad-gold);
  border-color: transparent;
}

/* --------------------------------------------------------------------------
   BONUS SPOTLIGHT — VIP invitation card
   -------------------------------------------------------------------------- */
.vip {
  position: relative;
  border-radius: var(--r-xl);
  padding: clamp(2rem, 1.4rem + 3vw, 4rem);
  background:
    linear-gradient(150deg, rgba(122, 17, 40, 0.55) 0%, rgba(26, 11, 15, 0.94) 55%, rgba(74, 14, 28, 0.6) 100%);
  border: 1px solid var(--color-border-hair-2);
  box-shadow: var(--shadow-card-lg), 0 0 70px rgba(122, 17, 40, 0.25);
  overflow: hidden;
  text-align: center;
}
.vip::before {
  /* inner gold rule frame */
  content: '';
  position: absolute;
  inset: clamp(10px, 1.4vw, 20px);
  border: 1px solid rgba(201, 162, 75, 0.22);
  border-radius: calc(var(--r-xl) - 8px);
  pointer-events: none;
}
.vip::after {
  content: '';
  position: absolute;
  inset: -40%;
  background: conic-gradient(from 90deg at 50% 50%, transparent, rgba(201, 162, 75, 0.07), transparent 40%);
  animation: sheenRotate 26s linear infinite;
  pointer-events: none;
}
.vip__inner { position: relative; z-index: 2; }
.vip__seal {
  width: 76px;
  height: 76px;
  margin: 0 auto var(--sp-5);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--grad-gold);
  color: #23120A;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  box-shadow: 0 10px 30px rgba(201, 162, 75, 0.35);
  animation: sealPulse 4s var(--ease-in-out-soft) infinite;
}
@keyframes sealPulse {
  0%, 100% { box-shadow: 0 10px 30px rgba(201, 162, 75, 0.3); }
  50%      { box-shadow: 0 10px 44px rgba(201, 162, 75, 0.55); }
}
.vip__title { margin-bottom: var(--sp-4); }
.vip__amount {
  font-family: var(--font-display);
  font-size: clamp(3rem, 2rem + 6vw, 6rem);
  font-weight: 700;
  line-height: 1;
  background: var(--grad-gold);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: block;
  margin-block: var(--sp-4);
  text-shadow: 0 0 60px rgba(201, 162, 75, 0.2);
}
.vip__text { max-width: 66ch; margin-inline: auto; font-size: var(--fs-md); }
.vip__terms {
  font-size: var(--fs-xs);
  color: var(--color-text-faint);
  margin-top: var(--sp-5);
  max-width: 70ch;
  margin-inline: auto;
}
.vip__ladder {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-3);
  margin-block: var(--sp-6);
  text-align: start;
}
.vip__rung {
  padding: 1rem 1.15rem;
  border-radius: var(--r-sm);
  border: 1px solid var(--color-border-hair);
  background: rgba(11, 5, 7, 0.5);
}
.vip__rung-label {
  display: block;
  font-size: 0.64rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 0.3rem;
}
.vip__rung-value {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  color: var(--color-text-primary);
  display: block;
  margin-bottom: 0.25rem;
}
.vip__rung-note { font-size: var(--fs-xs); color: var(--color-text-muted); }

/* --------------------------------------------------------------------------
   HOW IT WORKS — timeline
   -------------------------------------------------------------------------- */
.steps {
  position: relative;
  display: grid;
  gap: var(--sp-6);
  grid-template-columns: 1fr;
}
.steps::before {
  content: '';
  position: absolute;
  inset-inline-start: 27px;
  top: 30px;
  bottom: 30px;
  width: 2px;
  background: linear-gradient(180deg, var(--color-gold), rgba(201, 162, 75, 0.05));
  transform-origin: top;
  animation: lineGrow 1.6s var(--ease-out-soft) both;
}
@keyframes lineGrow { from { transform: scaleY(0); } to { transform: scaleY(1); } }

.step {
  display: flex;
  gap: var(--sp-5);
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
.step__num {
  flex: none;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--color-gold-soft);
  background: linear-gradient(145deg, #33161D, #150A0D);
  border: 1px solid var(--color-border-hair-2);
  box-shadow: 0 0 0 6px rgba(11, 5, 7, 1), var(--shadow-glow-maroon);
}
.step__title { font-size: var(--fs-lg); margin-bottom: var(--sp-2); }
.step__text { font-size: var(--fs-sm); margin-bottom: var(--sp-3); }
.step__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-faint);
}
.step__meta span {
  border: 1px solid var(--color-border);
  border-radius: var(--r-xs);
  padding: 0.25rem 0.55rem;
}

/* --------------------------------------------------------------------------
   DOWNLOAD BAND
   -------------------------------------------------------------------------- */
.dlband {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--color-border-hair);
  background: linear-gradient(120deg, rgba(74, 14, 28, 0.75), rgba(11, 5, 7, 0.95));
  padding: clamp(1.75rem, 1.2rem + 3vw, 3.25rem);
  display: grid;
  gap: var(--sp-6);
  grid-template-columns: 1fr;
  align-items: center;
  box-shadow: var(--shadow-card-lg);
}
.dlband::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(50% 120% at 88% 50%, rgba(201, 162, 75, 0.16), transparent 70%);
  pointer-events: none;
}
.dlband__content { position: relative; z-index: 1; }
.dlband__title { margin-bottom: var(--sp-4); }
.dlband__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: var(--sp-5);
}
.dlband__spec {
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.35rem 0.8rem;
  border-radius: var(--r-xs);
  border: 1px solid var(--color-border-hair);
  color: var(--color-text-secondary);
  background: rgba(11, 5, 7, 0.5);
}
.dlband__visual { position: relative; z-index: 1; }

/* --------------------------------------------------------------------------
   RESPONSIBLE GAMING STRIP
   -------------------------------------------------------------------------- */
.rg {
  border: 1px solid var(--color-border);
  border-radius: var(--r-lg);
  background: linear-gradient(150deg, rgba(36, 16, 21, 0.7), rgba(11, 5, 7, 0.85));
  padding: clamp(1.6rem, 1.2rem + 2vw, 2.75rem);
}
.rg__grid {
  display: grid;
  gap: var(--sp-5);
  grid-template-columns: 1fr;
}
.rg__item { display: flex; gap: var(--sp-3); align-items: flex-start; }
.rg__item svg { width: 22px; height: 22px; color: var(--color-gold); flex: none; margin-top: 3px; }
.rg__item-title { font-size: var(--fs-base); margin-bottom: 0.25rem; font-family: var(--font-body); font-weight: 700; color: var(--color-text-primary); }
.rg__item-text { font-size: var(--fs-xs); }

/* --------------------------------------------------------------------------
   SEO KEYWORD BLOCK
   -------------------------------------------------------------------------- */
.seoblock {
  border-top: 1px solid var(--color-border);
  padding-top: var(--sp-7);
}
.seoblock__cols {
  display: grid;
  gap: var(--sp-6);
  grid-template-columns: 1fr;
}
.seoblock h3 {
  font-size: var(--fs-md);
  margin-bottom: var(--sp-3);
  color: var(--color-gold-soft);
}
.seoblock p { font-size: var(--fs-sm); }

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
  .rg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ogbanner__caption { grid-template-columns: 1fr 1.1fr; gap: var(--sp-7); }
  .ogbanner__points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vip__ladder { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .seoblock__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shots__slide { width: clamp(360px, 46vw, 520px); }
}

@media (min-width: 1024px) {
  .hero__grid { grid-template-columns: 1.08fr 0.92fr; gap: clamp(2rem, 3vw, 3.5rem); }
  .altrow { grid-template-columns: 1fr 1fr; }
  .altrow--flip .altrow__media { order: 2; }
  .altrow--flip .altrow__body  { order: 1; }
  .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-5); }
  .steps::before {
    inset-inline-start: 8%;
    inset-inline-end: 8%;
    top: 28px;
    bottom: auto;
    width: auto;
    height: 2px;
    background: linear-gradient(90deg, rgba(201, 162, 75, 0.05), var(--color-gold), rgba(201, 162, 75, 0.05));
    animation-name: lineGrowX;
    transform-origin: left;
  }
  html[dir='rtl'] .steps::before { transform-origin: right; }
  @keyframes lineGrowX { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  .step { flex-direction: column; text-align: center; align-items: center; }
  .step__meta { justify-content: center; }
  .dlband { grid-template-columns: 1.05fr 0.95fr; }
  .rg__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .seoblock__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .shots__slide { width: clamp(420px, 34vw, 560px); }
}
