@font-face {
  font-family: "Sora";
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url("../fonts/sora-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Sora";
  font-style: normal;
  font-display: swap;
  font-weight: 100 800;
  src: url("../fonts/sora-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("../fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --ink: #0a0e1c;
  --ink-2: #111730;
  --ink-3: #1a2142;
  --lime: #bdf23c;
  --lime-2: #97d91c;
  --volt: #4a5dff;
  --bg: #f3f5fb;
  --surface: #ffffff;
  --tint: #eceffa;
  --text: #3a4158;
  --heading: #10152b;
  --muted: #6c738c;
  --font-head: "Sora", "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-body: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --header-h: 64px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 18px);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: clip;
  color: var(--text);
  background:
    radial-gradient(900px 480px at 100% 0, rgba(74, 93, 255, .06), transparent 70%),
    radial-gradient(700px 420px at 0 40%, rgba(189, 242, 60, .08), transparent 70%),
    var(--bg);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

button {
  font: inherit;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

svg {
  flex: 0 0 auto;
}

:focus-visible {
  outline: 2px solid var(--volt);
  outline-offset: 3px;
}

::selection {
  color: var(--ink);
  background: var(--lime);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  padding: 9px 14px;
  border-radius: 10px;
  color: var(--ink);
  background: var(--lime);
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform .2s ease;
}

.skip-link:focus {
  transform: none;
}

.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 20px;
  border: 0;
  border-radius: 12px;
  font-family: var(--font-head);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.btn svg {
  width: 18px;
  height: 18px;
  transition: transform .18s ease;
}

.btn:hover svg {
  transform: translateX(3px);
}

.btn-lime {
  color: var(--ink);
  background: linear-gradient(135deg, #d8ff6a 0%, var(--lime) 45%, var(--lime-2) 100%);
  box-shadow: 0 10px 26px -8px rgba(189, 242, 60, .7), inset 0 1px rgba(255, 255, 255, .55);
}

.btn-lime:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px -10px rgba(189, 242, 60, .85), inset 0 1px rgba(255, 255, 255, .6);
}

.btn-ghost {
  color: #e8ebff;
  background: rgba(255, 255, 255, .07);
}

.btn-ghost:hover {
  color: #fff;
  background: rgba(255, 255, 255, .14);
}

.btn-sm {
  min-height: 38px;
  padding: 8px 16px;
  font-size: 14px;
}

.btn-lg {
  min-height: 52px;
  padding: 14px 30px;
  border-radius: 14px;
  font-size: 15px;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(10, 14, 28, .92);
  backdrop-filter: blur(16px) saturate(1.4);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  transition: box-shadow .2s ease, background .2s ease;
}

.site-header::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(189, 242, 60, .45), rgba(74, 93, 255, .45), transparent);
}

.site-header.is-scrolled {
  background: rgba(10, 14, 28, .98);
  box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .5);
}

.header-shell {
  width: min(1720px, 100% - 48px);
  height: var(--header-h);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 22px;
}

.brand {
  flex: 0 0 auto;
  display: inline-flex;
}

.brand img {
  width: 96px;
  height: 32px;
  object-fit: contain;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.hero {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  min-height: clamp(440px, 33vw, 660px);
  overflow: hidden;
  background: var(--ink) url("../images/hero/hero-sport.webp") center / cover no-repeat;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(60% 70% at 50% 50%, rgba(10, 14, 28, .72), rgba(10, 14, 28, .2) 70%),
    linear-gradient(180deg, rgba(10, 14, 28, .35), rgba(10, 14, 28, 0) 30%, rgba(10, 14, 28, .1) 70%, var(--bg) 100%);
}

.hero::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  width: min(760px, 90%);
  height: 60%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(74, 93, 255, .28), transparent);
  transform: translate(-50%, -50%);
  filter: blur(10px);
}

.hero-inner {
  width: min(860px, 100% - 40px);
  padding: 56px 0 72px;
  text-align: center;
}

