/* Design System: Sunset Orange + Bold Impact */
:root{
  --color-primary:#f97316;
  --color-primary-glow:rgba(249,115,22,0.4);
  --color-secondary:#ea580c;
  --color-accent:#fdba74;
  --color-accent-glow:rgba(253,186,116,0.3);
  --bg-grad-1:#1a0f00;
  --bg-grad-2:#3d2200;
  --bg-grad-3:#0f0800;
  --card-bg:rgba(61,34,0,0.6);
  --card-border:rgba(249,115,22,0.2);
  --heading-font:"Montserrat",system-ui,sans-serif;
  --body-font:"Open Sans",system-ui,sans-serif;
  --mono-font:"Source Code Pro",monospace;
  --radius-lg:22px;
  --space-xl:110px;
  --space-lg:80px;
  --speed:0.2s;
  --ease:ease-in-out;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:#f8f6f3;
  background: radial-gradient(1200px 600px at 80% -10%, rgba(249,115,22,0.05), transparent 60%), linear-gradient(135deg,var(--bg-grad-1),var(--bg-grad-2),var(--bg-grad-3));
  font-family:var(--body-font);
  line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%; display:block}
.container{max-width:1200px; margin:0 auto; padding:0 20px}
.section{padding:var(--space-lg) 0}
.section-head{margin-bottom:28px}
.section-head h2{font-family:var(--heading-font); font-weight:800; letter-spacing:-0.02em; margin:0 0 6px; font-size:clamp(1.5rem,2.5vw,2rem)}
.section-head p{opacity:.85; margin:0}

