@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/CenturyGothic-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/CenturyGothic-Bold.TTF") format("truetype");
  font-weight: 700;
  font-display: swap;
}
/*
 * SPACEMAN369 CASINO — MAIN STYLESHEET
 *
 * CONTENT MAP
 * Core layout and navigation
 * Home and casino category sections
 * Sports and eSports
 * About and FAQ
 * Bonuses and tournaments
 * Account security
 * Mobile Casino
 * Shared footer and legal pages
 * Responsive and print rules remain beside their related components
 */ :root {
  --navy: #07182e;
  --text: #f3f8fb;
  --muted: #b7c8d5;
  --orange: #f47b40;
  --orange-dark: #d95824;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--text);
  background: var(--navy);
  font-family: "Century Gothic", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a {
  color: inherit;
  text-decoration: none;
}
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100;
  padding: 10px 14px;
  background: var(--orange-dark);
  border-radius: 8px;
  transform: translateY(-160%);
}
.skip-link:focus {
  transform: none;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: 64px;
  background: rgba(7, 24, 46, 0.96);
  border-bottom: 1px solid rgba(193, 216, 230, 0.18);
}
.header-inner {
  width: min(calc(100% - 64px), 1540px);
  height: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 32px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 15px;
  font-weight: 700;
}
.brand-mark {
  position: relative;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: #173d59;
  border: 2px solid #6e93a8;
  border-radius: 50%;
  font-size: 9px;
}
.brand-mark::after {
  content: "";
  position: absolute;
  inset: 12px -8px;
  border: 2px solid var(--orange);
  border-radius: 50%;
  transform: rotate(-18deg);
}
.brand-name small {
  display: block;
  margin-top: 4px;
  color: #ff9a6b;
  font-size: 7px;
  letter-spacing: 0.32em;
}
.main-nav {
  display: flex;
  min-width: 0;
  justify-content: flex-start;
  gap: clamp(12px, 1.3vw, 22px);
  overflow-x: auto;
  scrollbar-width: none;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.main-nav::-webkit-scrollbar {
  display: none;
}
.main-nav a {
  color: #d7e4eb;
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.play-button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.play-button {
  padding: 0 25px;
  color: #ffffff;
  background: linear-gradient(135deg, #ff8d52, var(--orange-dark));
  box-shadow: 0 12px 28px rgba(214, 79, 29, 0.3);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.play-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(214, 79, 29, 0.42);
}
.hero {
  position: relative;
  height: calc(100svh - 64px);
  min-height: 680px;
  overflow: hidden;
  background: var(--navy);
}
.hero-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  user-select: none;
}
.hero-copy {
  position: absolute;
  top: 50%;
  left: max(48px, calc((100vw - 1540px) / 2));
  z-index: 5;
  width: min(32vw, 480px);
  transform: translateY(-50%);
}
.eyebrow {
  margin: 0 0 18px;
  color: #ff9b70;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
h1 {
  margin: 0;
  font-size: clamp(42px, 3.45vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.055em;
}
h1 span {
  display: block;
  margin-top: 5px;
  color: #a8cee0;
}
.hero-text {
  max-width: 470px;
  margin: 24px 0 28px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.68;
}
.hero-play {
  min-height: 54px;
  gap: 12px;
  padding: 0 31px;
}
.responsible-note {
  margin: 22px 0 0;
  color: #93a9b8;
  font-size: 11px;
}
.responsible-note strong {
  margin-right: 7px;
  color: #ff9365;
}
.planet-map {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}
.planet {
  position: absolute;
  display: block;
  padding: 0;
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: auto;
  cursor: pointer;
  outline: 0;
  transition: transform 0.22s ease, filter 0.22s ease;
}
.planet img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  border-radius: 50%;
}
.planet:hover, .planet:focus-visible {
  z-index: 8;
  filter: brightness(1.1) drop-shadow(0 0 16px rgba(244, 123, 64, 0.5));
  transform: scale(1.035);
}
.planet--pokies {
  top: 5%;
  right: 13%;
  width: 14.5%;
}
.planet--games {
  top: 2%;
  left: 47%;
  width: 14.5%;
}
.planet--live {
  top: 37%;
  left: 39%;
  width: 14.5%;
}
.planet--sports {
  top: 38%;
  right: 2%;
  width: 14.5%;
}
.planet--bonuses {
  right: 9%;
  bottom: 2%;
  width: 14.5%;
}
.planet--tournaments {
  bottom: 2%;
  left: 48%;
  width: 14.5%;
}
@media (max-width: 1100px) {
  .header-inner {
    width: calc(100% - 36px);
    gap: 18px;
  }
  .main-nav {
    gap: 12px;
    font-size: 9px;
  }
  .hero-copy {
    left: 34px;
  }
}
@media (max-width: 760px) {
  .header-inner {
    width: calc(100% - 28px);
  }
  .main-nav {
    display: none;
  }
  .hero {
    min-height: 880px;
  }
  .hero-art {
    object-fit: cover;
    object-position: 68% center;
  }
  .hero-copy {
    top: 42px;
    left: 22px;
    width: calc(100% - 44px);
    text-align: center;
    transform: none;
  }
  h1 {
    font-size: clamp(38px, 11vw, 54px);
  }
  .hero-text {
    margin-inline: auto;
  }
  .planet-map {
    top: auto;
    bottom: 15px;
    height: 238px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 13px;
    background: rgba(7, 24, 46, 0.8);
  }
  .planet {
    position: relative;
    inset: auto;
    width: auto;
    aspect-ratio: auto;
    place-items: center;
    padding: 0;
    background: rgba(19, 49, 70, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 14px;
  }
}
@media (max-width: 480px) {
  .brand-name {
    font-size: 12px;
  }
  .brand-name small {
    display: none;
  }
  .header-actions .play-button {
    padding: 0 14px;
  }
  .hero-play {
    width: 100%;
  }
}
.betting-guide {
  margin-top: 30px;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid rgba(28, 82, 112, 0.14);
  border-radius: 28px;
  color: #17324a;
  background: rgba(248, 252, 254, 0.92);
  box-shadow: 0 26px 62px rgba(26, 65, 91, 0.14);
}
.betting-guide__header {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(290px, 0.7fr);
  gap: 28px;
  align-items: end;
}
.betting-guide__header h3 {
  margin: 0 0 12px;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.02;
  letter-spacing: -0.04em;
}
.betting-guide__header > div > p:last-child {
  max-width: 850px;
  margin: 0;
  color: #526c7e;
  font-size: 15px;
  line-height: 1.65;
}
.betting-guide__header aside {
  display: grid;
  gap: 7px;
  padding: 20px;
  border-radius: 18px;
  color: #dcecf4;
  background: linear-gradient(135deg, #103451, #176f79);
}
.betting-guide__header aside strong {
  color: #ffffff;
}
.betting-guide__header aside span {
  font-size: 13px;
}
.betting-types {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}
.sportsbook-introduction {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
  gap: 30px;
  margin-top: 28px;
  padding: clamp(24px, 3vw, 34px);
  border-radius: 22px;
  color: #dcecf4;
  background: linear-gradient(135deg, #102f4d, #176f79);
}
.sportsbook-introduction h4, .sportsbook-interface h4 {
  margin: 0 0 13px;
  font-size: clamp(27px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.025em;
}
.sportsbook-introduction h4 {
  color: #ffffff;
}
.sportsbook-introduction__lead > p:not(.sports-hub__eyebrow) {
  margin: 0 0 13px;
  color: #dcecf4;
  font-size: 16px;
  line-height: 1.72;
}
.sportsbook-journey {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sportsbook-journey li {
  position: relative;
  padding: 13px 15px 13px 52px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 14px;
  background: rgba(6, 31, 51, 0.34);
}
.sportsbook-journey li::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 15px;
  width: 9px;
  height: 9px;
  margin: 8px;
  border-radius: 50%;
  color: #ffffff;
  background: #e66e36;
}
.sportsbook-journey strong, .sportsbook-journey span {
  display: block;
}
.sportsbook-journey strong {
  margin-bottom: 3px;
  color: #ffffff;
  font-size: 15px;
}
.sportsbook-journey span {
  color: #c8dfe7;
  font-size: 13px;
  line-height: 1.5;
}
.sportsbook-interface {
  margin-top: 18px;
  padding: clamp(24px, 3vw, 32px);
  border: 1px solid rgba(28, 82, 112, 0.13);
  border-radius: 22px;
  background: #ffffff;
}
.sportsbook-interface header > p:last-child {
  max-width: 900px;
  margin: 0;
  color: #526c7e;
  font-size: 16px;
  line-height: 1.65;
}
.sportsbook-interface > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.sportsbook-interface article {
  padding: 18px;
  border-radius: 16px;
  background: #edf6f6;
}
.sportsbook-interface h5 {
  margin: 0 0 7px;
  color: #126f78;
  font-size: 16px;
}
.sportsbook-interface article p {
  margin: 0;
  color: #526c7e;
  font-size: 14px;
  line-height: 1.6;
}
.betting-types article {
  padding: 20px;
  border: 1px solid rgba(28, 82, 112, 0.13);
  border-radius: 18px;
  background: #ffffff;
}
.betting-types article > p:first-child {
  margin: 0 0 7px;
  color: #c95727;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.betting-types h4, .odds-basics h4, .settlement-guide h4 {
  margin: 0 0 9px;
  font-size: clamp(20px, 2vw, 28px);
}
.betting-types article > p:not(:first-child), .odds-basics p {
  margin: 0;
  color: #526c7e;
  font-size: 15px;
  line-height: 1.6;
}
.betting-types dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 5px 10px;
  margin: 15px 0 0;
  padding-top: 13px;
  border-top: 1px solid rgba(28, 82, 112, 0.13);
  font-size: 13px;
  line-height: 1.5;
}
.betting-types dt {
  color: #126f78;
  font-weight: 700;
}
.betting-types dd {
  margin: 0;
  color: #526c7e;
}
.odds-basics {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(430px, 0.8fr);
  gap: 24px;
  align-items: center;
  margin-top: 18px;
  padding: 24px;
  border-radius: 20px;
  background: #eaf4f4;
}
.odds-formula {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 9px;
  align-items: center;
  padding: 18px;
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient(135deg, #103451, #176f79);
}
.odds-formula span {
  display: grid;
  gap: 4px;
  text-align: center;
}
.odds-formula small {
  color: #b9dcdf;
  font-size: 10px;
}
.odds-formula strong {
  font-size: 18px;
}
.settlement-guide {
  margin-top: 18px;
  padding: 24px;
  border-radius: 20px;
  background: #ffffff;
}
.settlement-guide > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.settlement-guide > div p {
  margin: 0;
  padding: 13px 15px;
  border-radius: 12px;
  color: #526c7e;
  background: #edf6f6;
  font-size: 14px;
  line-height: 1.5;
}
.settlement-guide strong {
  color: #126f78;
}
@media (max-width: 760px) {
  .betting-guide__header, .sportsbook-introduction, .betting-types, .odds-basics, .settlement-guide > div {
    grid-template-columns: 1fr;
  }
  .sportsbook-interface > div {
    grid-template-columns: 1fr;
  }
  .odds-formula {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
  }
}
/* Autonomous primary views: a selected section replaces the hero without JavaScript. */ .primary-view:not(.primary-view--home) {
  display: none;
}
.primary-view:target {
  display: block;
}
/* The hero always stays above whichever content view is selected. */ .primary-view--home {
  display: block;
}
.slots-hub {
  --slot-ink: #17364d;
  --slot-muted: #587185;
  scroll-margin-top: 64px;
  min-height: calc(100vh - 64px);
  padding: clamp(52px, 6vw, 88px) 24px;
  color: var(--slot-ink);
  background: radial-gradient(circle at 8% 4%, rgba(120, 204, 220, 0.35), transparent 31%), radial-gradient(circle at 94% 8%, rgba(240, 141, 93, 0.22), transparent 28%), linear-gradient(145deg, #d9edf2, #e8edf4 54%, #f2e8e3);
}
.slots-hub__inner {
  width: min(1320px, 100%);
  margin: 0 auto;
}
.slots-hub__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.7fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
  margin-bottom: 30px;
}
.slots-hub__eyebrow {
  margin: 0 0 12px;
  color: #e8602e;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
}
.slots-hub h2 {
  margin: 0 0 16px;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.045em;
}
.slots-hub__intro > div > p:last-child {
  max-width: 850px;
  margin: 0;
  color: var(--slot-muted);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.7;
}
.slots-hub__brief {
  display: grid;
  gap: 9px;
  padding: 24px;
  border-radius: 22px;
  color: #dcebf2;
  background: linear-gradient(135deg, #123852, #18717a);
  box-shadow: 0 18px 46px rgba(23, 54, 77, 0.18);
}
.slots-hub__brief strong {
  color: #fff;
  font-size: 19px;
}
.slots-hub__brief span {
  font-size: 15px;
  line-height: 1.45;
}
.slots-hub__brief b {
  margin-top: 7px;
  color: #ffb183;
  font-size: 12px;
  letter-spacing: 0.11em;
}
.slots-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
.slots-switcher > input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.slots-switcher > label {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid rgba(23, 54, 77, 0.14);
  border-radius: 15px;
  color: #29485d;
  background: rgba(255, 255, 255, 0.75);
  font-size: 15px;
  font-weight: 800;
  text-align: center;
  cursor: pointer;
  transition: transform 160ms ease, color 160ms ease, background 160ms ease;
}
.slots-switcher > label:hover {
  transform: translateY(-2px);
}
.slots-switcher > input:focus-visible + label {
  outline: 3px solid #f17a43;
  outline-offset: 3px;
}
#slot-hot:checked + label, #slot-instant:checked + label, #slot-megaways:checked + label, #slot-hold:checked + label, #slot-cluster:checked + label, #slot-classic:checked + label, #slot-jackpot:checked + label, #slot-new:checked + label, #slot-picks:checked + label {
  color: #fff;
  background: linear-gradient(125deg, #16415c, #18818a);
  box-shadow: 0 10px 25px rgba(20, 79, 98, 0.2);
}
.slots-panels {
  grid-column: 1 / -1;
  margin-top: 10px;
}
.slots-panel {
  display: none;
  overflow: hidden;
  border: 1px solid rgba(23, 54, 77, 0.13);
  border-radius: 26px;
  background: rgba(249, 252, 253, 0.94);
  box-shadow: 0 24px 60px rgba(34, 68, 89, 0.13);
}
#slot-hot:checked ~ .slots-panels .slots-panel--hot, #slot-instant:checked ~ .slots-panels .slots-panel--instant, #slot-megaways:checked ~ .slots-panels .slots-panel--megaways, #slot-hold:checked ~ .slots-panels .slots-panel--hold, #slot-cluster:checked ~ .slots-panels .slots-panel--cluster, #slot-classic:checked ~ .slots-panels .slots-panel--classic, #slot-jackpot:checked ~ .slots-panels .slots-panel--jackpot, #slot-new:checked ~ .slots-panels .slots-panel--new, #slot-picks:checked ~ .slots-panels .slots-panel--picks {
  display: block;
}
.slots-panel > header {
  padding: 28px 32px;
  color: #fff;
  background: linear-gradient(115deg, #123852, #147481);
}
.slots-panel > header h3 {
  margin: 0 0 8px;
  font-size: clamp(28px, 3vw, 42px);
}
.slots-panel > header p {
  max-width: 1000px;
  margin: 0;
  color: #dcebf1;
  font-size: 16px;
  line-height: 1.6;
}
.slots-grid, .format-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
  padding: 22px;
}
.slot-card, .format-grid article {
  overflow: hidden;
  border: 1px solid rgba(23, 54, 77, 0.12);
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(34, 68, 89, 0.08);
}
.slot-card > img {
  display: block;
  width: 100%;
  height: clamp(210px, 16vw, 270px);
  object-fit: cover;
  object-position: center;
  background: linear-gradient(145deg, #e7f0f4, #d6e4eb);
}
.slot-card > div, .format-grid article {
  padding: 15px;
}
.slot-card__body {
  display: flex;
  min-height: 118px;
  flex-direction: column;
}
.slot-card h4, .format-grid h4 {
  margin: 0;
  color: var(--slot-ink);
  font-size: 17px;
  line-height: 1.25;
}
.slot-provider {
  margin: 5px 0 13px;
  color: #da5f30;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.slot-card__details-copy {
  padding-top: 14px;
}
.slot-card > div > p:not(.slot-provider), .format-grid p {
  margin: 10px 0 17px;
  color: var(--slot-muted);
  font-size: 13px;
  line-height: 1.6;
}
.slot-card .slot-description {
  margin-bottom: 12px;
  color: #48677d;
  font-size: 13px;
  line-height: 1.55;
}
.slot-card .slot-feature {
  margin: 0;
  color: #405f75;
  font-size: 13px;
  line-height: 1.5;
}
.slot-card details {
  margin-top: auto;
  border-top: 1px solid rgba(23, 54, 77, 0.12);
}
.slot-card summary {
  position: relative;
  padding: 15px 30px 0 0;
  color: #15727c;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.slot-card summary::-webkit-details-marker {
  display: none;
}
.slot-card summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  font-size: 22px;
}
.slot-card details[open] summary::after {
  content: "−";
}
.slot-card dl {
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px dashed rgba(23, 54, 77, 0.2);
}
.slot-card dt {
  margin-top: 9px;
  color: var(--slot-ink);
  font-size: 12px;
  font-weight: 800;
}
.slot-card dd {
  margin: 2px 0 0;
  color: var(--slot-muted);
  font-size: 12px;
  line-height: 1.5;
}
.slots-hub__notice {
  margin: 20px 0 0;
  padding: 16px 20px;
  border-left: 4px solid #f47b42;
  border-radius: 0 14px 14px 0;
  color: #4b687c;
  background: rgba(255, 255, 255, 0.68);
  font-size: 15px;
  line-height: 1.55;
}
.slots-hub__notice strong {
  color: #cc5427;
}
@media (max-width: 900px) {
  .slots-hub__intro {
    grid-template-columns: 1fr;
  }
  .slots-grid, .format-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .slot-card > img {
    height: 240px;
  }
  .slots-switcher {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .slots-hub {
    padding-inline: 15px;
  }
  .slots-switcher {
    grid-template-columns: 1fr;
  }
  .slots-grid, .format-grid {
    grid-template-columns: 1fr;
  }
  .slot-card > img {
    height: 260px;
  }
  .slots-panel > header, .slots-grid, .format-grid {
    padding: 18px;
  }
}
/* Software-led casino games primary view */ .games-hub {
  --games-ink: #17364d;
  --games-muted: #557084;
  scroll-margin-top: 64px;
  min-height: calc(100vh - 64px);
  padding: clamp(52px, 6vw, 88px) 24px;
  color: var(--games-ink);
  background: radial-gradient(circle at 10% 7%, rgba(106, 185, 205, 0.32), transparent 30%), radial-gradient(circle at 92% 5%, rgba(241, 132, 78, 0.2), transparent 28%), linear-gradient(145deg, #dbeef1, #e8edf4 56%, #f2e8e2);
}
.games-hub__inner {
  width: min(1320px, 100%);
  margin: 0 auto;
}
.games-hub__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.7fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
  margin-bottom: 30px;
}
.games-hub__eyebrow {
  margin: 0 0 12px;
  color: #df5f32;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
}
.games-hub h2 {
  margin: 0 0 16px;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.045em;
}
.games-hub__intro > div > p:last-child {
  max-width: 860px;
  margin: 0;
  color: var(--games-muted);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.7;
}
.games-hub__brief {
  display: grid;
  gap: 9px;
  padding: 24px;
  border-radius: 22px;
  color: #dceef0;
  background: linear-gradient(135deg, #173a55, #207f84);
  box-shadow: 0 18px 46px rgba(23, 54, 77, 0.18);
}
.games-hub__brief strong {
  color: #fff;
  font-size: 19px;
}
.games-hub__brief span {
  font-size: 15px;
  line-height: 1.45;
}
.games-hub__brief b {
  margin-top: 7px;
  color: #ffb183;
  font-size: 12px;
  letter-spacing: 0.1em;
}
.games-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
.games-switcher > input, .game-detail-control {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.games-switcher > label {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid rgba(23, 54, 77, 0.14);
  border-radius: 15px;
  color: #29485d;
  background: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  font-weight: 800;
  text-align: center;
  cursor: pointer;
  transition: transform 160ms ease, color 160ms ease, background 160ms ease;
}
.games-switcher > label:hover {
  transform: translateY(-2px);
}
.games-switcher > input:focus-visible + label, .game-detail-control:focus-visible + .game-card {
  outline: 3px solid #ee7541;
  outline-offset: 3px;
}
#game-tables:checked + label, #game-cards:checked + label, #game-crash:checked + label, #game-plinko:checked + label, #game-mines:checked + label, #game-instant:checked + label {
  color: #fff;
  background: linear-gradient(125deg, #173f5c, #19867f);
  box-shadow: 0 10px 25px rgba(20, 79, 98, 0.2);
}
.games-panels {
  grid-column: 1 / -1;
  margin-top: 10px;
}
.games-panel {
  display: none;
  overflow: hidden;
  border: 1px solid rgba(23, 54, 77, 0.13);
  border-radius: 26px;
  background: rgba(249, 252, 253, 0.95);
  box-shadow: 0 24px 60px rgba(34, 68, 89, 0.13);
}
#game-tables:checked ~ .games-panels .games-panel--tables, #game-cards:checked ~ .games-panels .games-panel--cards, #game-crash:checked ~ .games-panels .games-panel--crash, #game-plinko:checked ~ .games-panels .games-panel--plinko, #game-mines:checked ~ .games-panels .games-panel--mines, #game-instant:checked ~ .games-panels .games-panel--instant {
  display: block;
}
.games-panel > header {
  padding: 28px 32px;
  color: #fff;
  background: linear-gradient(115deg, #143b58, #19817e);
}
.games-panel > header h3 {
  margin: 0 0 8px;
  font-size: clamp(28px, 3vw, 42px);
}
.games-panel > header p {
  max-width: 1050px;
  margin: 0;
  color: #dcebf1;
  font-size: 16px;
  line-height: 1.6;
}
.games-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  padding: 22px;
}
.game-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  order: 1;
  overflow: hidden;
  border: 1px solid rgba(23, 54, 77, 0.12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(34, 68, 89, 0.08);
  cursor: pointer;
}
.game-card__media {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: linear-gradient(145deg, #e8f0f3, #d9e6eb);
}
.game-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.game-card__body {
  display: flex;
  min-height: 118px;
  flex: 1;
  flex-direction: column;
  padding: 15px;
}
.game-card__title {
  display: flex;
  min-height: 64px;
  align-items: flex-start;
  margin: 0 0 12px;
  color: var(--games-ink);
  font-size: 17px;
  line-height: 1.25;
}
.game-card__details-label {
  position: relative;
  display: block;
  margin-top: auto;
  padding: 14px 28px 0 0;
  border-top: 1px solid rgba(23, 54, 77, 0.12);
  color: #14746f;
  font-size: 13px;
  font-weight: 800;
}
.game-card__details-label::after {
  content: "+";
  position: absolute;
  right: 2px;
  font-size: 21px;
}
.game-detail-control:checked + .game-card .game-card__details-label::after {
  content: "−";
}
.game-card__expanded {
  display: none;
  grid-column: 1 / -1;
  order: 2;
  margin: 4px 0 0;
  padding: 22px 24px;
  border: 1px solid rgba(23, 54, 77, 0.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(34, 68, 89, 0.11);
}
.game-detail-control:checked + .game-card + .game-card__expanded {
  display: block;
}
.game-kind {
  margin: 0 0 9px;
  color: #dc5c2f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.game-card__details-copy > p:last-child {
  margin: 0;
  color: var(--games-muted);
  font-size: 12px;
  line-height: 1.55;
}
.game-card__expanded dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 24px;
  margin: 18px 0 0;
  padding-top: 16px;
  border-top: 1px dashed rgba(23, 54, 77, 0.2);
}
.game-card__expanded dt {
  margin: 0;
  color: var(--games-ink);
  font-size: 12px;
  font-weight: 800;
}
.game-card__expanded dd {
  margin: 2px 0 0;
  color: var(--games-muted);
  font-size: 12px;
  line-height: 1.5;
}
.game-card__close {
  display: inline-flex;
  margin-top: 18px;
  padding: 9px 13px;
  border: 1px solid rgba(20, 116, 111, 0.24);
  border-radius: 10px;
  color: #14746f;
  background: #f4fbfa;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.games-hub__notice {
  margin: 20px 0 0;
  padding: 16px 20px;
  border-left: 4px solid #f47b42;
  border-radius: 0 14px 14px 0;
  color: #4b687c;
  background: rgba(255, 255, 255, 0.68);
  font-size: 15px;
  line-height: 1.55;
}
.games-hub__notice strong {
  color: #cc5427;
}
@media (max-width: 900px) {
  .games-hub__intro {
    grid-template-columns: 1fr;
  }
  .games-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .game-card__expanded dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .games-switcher {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .games-hub {
    padding-inline: 15px;
  }
  .games-switcher, .games-grid {
    grid-template-columns: 1fr;
  }
  .games-panel > header, .games-grid {
    padding: 18px;
  }
  .game-card__expanded dl {
    grid-template-columns: 1fr;
  }
}
/* Live Casino primary view */ .live-hub {
  --live-ink: #17364d;
  --live-muted: #557084;
  scroll-margin-top: 64px;
  min-height: calc(100vh - 64px);
  padding: clamp(52px, 6vw, 88px) 24px;
  color: var(--live-ink);
  background: radial-gradient(circle at 8% 8%, rgba(72, 188, 170, 0.28), transparent 30%), radial-gradient(circle at 92% 4%, rgba(240, 126, 77, 0.2), transparent 28%), linear-gradient(145deg, #d9edf0, #e9edf3 58%, #f1e7e2);
}
.live-hub__inner {
  width: min(1320px, 100%);
  margin: 0 auto;
}
.live-hub__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.7fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
  margin-bottom: 30px;
}
.live-hub__eyebrow {
  margin: 0 0 12px;
  color: #df5f32;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
}
.live-hub h2 {
  margin: 0 0 16px;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.045em;
}
.live-hub__intro > div > p:last-child {
  max-width: 860px;
  margin: 0;
  color: var(--live-muted);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.7;
}
.live-hub__brief {
  display: grid;
  gap: 9px;
  padding: 24px;
  border-radius: 22px;
  color: #dceef0;
  background: linear-gradient(135deg, #123d4c, #187b74);
  box-shadow: 0 18px 46px rgba(23, 54, 77, 0.18);
}
.live-hub__brief strong {
  color: #fff;
  font-size: 19px;
}
.live-hub__brief span {
  font-size: 15px;
  line-height: 1.45;
}
.live-hub__brief b {
  margin-top: 7px;
  color: #ffb183;
  font-size: 12px;
  letter-spacing: 0.11em;
}
.live-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
.live-switcher > input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.live-switcher > label {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid rgba(23, 54, 77, 0.14);
  border-radius: 15px;
  color: #29485d;
  background: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  font-weight: 800;
  text-align: center;
  cursor: pointer;
  transition: transform 160ms ease, color 160ms ease, background 160ms ease;
}
.live-switcher > label:hover {
  transform: translateY(-2px);
}
.live-switcher > input:focus-visible + label {
  outline: 3px solid #ee7541;
  outline-offset: 3px;
}
#live-roulette:checked + label, #live-blackjack:checked + label, #live-baccarat:checked + label, #live-poker:checked + label, #live-shows:checked + label, #live-special:checked + label {
  color: #fff;
  background: linear-gradient(125deg, #16435a, #19877e);
  box-shadow: 0 10px 25px rgba(20, 79, 98, 0.2);
}
.live-panels {
  grid-column: 1 / -1;
  margin-top: 10px;
}
.live-panel {
  display: none;
  overflow: hidden;
  border: 1px solid rgba(23, 54, 77, 0.13);
  border-radius: 26px;
  background: rgba(249, 252, 253, 0.95);
  box-shadow: 0 24px 60px rgba(34, 68, 89, 0.13);
}
#live-roulette:checked ~ .live-panels .live-panel--roulette, #live-blackjack:checked ~ .live-panels .live-panel--blackjack, #live-baccarat:checked ~ .live-panels .live-panel--baccarat, #live-poker:checked ~ .live-panels .live-panel--poker, #live-shows:checked ~ .live-panels .live-panel--shows, #live-special:checked ~ .live-panels .live-panel--special {
  display: block;
}
.live-panel > header {
  padding: 28px 32px;
  color: #fff;
  background: linear-gradient(115deg, #123852, #147d79);
}
.live-panel > header h3 {
  margin: 0 0 8px;
  font-size: clamp(28px, 3vw, 42px);
}
.live-panel > header p {
  max-width: 1000px;
  margin: 0;
  color: #dcebf1;
  font-size: 16px;
  line-height: 1.6;
}
.live-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  padding: 22px;
}
.live-table-control {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.live-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  order: 1;
  overflow: hidden;
  border: 1px solid rgba(23, 54, 77, 0.12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(34, 68, 89, 0.08);
  cursor: pointer;
  list-style: none;
}
.live-card::-webkit-details-marker {
  display: none;
}
.live-table-control:focus-visible + .live-card {
  outline: 3px solid #ee7541;
  outline-offset: 3px;
}
.live-card__media {
  position: relative;
  display: flex;
  width: 100%;
  aspect-ratio: 2 / 3;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 17px 17px 0 0;
  background: linear-gradient(145deg, #e8f0f3, #d9e6eb);
}
.live-card__media img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.live-card__media--portrait img {
  aspect-ratio: 2 / 3;
}
.live-card__media--donor img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.live-card__media--square img {
  width: 100%;
  aspect-ratio: 1;
  box-shadow: 0 -18px 40px rgba(13, 43, 58, 0.18);
}
.live-card__media--square::before {
  content: "";
  position: absolute;
  inset: -18px;
  background-image: linear-gradient(rgba(225, 237, 241, 0.18), rgba(225, 237, 241, 0.18)), var(--live-art);
  background-position: center;
  background-size: cover;
  filter: blur(15px) saturate(0.82);
  transform: scale(1.08);
}
.live-card__body {
  display: flex;
  min-height: 118px;
  flex-direction: column;
  padding: 15px;
}
.live-card__title {
  display: flex;
  min-height: 64px;
  align-items: flex-start;
  margin: 0 0 12px;
  color: var(--live-ink);
  font-size: 17px;
  line-height: 1.25;
}
.live-card__details-label {
  position: relative;
  display: block;
  margin-top: auto;
  padding: 14px 28px 0 0;
  border-top: 1px solid rgba(23, 54, 77, 0.12);
  color: #14746f;
  font-size: 13px;
  font-weight: 800;
}
.live-card__details-label::after {
  content: "+";
  position: absolute;
  right: 2px;
  font-size: 21px;
}
.live-table-control:checked + .live-card .live-card__details-label::after {
  content: "−";
}
.live-card__details-copy {
  padding: 0;
}
.live-card__expanded {
  display: none;
  grid-column: 1 / -1;
  order: 2;
  margin: 4px 0 0;
  padding: 22px 24px;
  border: 1px solid rgba(23, 54, 77, 0.12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(34, 68, 89, 0.11);
}
.live-table-control:checked + .live-card + .live-card__expanded {
  display: block;
}
.live-card__close {
  display: inline-flex;
  margin-top: 18px;
  padding: 9px 13px;
  border: 1px solid rgba(20, 116, 111, 0.24);
  border-radius: 10px;
  color: #14746f;
  background: #f4fbfa;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.live-provider {
  margin: 0 0 9px;
  color: #dc5c2f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.live-card__details-copy > p:last-child {
  margin: 0;
  color: var(--live-muted);
  font-size: 12px;
  line-height: 1.55;
}
.live-card__expanded dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 24px;
  margin: 18px 0 0;
  padding-top: 16px;
  border-top: 1px dashed rgba(23, 54, 77, 0.2);
}
.live-card__expanded dt {
  margin: 0;
  color: var(--live-ink);
  font-size: 12px;
  font-weight: 800;
}
.live-card__expanded dd {
  margin: 2px 0 0;
  color: var(--live-muted);
  font-size: 12px;
  line-height: 1.5;
}
.live-comparison {
  margin-top: 26px;
  overflow: hidden;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 18px 48px rgba(34, 68, 89, 0.1);
}
.live-comparison > header {
  padding: 28px 30px 20px;
}
.live-comparison h3 {
  margin: 0 0 8px;
  font-size: clamp(27px, 3vw, 40px);
}
.live-comparison header > p:last-child {
  margin: 0;
  color: var(--live-muted);
  font-size: 15px;
}
.live-comparison__table {
  overflow-x: auto;
}
.live-comparison table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}
.live-comparison th, .live-comparison td {
  padding: 15px 18px;
  border-top: 1px solid rgba(23, 54, 77, 0.1);
  color: var(--live-muted);
  font-size: 13px;
  line-height: 1.45;
  text-align: left;
}
.live-comparison thead th, .live-comparison tbody th {
  color: var(--live-ink);
  font-weight: 800;
}
.live-hub__notice {
  margin: 20px 0 0;
  padding: 16px 20px;
  border-left: 4px solid #f47b42;
  border-radius: 0 14px 14px 0;
  color: #4b687c;
  background: rgba(255, 255, 255, 0.68);
  font-size: 15px;
  line-height: 1.55;
}
.live-hub__notice strong {
  color: #cc5427;
}
@media (max-width: 900px) {
  .live-hub__intro {
    grid-template-columns: 1fr;
  }
  .live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .live-card__expanded dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .live-switcher {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .live-hub {
    padding-inline: 15px;
  }
  .live-switcher, .live-grid {
    grid-template-columns: 1fr;
  }
  .live-panel > header, .live-grid {
    padding: 18px;
  }
  .live-card__expanded dl {
    grid-template-columns: 1fr;
  }
}
.world-markets {
  margin: 0 18px 18px;
  padding: 28px;
  border: 1px solid rgba(28, 82, 112, 0.14);
  border-radius: 22px;
  background: #ffffff;
}
.world-markets header > p:last-child {
  max-width: 1050px;
  color: #526c7e;
  font-size: 15px;
  line-height: 1.65;
}
.world-markets h4 {
  margin: 0 0 10px;
  color: #17324a;
  font-size: clamp(27px, 3vw, 42px);
}
.world-markets__grid, .world-markets__checklist {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.world-markets__grid article, .world-markets__checklist p {
  margin: 0;
  padding: 17px;
  border-radius: 15px;
  color: #526c7e;
  background: #edf6f6;
  font-size: 13px;
  line-height: 1.55;
}
.world-markets h5 {
  margin: 0 0 7px;
  color: #126f78;
  font-size: 15px;
}
.world-markets details {
  margin-top: 18px;
  border-top: 1px solid rgba(28, 82, 112, 0.14);
}
.world-markets summary {
  padding: 18px 0 0;
  color: #126f78;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
/* Final sports-card presentation: no decorative graphics or motion. */ .sports-hub__inner {
  width: min(1320px, 100%);
}
.sport-tile__motion {
  display: none !important;
}
@media (max-width: 760px) {
  .world-markets {
    margin: 0 12px 12px;
    padding: 20px;
  }
  .world-markets__grid, .world-markets__checklist {
    grid-template-columns: 1fr;
  }
}
/* Static sport labels replace the experimental motion graphics. */ .sport-tile__motion {
  display: grid;
  place-items: center;
  height: 104px;
  background: radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.1), transparent 24%), linear-gradient(120deg, #103451, #176f79);
}
.sport-tile__motion::before, .sport-tile__motion::after, .sport-tile__motion span::after {
  display: none;
}
.sport-tile__motion span, .motion--esports span {
  position: static;
  z-index: 1;
  min-width: 0;
  padding: 0 22px;
  border: 0;
  border-radius: 0;
  color: #ffffff;
  background: transparent;
  box-shadow: none;
  font-size: 0;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.15;
  text-align: center;
  animation: none;
}
.sport-tile__motion span::before {
  position: static;
  display: inline;
  color: #ffffff;
  font-size: clamp(17px, 1.45vw, 23px);
}
.motion--afl span::before {
  content: "AUSTRALIAN FOOTBALL";
}
.motion--nrl span::before {
  content: "RUGBY LEAGUE";
}
.motion--cricket span::before {
  content: "CRICKET";
}
.motion--tennis span::before {
  content: "TENNIS";
}
.motion--football span::before {
  content: "FOOTBALL";
}
.motion--basketball span::before {
  content: "BASKETBALL";
}
.motion--boxing span::before {
  content: "BOXING";
}
.motion--mma span::before {
  content: "MMA";
}
.motion--swimming span::before {
  content: "SWIMMING";
}
.motion--motorsport span::before {
  content: "MOTORSPORT";
}
.motion--esports span {
  font-size: clamp(17px, 1.45vw, 23px);
}
.motion--esports span::before {
  content: none;
}
.sports-hub {
  scroll-margin-top: 64px;
  padding: clamp(64px, 7vw, 104px) 4.5%;
  color: #17324a;
  background: radial-gradient(circle at 9% 12%, rgba(95, 177, 207, 0.24), transparent 30%), radial-gradient(circle at 91% 18%, rgba(244, 123, 64, 0.15), transparent 28%), linear-gradient(135deg, #dceaf0 0%, #e9eef4 50%, #d8e5ec 100%);
}
.sports-hub__inner {
  width: min(1540px, 100%);
  margin: 0 auto;
}
.sports-hub__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 30px;
  align-items: end;
  margin-bottom: 30px;
}
.sports-hub__eyebrow, .sports-panel__header > p {
  margin: 0 0 10px;
  color: #c95727;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
}
.sports-hub__intro h2 {
  max-width: 850px;
  margin: 0 0 16px;
  font-size: clamp(38px, 4.2vw, 70px);
  line-height: 0.98;
  letter-spacing: -0.05em;
}
.sports-hub__intro > div > p:last-child {
  max-width: 880px;
  margin: 0;
  color: #49667b;
  font-size: 17px;
  line-height: 1.65;
}
.sports-hub__brief {
  display: grid;
  gap: 9px;
  padding: 24px;
  border-radius: 24px;
  color: #dcecf4;
  background: linear-gradient(135deg, #102f4d, #1d5e73);
  box-shadow: 0 20px 45px rgba(27, 65, 89, 0.18);
}
.sports-hub__brief strong {
  color: #ffffff;
  font-size: 17px;
}
.sports-hub__brief span {
  font-size: 14px;
  line-height: 1.45;
}
.visually-hidden, .sports-switcher__input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.sports-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
}
.sports-switcher__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 62px;
  padding: 10px 18px;
  border: 1px solid rgba(30, 75, 105, 0.16);
  border-radius: 18px;
  color: #24455d;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 10px 24px rgba(31, 68, 94, 0.08);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.sports-switcher__button:hover {
  transform: translateY(-2px);
}
.sports-switcher__input:focus-visible + .sports-switcher__button {
  outline: 3px solid rgba(244, 123, 64, 0.42);
  outline-offset: 3px;
}
#sports-view-australia:checked + label, #sports-view-world:checked + label, #sports-view-esports:checked + label {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(120deg, #173f63, #16828b);
  box-shadow: 0 14px 30px rgba(23, 78, 105, 0.24);
}
.sports-switcher__panels {
  grid-column: 1 / -1;
}
.sports-panel {
  display: none;
  overflow: hidden;
  margin-top: 14px;
  border: 1px solid rgba(24, 72, 103, 0.15);
  border-radius: 28px;
  background: rgba(248, 252, 254, 0.92);
  box-shadow: 0 26px 62px rgba(26, 65, 91, 0.14);
}
#sports-view-australia:checked ~ .sports-switcher__panels .sports-panel--australia, #sports-view-world:checked ~ .sports-switcher__panels .sports-panel--world, #sports-view-esports:checked ~ .sports-switcher__panels .sports-panel--esports {
  display: block;
}
.sports-panel__header {
  padding: 28px 30px 25px;
  color: #dff4f4;
  background: linear-gradient(120deg, #102f4d, #126f78);
}
.sports-panel__header > p {
  color: #83ddd3;
}
.sports-panel__header h3 {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: clamp(29px, 3vw, 45px);
  line-height: 1.05;
}
.sports-panel__header span {
  display: block;
  max-width: 1050px;
  font-size: 15px;
  line-height: 1.55;
}
.sports-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 18px;
}
.sport-tile {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(28, 82, 112, 0.14);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(29, 72, 98, 0.08);
}
.sport-tile__motion {
  position: relative;
  height: 104px;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(circle at 72% 25%, rgba(114, 211, 207, 0.22), transparent 22%), linear-gradient(135deg, #0e2c47, #175c70);
}
.sport-tile__motion::before, .sport-tile__motion::after, .sport-tile__motion span::before, .sport-tile__motion span::after {
  content: "";
  position: absolute;
}
.sport-tile__motion::before {
  inset: 14px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
}
.motion--afl span, .motion--nrl span {
  position: absolute;
  top: 35px;
  left: 42%;
  width: 38px;
  height: 24px;
  border: 3px solid #f6c37a;
  border-radius: 50%;
  transform: rotate(-20deg);
  animation: oval-ball-flight 2.8s ease-in-out infinite;
}
.motion--afl span::before, .motion--nrl span::before {
  top: 8px;
  left: 8px;
  width: 16px;
  border-top: 2px solid #f6c37a;
}
.motion--afl::after {
  right: 24px;
  bottom: 18px;
  width: 48px;
  height: 56px;
  border-right: 3px solid rgba(255,255,255,.75);
  border-left: 3px solid rgba(255,255,255,.75);
}
.motion--nrl span {
  border-color: #f5f8fb;
}
.motion--cricket::after {
  right: 28px;
  bottom: 19px;
  width: 34px;
  height: 55px;
  border-right: 3px solid #f3d191;
  border-left: 3px solid #f3d191;
  box-shadow: inset 14px 0 0 -11px #f3d191;
}
.motion--cricket span {
  position: absolute;
  top: 38px;
  left: 25%;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #df6638;
  box-shadow: inset 7px 0 0 -6px #ffe0d2;
  animation: cricket-delivery 2.3s cubic-bezier(.45,.05,.55,.95) infinite;
}
.motion--tennis::after {
  right: 28px;
  top: 22px;
  width: 43px;
  height: 58px;
  border: 3px solid #dceaf0;
  border-radius: 50%;
  transform: rotate(24deg);
}
.motion--tennis span {
  position: absolute;
  top: 43px;
  left: 25%;
  width: 17px;
  height: 17px;
  border: 2px solid #efffa0;
  border-radius: 50%;
  animation: tennis-rally 2s ease-in-out infinite;
}
.motion--football::after {
  right: 24px;
  bottom: 18px;
  width: 64px;
  height: 47px;
  border: 3px solid rgba(255,255,255,.78);
  border-bottom: 0;
}
.motion--football span, .motion--basketball span {
  position: absolute;
  top: 34px;
  left: 24%;
  width: 29px;
  height: 29px;
  border: 3px solid #f5f8fb;
  border-radius: 50%;
  background: radial-gradient(circle, #f5f8fb 0 20%, transparent 22%);
  animation: ball-bounce 2.2s ease-in-out infinite;
}
.motion--basketball span {
  border-color: #f49a52;
  background: linear-gradient(90deg, transparent 43%, #f49a52 44% 56%, transparent 57%);
}
.motion--basketball::after {
  right: 29px;
  top: 35px;
  width: 56px;
  height: 22px;
  border: 3px solid #f49a52;
  border-radius: 50%;
}
.motion--boxing::before {
  background: repeating-linear-gradient(0deg, transparent 0 17px, rgba(255,255,255,.14) 18px 19px);
}
.motion--boxing span::before, .motion--boxing span::after {
  top: 34px;
  width: 42px;
  height: 34px;
  border: 3px solid #f07948;
  border-radius: 48% 48% 42% 42%;
}
.motion--boxing span::before {
  left: 30%;
  animation: glove-left 1.8s ease-in-out infinite;
}
.motion--boxing span::after {
  right: 30%;
  animation: glove-right 1.8s ease-in-out infinite;
}
.motion--mma::after {
  top: 24px;
  left: 50%;
  width: 72px;
  height: 55px;
  border: 3px solid #7bd1c7;
  clip-path: polygon(25% 0,75% 0,100% 35%,88% 100%,12% 100%,0 35%);
  transform: translateX(-50%);
  animation: arena-pulse 2.2s ease-in-out infinite;
}
.motion--swimming {
  background: repeating-linear-gradient(0deg, #164d68 0 18px, #277d8d 19px 21px);
}
.motion--swimming span {
  position: absolute;
  top: 39px;
  left: 22%;
  width: 24px;
  height: 10px;
  border-radius: 50%;
  background: #e6f2f5;
  box-shadow: 20px 5px 0 -3px #e6f2f5;
  animation: swim-lane 2.8s ease-in-out infinite;
}
.motion--motorsport span {
  position: absolute;
  top: 41px;
  left: 25%;
  width: 57px;
  height: 22px;
  border: 3px solid #f07948;
  border-radius: 8px 18px 6px 6px;
  box-shadow: -34px 3px 0 -8px rgba(255,255,255,.7), -58px 3px 0 -9px rgba(255,255,255,.45);
  animation: racing-line 2.1s ease-in-out infinite;
}
.motion--motorsport span::before, .motion--motorsport span::after {
  bottom: -9px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #07182e;
  border: 2px solid #c6d8df;
}
.motion--motorsport span::before {
  left: 7px;
}
.motion--motorsport span::after {
  right: 7px;
}
.motion--esports {
  display: grid;
  place-items: center;
}
.motion--esports span {
  position: relative;
  z-index: 2;
  min-width: 72px;
  padding: 13px 16px;
  border: 1px solid rgba(131, 221, 211, .65);
  border-radius: 12px;
  color: #f4fbfc;
  background: rgba(7, 24, 46, .5);
  box-shadow: 0 0 24px rgba(54, 202, 191, .18);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .08em;
  text-align: center;
  animation: hud-focus 2.4s ease-in-out infinite;
}
.motion--esports::after {
  top: 18px;
  bottom: 18px;
  left: 10%;
  width: 2px;
  background: linear-gradient(transparent, #84e3d6, transparent);
  animation: hud-scan 2.6s linear infinite;
}
@keyframes oval-ball-flight {
  0%,100% {
    transform: translate(-34px,18px) rotate(-24deg);
  }
  50% {
    transform: translate(42px,-19px) rotate(28deg);
  }
}
@keyframes cricket-delivery {
  0% {
    transform: translate(-35px,-16px);
  }
  55% {
    transform: translate(62px,30px);
  }
  100% {
    transform: translate(116px,-2px);
  }
}
@keyframes tennis-rally {
  0%,100% {
    transform: translate(-26px,15px);
  }
  50% {
    transform: translate(66px,-18px);
  }
}
@keyframes ball-bounce {
  0%,100% {
    transform: translate(-24px,25px) rotate(0);
  }
  50% {
    transform: translate(54px,-18px) rotate(180deg);
  }
}
@keyframes glove-left {
  0%,100% {
    transform: translateX(-18px) rotate(10deg);
  }
  50% {
    transform: translateX(22px) rotate(-5deg);
  }
}
@keyframes glove-right {
  0%,100% {
    transform: translateX(18px) rotate(-10deg);
  }
  50% {
    transform: translateX(-22px) rotate(5deg);
  }
}
@keyframes arena-pulse {
  0%,100% {
    opacity:.58;
    transform: translateX(-50%) scale(.92);
  }
  50% {
    opacity:1;
    transform: translateX(-50%) scale(1.05);
  }
}
@keyframes swim-lane {
  0% {
    transform: translateX(-28px);
  }
  100% {
    transform: translateX(140px);
  }
}
@keyframes racing-line {
  0%,100% {
    transform: translateX(-28px);
  }
  50% {
    transform: translateX(72px);
  }
}
@keyframes hud-focus {
  0%,100% {
    transform: scale(.96);
    opacity:.72;
  }
  50% {
    transform: scale(1.04);
    opacity:1;
  }
}
@keyframes hud-scan {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(360px);
  }
}
.sport-tile__body {
  display: flex;
  flex-direction: column;
  padding: 18px 18px 0;
}
.sport-tile__type {
  margin: 0 0 6px;
  color: #16777c;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.sport-tile h4 {
  margin: 0 0 9px;
  color: #17324a;
  font-size: 21px;
}
.sport-tile__body > p:not(.sport-tile__type):not(.sport-tile__markets) {
  margin: 0;
  color: #526c7e;
  font-size: 14px;
  line-height: 1.55;
}
.sport-tile__markets {
  margin: 14px 0 0;
  padding: 11px 12px;
  border-radius: 12px;
  color: #3c6174;
  background: #eaf5f4;
  font-size: 12px;
  line-height: 1.5;
}
.sport-tile__markets strong {
  display: block;
  margin-bottom: 2px;
  color: #126f78;
}
.sport-tile details {
  margin-top: auto;
  border-top: 1px solid rgba(28, 82, 112, 0.14);
}
.sport-tile summary {
  position: relative;
  padding: 15px 24px 15px 0;
  color: #126f78;
  font-size: 13px;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}
.sport-tile summary::-webkit-details-marker {
  display: none;
}
.sport-tile summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  font-size: 19px;
}
.sport-tile details[open] summary::after {
  content: "−";
}
.sport-tile dl {
  margin: 0;
  padding: 0 0 17px;
}
.sport-tile dt {
  margin-top: 9px;
  color: #17324a;
  font-size: 12px;
  font-weight: 700;
}
.sport-tile dd {
  margin: 3px 0 0;
  color: #526c7e;
  font-size: 12px;
  line-height: 1.5;
}
.sports-grid--compact .sport-tile {
  min-height: 0;
}
.esports-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
  gap: 22px;
  margin: 18px 18px 0;
  padding: 25px;
  border: 1px solid rgba(28, 82, 112, 0.14);
  border-radius: 20px;
  background: #ffffff;
}
.esports-overview h4 {
  margin: 0 0 10px;
  color: #17324a;
  font-size: clamp(24px, 2.4vw, 36px);
}
.esports-overview p {
  margin: 0;
  color: #526c7e;
  font-size: 14px;
  line-height: 1.65;
}
.esports-overview > div:last-child {
  padding: 20px;
  border-radius: 16px;
  color: #dcecf4;
  background: linear-gradient(135deg, #173f63, #16828b);
}
.esports-overview > div:last-child strong {
  display: block;
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 16px;
}
.esports-overview > div:last-child p {
  color: #dcecf4;
}
.esports-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
  gap: 30px;
  margin: 0 18px 18px;
  padding: 28px;
  border-radius: 22px;
  color: #d9eaf1;
  background: linear-gradient(135deg, #102f4d, #1d6573);
}
.esports-entry h4 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: clamp(25px, 2.5vw, 38px);
}
.esports-entry p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
}
.esports-entry ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 20px;
  font-size: 13px;
  line-height: 1.5;
}
.esports-entry strong {
  color: #ffad82;
}
.sports-hub__notice {
  margin: 22px 0 0;
  padding: 16px 20px;
  border-left: 4px solid var(--orange);
  border-radius: 0 14px 14px 0;
  color: #49667b;
  background: rgba(255, 255, 255, 0.58);
  font-size: 14px;
  line-height: 1.5;
}
.sports-hub__notice strong {
  color: #c95727;
}
@media (max-width: 1100px) {
  .sports-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .sports-hub {
    padding-inline: 18px;
  }
  .sports-hub__intro {
    grid-template-columns: 1fr;
  }
  .sports-switcher {
    grid-template-columns: 1fr;
  }
  .sports-switcher__panels {
    grid-column: 1;
  }
  .sports-grid {
    grid-template-columns: 1fr;
    padding: 12px;
  }
  .sports-panel__header {
    padding: 24px 20px;
  }
  .esports-entry {
    grid-template-columns: 1fr;
    margin: 0 12px 12px;
    padding: 22px;
  }
  .esports-overview {
    grid-template-columns: 1fr;
    margin: 12px 12px 0;
    padding: 20px;
  }
}
@media print {
  .sports-switcher__button {
    display: none;
  }
  .sports-panel, #sports-view-australia:checked ~ .sports-switcher__panels .sports-panel, #sports-view-world:checked ~ .sports-switcher__panels .sports-panel, #sports-view-esports:checked ~ .sports-switcher__panels .sports-panel {
    display: block;
    box-shadow: none;
  }
}
/* About: brand qualities without decorative statistics or inflated counts. */ .about-casino {
  --about-ink: #eaf7f7;
  --about-muted: #a9c3cc;
  --about-teal: #37c3ba;
  --about-orange: #ff995f;
  scroll-margin-top: 64px;
  padding: clamp(64px, 7vw, 104px) 24px;
  color: var(--about-ink);
  background: radial-gradient(circle at 10% 12%, rgba(23, 154, 157, .24), transparent 30%), radial-gradient(circle at 91% 83%, rgba(255, 131, 72, .15), transparent 28%), linear-gradient(145deg, #071b31, #0b3045 58%, #0e3e48);
}
.about-casino__inner {
  width: min(1240px, 100%);
  margin: 0 auto;
}
.about-casino__intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(40px, 5vw, 68px);
  align-items: center;
  padding-bottom: clamp(36px, 5vw, 62px);
  border-bottom: 1px solid rgba(195, 231, 232, .17);
}
.about-casino__eyebrow, .about-casino__feature-copy > p, .about-casino__closing p {
  margin: 0 0 13px;
  color: var(--about-teal);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
}
.about-casino h2 {
  max-width: 600px;
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 4.5vw, 62px);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.about-casino__intro > p {
  max-width: 580px;
  margin: 0;
  color: var(--about-muted);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.72;
}
.about-casino__feature {
  display: grid;
  grid-template-columns: minmax(380px, .95fr) minmax(420px, 1.05fr);
  gap: clamp(34px, 5vw, 76px);
  align-items: center;
  margin-top: 24px;
  padding: clamp(34px, 5vw, 62px);
  overflow: hidden;
  border: 1px solid rgba(120, 212, 207, .2);
  border-radius: 30px;
  background: radial-gradient(circle at 100% 0%, rgba(57, 195, 186, .16), transparent 32%), rgba(255, 255, 255, .055);
  box-shadow: 0 24px 60px rgba(0, 9, 22, .18);
}
.about-casino__feature h3, .about-casino__closing h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.about-casino__feature-copy > span, .about-casino__closing div > span {
  display: block;
  margin-top: 17px;
  color: var(--about-muted);
  font-size: 15px;
  line-height: 1.7;
}
.about-casino__feature ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.about-casino__feature li {
  padding: 17px 19px;
  border: 1px solid rgba(173, 225, 224, .15);
  border-radius: 16px;
  background: rgba(3, 20, 34, .28);
}
.about-casino__feature li strong {
  display: block;
  color: #fff;
  font-size: 14px;
}
.about-casino__feature li span {
  display: block;
  margin-top: 5px;
  color: var(--about-muted);
  font-size: 12px;
  line-height: 1.5;
}
.about-casino__qualities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.about-casino__qualities article {
  position: relative;
  min-height: 230px;
  padding: 30px 27px 26px;
  overflow: hidden;
  border: 1px solid rgba(186, 226, 228, .14);
  border-radius: 21px;
  background: rgba(255, 255, 255, .055);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.about-casino__qualities article:hover {
  transform: translateY(-3px);
  border-color: rgba(73, 206, 197, .4);
  background: rgba(255, 255, 255, .075);
}
.about-casino__qualities article > span {
  color: var(--about-orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}
.about-casino__qualities h3 {
  margin: 22px 0 11px;
  color: #fff;
  font-size: 21px;
  line-height: 1.18;
}
.about-casino__qualities p {
  margin: 0;
  color: var(--about-muted);
  font-size: 13px;
  line-height: 1.65;
}
.about-casino__closing {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 38px;
  align-items: center;
  margin-top: 14px;
  padding: clamp(32px, 4vw, 48px);
  border-radius: 24px;
  color: #14354a;
  background: linear-gradient(125deg, #effaf8, #fff 60%, #fff1e8);
}
.about-casino__closing p {
  color: #0c7c7d;
}
.about-casino__closing h3 {
  color: #14354a;
  font-size: clamp(29px, 3.2vw, 43px);
}
.about-casino__closing div > span {
  max-width: 720px;
  color: #587285;
}
.about-casino__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 58px;
  padding: 14px 22px;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, #124d68, #0a8e86);
  box-shadow: 0 13px 28px rgba(12, 89, 99, .2);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.about-casino__cta:hover {
  transform: translateY(-2px);
}
.about-casino__cta span {
  color: #ffb07c;
  font-size: 18px;
}
.about-casino__note {
  display: flex;
  gap: 16px;
  margin: 22px 0 0;
  padding: 0 4px;
  color: #8eabb5;
  font-size: 12px;
  line-height: 1.55;
}
.about-casino__note strong {
  flex: 0 0 auto;
  color: var(--about-orange);
}
@media (max-width: 900px) {
  .about-casino__intro, .about-casino__feature {
    grid-template-columns: 1fr;
  }
  .about-casino__intro {
    gap: 24px;
  }
  .about-casino__feature {
    gap: 28px;
  }
  .about-casino__qualities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .about-casino__closing {
    grid-template-columns: 1fr;
  }
  .about-casino__cta {
    justify-self: start;
  }
}
@media (max-width: 580px) {
  .about-casino {
    padding: 52px 16px;
  }
  .about-casino h2 {
    font-size: clamp(39px, 12vw, 54px);
  }
  .about-casino__feature {
    padding: 28px 22px;
    border-radius: 23px;
  }
  .about-casino__qualities {
    grid-template-columns: 1fr;
  }
  .about-casino__qualities article {
    min-height: 0;
  }
  .about-casino__closing {
    padding: 28px 22px;
  }
  .about-casino__cta {
    width: 100%;
    white-space: normal;
    text-align: center;
  }
  .about-casino__note {
    flex-direction: column;
    gap: 4px;
  }
}
@media print {
  .about-casino {
    color: #15364d;
    background: #fff;
  }
  .about-casino h2, .about-casino h3, .about-casino__qualities h3 {
    color: #15364d;
  }
}
/* FAQ: two balanced columns of native, keyboard-accessible disclosures. */ .casino-faq {
  --faq-ink: #15364d;
  --faq-muted: #5b7486;
  --faq-line: rgba(26, 82, 103, .14);
  scroll-margin-top: 64px;
  padding: clamp(62px, 7vw, 100px) 24px;
  color: var(--faq-ink);
  background: radial-gradient(circle at 5% 5%, rgba(36, 181, 180, .18), transparent 28%), radial-gradient(circle at 95% 92%, rgba(255, 139, 77, .16), transparent 26%), linear-gradient(145deg, #e3f2f2, #f7f8f7 52%, #f5e9e1);
}
.casino-faq__inner {
  width: min(1240px, 100%);
  margin: 0 auto;
}
.casino-faq__intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(38px, 5vw, 68px);
  align-items: center;
  margin-bottom: clamp(32px, 4vw, 48px);
}
.casino-faq__eyebrow {
  margin: 0 0 13px;
  color: #0a817f;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .15em;
}
.casino-faq h2 {
  margin: 0;
  color: var(--faq-ink);
  font-size: clamp(43px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -.045em;
}
.casino-faq__intro > p {
  max-width: 570px;
  margin: 0;
  color: var(--faq-muted);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.72;
}
.casino-faq__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.casino-faq__column {
  display: grid;
  gap: 12px;
}
.casino-faq details {
  overflow: hidden;
  border: 1px solid var(--faq-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 10px 28px rgba(20, 61, 78, .055);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.casino-faq details:hover {
  transform: translateY(-2px);
  border-color: rgba(10, 133, 129, .3);
}
.casino-faq details[open] {
  border-color: rgba(10, 133, 129, .34);
  box-shadow: 0 16px 34px rgba(20, 73, 86, .1);
}
.casino-faq summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  gap: 18px;
  align-items: center;
  min-height: 82px;
  padding: 20px 22px;
  color: var(--faq-ink);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}
.casino-faq summary::-webkit-details-marker {
  display: none;
}
.casino-faq summary:focus-visible {
  outline: 3px solid rgba(255, 142, 79, .45);
  outline-offset: -3px;
  border-radius: 18px;
}
.casino-faq summary i {
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e1f3f0;
}
.casino-faq summary i::before, .casino-faq summary i::after {
  content: "";
  position: absolute;
  top: 13px;
  left: 8px;
  width: 12px;
  height: 2px;
  border-radius: 2px;
  background: #0a817f;
  transition: transform .2s ease;
}
.casino-faq summary i::after {
  transform: rotate(90deg);
}
.casino-faq details[open] summary i::after {
  transform: rotate(0);
}
.casino-faq details > div {
  padding: 0 22px 22px;
}
.casino-faq details > div::before {
  content: "";
  display: block;
  height: 1px;
  margin: 0 0 18px;
  background: var(--faq-line);
}
.casino-faq details p {
  margin: 0;
  color: var(--faq-muted);
  font-size: 13px;
  line-height: 1.7;
}
.casino-faq__footer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: 22px 24px;
  border-radius: 18px;
  color: #d9eef0;
  background: linear-gradient(135deg, #123e5b, #0d7476);
}
.casino-faq__footer strong {
  color: #ffad7c;
  font-size: 13px;
}
.casino-faq__footer > span {
  font-size: 12px;
  line-height: 1.5;
}
.casino-faq__footer a {
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.casino-faq__footer a span {
  color: #ffad7c;
  margin-left: 5px;
}
@media (max-width: 820px) {
  .casino-faq__intro, .casino-faq__columns {
    grid-template-columns: 1fr;
  }
  .casino-faq__intro {
    gap: 20px;
  }
  .casino-faq__columns {
    gap: 12px;
  }
  .casino-faq__footer {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}
@media (max-width: 540px) {
  .casino-faq {
    padding: 52px 16px;
  }
  .casino-faq h2 {
    font-size: clamp(40px, 13vw, 55px);
  }
  .casino-faq summary {
    min-height: 72px;
    padding: 17px 18px;
    font-size: 14px;
  }
  .casino-faq details > div {
    padding: 0 18px 19px;
  }
  .casino-faq__footer {
    padding: 20px;
  }
}
@media print {
  .casino-faq details > div {
    display: block;
  }
  .casino-faq summary i {
    display: none;
  }
}
/* Site footer: shared by the home page and every legal page. */ .site-footer {
  color: #dcebee;
  background: radial-gradient(circle at 8% 15%, rgba(38, 174, 174, .16), transparent 27%), linear-gradient(145deg, #061525, #09283b 60%, #0a3740);
  border-top: 1px solid rgba(178, 218, 224, .14);
}
.site-footer__inner {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(46px, 6vw, 76px) 0 24px;
}
.site-footer__brand-row {
  padding-bottom: 34px;
  border-bottom: 1px solid rgba(179, 218, 222, .15);
}
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 700;
}
.site-footer__brand-row > div > p {
  max-width: 620px;
  margin: 18px 0 0;
  color: #9eb7c1;
  font-size: 13px;
  line-height: 1.65;
}
.site-footer__navigation {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(220px, .3fr);
  gap: clamp(40px, 7vw, 94px);
  padding: 34px 0;
}
.site-footer h2 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 13px;
  letter-spacing: .04em;
}
.site-footer__sections > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 20px;
}
.site-footer__sections a, .site-footer__legal a {
  color: #a8bec7;
  font-size: 12px;
  line-height: 1.45;
  transition: color .18s ease;
}
.site-footer__sections a:hover, .site-footer__legal a:hover {
  color: #59d0c7;
}
.site-footer__legal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.site-footer__legal h2 {
  margin-bottom: 6px;
}
.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-top: 21px;
  border-top: 1px solid rgba(179, 218, 222, .15);
  color: #829ea9;
  font-size: 11px;
}
.site-footer__bottom p {
  margin: 0;
}
.site-footer__bottom strong {
  color: #f1f8f9;
}
.site-footer__bottom p:last-child strong {
  color: #ff9a64;
}
/* Legal pages: shared structure with individual policy content. */ .legal-body {
  background: #e8f1f2;
}
.legal-page {
  scroll-margin-top: 64px;
  padding: clamp(52px, 7vw, 88px) 24px clamp(66px, 8vw, 104px);
  color: #17374d;
  background: linear-gradient(145deg, #dff0f1, #f7f8f7 48%, #f5e9e1);
}
.legal-page > * {
  width: min(1240px, 100%);
  margin-inline: auto;
}
.legal-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(42px, 6vw, 78px);
  align-items: center;
  padding: clamp(38px, 5vw, 62px);
  border: 1px solid rgba(24, 79, 100, .14);
  border-radius: 30px;
  background: radial-gradient(circle at 3% 10%, rgba(44, 190, 185, .17), transparent 35%), rgba(255, 255, 255, .86);
  box-shadow: 0 24px 60px rgba(20, 57, 73, .09);
}
.legal-hero__eyebrow {
  margin: 0 0 13px;
  color: #0a817f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
}
.legal-hero h1 {
  margin: 0;
  color: #13364e;
  font-size: clamp(44px, 5.4vw, 72px);
  line-height: .98;
  letter-spacing: -.045em;
}
.legal-hero__summary p {
  margin: 0;
  color: #5a7486;
  font-size: clamp(16px, 1.45vw, 19px);
  line-height: 1.72;
}
.legal-hero__summary span {
  display: block;
  margin-top: 20px;
  color: #0a7b7a;
  font-size: 12px;
  font-weight: 800;
}
.legal-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  margin-top: 22px;
}
.legal-toc {
  position: sticky;
  top: 20px;
  padding: 24px;
  border: 1px solid rgba(24, 79, 100, .14);
  border-radius: 20px;
  background: rgba(255, 255, 255, .78);
}
.legal-toc > strong {
  color: #123f58;
  font-size: 13px;
}
.legal-toc nav {
  display: grid;
  gap: 10px;
  margin-top: 17px;
}
.legal-toc a {
  color: #647d8c;
  font-size: 11px;
  line-height: 1.4;
}
.legal-toc a:hover {
  color: #07817f;
}
.legal-article {
  display: grid;
  gap: 12px;
}
.legal-section {
  scroll-margin-top: 20px;
  padding: clamp(25px, 3vw, 34px);
  border: 1px solid rgba(24, 79, 100, .13);
  border-radius: 20px;
  background: rgba(255, 255, 255, .86);
}
.legal-section h2 {
  margin: 0 0 14px;
  color: #153b52;
  font-size: clamp(21px, 2vw, 27px);
  line-height: 1.2;
}
.legal-section p, .legal-section li {
  color: #597385;
  font-size: 13px;
  line-height: 1.72;
}
.legal-section p {
  margin: 0;
}
.legal-section p + p {
  margin-top: 12px;
}
.legal-section ul {
  margin: 0;
  padding-left: 20px;
}
.legal-section li + li {
  margin-top: 7px;
}
.legal-section a {
  color: #087f7e;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-return {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 22px;
  padding: 24px 28px;
  border-radius: 20px;
  color: #dbeff0;
  background: linear-gradient(135deg, #123f5b, #0b7877);
}
.legal-return > a:first-child {
  font-size: 13px;
  font-weight: 800;
}
@media (max-width: 1000px) {
  .site-footer__sections > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  .site-footer__navigation {
    grid-template-columns: 1fr;
  }
  .site-footer__sections > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .legal-hero {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .legal-layout {
    grid-template-columns: 1fr;
  }
  .legal-toc {
    position: static;
  }
  .legal-toc nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .site-footer__inner {
    width: min(100% - 32px, 1240px);
  }
  .site-footer__sections > div {
    grid-template-columns: 1fr;
  }
  .site-footer__bottom {
    flex-direction: column;
    gap: 8px;
  }
  .legal-page {
    padding: 42px 16px 64px;
  }
  .legal-hero {
    padding: 29px 22px;
    border-radius: 23px;
  }
  .legal-hero h1 {
    font-size: clamp(39px, 12vw, 54px);
  }
  .legal-toc nav {
    grid-template-columns: 1fr;
  }
  .legal-section {
    padding: 24px 20px;
  }
  .legal-return {
    flex-direction: column;
    align-items: stretch;
  }
}
@media print {
  .site-header, .site-footer, .legal-toc, .legal-return {
    display: none;
  }
  .legal-page {
    padding: 0;
    background: #fff;
  }
  .legal-hero, .legal-section {
    box-shadow: none;
    break-inside: avoid;
  }
  .legal-layout {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sport-tile__motion *, .sport-tile__motion *::before, .sport-tile__motion *::after, .sport-tile__motion::before, .sport-tile__motion::after {
    animation: none !important;
  }
}
/* Bonuses and tournaments: autonomous, no-script primary views. */ .bonus-guide, .tournament-guide {
  --promo-ink: #15364d;
  --promo-muted: #587185;
  --promo-line: rgba(26, 77, 103, 0.14);
  scroll-margin-top: 64px;
  min-height: calc(100vh - 64px);
  padding: clamp(52px, 6vw, 88px) 24px;
  color: var(--promo-ink);
  background: radial-gradient(circle at 7% 5%, rgba(104, 203, 216, 0.34), transparent 30%), radial-gradient(circle at 92% 4%, rgba(244, 123, 64, 0.2), transparent 28%), linear-gradient(145deg, #dceff2, #e9edf3 54%, #f2e9e4);
}
.tournament-guide {
  background: radial-gradient(circle at 10% 0%, rgba(47, 187, 179, 0.28), transparent 31%), radial-gradient(circle at 93% 9%, rgba(255, 166, 94, 0.24), transparent 27%), linear-gradient(145deg, #dcecf0, #edf0f3 54%, #f5e9e1);
}
.promotion-guide__inner {
  width: min(1320px, 100%);
  margin: 0 auto;
}
.promotion-guide__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.68fr);
  gap: 28px;
  align-items: stretch;
  margin-bottom: 22px;
}
.promotion-guide__hero > div {
  padding: clamp(26px, 3vw, 42px);
  border-radius: 28px;
  color: #eaf7f8;
  background: linear-gradient(125deg, #113c59, #126c75 66%, #188b82);
  box-shadow: 0 22px 55px rgba(16, 55, 76, 0.14);
}
.tournament-guide .promotion-guide__hero > div {
  background: linear-gradient(125deg, #153653, #196777 62%, #278b82);
}
.promotion-guide__eyebrow {
  margin: 0 0 9px;
  color: #ffad82;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.promotion-guide__hero h2 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1;
}
.promotion-guide__hero > div > p:last-child {
  max-width: 870px;
  margin: 0;
  color: #d5e7ec;
  font-size: clamp(15px, 1.45vw, 18px);
  line-height: 1.65;
}
.promotion-guide__brief, .leaderboard-preview {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,0.6);
  border-radius: 28px;
  color: #456479;
  background: rgba(255,255,255,0.78);
  box-shadow: 0 20px 48px rgba(22, 62, 81, 0.1);
}
.promotion-guide__brief strong, .leaderboard-preview > strong {
  color: #173c58;
  font-size: 19px;
}
.promotion-guide__brief span {
  position: relative;
  padding-left: 17px;
  font-size: 13px;
  line-height: 1.45;
}
.promotion-guide__brief span::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #16847e;
}
.promotion-guide__brief b {
  margin-top: 4px;
  color: #d96331;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.promotion-guide__start, .tournament-checklist {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.8fr);
  gap: 26px;
  margin-bottom: 22px;
  padding: 24px 28px;
  border: 1px solid var(--promo-line);
  border-radius: 22px;
  background: rgba(255,255,255,0.72);
}
.promotion-guide__start > div > p, .tournament-checklist > div > p {
  margin: 0 0 5px;
  color: #d96231;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.promotion-guide__start h3, .tournament-checklist h3 {
  margin: 0;
  color: #17364d;
  font-size: clamp(22px, 2.2vw, 31px);
  line-height: 1.12;
}
.promotion-guide__start ol, .tournament-checklist ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.promotion-guide__start li, .tournament-checklist li {
  padding: 14px;
  border-radius: 14px;
  background: #edf6f6;
}
.promotion-guide__start li strong, .promotion-guide__start li span, .tournament-checklist li strong, .tournament-checklist li span {
  display: block;
}
.promotion-guide__start li strong, .tournament-checklist li strong {
  margin-bottom: 4px;
  color: #16777c;
  font-size: 13px;
}
.promotion-guide__start li span, .tournament-checklist li span {
  color: var(--promo-muted);
  font-size: 12px;
  line-height: 1.45;
}
.offer-selector {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
}
.offer-selector > input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}
.offer-selector > label {
  display: grid;
  min-height: 58px;
  padding: 10px 14px;
  border: 1px solid rgba(34, 83, 108, 0.16);
  border-radius: 16px;
  place-items: center;
  color: #21435b;
  background: rgba(255,255,255,0.83);
  box-shadow: 0 8px 20px rgba(21, 64, 87, 0.06);
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  cursor: pointer;
  transition: transform 180ms ease, color 180ms ease, background 180ms ease;
}
.offer-selector > label:hover {
  transform: translateY(-2px);
}
#bonus-welcome:checked ~ label[for="bonus-welcome"], #bonus-daily:checked ~ label[for="bonus-daily"], #bonus-extras:checked ~ label[for="bonus-extras"], #bonus-deposit:checked ~ label[for="bonus-deposit"], #tournament-overview:checked ~ label[for="tournament-overview"], #tournament-scoring:checked ~ label[for="tournament-scoring"], #tournament-joining:checked ~ label[for="tournament-joining"], #tournament-rules:checked ~ label[for="tournament-rules"] {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(120deg, #144561, #17827e);
  box-shadow: 0 14px 30px rgba(20, 93, 105, 0.2);
}
.offer-panels, .tournament-panels {
  grid-column: 1 / -1;
}
.offer-panel, .tournament-panel {
  display: none;
  overflow: hidden;
  border: 1px solid rgba(24, 75, 100, 0.13);
  border-radius: 26px;
  background: rgba(249,252,252,0.92);
  box-shadow: 0 24px 60px rgba(21, 61, 82, 0.1);
}
#bonus-welcome:checked ~ .offer-panels .offer-panel--welcome, #bonus-daily:checked ~ .offer-panels .offer-panel--daily, #bonus-extras:checked ~ .offer-panels .offer-panel--extras, #bonus-deposit:checked ~ .offer-panels .offer-panel--deposit, #tournament-overview:checked ~ .tournament-panels .tournament-panel--overview, #tournament-scoring:checked ~ .tournament-panels .tournament-panel--scoring, #tournament-joining:checked ~ .tournament-panels .tournament-panel--joining, #tournament-rules:checked ~ .tournament-panels .tournament-panel--rules {
  display: block;
}
.offer-panel__heading {
  padding: 28px 30px 24px;
  color: #d8edf0;
  background: linear-gradient(122deg, #123f59, #176f75 68%, #1c8b80);
}
.offer-panel__heading p {
  margin: 0 0 4px;
  color: #ffae83;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.offer-panel__heading h3 {
  margin: 0 0 7px;
  color: #ffffff;
  font-size: clamp(26px, 3vw, 40px);
}
.offer-panel__heading span {
  display: block;
  max-width: 980px;
  font-size: 14px;
  line-height: 1.6;
}
.offer-grid, .tournament-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding: 18px;
  align-items: stretch;
}
.offer-card, .tournament-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 19px;
  border: 1px solid var(--promo-line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 26px rgba(22, 61, 81, 0.07);
}
.offer-card__tag, .tournament-card > span {
  align-self: flex-start;
  margin-bottom: 13px;
  padding: 6px 9px;
  border-radius: 999px;
  color: #ffffff;
  background: #18837e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.09em;
}
.offer-card h4, .tournament-card h4 {
  margin: 0 0 9px;
  color: #17364d;
  font-size: 20px;
  line-height: 1.16;
}
.offer-card__metric {
  display: block;
  margin: 0 0 7px;
  color: #db6430;
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.04;
}
.offer-card__extra {
  display: block;
  margin: 0 0 12px;
  color: #1b7277;
  font-size: 12px;
  line-height: 1.45;
}
.offer-card > p, .tournament-card > p {
  margin: 0 0 15px;
  color: var(--promo-muted);
  font-size: 13px;
  line-height: 1.55;
}
.offer-card dl {
  display: grid;
  gap: 8px;
  margin: 0 0 15px;
}
.offer-card dl div {
  padding: 9px 10px;
  border-radius: 10px;
  background: #eef6f6;
}
.offer-card dt {
  color: #18787b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.offer-card dd {
  margin: 3px 0 0;
  color: #506b7e;
  font-size: 11px;
  line-height: 1.45;
}
.offer-card details {
  margin-top: auto;
  border-top: 1px solid var(--promo-line);
}
.offer-card summary {
  position: relative;
  padding: 14px 22px 0 0;
  color: #157578;
  font-size: 12px;
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}
.offer-card summary::-webkit-details-marker {
  display: none;
}
.offer-card summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  font-size: 18px;
}
.offer-card details[open] summary::after {
  content: "−";
}
.offer-card details p {
  margin: 10px 0 0;
  color: var(--promo-muted);
  font-size: 12px;
  line-height: 1.55;
}
.promotion-guide__primer {
  margin-top: 22px;
  overflow: hidden;
  border-radius: 20px;
  color: #dcecef;
  background: linear-gradient(122deg, #123b56, #176f76);
}
.promotion-guide__primer > summary {
  position: relative;
  padding: 22px 58px 22px 25px;
  list-style: none;
  cursor: pointer;
}
.promotion-guide__primer > summary::-webkit-details-marker {
  display: none;
}
.promotion-guide__primer > summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  color: #ffad82;
  font-size: 27px;
}
.promotion-guide__primer[open] > summary::after {
  content: "−";
}
.promotion-guide__primer > summary span, .promotion-guide__primer > summary small, .promotion-guide__primer > summary strong {
  display: block;
}
.promotion-guide__primer > summary small {
  margin-bottom: 4px;
  color: #ffad82;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.promotion-guide__primer > summary strong {
  color: #ffffff;
  font-size: 18px;
}
.promotion-guide__primer > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255,255,255,0.13);
}
.promotion-guide__primer article {
  padding: 20px;
  background: rgba(12, 53, 71, 0.83);
}
.promotion-guide__primer h3 {
  margin: 0 0 7px;
  color: #ffffff;
  font-size: 15px;
}
.promotion-guide__primer p {
  margin: 0;
  color: #d1e3e7;
  font-size: 12px;
  line-height: 1.55;
}
.promotion-guide__notice {
  margin: 22px 0 0;
  padding: 16px 20px;
  border-left: 4px solid var(--orange);
  border-radius: 0 14px 14px 0;
  color: #49667b;
  background: rgba(255,255,255,0.63);
  font-size: 14px;
  line-height: 1.5;
}
.promotion-guide__notice strong {
  color: #c95727;
}
.leaderboard-preview {
  color: #dcecef;
  background: linear-gradient(145deg, #132f4d, #1a6170);
}
.leaderboard-preview > strong {
  color: #ffffff;
  letter-spacing: 0.1em;
}
.leaderboard-preview > span {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
}
.leaderboard-preview > span b {
  padding: 8px 3px;
  border-radius: 8px;
  color: #cfe5e8;
  background: rgba(255,255,255,0.08);
  font-size: 9px;
  text-align: center;
  text-transform: uppercase;
}
.leaderboard-preview small {
  color: #ffad82;
  font-weight: 800;
}
.leaderboard-preview__podium {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.leaderboard-preview__podium span {
  display: grid;
  gap: 3px;
  padding: 9px 5px;
  border-radius: 10px;
  color: #d8eaed;
  background: rgba(255,255,255,0.09);
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}
.leaderboard-preview__podium b {
  color: #ffb087;
  font-size: 13px;
}
.leaderboard-preview > p {
  margin: 0;
  color: #cfe1e5;
  font-size: 12px;
  line-height: 1.6;
}
.tournament-start ol {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.tournament-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.tournament-card {
  min-height: 390px;
  justify-content: flex-start;
}
.tournament-card > span {
  background: #db6532;
}
.tournament-card h4 {
  font-size: 22px;
}
.tournament-card__metric {
  display: block;
  margin: 0 0 7px;
  color: #db6430;
  font-size: clamp(25px, 2.6vw, 37px);
  line-height: 1.04;
}
.tournament-card__extra {
  display: block;
  margin: 0 0 12px;
  color: #1b7277;
  font-size: 12px;
  line-height: 1.45;
}
.tournament-card > p {
  margin-bottom: 15px;
}
.tournament-card dl {
  display: grid;
  gap: 8px;
  margin: auto 0 0;
}
.tournament-card dl div {
  padding: 9px 10px;
  border-radius: 10px;
  background: #eef6f6;
}
.tournament-card dt {
  color: #18787b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.tournament-card dd {
  margin: 3px 0 0;
  color: #506b7e;
  font-size: 11px;
  line-height: 1.45;
}
.tournament-checklist {
  margin: 22px 0 0;
}
@media (max-width: 1050px) {
  .offer-grid, .tournament-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .promotion-guide__start, .tournament-checklist {
    grid-template-columns: 1fr;
  }
  .tournament-start ol {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .bonus-guide, .tournament-guide {
    padding-inline: 16px;
  }
  .promotion-guide__hero {
    grid-template-columns: 1fr;
  }
  .promotion-guide__start ol, .tournament-checklist ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tournament-start ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .offer-selector {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .offer-panels, .tournament-panels {
    grid-column: 1 / -1;
  }
  .promotion-guide__primer > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 540px) {
  .promotion-guide__hero > div, .promotion-guide__brief, .leaderboard-preview {
    padding: 22px;
    border-radius: 22px;
  }
  .promotion-guide__start, .tournament-checklist {
    padding: 20px;
  }
  .promotion-guide__start ol, .tournament-checklist ol, .offer-grid, .tournament-grid, .promotion-guide__primer > div {
    grid-template-columns: 1fr;
  }
  .offer-panel__heading {
    padding: 24px 20px;
  }
  .offer-grid, .tournament-grid {
    padding: 12px;
  }
}
/* Account and security: permanent guidance below the selected primary view. */ .security-guide {
  --security-ink: #15364d;
  --security-muted: #597184;
  --security-line: rgba(25, 76, 101, 0.14);
  scroll-margin-top: 64px;
  padding: clamp(56px, 6vw, 92px) 24px;
  color: var(--security-ink);
  background: radial-gradient(circle at 7% 7%, rgba(45, 181, 183, 0.29), transparent 29%), radial-gradient(circle at 92% 9%, rgba(247, 139, 77, 0.2), transparent 25%), linear-gradient(145deg, #d8e9ed, #edf0f3 56%, #f3e9e4);
}
.security-guide__inner {
  width: min(1320px, 100%);
  margin: 0 auto;
}
.security-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(330px, 0.66fr);
  gap: 22px;
  margin-bottom: 22px;
}
.security-hero__copy, .security-hero__shield {
  min-width: 0;
  border-radius: 30px;
  box-shadow: 0 22px 56px rgba(16, 51, 71, 0.14);
}
.security-hero__copy {
  padding: clamp(30px, 4.5vw, 54px);
  color: #e7f4f6;
  background: linear-gradient(120deg, rgba(11, 44, 67, 0.98), rgba(20, 100, 111, 0.96) 70%, rgba(23, 137, 125, 0.94));
}
.security-hero__eyebrow {
  margin: 0 0 13px;
  color: #ffad82;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
}
.security-hero h2 {
  margin: 0 0 14px;
  color: #ffffff;
  font-size: clamp(42px, 6vw, 76px);
  line-height: 0.98;
}
.security-hero__copy > p:last-child {
  max-width: 900px;
  margin: 0;
  color: #d2e5e8;
  font-size: clamp(15px, 1.55vw, 18px);
  line-height: 1.65;
}
.security-hero__shield {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  flex-direction: column;
  color: #dcecef;
  background: radial-gradient(circle at 50% 30%, rgba(51, 193, 179, 0.22), transparent 35%), linear-gradient(155deg, #132f49, #164e62);
  text-align: center;
}
.security-shield {
  position: relative;
  width: 82px;
  height: 96px;
  margin-bottom: 19px;
  clip-path: polygon(50% 0, 92% 16%, 86% 64%, 50% 100%, 14% 64%, 8% 16%);
  background: linear-gradient(145deg, #ff9b68, #df5c31);
  filter: drop-shadow(0 12px 18px rgba(0,0,0,0.22));
}
.security-shield::before {
  position: absolute;
  inset: 7px;
  clip-path: inherit;
  background: linear-gradient(150deg, #173f58, #197b78);
  content: "";
}
.security-shield span::before, .security-shield span::after {
  position: absolute;
  z-index: 1;
  left: 50%;
  background: #f3fbfb;
  content: "";
  transform: translateX(-50%);
}
.security-shield span::before {
  top: 33px;
  width: 27px;
  height: 22px;
  border-radius: 5px;
}
.security-shield span::after {
  top: 20px;
  width: 21px;
  height: 25px;
  border: 5px solid #f3fbfb;
  border-bottom: 0;
  border-radius: 13px 13px 0 0;
  background: transparent;
}
.security-hero__shield > strong {
  color: #ffffff;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1.45;
}
.security-hero__shield ul {
  display: grid;
  gap: 6px;
  width: 100%;
  margin: 17px 0 0;
  padding: 0;
  list-style: none;
}
.security-hero__shield li {
  padding: 8px 11px;
  border-radius: 9px;
  color: #d5e7e9;
  background: rgba(255,255,255,0.07);
  font-size: 10px;
  font-weight: 700;
}
.security-platform {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.9fr);
  gap: 18px;
  margin-bottom: 22px;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid rgba(25, 118, 123, 0.13);
  border-radius: 24px;
  background: rgba(247, 252, 252, 0.83);
  box-shadow: 0 15px 38px rgba(18, 58, 76, 0.09);
}
.security-platform header {
  align-self: center;
}
.security-platform header p, .security-panel__heading p, .identity-core > p, .security-red-flags > div > p {
  margin: 0 0 7px;
  color: #d85e2d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.security-platform header h3 {
  margin: 0 0 8px;
  color: #173d54;
  font-size: clamp(23px, 2.5vw, 31px);
  line-height: 1.12;
}
.security-platform header span {
  color: var(--security-muted);
  font-size: 12px;
  line-height: 1.5;
}
.security-platform > dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}
.security-platform > dl div {
  min-width: 0;
  padding: 15px;
  border-radius: 14px;
  background: #eaf4f4;
}
.security-platform dt {
  color: #18777a;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.security-platform dd {
  margin: 6px 0 5px;
  overflow-wrap: anywhere;
  color: #173d54;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}
.security-platform small {
  color: #637b8b;
  font-size: 9px;
  line-height: 1.45;
}
.security-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.security-switcher > input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.security-switcher > label {
  display: flex;
  min-height: 61px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 14px 18px;
  border: 1px solid rgba(25, 76, 101, 0.15);
  border-radius: 16px;
  color: #173c53;
  background: rgba(255,255,255,0.8);
  box-shadow: 0 8px 22px rgba(18, 58, 76, 0.07);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 180ms ease, color 180ms ease, background 180ms ease;
}
.security-switcher > label:hover {
  transform: translateY(-2px);
}
.security-switcher > label span {
  color: #d96231;
  font-size: 18px;
}
.security-switcher > input:focus-visible + label {
  outline: 3px solid rgba(229, 102, 51, 0.42);
  outline-offset: 3px;
}
#security-protect:checked + label, #security-identity:checked + label, #security-recovery:checked + label {
  color: #ffffff;
  background: linear-gradient(115deg, #123c58, #17877f);
}
#security-protect:checked + label span, #security-identity:checked + label span, #security-recovery:checked + label span {
  color: #ffad82;
}
.security-panels {
  grid-column: 1 / -1;
  min-width: 0;
}
.security-panel {
  display: none;
  overflow: hidden;
  border: 1px solid rgba(25, 76, 101, 0.12);
  border-radius: 27px;
  background: rgba(250,253,253,0.84);
  box-shadow: 0 20px 55px rgba(17, 55, 74, 0.11);
}
#security-protect:checked ~ .security-panels .security-panel--protect, #security-identity:checked ~ .security-panels .security-panel--identity, #security-recovery:checked ~ .security-panels .security-panel--recovery {
  display: block;
}
.security-panel__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
  gap: 25px;
  align-items: end;
  padding: clamp(27px, 3.5vw, 42px);
  color: #dcecef;
  background: linear-gradient(120deg, #143d58, #176d75 70%, #198d81);
}
.security-panel__heading--alert {
  background: linear-gradient(120deg, #173c55, #6b574a 76%, #a55b3a);
}
.security-panel__heading h3 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(27px, 3.3vw, 42px);
  line-height: 1.08;
}
.security-panel__heading > span {
  color: #d2e5e8;
  font-size: 13px;
  line-height: 1.6;
}
.security-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 20px;
}
.security-card {
  display: flex;
  min-width: 0;
  min-height: 310px;
  padding: 23px;
  border: 1px solid var(--security-line);
  border-radius: 20px;
  flex-direction: column;
  background: #ffffff;
  box-shadow: 0 10px 25px rgba(21, 61, 79, 0.07);
}
.security-card > span, .identity-checks article > span, .security-response article > span {
  align-self: flex-start;
  padding: 7px 9px;
  border-radius: 999px;
  color: #18777a;
  background: #e9f5f4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.07em;
}
.security-card h4 {
  margin: 18px 0 9px;
  color: #193e54;
  font-size: 21px;
  line-height: 1.18;
}
.security-card p {
  margin: 0;
  color: var(--security-muted);
  font-size: 12px;
  line-height: 1.62;
}
.security-card strong {
  margin-top: auto;
  padding-top: 18px;
  color: #ca572b;
  font-size: 10px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.security-card small {
  margin-top: 5px;
  color: #657b8b;
  font-size: 10px;
  line-height: 1.5;
}
.identity-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.45fr);
  gap: 16px;
  padding: 20px;
}
.identity-core, .identity-checks article {
  border: 1px solid var(--security-line);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 10px 25px rgba(21, 61, 79, 0.07);
}
.identity-core {
  padding: 26px;
}
.identity-core h4 {
  margin: 0 0 10px;
  color: #193e54;
  font-size: clamp(25px, 2.7vw, 34px);
  line-height: 1.12;
}
.identity-core > span {
  color: var(--security-muted);
  font-size: 12px;
  line-height: 1.65;
}
.identity-core dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 22px 0 0;
}
.identity-core dl div {
  padding: 12px;
  border-radius: 12px;
  background: #edf6f6;
}
.identity-core dt {
  color: #18777a;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.identity-core dd {
  margin: 5px 0 0;
  color: #27485b;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.identity-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.identity-checks article {
  padding: 22px;
}
.identity-checks h4 {
  margin: 16px 0 8px;
  color: #193e54;
  font-size: 19px;
  line-height: 1.18;
}
.identity-checks p {
  margin: 0;
  color: var(--security-muted);
  font-size: 11px;
  line-height: 1.58;
}
.security-boundary {
  display: flex;
  gap: 18px;
  align-items: center;
  margin: 0 20px 20px;
  padding: 19px 22px;
  border-left: 4px solid #ed7540;
  border-radius: 0 16px 16px 0;
  background: #fff2e9;
}
.security-boundary strong {
  flex: 0 0 42%;
  color: #a84523;
  font-size: 13px;
  line-height: 1.45;
}
.security-boundary span {
  color: #6f655f;
  font-size: 11px;
  line-height: 1.55;
}
.security-response {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 20px;
}
.security-response article {
  min-height: 220px;
  padding: 23px;
  border: 1px solid var(--security-line);
  border-radius: 19px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(21,61,79,0.07);
}
.security-response article > span {
  color: #b54b25;
  background: #fff0e7;
}
.security-response h4 {
  margin: 17px 0 8px;
  color: #193e54;
  font-size: 20px;
  line-height: 1.18;
}
.security-response p {
  margin: 0;
  color: var(--security-muted);
  font-size: 11px;
  line-height: 1.6;
}
.security-red-flags {
  display: grid;
  grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.75fr);
  gap: 20px;
  margin: 0 20px 20px;
  padding: 23px;
  border-radius: 19px;
  color: #dcecef;
  background: linear-gradient(120deg, #153b55, #6d4d43);
}
.security-red-flags h4 {
  margin: 0;
  color: #ffffff;
  font-size: 23px;
}
.security-red-flags ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.security-red-flags li {
  padding: 12px 14px;
  border-radius: 12px;
  color: #e6edef;
  background: rgba(255,255,255,0.09);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
}
.security-guide__note {
  margin: 22px 0 0;
  padding: 17px 21px;
  border-left: 4px solid #df6532;
  border-radius: 0 14px 14px 0;
  color: #4e687a;
  background: rgba(255,255,255,0.69);
  font-size: 13px;
  line-height: 1.55;
}
.security-guide__note strong {
  color: #b74d26;
}
@media (max-width: 1080px) {
  .security-hero {
    grid-template-columns: minmax(0, 1.35fr) minmax(270px, 0.65fr);
  }
  .security-platform {
    grid-template-columns: 1fr;
  }
  .security-platform > dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .security-card-grid, .security-response {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .identity-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .security-guide {
    padding-inline: 16px;
  }
  .security-hero {
    grid-template-columns: 1fr;
  }
  .security-hero__shield {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px 20px;
    text-align: left;
  }
  .security-shield {
    grid-row: 1 / span 2;
    margin: 0;
  }
  .security-hero__shield ul {
    margin: 0;
  }
  .security-switcher {
    grid-template-columns: 1fr;
  }
  .security-panels {
    grid-column: 1;
  }
  .security-panel__heading {
    grid-template-columns: 1fr;
  }
  .security-boundary {
    align-items: flex-start;
    flex-direction: column;
  }
  .security-boundary strong {
    flex-basis: auto;
  }
  .security-red-flags {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 540px) {
  .security-guide {
    padding-top: 42px;
    padding-bottom: 54px;
  }
  .security-hero__copy, .security-hero__shield {
    padding: 23px 21px;
    border-radius: 22px;
  }
  .security-hero__shield {
    display: flex;
    text-align: center;
  }
  .security-shield {
    margin-bottom: 14px;
  }
  .security-platform {
    padding: 20px;
  }
  .security-platform > dl, .security-card-grid, .security-response, .identity-checks, .identity-core dl, .security-red-flags ul {
    grid-template-columns: 1fr;
  }
  .security-switcher > label {
    min-height: 54px;
  }
  .security-panel {
    border-radius: 22px;
  }
  .security-panel__heading {
    padding: 24px 20px;
  }
  .security-card-grid, .security-response, .identity-layout {
    padding: 13px;
  }
  .security-card {
    min-height: 0;
  }
  .security-card strong {
    margin-top: 20px;
  }
  .security-boundary, .security-red-flags {
    margin-right: 13px;
    margin-left: 13px;
  }
}
@media print {
  .security-switcher > label {
    display: none;
  }
  .security-panel, #security-protect:checked ~ .security-panels .security-panel, #security-identity:checked ~ .security-panels .security-panel, #security-recovery:checked ~ .security-panels .security-panel {
    display: block;
    box-shadow: none;
  }
}
/* Mobile Casino: responsive device guide with a genuine transparent hero asset. */ .mobile-guide {
  --mobile-ink: #15364d;
  --mobile-muted: #587185;
  --mobile-teal: #0c777b;
  --mobile-line: rgba(24, 78, 101, 0.14);
  scroll-margin-top: 64px;
  min-height: calc(100vh - 64px);
  padding: clamp(54px, 6vw, 90px) 24px;
  color: var(--mobile-ink);
  background: radial-gradient(circle at 5% 0%, rgba(48, 190, 190, 0.25), transparent 30%), radial-gradient(circle at 95% 10%, rgba(255, 139, 73, 0.22), transparent 28%), linear-gradient(145deg, #dceef0, #eef1f4 55%, #f5e9e1);
}
.mobile-guide__inner {
  width: min(1240px, 100%);
  margin: 0 auto;
}
.mobile-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(430px, .9fr) minmax(460px, 1.1fr);
  align-items: center;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(24, 78, 101, .13);
  border-radius: 32px;
  color: var(--mobile-ink);
  background: radial-gradient(circle at 16% 52%, rgba(62, 190, 185, .13), transparent 37%), linear-gradient(135deg, rgba(241, 250, 249, .98), rgba(255, 255, 255, .99));
  box-shadow: 0 24px 62px rgba(18, 56, 75, .12);
  isolation: isolate;
}
.mobile-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  left: auto;
  right: -150px;
  top: -205px;
  width: 400px;
  height: 400px;
  border: 1px solid rgba(17, 132, 130, .12);
  border-radius: 50%;
  background: transparent;
}
.mobile-hero__visual {
  position: relative;
  align-self: stretch;
  min-height: 430px;
  display: grid;
  place-items: center;
}
.mobile-hero__visual::after {
  content: "";
  position: absolute;
  left: 16%;
  right: 10%;
  bottom: 8%;
  height: 9%;
  border-radius: 50%;
  background: rgba(19, 60, 73, .13);
  filter: blur(24px);
  transform: scaleY(.32);
}
.mobile-hero__visual img {
  position: relative;
  z-index: 2;
  display: block;
  width: min(88%, 520px);
  height: auto;
  max-width: 520px;
  max-height: 360px;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 16px 22px rgba(17, 51, 65, .17));
}
.mobile-hero__orbit {
  display: none;
}
.mobile-hero__orbit::after {
  content: "";
  position: absolute;
  top: 48%;
  left: -5px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ff985d;
  box-shadow: 0 0 20px #ff985d;
}
.mobile-hero__orbit--one {
  width: 74%;
  aspect-ratio: 1;
}
.mobile-hero__orbit--two {
  width: 51%;
  aspect-ratio: 1;
  transform: rotate(26deg);
}
.mobile-hero__copy {
  position: relative;
  z-index: 3;
  padding: clamp(36px, 4vw, 56px) clamp(32px, 4vw, 54px) clamp(36px, 4vw, 56px) 10px;
}
.mobile-hero__eyebrow, .mobile-panel__intro > p, .mobile-ready > div > p {
  margin: 0 0 12px;
  color: #0b7b7d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}
.mobile-hero h2 {
  margin: 0;
  color: var(--mobile-ink);
  font-size: clamp(46px, 5.3vw, 72px);
  line-height: 1;
  letter-spacing: -.04em;
}
.mobile-hero__lead {
  margin: 24px 0 0;
  color: var(--mobile-muted);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.62;
}
.mobile-hero__benefits {
  display: grid;
  gap: 13px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.mobile-hero__benefits li {
  position: relative;
  padding-left: 28px;
}
.mobile-hero__benefits li::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 14px;
  height: 14px;
  border: 4px solid #d9f1ee;
  border-radius: 50%;
  background: #0d8783;
  box-shadow: 0 0 0 1px rgba(13, 135, 131, .16);
}
.mobile-hero__benefits strong {
  display: block;
  color: var(--mobile-ink);
  font-size: 15px;
}
.mobile-hero__benefits span {
  display: block;
  margin-top: 2px;
  color: var(--mobile-muted);
  font-size: 12px;
  line-height: 1.45;
}
.mobile-switcher {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  border: 0;
}
.mobile-switcher > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.mobile-switcher > label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 64px;
  padding: 13px 16px;
  border: 1px solid var(--mobile-line);
  border-radius: 17px;
  color: #31586d;
  background: rgba(255,255,255,.75);
  box-shadow: 0 8px 24px rgba(24, 64, 80, .06);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.mobile-switcher > label span {
  color: #0f7f80;
  font-size: 22px;
  line-height: 1;
}
.mobile-switcher > label:hover {
  transform: translateY(-2px);
}
.mobile-switcher > input:focus-visible + label {
  outline: 3px solid rgba(255, 143, 82, .42);
  outline-offset: 2px;
}
#mobile-phone:checked + label, #mobile-tablet:checked + label, #mobile-desktop:checked + label, #mobile-android:checked + label {
  color: #fff;
  background: linear-gradient(135deg, #174968, #0b8580);
  box-shadow: 0 13px 30px rgba(17, 88, 102, .18);
}
#mobile-phone:checked + label span, #mobile-tablet:checked + label span, #mobile-desktop:checked + label span, #mobile-android:checked + label span {
  color: #ffab79;
}
.mobile-panels {
  grid-column: 1 / -1;
  overflow: hidden;
  border: 1px solid var(--mobile-line);
  border-radius: 28px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 20px 50px rgba(25, 66, 84, .09);
}
.mobile-panel {
  display: none;
}
#mobile-phone:checked ~ .mobile-panels .mobile-panel--phone, #mobile-tablet:checked ~ .mobile-panels .mobile-panel--tablet, #mobile-desktop:checked ~ .mobile-panels .mobile-panel--desktop, #mobile-android:checked ~ .mobile-panels .mobile-panel--android {
  display: block;
}
.mobile-panel__intro {
  display: grid;
  grid-template-columns: minmax(290px, .78fr) minmax(0, 1.22fr);
  column-gap: 38px;
  align-items: end;
  padding: clamp(28px, 4vw, 46px);
  color: #dbeef1;
  background: linear-gradient(135deg, #123c5a, #126d73);
}
.mobile-panel__intro > p {
  grid-column: 1;
  color: #ffab7a;
}
.mobile-panel__intro h3 {
  grid-column: 1;
  margin: 0;
  color: #fff;
  font-size: clamp(29px, 3.6vw, 48px);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.mobile-panel__intro > span {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: #d2e7eb;
  font-size: 16px;
  line-height: 1.65;
}
.mobile-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}
.mobile-feature-grid article {
  position: relative;
  min-height: 168px;
  padding: 28px 25px 24px;
  border: 1px solid var(--mobile-line);
  border-radius: 20px;
  background: #fff;
}
.mobile-feature-grid article::before {
  content: "";
  position: absolute;
  top: 0;
  left: 25px;
  width: 54px;
  height: 4px;
  border-radius: 0 0 5px 5px;
  background: linear-gradient(90deg, #0c8783, #63c8bd);
}
.mobile-feature-grid h4 {
  margin: 0 0 10px;
  color: var(--mobile-ink);
  font-size: 20px;
}
.android-path h4 {
  margin: 22px 0 9px;
  color: var(--mobile-ink);
  font-size: 20px;
}
.mobile-feature-grid p, .android-path p {
  margin: 0;
  color: var(--mobile-muted);
  font-size: 14px;
  line-height: 1.65;
}
.android-path {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 14px;
  align-items: stretch;
  padding: 18px 18px 12px;
}
.android-path article {
  padding: 25px;
  border: 1px solid var(--mobile-line);
  border-radius: 20px;
  background: #fff;
}
.android-path article > span {
  color: #0b7b7d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}
.android-path > i {
  align-self: center;
  color: #f27a43;
  font-size: 26px;
  font-style: normal;
}
.android-note {
  display: flex;
  gap: 22px;
  align-items: center;
  margin: 0 18px 18px;
  padding: 18px 22px;
  border-left: 4px solid #f37a42;
  border-radius: 0 16px 16px 0;
  color: #47687a;
  background: #eef7f6;
  font-size: 13px;
  line-height: 1.55;
}
.android-note strong {
  flex: 0 0 180px;
  color: #0c7477;
  font-size: 14px;
}
.mobile-ready {
  display: grid;
  grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr);
  gap: 28px;
  align-items: center;
  margin-top: 22px;
  padding: clamp(25px, 3vw, 38px);
  border: 1px solid var(--mobile-line);
  border-radius: 26px;
  background: rgba(255,255,255,.78);
}
.mobile-ready > div > p {
  color: #0b7b7d;
}
.mobile-ready h3 {
  margin: 0;
  color: var(--mobile-ink);
  font-size: clamp(27px, 3vw, 39px);
  line-height: 1.1;
}
.mobile-ready > div > span {
  display: block;
  margin-top: 12px;
  color: var(--mobile-muted);
  font-size: 14px;
  line-height: 1.55;
}
.mobile-ready ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-ready li {
  min-height: 92px;
  padding: 16px 18px;
  border: 1px solid var(--mobile-line);
  border-radius: 16px;
  background: #fff;
}
.mobile-ready li strong {
  display: block;
  margin-bottom: 5px;
  color: #0b7678;
  font-size: 13px;
}
.mobile-ready li span {
  color: var(--mobile-muted);
  font-size: 12px;
  line-height: 1.45;
}
.mobile-guide__note {
  margin: 22px 0 0;
  padding: 17px 20px;
  border-left: 4px solid #f47742;
  border-radius: 0 15px 15px 0;
  color: #4f6c7d;
  background: rgba(255,255,255,.62);
  font-size: 14px;
  line-height: 1.55;
}
.mobile-guide__note strong {
  color: #bd5529;
}
@media (max-width: 1050px) {
  .mobile-hero {
    grid-template-columns: minmax(370px, .9fr) minmax(390px, 1.1fr);
    min-height: 420px;
  }
  .mobile-hero__visual {
    min-height: 420px;
  }
  .mobile-hero__visual img {
    width: min(84%, 460px);
    height: auto;
    max-height: 330px;
    margin: 0 auto;
  }
}
@media (max-width: 820px) {
  .mobile-guide {
    padding-inline: 16px;
  }
  .mobile-hero {
    grid-template-columns: 1fr;
  }
  .mobile-hero__visual {
    min-height: 300px;
  }
  .mobile-hero__visual img {
    width: min(76%, 460px);
    height: auto;
    max-height: 310px;
    margin: 4px auto -1%;
  }
  .mobile-hero__visual::after {
    left: 27%;
    right: 27%;
    bottom: 9%;
  }
  .mobile-hero__copy {
    padding: 26px 26px 34px;
  }
  .mobile-switcher {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mobile-panels {
    grid-column: 1 / -1;
  }
  .mobile-panel__intro {
    grid-template-columns: 1fr;
  }
  .mobile-panel__intro > span {
    grid-column: 1;
    grid-row: auto;
    margin-top: 18px;
  }
  .mobile-feature-grid {
    grid-template-columns: 1fr;
  }
  .mobile-feature-grid article {
    min-height: 0;
  }
  .android-path {
    grid-template-columns: 1fr;
  }
  .android-path > i {
    justify-self: center;
    transform: rotate(90deg);
  }
  .mobile-ready {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 540px) {
  .mobile-guide {
    padding-top: 42px;
    padding-bottom: 54px;
  }
  .mobile-hero {
    border-radius: 24px;
  }
  .mobile-hero__visual {
    min-height: 235px;
  }
  .mobile-hero__visual img {
    width: min(78%, 340px);
    height: auto;
    max-height: 235px;
    margin: 4px auto -1%;
  }
  .mobile-hero__copy {
    padding: 24px 21px 29px;
  }
  .mobile-hero h2 {
    font-size: clamp(40px, 13vw, 54px);
  }
  .mobile-switcher {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .mobile-switcher > label {
    min-height: 58px;
    padding: 10px 8px;
    font-size: 12px;
  }
  .mobile-panels {
    grid-column: 1;
    border-radius: 22px;
  }
  .mobile-panel__intro {
    padding: 25px 21px;
  }
  .mobile-feature-grid {
    padding: 12px;
  }
  .android-path {
    padding: 12px 12px 8px;
  }
  .android-note {
    flex-direction: column;
    align-items: flex-start;
    margin: 0 12px 12px;
  }
  .android-note strong {
    flex-basis: auto;
  }
  .mobile-ready {
    padding: 22px;
  }
  .mobile-ready ul {
    grid-template-columns: 1fr;
  }
}
@media print {
  .mobile-switcher > label {
    display: none;
  }
  .mobile-panel, #mobile-phone:checked ~ .mobile-panels .mobile-panel, #mobile-tablet:checked ~ .mobile-panels .mobile-panel, #mobile-desktop:checked ~ .mobile-panels .mobile-panel, #mobile-android:checked ~ .mobile-panels .mobile-panel {
    display: block;
    box-shadow: none;
  }
}