.hero h1 {
  margin: 0 auto 22px;
  color: #fff;
  font-family: var(--font-head);
  font-size: clamp(30px, 3.3vw, 56px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.03em;
  text-wrap: balance;
  text-shadow: 0 6px 30px rgba(0, 0, 0, .55);
}

.hero-points {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 30px;
}

.hero-points li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px 8px 9px;
  border-radius: 999px;
  color: #eef1ff;
  background: rgba(17, 23, 48, .58);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 8px 22px -10px rgba(0, 0, 0, .6);
  font-size: 14px;
  font-weight: 700;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.hero-points svg {
  width: 22px;
  height: 22px;
  padding: 3px;
  border-radius: 50%;
  color: var(--ink);
  background: var(--lime);
}

.layout {
  width: min(1480px, 100% - 48px);
  margin: -26px auto 0;
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr) 256px;
  grid-template-areas: "promo content toc";
  gap: 40px;
  align-items: start;
  position: relative;
  z-index: 2;
  padding-bottom: 72px;
}

.promo {
  grid-area: promo;
  position: sticky;
  top: calc(var(--header-h) + 20px);
}

.promo-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 24px 20px 20px;
  border-radius: 20px;
  color: #dfe3f7;
  background:
    radial-gradient(120% 60% at 0 0, rgba(74, 93, 255, .55), transparent 60%),
    linear-gradient(170deg, var(--ink-3) 0%, var(--ink) 100%);
  box-shadow: 0 26px 50px -24px rgba(10, 14, 28, .75);
}

.promo-art {
  position: absolute;
  right: -40px;
  top: 30px;
  z-index: -1;
  width: 190px;
  opacity: .5;
  -webkit-mask-image: radial-gradient(70% 60% at 60% 35%, #000 35%, transparent 100%);
  mask-image: radial-gradient(70% 60% at 60% 35%, #000 35%, transparent 100%);
}

.promo-kicker {
  display: inline-block;
  margin: 0 0 14px;
  padding: 4px 10px;
  border-radius: 999px;
  color: var(--ink);
  background: var(--lime);
  font-family: var(--font-head);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.promo-amount {
  margin: 0;
  color: #fff;
  font-family: var(--font-head);
  font-size: 40px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.04em;
}

.promo-amount span {
  margin-left: 6px;
  color: var(--lime);
  font-size: 22px;
  letter-spacing: 0;
}

.promo-sub {
  margin: 8px 0 18px;
  color: #c5cbeb;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

.promo-list {
  display: grid;
  gap: 8px;
  margin: 0 0 20px;
}

.promo-list li {
  padding: 9px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .06);
  font-size: 14px;
  line-height: 1.35;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.promo-list strong {
  color: var(--lime);
  font-family: var(--font-head);
}

.promo-btn {
  width: 100%;
}

.promo-note {
  margin: 12px 0 0;
  color: #8990b0;
  font-size: 12px;
  text-align: center;
}

.content {
  grid-area: content;
  min-width: 0;
  padding: 34px 44px 40px;
  border-radius: 24px;
  background: var(--surface);
  box-shadow: 0 30px 60px -40px rgba(16, 21, 43, .35);
}

.content-section {
  position: relative;
  padding: 34px 0;
}

.content-section + .content-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--lime), var(--volt));
}

.intro {
  padding-top: 0;
}

.content h2 {
  margin: 0 0 16px;
  color: var(--heading);
  font-family: var(--font-head);
  font-size: 26px;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -.02em;
  text-wrap: balance;
}

.content h3 {
  margin: 30px 0 10px;
  color: var(--heading);
  font-family: var(--font-head);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.01em;
}

.content p {
  margin: 0 0 14px;
}

.content p:last-child {
  margin-bottom: 0;
}

.content strong {
  color: var(--heading);
}

.lead {
  color: #2b3149;
  font-size: 16px;
  line-height: 1.7;
}

.lead::first-letter {
  float: left;
  margin: 6px 10px 0 0;
  padding: 6px 12px;
  border-radius: 12px;
  color: var(--ink);
  background: var(--lime);
  font-family: var(--font-head);
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
}

.feature-shot {
  margin: 24px 0 24px;
}

.feature-shot img {
  width: 100%;
  border-radius: 18px;
  box-shadow: 0 24px 48px -28px rgba(16, 21, 43, .55);
}

.table-wrap {
  margin: 20px 0 22px;
  overflow: hidden;
  border-radius: 16px;
  background: var(--surface);
  box-shadow: 0 16px 36px -26px rgba(16, 21, 43, .45);
}

.table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.table-wrap thead th {
  padding: 13px 16px;
  color: var(--lime);
  background: var(--ink-2);
  font-family: var(--font-head);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  text-align: left;
}

.table-wrap tbody th,
.table-wrap tbody td {
  padding: 13px 16px;
  vertical-align: top;
  text-align: left;
}

.table-wrap tbody th {
  color: var(--heading);
  font-weight: 800;
}

.table-wrap tbody tr:nth-child(even) {
  background: #f6f7fc;
}

.table-types tbody th {
  width: 26%;
}

.table-bonus tbody td,
.table-bonus tbody th {
  font-variant-numeric: tabular-nums;
}

.table-bonus tbody tr.is-best {
  background: linear-gradient(90deg, rgba(189, 242, 60, .28), rgba(189, 242, 60, .06));
}

.table-bonus tbody tr.is-best th {
  box-shadow: inset 4px 0 var(--lime-2);
}

.odds-calc {
  margin: 22px 0;
  padding: 20px 22px;
  border-radius: 18px;
  color: #d9ddf2;
  background:
    radial-gradient(80% 120% at 100% 0, rgba(74, 93, 255, .4), transparent 60%),
    var(--ink-2);
}

.odds-calc p {
  margin: 0;
}

.calc-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  font-family: var(--font-head);
}

