:root{
  --ink:#101827;
  --ink-2:#172033;
  --card:#ffffff;
  --cream:#fff8ed;
  --mint:#d6fff4;
  --aqua:#08c6b8;
  --coral:#ff5b6e;
  --sun:#ffbe3d;
  --violet:#6d5dfc;
  --blue:#1f65ff;
  --text:#142033;
  --muted:#667085;
  --line:rgba(20,32,51,.12);
  --shadow:0 24px 70px rgba(16,24,39,.14);
  --font-head:'Space Grotesk',Arial,sans-serif;
  --font-body:'Manrope',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  background:
    radial-gradient(circle at 12% 8%,rgba(8,198,184,.25),transparent 26rem),
    radial-gradient(circle at 90% 12%,rgba(255,91,110,.22),transparent 24rem),
    linear-gradient(180deg,#fff8ed 0%,#f4fbff 42%,#fff6fb 100%);
  line-height:1.65;
}
a{color:inherit}
.container{width:min(1180px,calc(100% - 34px));margin:0 auto}
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  padding:12px 0;
  background:rgba(255,248,237,.76);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(20,32,51,.1);
}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font:800 22px var(--font-head);
  letter-spacing:-.04em;
  color:var(--ink);
}
.brand span{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,var(--coral),var(--violet));
  box-shadow:0 14px 28px rgba(255,91,110,.25);
}
.menu{position:relative}
.menu summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  border:1px solid rgba(20,32,51,.13);
  background:#fff;
  color:var(--ink);
  border-radius:999px;
  padding:0 16px;
  box-shadow:0 12px 30px rgba(16,24,39,.08);
  font-weight:900;
}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{width:5px;height:5px;border-radius:999px;background:var(--coral)}
.menu summary span:nth-child(2){background:var(--aqua)}
.menu summary span:nth-child(3){background:var(--sun)}
.menu-panel{
  position:absolute;
  right:0;
  top:58px;
  width:260px;
  display:grid;
  gap:8px;
  padding:12px;
  background:#fff;
  border:1px solid rgba(20,32,51,.12);
  border-radius:22px;
  box-shadow:var(--shadow);
}
.menu-panel a{
  text-decoration:none;
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
}
.menu-panel a:hover{background:linear-gradient(135deg,rgba(8,198,184,.12),rgba(255,91,110,.12))}
.section{padding:74px 0}
h1,h2,h3{font-family:var(--font-head);line-height:1.04;margin:0 0 16px;letter-spacing:-.055em;color:var(--ink)}
h1{font-size:clamp(42px,6vw,78px)}
h2{font-size:clamp(30px,4vw,52px)}
h3{font-size:22px}
p{margin:0 0 18px}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  color:var(--coral);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:12px;
}
.kicker:before{
  content:'';
  width:9px;height:9px;border-radius:50%;
  background:var(--aqua);
  box-shadow:14px 0 0 var(--sun);
}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 20px;
  border-radius:16px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
  transition:.2s ease;
  border:2px solid transparent;
  line-height:1.1;
}
.btn:hover{transform:translateY(-2px)}
.btn.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--coral),var(--violet));
  box-shadow:0 16px 34px rgba(109,93,252,.25);
}
.btn.secondary{
  color:var(--ink);
  background:#fff;
  border-color:rgba(20,32,51,.14);
  box-shadow:0 14px 30px rgba(16,24,39,.08);
}
.opening{padding:54px 0 40px}
.opening-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:26px;
  align-items:stretch;
}
.lead-card{
  position:relative;
  overflow:hidden;
  padding:46px;
  min-height:520px;
  border-radius:36px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,255,255,.7)),
    url('images/hero.png') center/cover;
  border:1px solid rgba(20,32,51,.1);
  box-shadow:var(--shadow);
}
.lead-card:after{
  content:'';
  position:absolute;
  right:-70px;bottom:-90px;
  width:310px;height:310px;
  border-radius:50%;
  background:conic-gradient(from 180deg,var(--coral),var(--sun),var(--aqua),var(--violet),var(--coral));
  opacity:.22;
}
.lead-card>*{position:relative;z-index:1;max-width:760px}
.lead-card p{font-size:18px;color:#344054}
.meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.meta-row span{
  display:inline-flex;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(20,32,51,.1);
  font-size:13px;
  font-weight:900;
}
.quick-panel{
  display:grid;
  gap:12px;
  padding:24px;
  border-radius:36px;
  color:#fff;
  background:linear-gradient(160deg,#141b2c,#25234f 55%,#0d766f);
  box-shadow:var(--shadow);
}
.quick-panel h2{color:#fff;font-size:32px}
.quick-panel p{color:rgba(255,255,255,.75)}
.quick-panel a{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 12px;
  text-decoration:none;
  padding:15px;
  border-radius:20px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
}
.quick-panel a:hover{background:rgba(255,255,255,.18)}
.quick-panel span{grid-row:1/3;font-size:26px}
.quick-panel b{line-height:1.1}
.quick-panel small{color:rgba(255,255,255,.72)}
.section-head{max-width:760px;margin-bottom:28px}
.split-head{
  max-width:none;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:end;
}
.feature-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.feature-strip article{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(20,32,51,.12);
  border-radius:30px;
  padding:26px;
  box-shadow:0 18px 42px rgba(16,24,39,.08);
}
.feature-strip article.hot{
  background:linear-gradient(135deg,#121a2c,#23245c);
  color:#fff;
  transform:translateY(-12px);
}
.feature-strip article.hot h3{color:#fff}
.feature-icon{
  display:grid;
  place-items:center;
  width:50px;height:50px;
  border-radius:17px;
  background:linear-gradient(135deg,rgba(255,91,110,.14),rgba(8,198,184,.18));
  margin-bottom:16px;
  font-size:24px;
}
.feature-strip img{width:138px;height:62px;object-fit:contain;background:#fff;border-radius:16px;padding:9px;margin-bottom:12px}
.feature-strip a{
  display:inline-flex;
  margin-top:10px;
  text-decoration:none;
  font-weight:900;
  color:var(--coral);
}
.score-section{
  background:
    linear-gradient(180deg,rgba(16,24,39,.04),rgba(255,255,255,.1)),
    radial-gradient(circle at 10% 20%,rgba(109,93,252,.12),transparent 30rem);
}
.score-intro{
  max-width:880px;
  margin-bottom:30px;
}
.review-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.review-tile{
  display:grid;
  gap:16px;
  padding:20px;
  border-radius:30px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(20,32,51,.12);
  box-shadow:0 16px 36px rgba(16,24,39,.08);
}
.tile-top{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
}
.place{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,var(--aqua),var(--blue));
  font-weight:900;
}
.casino-logo{
  width:142px;
  height:62px;
  object-fit:contain;
  background:#fff;
  border-radius:16px;
  padding:8px;
  border:1px solid rgba(20,32,51,.1);
}
.score-pill{
  width:62px;height:62px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#fff;
  background:conic-gradient(var(--coral) 0 70%,var(--sun) 70% 100%);
  font:900 20px var(--font-head);
  box-shadow:0 10px 24px rgba(255,91,110,.24);
}
.tagline{
  color:var(--violet);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  margin-bottom:6px;
}
.tile-copy h3{margin-bottom:6px}
.stars{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:var(--aqua);
  font-weight:900;
  letter-spacing:.08em;
}
.stars small{
  color:var(--muted);
  font-size:12px;
  letter-spacing:0;
}
.tile-copy p{font-size:14px;color:#344054}
.mini-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:7px;
}
.mini-list li{
  position:relative;
  padding-left:22px;
  font-size:13px;
  font-weight:800;
  color:#243047;
}
.mini-list li:before{
  content:'✓';
  position:absolute;
  left:0;
  color:var(--coral);
}
.metric-stack{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.metric{
  position:relative;
  display:grid;
  gap:5px;
  padding:10px;
  border-radius:16px;
  background:#f7fbff;
  border:1px solid rgba(20,32,51,.08);
  overflow:hidden;
}
.metric span,.metric b{position:relative;z-index:1}
.metric span{font-size:12px;font-weight:900;color:#475467}
.metric b{font-size:13px}
.metric i{
  display:block;
  height:6px;
  border-radius:999px;
  background:rgba(20,32,51,.1);
}
.metric i:after{
  content:'';
  display:block;
  width:var(--w);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--aqua),var(--coral));
}
.tile-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.tile-actions .btn{font-size:12px;min-height:44px;padding:10px 14px;border-radius:14px}
.advice-layout{
  display:grid;
  grid-template-columns:1.25fr .75fr .75fr;
  gap:16px;
}
.advice-card{
  padding:26px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(20,32,51,.11);
  box-shadow:0 16px 36px rgba(16,24,39,.07);
}
.main-advice{
  grid-row:span 2;
  color:#fff;
  background:linear-gradient(135deg,#121a2c,#253062);
}
.main-advice h2{color:#fff}
.main-advice p{color:rgba(255,255,255,.78)}
.checklist{display:grid;gap:10px;margin-top:20px}
.checklist span{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.15);
  font-weight:800;
}
.big-icon{
  display:grid;place-items:center;
  width:54px;height:54px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,190,61,.24),rgba(8,198,184,.2));
  font-size:28px;
  margin-bottom:14px;
}
.bonus-band{padding-top:36px}
.bonus-card{
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:28px;
  align-items:center;
  padding:34px;
  border-radius:38px;
  color:#fff;
  background:
    radial-gradient(circle at 70% 30%,rgba(255,190,61,.35),transparent 20rem),
    linear-gradient(135deg,#ff5b6e,#6d5dfc 58%,#08c6b8);
  box-shadow:var(--shadow);
}
.bonus-card h2{color:#fff}
.bonus-card p{color:rgba(255,255,255,.84)}
.bonus-card img{
  width:100%;
  max-height:320px;
  object-fit:cover;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.22);
}
.blog-mosaic{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:16px;
}
.blog-mosaic article{
  padding:24px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(20,32,51,.1);
  box-shadow:0 16px 36px rgba(16,24,39,.07);
}
.blog-mosaic .blog-large{
  grid-row:span 2;
  background:linear-gradient(180deg,#fff,#eafffb);
}
.blog-mosaic span{font-size:30px}
.directory-section{
  background:#121a2c;
  color:#fff;
}
.directory-section h2{color:#fff}
.directory-section p{color:rgba(255,255,255,.72)}
.directory{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.directory a{
  text-decoration:none;
  padding:11px 14px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
}
.directory a:hover{
  background:linear-gradient(135deg,var(--coral),var(--aqua));
  color:#fff;
}
.set-card{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:24px;
  padding:28px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(20,32,51,.1);
  box-shadow:var(--shadow);
}
.site-links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.site-links a{
  text-decoration:none;
  padding:14px;
  border-radius:18px;
  background:#f6f9ff;
  border:1px solid rgba(20,32,51,.08);
  font-weight:900;
}
.site-links a:hover{background:linear-gradient(135deg,rgba(8,198,184,.16),rgba(255,91,110,.14))}
footer{
  padding:58px 0;
  background:#101827;
  color:#fff;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr .8fr .8fr;
  gap:28px;
}
footer h2,footer h3{color:#fff}
footer p{color:rgba(255,255,255,.72)}
footer a{display:block;text-decoration:none;margin-bottom:8px;color:rgba(255,255,255,.82)}
.age-locked main,.age-locked header,.age-locked footer{filter:brightness(.23);pointer-events:none;user-select:none}
.age-gate{
  position:fixed;
  inset:0;
  z-index:999;
  background:rgba(16,24,39,.78);
  display:grid;
  place-items:center;
  padding:18px;
}
.age-gate__box{
  width:min(520px,100%);
  background:#fff;
  color:#101827;
  border-radius:28px;
  padding:34px;
  text-align:center;
  box-shadow:0 28px 80px rgba(0,0,0,.45);
}
.age-gate__site{text-transform:uppercase;font-weight:900;color:var(--coral)}
.age-gate__actions{display:grid;gap:12px;margin:24px 0}
.age-gate__btn{
  min-height:56px;
  background:#fff;
  border:1px solid rgba(20,32,51,.15);
  border-radius:16px;
  font:900 15px var(--font-body);
  cursor:pointer;
  text-transform:uppercase;
}
.age-gate__btn--primary{
  background:linear-gradient(135deg,var(--coral),var(--violet));
  color:#fff;
  border-color:transparent;
}
.age-gate__note{color:#667085;font-size:13px;margin-bottom:0}
@media(max-width:980px){
  .opening-grid,.split-head,.bonus-card,.set-card{grid-template-columns:1fr}
  .feature-strip,.review-grid,.advice-layout,.blog-mosaic{grid-template-columns:1fr}
  .main-advice{grid-row:auto}
  .metric-stack{grid-template-columns:1fr}
  .site-links{grid-template-columns:repeat(2,1fr)}
  .lead-card{min-height:0;padding:30px}
  .feature-strip article.hot{transform:none}
}
@media(max-width:560px){
  .section{padding:50px 0}
  h1{font-size:40px}
  .menu-panel{right:-4px;width:calc(100vw - 34px)}
  .btn{width:100%}
  .tile-top{grid-template-columns:auto 1fr}
  .score-pill{grid-column:1/-1;width:100%;height:auto;border-radius:16px;padding:10px}
  .casino-logo{width:150px}
  .site-links{grid-template-columns:1fr}
}
