/* Hero */
    .heroSection {
      background: linear-gradient(160deg, #0D051A 0%, #1A0A2E 40%, #2D1550 70%, #1A0A2E 100%);
      padding: 100px 0 80px;
      position: relative;
      overflow: hidden;
    }

    .heroSection::before {
      content: '';
      position: absolute;
      top: -50%;
      right: -10%;
      width: 600px;
      height: 600px;
      background: radial-gradient(circle, rgba(201,168,76,0.12) 0%, transparent 60%);
      pointer-events: none;
    }

    .heroSection::after {
      content: '';
      position: absolute;
      bottom: -30%;
      left: -5%;
      width: 400px;
      height: 400px;
      background: radial-gradient(circle, rgba(100,40,180,0.15) 0%, transparent 60%);
      pointer-events: none;
    }

    .heroContent { position: relative; z-index: 2; }

    .heroSection h1 {
      font-size: clamp(26px, 3.5vw, 44px);
      background: linear-gradient(135deg, #FFFFFF 0%, var(--accentLight) 50%, var(--accent) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      margin-bottom: 24px;
      max-width: 900px;
    }

    .heroSection p {
      font-size: clamp(14px, 1.4vw, 16px);
      color: var(--textSecondary);
      max-width: 700px;
      margin-bottom: 40px;
    }

    .heroBadges {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 40px;
    }

    .heroBadge {
      background: rgba(201,168,76,0.1);
      border: 1px solid var(--borderSubtle);
      border-radius: 50px;
      padding: 8px 18px;
      font-size: 13px;
      font-weight: 600;
      color: var(--accentLight);
    }

    .heroStats {
      display: flex;
      gap: 40px;
      margin-top: 48px;
      padding-top: 40px;
      border-top: 1px solid var(--borderSubtle);
      flex-wrap: wrap;
    }

    .heroStat { text-align: center; }

    .heroStatNumber {
      font-size: 32px;
      font-weight: 800;
      color: var(--accent);
      line-height: 1;
      display: block;
    }

    .heroStatLabel {
      font-size: 13px;
      color: var(--textMuted);
      margin-top: 4px;
    }

    .heroCtas {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
    }

    /* Registration */
    .registrationSection {
      background: var(--surface);
      padding: 80px 0;
    }

    .registrationSection h2 { margin-bottom: 48px; }

    .regGrid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: start;
    }

    /* Login */
    .loginSection { background: var(--primaryLight); padding: 80px 0; }

    .securityBox {
      background: var(--surfaceElevated);
      border: 1px solid var(--borderSubtle);
      border-radius: var(--radius);
      padding: 28px;
      margin-top: 32px;
    }

    .securityBox h3 {
      color: var(--accent);
      margin-bottom: 16px;
      font-size: 20px;
    }

    /* Licensing */
    .licensingSection { background: var(--surface); padding: 80px 0; }

    /* Bonuses */
    .bonusesSection { background: var(--primary); padding: 80px 0; }

    /* Payments */
    .paymentsSection { background: var(--surface); padding: 80px 0; }

    /* Games */
    .gamesSection { background: var(--primaryLight); padding: 80px 0; }

    .gamesSection .card h3 { color: var(--accent); margin-bottom: 12px; }
    .gamesSection .card p { color: var(--textSecondary); }

    /* Popular games */
    .popularGamesSection { background: var(--surface); padding: 80px 0; }

    /* Providers */
    .providersSection { background: var(--primary); padding: 80px 0; }

    .providersBadges {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 32px;
    }

    .providerBadge {
      background: var(--surfaceCard);
      border: 1px solid var(--borderCard);
      border-radius: var(--radiusSm);
      padding: 12px 20px;
      font-size: 14px;
      font-weight: 600;
      color: var(--textSecondary);
      transition: all 0.2s;
    }

    .providerBadge:hover {
      border-color: var(--accent);
      color: var(--accent);
    }

    /* Mobile */
    .mobileSection { background: var(--surface); padding: 80px 0; }

    /* Responsible gambling */
    .responsibleSection { background: var(--primaryLight); padding: 80px 0; }

    /* Support */
    .supportSection { background: var(--surface); padding: 80px 0; }

    .supportGrid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: start;
      margin-top: 40px;
    }

    /* Key facts */
    .keyFactsSection { background: var(--primary); padding: 80px 0; }

    /* FAQ */
    .faqSection { background: var(--surface); padding: 80px 0; }

    @media (max-width: 1023px) {
      .cardsGrid3 { grid-template-columns: repeat(2, 1fr); }
      .keyFactsGrid { grid-template-columns: repeat(2, 1fr); }
      .regGrid { grid-template-columns: 1fr; }
      .supportGrid { grid-template-columns: 1fr; }
    }

    @media (max-width: 767px) {
      section { padding: 56px 0; }

      .heroSection { padding: 32px 0 40px; }
      .heroSection h1 { margin-bottom: 14px; }
      .heroSection p { margin-bottom: 14px; }
      .heroBadges { margin-bottom: 14px; gap: 8px; }
      .heroBadge { font-size: 12px; padding: 6px 14px; }
      .heroStats { gap: 24px; margin-top: 32px; padding-top: 24px; }
      .heroStatNumber { font-size: 26px; }
      .heroCtas { flex-direction: column; }
      .heroCtas .btn { width: 100%; justify-content: center; }

      .cardsGrid2 { grid-template-columns: 1fr; }
      .cardsGrid3 { grid-template-columns: 1fr; }
      .keyFactsGrid { grid-template-columns: 1fr; }
      .bonusTerms { grid-template-columns: 1fr; }

      .accordionHeader { font-size: 15px; padding: 16px 18px; }
      .accordionBody { padding: 0 18px; }
      .accordionItem.active .accordionBody { padding: 0 18px 16px; }

    }

    @media (min-width: 1440px) {
      h1 { font-size: 68px; }
      h2 { font-size: 48px; }
    }