.odd {
  padding: 6px 12px;
  border-radius: 10px;
  color: #fff;
  background: rgba(255, 255, 255, .08);
  font-size: 17px;
  font-weight: 700;
}

.odd-total {
  color: var(--ink);
  background: var(--lime);
}

.op {
  color: #8d95bd;
  font-size: 18px;
  font-weight: 700;
}

.market-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 20px;
}

.market-chips li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px 8px 14px;
  border-radius: 999px;
  color: var(--heading);
  background: var(--tint);
  font-weight: 700;
}

.market-chips li::before {
  content: "";
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--volt);
  box-shadow: 0 0 0 4px rgba(74, 93, 255, .15);
}

.sport-strip {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0 8px;
}

.sport-card img {
  width: 100%;
  aspect-ratio: 126 / 155;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: 0 14px 26px -18px rgba(16, 21, 43, .7);
  transition: transform .25s ease, box-shadow .25s ease;
}

.sport-card:hover img {
  transform: translateY(-4px) rotate(-1deg);
  box-shadow: 0 22px 32px -18px rgba(16, 21, 43, .8);
}

.league-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 20px;
}

.league-grid li {
  position: relative;
  padding: 18px 18px 18px 20px;
  border-radius: 16px;
  background: linear-gradient(160deg, #f5f7ff, #eef1fb);
}

.league-grid strong {
  display: block;
  margin: 0 0 4px;
  font-family: var(--font-head);
  font-size: 15px;
}

.game-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 18px;
}

.game-tags li {
  padding: 8px 16px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, var(--volt), #7b4dff);
  font-family: var(--font-head);
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 10px 20px -14px rgba(74, 93, 255, .9);
}

.game-tags li:nth-child(even) {
  background: linear-gradient(135deg, var(--ink-3), var(--ink-2));
}

.steps {
  position: relative;
  display: grid;
  gap: 6px;
  margin: 20px 0 22px;
  counter-reset: step;
}

.steps::before {
  content: "";
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 17px;
  width: 2px;
  background: linear-gradient(180deg, var(--lime), var(--volt));
}

.steps li {
  position: relative;
  padding: 7px 0 7px 54px;
  counter-increment: step;
}

.steps li::before {
  content: counter(step);
  position: absolute;
  top: 4px;
  left: 0;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 12px;
  color: var(--ink);
  background: var(--lime);
  box-shadow: 0 0 0 5px var(--surface);
  font-family: var(--font-head);
  font-size: 15px;
  font-weight: 800;
}

.steps li:nth-child(even)::before {
  color: #fff;
  background: var(--volt);
}

.note-box {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 20px 0 0;
  padding: 18px 20px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(189, 242, 60, .2), rgba(189, 242, 60, .06));
}

.note-icon,
.tile-icon,
.tip-icon {
  display: grid;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
}

.note-icon {
  color: var(--ink);
  background: var(--lime);
}

.note-icon svg,
.tile-icon svg,
.tip-icon svg {
  width: 22px;
  height: 22px;
}

