 :root {
   --dark-blue: #014891;
   --bright-blue: #007be0;
   --green: #19ac3f;
   --light-gray: #f4f5f9;
   --text-dark: #1a1a1a;
   --text-light: #fff;
   --bg-white: #fff;
   --border-radius: 16px;
   --transition: all 0.3s ease;
 }

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

 html {
   scroll-behavior: smooth;
 }

 body {
   font-family: "Inter", sans-serif;
   background-color: var(--bg-white);
   color: var(--text-dark);
   line-height: 1.6;
   font-size: 16px;
 }

 .hero_img,
 .hero_imgbox,
 .hero {
   height: 100%;
 }

 .hero {
   position: relative;
 }

 .hero_imgbox {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
 }

 .hero_img {
   max-width: 100%;
   width: 100%;
   object-fit: cover;
 }

 .hero_imgbox::before {
   content: "";
   position: absolute;
   width: 100%;
   height: 100%;
   background: linear-gradient(44deg, #00206d, transparent);
   top: 0;
   left: 0;
 }

 .hero-container {
   position: relative;
   z-index: 2;
 }

 .container {
   width: 90%;
   max-width: 1200px;
   margin: 0 auto;
   padding: 40px 0;
 }

 section {
   padding: 20px 0;
 }

 /* --- Typography --- */
 h2,
 h3 {
   line-height: 1.2;
   font-weight: 700;
   color: var(--dark-blue);
 }

 h1 {
   font-size: clamp(2.5rem, 5vw, 4rem);
   font-weight: 900;
   line-height: 1.2;
   margin-bottom: 16px;
   color: #fff;
 }

 h2 {
   font-size: clamp(2rem, 4vw, 3rem);
   margin-bottom: 24px;
   text-align: center;
 }

 h3 {
   font-size: clamp(1.25rem, 3vw, 1.75rem);
   margin-bottom: 12px;
 }

 p {
   margin-bottom: 16px;
 }

 a {
   color: var(--bright-blue);
   text-decoration: none;
   font-weight: 600;
 }

 /* --- Buttons --- */
 .cta-button {
   display: inline-block;
   background: var(--bright-blue);
   color: var(--text-light);
   padding: 14px 32px;
   border-radius: 50px;
   text-decoration: none;
   font-weight: 700;
   font-size: 1.1rem;
   border: none;
   cursor: pointer;
   transition: var(--transition);
   box-shadow: 0 4px 15px rgba(0, 123, 224, 0.4);
 }

 .cta-button:hover,
 .cta-button:focus {
   transform: translateY(-3px);
   box-shadow: 0 6px 20px rgba(0, 123, 224, 0.6);
 }

 /* --- Header --- */
 .main-header {
   padding: 16px 0;
   position: sticky;
   top: 0;
   background: rgba(255, 255, 255, 0.8);
   backdrop-filter: blur(10px);
   z-index: 1000;
 }

 .main-header .container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 0;
 }

 .logo {
   font-size: 1.8rem;
   font-weight: 900;
   color: var(--dark-blue);
 }

 /* --- Hero Section --- */
 .hero {
   padding-top: 60px;
   padding-bottom: 60px;
 }

 .hero .description {
   font-size: 1.2rem;
   max-width: 700px;
   margin: 0 0 32px 0;
   color: #ffffff;
 }

 /* --- Bento Grid Layout --- */
 .bento-grid {
   display: grid;
   gap: 16px;
   grid-template-columns: 1fr;
 }

 .bento-cell {
   background-color: var(--light-gray);
   padding: 24px;
   border-radius: var(--border-radius);
   transition: var(--transition);
   border: 1px solid transparent;
 }

 .bento-cell:hover {
   transform: translateY(-5px);
   border-color: var(--bright-blue);
   box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
 }

 .bento-cell h3 {
   color: var(--dark-blue);
   margin-top: 0;
 }

 .bento-cell-icon {
   font-size: 2.5rem;
   color: var(--bright-blue);
   margin-bottom: 12px;
   display: block;
 }

 /* --- Bonus Journey Section --- */
 .bonus-journey-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 16px;
 }

 .bonus-step {
   background-color: var(--light-gray);
   border-radius: var(--border-radius);
   padding: 24px;
   text-align: center;
   border-left: 5px solid;
 }

 .bonus-step:nth-child(1) {
   border-color: var(--green);
 }

 .bonus-step:nth-child(2) {
   border-color: var(--bright-blue);
 }

 .bonus-step:nth-child(3) {
   border-color: #f39c12;
 }

 .bonus-step:nth-child(4) {
   border-color: #e74c3c;
 }

 .bonus-step:nth-child(5) {
   border-color: #9b59b6;
 }

 .bonus-step .deposit-num {
   font-weight: 900;
   font-size: 1.2rem;
   color: var(--dark-blue);
 }

 .bonus-step .offer {
   font-size: 2rem;
   font-weight: 900;
   color: var(--bright-blue);
   margin: 8px 0;
 }

 .bonus-step .max-bonus {
   font-size: 1.1rem;
   font-weight: 600;
 }

 .claim-steps {
   margin-top: 40px;
   counter-reset: steps;
 }

 .claim-steps .step {
   position: relative;
   padding: 16px;
   padding-left: 50px;
   background: var(--light-gray);
   border-radius: 12px;
   margin-bottom: 12px;
 }

 .claim-steps .step::before {
   counter-increment: steps;
   content: counter(steps);
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   top: -20px;
   width: 30px;
   height: 30px;
   background: var(--dark-blue);
   color: var(--text-light);
   border-radius: 50%;
   display: grid;
   place-items: center;
   font-weight: 700;
 }