/* Navigation */
.site-header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(1.2) blur(10px);}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 20px; background:linear-gradient(90deg, rgba(249,115,22,0.12), rgba(234,88,12,0.12)); border-bottom:1px solid var(--card-border)}
.logo{display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-weight:800}
.logo-text{font-family:var(--heading-font); letter-spacing:-0.01em}
.logo-mark{width:28px; height:28px; display:inline-block; border-radius:10px; background:linear-gradient(135deg,var(--color-primary),var(--color-secondary))}
.main-nav ul{list-style:none; display:flex; gap:18px; margin:0; padding:0}
.main-nav a{color:#fff; text-decoration:none; font-weight:600; opacity:.9; transition:opacity var(--speed) var(--ease), transform var(--speed) var(--ease)}
.main-nav a:hover{opacity:1; transform:scale(1.01)}
.main-nav a.active{color:var(--color-accent)}
.hamburger{display:inline-flex; flex-direction:column; gap:4px; background:transparent; border:0; cursor:pointer}
.hamburger span{width:22px; height:2px; background:#fff; border-radius:2px; transition:transform var(--speed) var(--ease), opacity var(--speed) var(--ease)}
#navMenu{position:fixed; inset:56px 0 auto 0; background:linear-gradient(180deg, rgba(26,15,0,0.95), rgba(15,8,0,0.95)); padding:16px 20px; transform:translateY(-8px); opacity:0; pointer-events:none; display:flex; flex-direction:column; gap:14px; border-bottom:1px solid var(--card-border)}
#navMenu.open{opacity:1; pointer-events:auto; transform:translateY(0)}
.desk-only{display:none}
.age-badge{font-family:var(--heading-font); font-weight:800; font-size:.9rem; padding:6px 10px; border-radius:999px; border:1px solid var(--card-border); background:rgba(61,34,0,0.45)}

/* Hero */
.hero{position:relative; min-height:88vh; display:flex; align-items:center}
.hero-bg{position:absolute; inset:0; background:
  radial-gradient(1000px 600px at 10% 0%, rgba(253,186,116,0.08), transparent 60%),
  url('/bg.jpg') center/cover no-repeat; filter:brightness(.45) saturate(1.1)}
.hero:before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,0.6))}
.hero-inner{position:relative; z-index:2}
.hero-content{max-width:760px; padding:28px}
.hero h1{font-family:var(--heading-font); font-size:clamp(2rem,6vw,3.2rem); margin:0 0 10px; letter-spacing:-0.02em}
.hero p{opacity:.92; margin:0 0 16px}
.search{display:flex; gap:10px; align-items:center}
.search input{flex:1; padding:14px 16px; border-radius:999px; border:1px solid var(--card-border); background:rgba(0,0,0,0.25); color:#fff; outline:none; transition:border var(--speed) var(--ease), transform var(--speed) var(--ease)}
.search input:focus{border-color:var(--color-accent); transform:scale(1.01)}
.microcopy{opacity:.7; font-size:.9rem}
.particles{position:absolute; inset:0; pointer-events:none}
.floating-cta{position:fixed; right:18px; bottom:18px; z-index:40}

/* Glass Cards */
.glass{background:var(--card-bg); border:1px solid var(--card-border); backdrop-filter:blur(12px); border-radius:var(--radius-lg); box-shadow:0 10px 30px rgba(0,0,0,.25)}
.cards-grid{display:grid; gap:18px; grid-template-columns:1fr}
.casino-card{overflow:hidden}
.casino-card img{height:160px; width:100%;}
.card-body{padding:16px}
.card-top{display:flex; align-items:center; justify-content:space-between; gap:10px}
.card-top h3{margin:0; font-family:var(--heading-font)}
.stars{color:var(--color-accent)}
.bonus{color:#fff; opacity:.92; font-weight:600}
.features{margin:10px 0 14px; padding-left:18px}
.actions{display:flex; gap:12px; align-items:center}
.read{color:var(--color-accent); text-decoration:none; font-weight:600; transition:opacity var(--speed) var(--ease)}
.read:hover{opacity:.9}

/* Buttons */
.btn{--g:linear-gradient(135deg,var(--color-primary),var(--color-secondary)); display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px; border-radius:999px; border:1px solid var(--card-border); background:var(--g); color:#fff; font-weight:700; text-decoration:none; transition:transform var(--speed) var(--ease), filter var(--speed) var(--ease), opacity var(--speed) var(--ease)}
.btn:hover{transform:scale(1.01); filter:brightness(1.05)}
.btn-ghost{background:transparent; border:1px solid var(--card-border); color:#fff}

/* Table */
.table-wrap{overflow:auto}
.bonus-table{width:100%; border-collapse:collapse}
.bonus-table th,.bonus-table td{padding:14px 12px; text-align:left; border-bottom:1px solid var(--card-border)}
.bonus-table thead th{font-family:var(--heading-font); color:var(--color-accent)}

/* Criteria */
.criteria-grid{display:grid; grid-template-columns:1fr; gap:16px}
.criterion{padding:16px}
.criterion .icon{width:42px; height:42px; border-radius:12px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg, rgba(249,115,22,0.2), rgba(234,88,12,0.15)); margin-bottom:10px}
.criterion h3{margin:6px 0 6px; font-family:var(--heading-font)}

/* Reviews */
.review-card{overflow:hidden}
.review-card img{height:140px; width:100%; }
.reviews .card-body h3{margin-top:0}

/* Newsletter */
.newsletter .newsletter-wrap{display:flex; flex-direction:column; gap:18px; padding:22px}
.nl-form{display:flex; flex-direction:column; gap:12px}
.nl-form input{padding:14px 16px; border-radius:999px; border:1px solid var(--card-border); background:rgba(0,0,0,0.25); color:#fff; outline:none; transition:border var(--speed) var(--ease)}
.nl-form input:focus{border-color:var(--color-accent)}
.nl-note{opacity:.7; font-size:.9rem}

/* Page Hero */
.page-hero{padding:48px 0 22px; background:linear-gradient(180deg, rgba(249,115,22,0.08), rgba(234,88,12,0.06)); border-bottom:1px solid var(--card-border)}
.page-hero h1{font-family:var(--heading-font); margin:0 0 8px}

/* Filters */
.filters{padding:16px}
.filter-row{display:flex; flex-wrap:wrap; gap:12px; align-items:center}
.filters select{padding:10px 12px; border-radius:999px; border:1px solid var(--card-border); background:rgba(0,0,0,0.25); color:#fff}
.filters-actions{display:flex; gap:10px; margin-left:auto}

/* Layout helpers */
.grid-2{display:grid; grid-template-columns:1fr; gap:18px}
.pad{padding:18px}
.team-grid{display:grid; grid-template-columns:1fr; gap:18px}
.team-card{padding:16px; text-align:center}
.team-card .avatar{width:80px; height:80px; margin:0 auto 10px}
.checklist{padding-left:20px}
.steps{padding-left:20px}
.form-grid{display:grid; grid-template-columns:1fr; gap:12px}
.contact-form input,.contact-form textarea{width:100%; padding:12px 14px; border-radius:14px; border:1px solid var(--card-border); background:rgba(0,0,0,0.25); color:#fff; outline:none; transition:border var(--speed) var(--ease)}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--color-accent)}
.form-actions{display:flex; align-items:center; gap:10px; margin-top:8px}
.form-note{opacity:.7}

/* Legal */
.legal .glass{margin-bottom:18px}

/* Disclaimer */
.disclaimer .glass{padding:16px}
.disclaimer-grid{display:grid; gap:10px}
.disclaimer-grid ul{margin:0; padding-left:18px}

/* Footer */
.site-footer{padding:var(--space-lg) 0 var(--space-lg); border-top:1px solid var(--card-border); background:linear-gradient(180deg, rgba(15,8,0,0.6), rgba(15,8,0,0.8))}
.footer-top{display:flex; flex-direction:column; gap:18px; align-items:flex-start; margin-bottom:18px}
.footer-links{display:flex; flex-wrap:wrap; gap:12px}
.footer-links a{color:#fff; text-decoration:none; opacity:.85}
.footer-links a:hover{opacity:1}
.footer-bottom{display:grid; place-items:center; gap:8px; text-align:center}
.badge-18{display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%; border:2px solid var(--card-border); background:rgba(61,34,0,0.55); font-family:var(--heading-font); font-weight:800}

/* Age Modal */
.age-modal{position:fixed; inset:0; background:rgba(0,0,0,0.6); display:none; align-items:center; justify-content:center; z-index:60}
.age-modal.show{display:flex}
.age-content{max-width:520px; padding:22px; text-align:center}
.age-icon{font-family:var(--heading-font); font-size:2rem; margin-bottom:8px}
.age-actions{display:flex; gap:10px; justify-content:center; margin-top:12px}
.age-note{opacity:.75; font-size:.9rem}

/* Responsive */
@media(min-width:640px){
  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .review-card img{height:160px}
  .newsletter .newsletter-wrap{flex-direction:row; align-items:center; justify-content:space-between}
  .nl-form{flex-direction:row}
  .nl-form input{min-width:260px}
  #navMenu{inset:auto auto auto auto; position:static; background:transparent; flex-direction:row; opacity:1; pointer-events:auto; transform:none; border:0}
  .hamburger{display:none}
  .desk-only{display:list-item}
}
@media(min-width:768px){
  .casino-card img{height:180px}
  .criteria-grid{grid-template-columns:repeat(3,1fr)}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1024px){
  .cards-grid{grid-template-columns:repeat(3,1fr)}
  .review-card img{height:180px}
}
@media(min-width:1280px){
  .hero{min-height:92vh}
}

/* Subtle suit pattern overlay */
body:after{content:"♠ ♥ ♦ ♣"; position:fixed; bottom:6vh; right:4vw; font-family:var(--heading-font); font-weight:800; letter-spacing:.4rem; color:rgba(253,186,116,0.08); font-size:clamp(1.2rem,3vw,2rem); pointer-events:none}