.note-dark {
  color: #d3d8ef;
  background:
    radial-gradient(80% 120% at 0 0, rgba(74, 93, 255, .45), transparent 60%),
    var(--ink-2);
}

.live-badge {
  position: absolute;
  top: 36px;
  right: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 11px 4px 9px;
  border-radius: 999px;
  color: #fff;
  background: #e5283f;
  font-family: var(--font-head);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.live-section h2 {
  padding-right: 80px;
}

.live-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  animation: pulse 1.4s ease-in-out infinite;
}

@keyframes pulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .35;
    transform: scale(.7);
  }
}

.tip-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 4px;
}

.tip-cards li {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
  border-radius: 16px;
  background: var(--tint);
  line-height: 1.55;
}

.tip-icon {
  color: #fff;
  background: var(--volt);
}

.tip-cards li:nth-child(2) .tip-icon {
  color: var(--ink);
  background: var(--lime);
}

.tip-cards li:nth-child(3) .tip-icon {
  background: var(--ink-2);
}

.bonus-visuals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0 6px;
}

.bonus-visuals figure {
  margin: 0;
}

.bonus-visuals img {
  width: 100%;
  aspect-ratio: 333 / 150;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 18px 34px -22px rgba(47, 63, 214, .8);
  transition: transform .25s ease;
}

.bonus-visuals figure:hover img {
  transform: translateY(-3px);
}

.list-intro {
  color: var(--heading);
  font-weight: 700;
}

.terms-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 24px;
}

.terms-grid li {
  position: relative;
  padding: 14px 16px 14px 44px;
  border-radius: 14px;
  background: #f6f7fc;
  line-height: 1.55;
}

.terms-grid li::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 16px;
  width: 14px;
  height: 14px;
  border-radius: 4px;
  background: var(--lime);
  box-shadow: 4px 4px 0 rgba(74, 93, 255, .35);
  transform: rotate(45deg) scale(.8);
}

.terms-grid strong {
  display: block;
  font-family: var(--font-head);
}

.promo-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.promo-tile {
  padding: 22px;
  border-radius: 18px;
  background: linear-gradient(160deg, #f4f6ff, #eaeefc);
}

.promo-tile h3 {
  margin: 14px 0 8px;
}

.tile-icon {
  color: var(--ink);
  background: var(--lime);
}

.tile-icon-alt {
  color: #fff;
  background: var(--volt);
}

.faq-list {
  display: grid;
  gap: 10px;
}

.faq-item {
  border-radius: 16px;
  background: #f6f7fc;
  transition: background .2s ease, box-shadow .2s ease;
}

.faq-item.is-open {
  background: var(--surface);
  box-shadow: 0 18px 36px -24px rgba(16, 21, 43, .45), inset 0 0 0 1px rgba(74, 93, 255, .12);
}

.content .faq-item h3 {
  margin: 0;
  font-size: 15px;
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 16px 18px;
  border: 0;
  color: var(--heading);
  background: transparent;
  font-family: var(--font-head);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
}

.faq-icon {
  position: relative;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: var(--tint);
  transition: background .2s ease;
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  border-radius: 2px;
  background: var(--volt);
  transform: translate(-50%, -50%);
  transition: transform .25s ease;
}

.faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item.is-open .faq-icon {
  background: var(--lime);
}

.faq-item.is-open .faq-icon::after {
  transform: translate(-50%, -50%) rotate(0);
}

.faq-item.is-open .faq-icon::before,
.faq-item.is-open .faq-icon::after {
  background: var(--ink);
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  padding: 0 18px;
  opacity: 0;
  transition: grid-template-rows .25s ease, opacity .25s ease, padding .25s ease;
}

.faq-answer > p {
  min-height: 0;
  overflow: hidden;
}

.faq-item.is-open .faq-answer {
  grid-template-rows: 1fr;
  padding: 0 18px 18px;
  opacity: 1;
}

.toc {
  grid-area: toc;
  position: sticky;
  top: calc(var(--header-h) + 20px);
}

.toc-toggle {
  display: none;
}

.toc-panel {
  padding: 18px 12px 12px;
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 24px 48px -34px rgba(16, 21, 43, .4);
}

.toc-title {
  margin: 0 8px 10px;
  color: var(--heading);
  font-family: var(--font-head);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.toc-progress {
  height: 4px;
  margin: 0 8px 10px;
  overflow: hidden;
  border-radius: 4px;
  background: var(--tint);
}

.toc-progress span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--lime-2), var(--volt));
  transform: scaleX(0);
  transform-origin: left;
}