.logo, .logoimg {
  height: 60px;
}
 /* --- Games Section --- */
 .game-providers,
 .game-list {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 16px;
   margin-top: 24px;
 }

 .provider,
 .game-item {
   background: var(--light-gray);
   padding: 12px 24px;
   border-radius: 50px;
   font-weight: 600;
 }

 /* --- Tables --- */
 .styled-table {
   width: 100%;
   border-collapse: collapse;
   margin: 24px 0;
   border-radius: var(--border-radius);
   overflow: hidden;
 }

 .styled-table th,
 .styled-table td {
   padding: 16px;
   text-align: left;
 }

 .styled-table thead {
   background-color: var(--dark-blue);
   color: var(--text-light);
 }

 .styled-table tbody tr {
   border-bottom: 1px solid #ddd;
 }

 .styled-table tbody tr:nth-of-type(even) {
   background-color: var(--light-gray);
 }

 .styled-table tbody tr:last-of-type {
   border-bottom: 1px solid #F4F5F9;
 }

 /* --- FAQ Section --- */
 .faq details {
   background-color: var(--light-gray);
   border-radius: var(--border-radius);
   margin-bottom: 12px;
   border: 1px solid transparent;
 }

 .faq details[open] {
   border-color: var(--bright-blue);
 }

 .faq summary {
   padding: 20px;
   font-weight: 600;
   cursor: pointer;
   list-style: none;
   position: relative;
 }

 .faq summary::-webkit-details-marker {
   display: none;
 }

 .faq summary::after {
   content: "+";
   position: absolute;
   right: 20px;
   font-size: 1.5rem;
   color: var(--bright-blue);
   transition: var(--transition);
 }

 .faq details[open] summary::after {
   transform: rotate(45deg);
 }

 .faq .faq-answer {
   padding: 20px;
   border-top: 1px solid #ddd;
 }

 /* --- Final CTA & Footer --- */
 .final-cta {
   background: var(--dark-blue);
   color: var(--text-light);
   text-align: center;
   border-radius: var(--border-radius);
   padding: 40px;
 }

 .final-cta h2 {
   color: var(--text-light);
 }

 .footer {
   text-align: center;
   padding: 20px 0;
   color: #777;
   font-size: 0.9rem;
 }

 /* --- Media Queries (Tablet & upwards) --- */
 @media (min-width: 768px) {
   .container {
     padding: 60px 0;
   }

   .bento-grid {
     grid-template-columns: repeat(2, 1fr);
   }

   .bento-grid .bento-cell.span-2 {
     grid-column: span 2;
   }

   .bonus-journey-grid {
     grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
   }
 }

 /* --- Media Queries (Desktop & upwards) --- */
 @media (min-width: 1024px) {
   .bento-grid {
     grid-template-columns: repeat(3, 1fr);
   }

   .bento-grid .bento-cell.span-2-col {
     grid-column: span 2;
   }

   .bento-grid .bento-cell.span-3-col {
     grid-column: span 3;
   }

   .security-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 16px;
   }

   .banking-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 32px;
     align-items: flex-start;
   }
 }