.toc nav {
  max-height: calc(100vh - var(--header-h) - 130px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(74, 93, 255, .3) transparent;
}

.toc a {
  display: block;
  padding: 7px 10px;
  border-radius: 10px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  transition: color .18s ease, background .18s ease;
}

.toc ol ol {
  margin: 0 0 4px 12px;
  padding-left: 8px;
  box-shadow: inset 2px 0 var(--tint);
}

.toc ol ol a {
  padding: 5px 10px;
  font-size: 13px;
}

.toc a:hover {
  color: var(--heading);
  background: #f6f7fc;
}

.toc a.is-active {
  color: var(--ink);
  background: linear-gradient(90deg, rgba(189, 242, 60, .45), rgba(189, 242, 60, .12));
  font-weight: 800;
}

.site-footer {
  position: relative;
  color: #9ba2c2;
  background:
    radial-gradient(700px 300px at 0 0, rgba(74, 93, 255, .22), transparent 70%),
    radial-gradient(500px 260px at 100% 100%, rgba(189, 242, 60, .08), transparent 70%),
    var(--ink);
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--volt), transparent);
}

.footer-shell {
  width: min(1480px, 100% - 48px);
  margin: 0 auto;
  padding: 52px 0 26px;
}

.footer-top {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .7fr) minmax(0, 1.3fr);
  gap: 48px;
  padding-bottom: 36px;
}

.footer-brand img {
  width: 120px;
  height: 40px;
  object-fit: contain;
}

.footer-brand p {
  max-width: 380px;
  margin: 14px 0 18px;
  font-size: 14px;
}

.footer-label {
  margin: 0 0 14px;
  color: #fff;
  font-family: var(--font-head);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.social-row {
  display: flex;
  gap: 10px;
}

.social-link {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  background: rgba(255, 255, 255, .07);
  transition: background .18s ease, transform .18s ease;
}

.social-link img {
  width: 22px;
  height: 22px;
}

.social-link:hover {
  background: rgba(189, 242, 60, .2);
  transform: translateY(-2px);
}

.footer-nav ul {
  display: grid;
  gap: 6px;
}

.footer-nav a {
  font-size: 14px;
  transition: color .18s ease;
}

.footer-nav a:hover {
  color: var(--lime);
}

.pay-row {
  display: grid;
  grid-template-columns: repeat(4, 88px);
  gap: 10px;
}

.pay-logo {
  display: grid;
  width: 88px;
  height: 46px;
  place-items: center;
}

.pay-logo img {
  width: auto;
  max-width: 64px;
  max-height: 26px;
}

.pay-logo-lg img {
  max-height: 40px;
}

.footer-rg {
  padding: 30px 0;
  text-align: center;
  box-shadow: inset 0 1px rgba(255, 255, 255, .07), 0 1px rgba(255, 255, 255, .07);
}

.rg-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 30px;
  margin: 0 0 16px;
}

.rg-logo {
  display: inline-flex;
  align-items: center;
  height: 36px;
}

.rg-logo img {
  width: auto;
  max-height: 30px;
  filter: grayscale(1) brightness(0) invert(1);
  opacity: .62;
}

.rg-age img {
  width: 32px;
  height: 32px;
  filter: none;
  opacity: 1;
}

.rg-logo-wide img {
  max-height: 19px;
}

.rg-text {
  max-width: 820px;
  margin: 0 auto;
  font-size: 13px;
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 30px;
  padding-top: 22px;
  color: #6f7695;
  font-size: 13px;
}

.footer-bottom p {
  margin: 0;
}

@media (min-width: 1680px) {
  .layout {
    width: min(1720px, 100% - 96px);
    grid-template-columns: 290px minmax(0, 1fr) 290px;
    gap: 56px;
  }

  .content {
    padding: 44px 64px 52px;
  }

  .footer-shell {
    width: min(1720px, 100% - 96px);
  }

  .hero {
    min-height: clamp(560px, 32vw, 760px);
  }

  .promo-amount {
    font-size: 46px;
  }
}

@media (min-width: 2200px) {
  .layout,
  .footer-shell {
    width: 1880px;
  }

  .layout {
    grid-template-columns: 320px minmax(0, 1fr) 320px;
  }

  .header-shell {
    width: 1880px;
  }
}

@media (max-width: 1280px) {
  .layout {
    grid-template-columns: minmax(0, 1fr) 240px;
    grid-template-areas:
      "promo promo"
      "content toc";
    gap: 22px 28px;
  }

  .promo {
    position: relative;
    top: 0;
  }

  .promo-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.4fr) auto;
    grid-template-areas:
      "kicker kicker list btn"
      "amount sub list btn"
      "note note list btn";
    align-items: center;
    column-gap: 26px;
    padding: 20px 26px;
  }

  .promo-kicker {
    grid-area: kicker;
    justify-self: start;
    margin-bottom: 8px;
  }

  .promo-amount {
    grid-area: amount;
  }

  .promo-sub {
    grid-area: sub;
    margin: 0;
  }

  .promo-list {
    grid-area: list;
    margin: 0;
  }

  .promo-btn {
    grid-area: btn;
    width: auto;
  }

  .promo-note {
    grid-area: note;
    text-align: left;
  }

  .promo-art {
    right: 0;
    top: -30px;
    width: 170px;
    opacity: .28;
  }
}

@media (max-width: 1080px) {
  .content {
    padding: 30px 32px 34px;
  }

  .sport-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .footer-top {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .footer-pay {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  html {
    scroll-padding-top: calc(var(--header-h) + 84px);
  }

  .layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "promo"
      "toc"
      "content";
    gap: 16px;
    margin-top: -34px;
  }

  .promo-card {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "kicker kicker"
      "amount amount"
      "sub sub"
      "list list"
      "btn btn"
      "note note";
    padding: 22px;
  }

  .promo-sub {
    margin: 6px 0 14px;
  }

  .promo-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 16px;
  }

  .promo-btn {
    width: 100%;
  }

  .promo-note {
    text-align: center;
  }

  .promo-art {
    top: 0;
    width: 150px;
  }

  .toc {
    position: sticky;
    top: calc(var(--header-h) + 8px);
    z-index: 20;
  }

  .toc-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 13px 18px;
    border: 0;
    border-radius: 16px;
    color: var(--heading);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 16px 34px -22px rgba(16, 21, 43, .5);
    font-family: var(--font-head);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .toc-chevron {
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--volt);
    border-bottom: 2px solid var(--volt);
    transform: translateY(-3px) rotate(45deg);
    transition: transform .2s ease;
  }

  .toc.is-open .toc-chevron {
    transform: translateY(2px) rotate(-135deg);
  }

  .toc-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    padding-top: 14px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    box-shadow: 0 24px 50px -20px rgba(16, 21, 43, .55);
  }

  .toc.is-open .toc-panel {
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .toc-title {
    display: none;
  }

  .toc nav {
    max-height: min(60vh, 460px);
  }

}

@media (max-width: 720px) {
  :root {
    --header-h: 58px;
  }

  .header-shell {
    width: calc(100% - 24px);
    gap: 10px;
  }

  .brand img {
    width: 80px;
    height: 27px;
  }

  .header-actions {
    gap: 6px;
  }

  .btn-sm {
    min-height: 36px;
    padding: 8px 12px;
    font-size: 13px;
  }

  .hero {
    min-height: 520px;
    background-image: url("../images/hero/hero-sport-mobile.webp");
    background-position: center 40%;
  }

  .hero::before {
    background:
      radial-gradient(90% 55% at 50% 48%, rgba(10, 14, 28, .78), rgba(10, 14, 28, .25) 80%),
      linear-gradient(180deg, rgba(10, 14, 28, .2), rgba(10, 14, 28, 0) 40%, var(--bg) 100%);
  }

  .hero-inner {
    width: calc(100% - 32px);
    padding: 44px 0 76px;
  }

  .hero h1 {
    font-size: clamp(25px, 7vw, 36px);
  }

  .hero-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 26px;
  }

  .hero-points li {
    justify-content: flex-start;
    padding: 9px 10px 9px 8px;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.3;
    text-align: left;
  }

  .hero .btn-lg {
    width: min(100%, 320px);
  }

  .layout {
    width: calc(100% - 24px);
    padding-bottom: 48px;
  }

  .promo-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .promo-amount {
    font-size: 36px;
  }

  .content {
    padding: 24px 18px 28px;
    border-radius: 20px;
  }

  .content-section {
    padding: 28px 0;
  }

  .intro {
    padding-top: 0;
  }

  .content h2 {
    font-size: 22px;
  }

  .content h3 {
    margin-top: 26px;
    font-size: 17px;
  }

  .lead {
    font-size: 15px;
  }

  .lead::first-letter {
    font-size: 28px;
    padding: 5px 10px;
  }

  .feature-shot img {
    border-radius: 14px;
  }

  .table-wrap {
    overflow: visible;
    background: transparent;
    box-shadow: none;
  }

  .table-wrap thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .table-wrap table,
  .table-wrap tbody,
  .table-wrap tr,
  .table-wrap tbody th,
  .table-wrap tbody td {
    display: block;
    width: 100%;
  }

  .table-wrap tbody {
    display: grid;
    gap: 10px;
  }

  .table-wrap tbody tr,
  .table-wrap tbody tr:nth-child(even) {
    overflow: hidden;
    border-radius: 16px;
    background: #f6f7fc;
  }

  .table-wrap tbody th {
    padding: 12px 16px;
    color: var(--lime);
    background: var(--ink-2);
    font-family: var(--font-head);
  }

  .table-types tbody th {
    width: 100%;
  }

  .table-wrap tbody td {
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
    gap: 12px;
    padding: 10px 16px;
  }

  .table-wrap tbody td + td {
    box-shadow: inset 0 1px rgba(16, 21, 43, .06);
  }

  .table-wrap tbody td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
  }

  .table-types tbody td {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  .table-bonus tbody tr.is-best {
    background: linear-gradient(180deg, rgba(189, 242, 60, .3), rgba(189, 242, 60, .08));
  }

  .table-bonus tbody tr.is-best th {
    box-shadow: inset 0 -3px var(--lime);
  }

  .odds-calc {
    padding: 18px;
  }

  .odd {
    padding: 5px 10px;
    font-size: 15px;
  }

  .market-chips li {
    font-size: 13px;
  }

  .sport-strip {
    display: flex;
    gap: 10px;
    margin-right: -18px;
    padding: 0 18px 14px 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .sport-strip::-webkit-scrollbar {
    display: none;
  }

  .sport-card {
    flex: 0 0 31%;
    scroll-snap-align: start;
  }

  .league-grid,
  .tip-cards,
  .terms-grid,
  .promo-pair,
  .bonus-visuals {
    grid-template-columns: minmax(0, 1fr);
  }

  .live-badge {
    position: static;
    margin: 0 0 12px;
  }

  .live-section h2 {
    padding-right: 0;
  }

  .steps li {
    padding-left: 50px;
  }

  .note-box {
    padding: 16px;
    gap: 12px;
  }

  .note-icon {
    width: 36px;
    height: 36px;
  }

  .faq-question {
    padding: 14px;
    font-size: 14px;
  }

  .faq-answer {
    padding: 0 14px;
  }

  .faq-item.is-open .faq-answer {
    padding: 0 14px 16px;
  }

  .footer-shell {
    width: calc(100% - 32px);
    padding-top: 40px;
  }

  .footer-top {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .pay-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  .pay-logo {
    width: 100%;
    height: 42px;
  }

  .pay-logo img {
    max-width: 78%;
    max-height: 22px;
  }

  .rg-row {
    gap: 14px 22px;
  }

  .rg-logo img {
    max-height: 26px;
  }

  .rg-logo-wide img {
    max-height: 16px;
  }

  .pay-logo-lg img {
    max-height: 36px;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: left;
  }
}

@media (max-width: 400px) {
  .header-shell {
    width: calc(100% - 20px);
    gap: 6px;
  }

  .brand img {
    width: 70px;
    height: 24px;
  }

  .btn-sm {
    padding: 8px 10px;
    font-size: 12px;
  }

  .hero-points {
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, 280px);
    margin-inline: auto;
  }

  .sport-card {
    flex-basis: 40%;
  }

}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
