/* ══ CUSTOM PROPERTIES ══ */
:root {
  --bg:#0d0f14; --bg-alt:#13161e; --bgc:#181b24; --bgh:#1e2230; --surf:#1e2230;
  --bdr:oklch(from #c9d0e8 l c h / 0.10); --bdr-s:oklch(from #c9d0e8 l c h / 0.18);
  --tx:#e8ecf5; --txm:#8890a8; --txf:#5a6278;
  --gold:#f0b429; --gold-d:oklch(from #f0b429 l c h / 0.15); --gold-g:oklch(from #f0b429 l c h / 0.16);
  --grn:#22c55e; --grn-d:oklch(from #22c55e l c h / 0.14);
  --org:#f97316; --org-d:oklch(from #f97316 l c h / 0.14);
  --red:#ef4444; --red-d:oklch(from #ef4444 l c h / 0.12);
  --blu:#3b82f6; --blu-d:oklch(from #3b82f6 l c h / 0.12);
  --fh:'Syne',sans-serif; --fb:'DM Sans',sans-serif;
  --hh:60px; --mx:1200px;
  --sh:0 2px 8px oklch(0.05 0.01 240 / 0.4);
  --sm:0 4px 20px oklch(0.05 0.01 240 / 0.5);
  --sl:0 8px 40px oklch(0.05 0.01 240 / 0.6);
}
[data-theme="light"] {
  --bg:#f5f6fa; --bg-alt:#fff; --bgc:#fff; --bgh:#f0f2f8; --surf:#e8eaf2;
  --bdr:oklch(from #1a1d28 l c h / 0.08); --bdr-s:oklch(from #1a1d28 l c h / 0.15);
  --tx:#1a1d28; --txm:#5a6278; --txf:#8890a8;
  --sh:0 2px 8px oklch(0.2 0.01 240 / 0.06);
  --sm:0 4px 20px oklch(0.2 0.01 240 / 0.08);
  --sl:0 8px 40px oklch(0.2 0.01 240 / 0.10);
}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]){
  --bg:#f5f6fa;--bg-alt:#fff;--bgc:#fff;--bgh:#f0f2f8;--surf:#e8eaf2;
  --bdr:oklch(from #1a1d28 l c h / 0.08);--bdr-s:oklch(from #1a1d28 l c h / 0.15);
  --tx:#1a1d28;--txm:#5a6278;--txf:#8890a8;
}}

/* ══ RESET ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);font-size:clamp(.9375rem,.9rem + .2vw,1rem);line-height:1.7;color:var(--tx);background:var(--bg);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none;transition:opacity .2s}
a:hover{opacity:.8}
code{font-family:'Courier New',monospace;font-size:.875em;background:var(--surf);padding:2px 6px;border-radius:5px;color:var(--gold)}
ul,ol{padding-left:1.25rem}
li{margin-bottom:.4rem}

/* ══ LAYOUT ══ */
.container{width:100%;max-width:var(--mx);margin:0 auto;padding:0 1.25rem}
@media(min-width:768px){.container{padding:0 2rem}}
.section{padding:3.5rem 0}
.section--alt{background:var(--bg-alt)}
@media(min-width:768px){.section{padding:5rem 0}}

/* ══ HEADER ══ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--hh);background:oklch(from var(--bg) l c h / 0.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--bdr);transition:background .3s,box-shadow .3s}
.site-header.scrolled{background:oklch(from var(--bg) l c h / 0.97);box-shadow:var(--sm)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--hh);gap:1rem}
.logo{display:flex;align-items:center;gap:.5rem;font-family:var(--fh);font-size:1.1rem;font-weight:700;color:var(--tx);flex-shrink:0}
.logo:hover{opacity:1}.logo-icon{color:var(--gold);font-size:1.3rem}.logo strong{color:var(--gold)}
.main-nav{display:none;gap:1.5rem}
.main-nav a{font-size:.825rem;font-weight:500;color:var(--txm);letter-spacing:.02em;transition:color .2s}
.main-nav a:hover{color:var(--gold);opacity:1}
@media(min-width:960px){.main-nav{display:flex}}
.header-actions{display:flex;align-items:center;gap:.75rem}
.theme-toggle{background:var(--surf);border:1px solid var(--bdr);color:var(--txm);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.theme-toggle:hover{color:var(--gold);background:var(--bgh)}
.nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--txm);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(min-width:960px){.nav-toggle{display:none}}
.main-nav.mobile-open{display:flex;flex-direction:column;position:fixed;top:var(--hh);left:0;right:0;background:var(--bg-alt);border-bottom:1px solid var(--bdr);padding:1.5rem;gap:1rem;z-index:99}

/* ══ HERO — compact: ~50% viewport ══ */
.hero{position:relative;padding-top:calc(var(--hh) + 2rem);padding-bottom:2.5rem;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 65% 55% at 50% 0%,oklch(from #f0b429 0.3 0.12 90 / 0.09) 0%,transparent 65%),var(--bg)}
.hero-bg::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 60px,oklch(from var(--tx) l c h / 0.013) 60px,oklch(from var(--tx) l c h / 0.013) 61px),repeating-linear-gradient(90deg,transparent,transparent 60px,oklch(from var(--tx) l c h / 0.013) 60px,oklch(from var(--tx) l c h / 0.013) 61px)}
.hero-inner{position:relative;z-index:1;max-width:740px}
.hero-kicker{font-size:.72rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);background:var(--gold-g);border:1px solid oklch(from #f0b429 l c h / 0.26);padding:.3rem 1rem;border-radius:100px;display:inline-block;margin-bottom:1rem}
.hero h1{font-family:var(--fh);font-size:clamp(1.6rem,2.2vw + .5rem,2.25rem);font-weight:800;line-height:1.12;letter-spacing:-.03em;margin-bottom:.875rem;color:var(--tx)}
.accent{color:var(--gold)}
.hero-p{font-size:.9rem;color:var(--txm);line-height:1.68;margin-bottom:.625rem;max-width:660px}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold);color:#0d0f14;font-family:var(--fh);font-size:.875rem;font-weight:700;letter-spacing:.02em;padding:.625rem 2rem;border-radius:10px;border:none;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 18px oklch(from #f0b429 l c h / 0.3);margin-top:1rem;margin-bottom:.625rem;text-decoration:none}
.btn-primary:hover{background:#c8941a;transform:translateY(-2px);box-shadow:0 8px 26px oklch(from #f0b429 l c h / 0.4);opacity:1;color:#0d0f14}
.hero-note{font-size:.7rem;color:var(--txf)}
.hero-note a{color:var(--txf)}
.cta-wrap{text-align:center;margin-top:2rem}

/* ══ SECTION HEADER ══ */
.section-header{margin-bottom:2.25rem}
.section-label{display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.625rem}
.section-header h2{font-family:var(--fh);font-size:clamp(1.3rem,2vw + .4rem,2.1rem);font-weight:800;line-height:1.2;letter-spacing:-.02em;margin-bottom:.875rem}
.section-header p{color:var(--txm);max-width:640px;font-size:.9rem}
.sub-h{font-family:var(--fh);font-size:.875rem;font-weight:700;margin-bottom:.75rem;color:var(--tx)}

/* ══ OFFER CARDS ══ */
.offers-grid{display:grid;grid-template-columns:1fr;gap:.875rem;margin-bottom:2rem}
@media(min-width:560px){.offers-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.offers-grid{grid-template-columns:repeat(3,1fr)}}
.offer-card{position:relative;background:var(--bgc);border:1px solid var(--bdr);border-radius:16px;padding:1.125rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.offer-card:hover{transform:translateY(-3px);box-shadow:var(--sl);border-color:var(--bdr-s)}
.offer-card--featured{border-color:oklch(from #f0b429 l c h / 0.36);background:linear-gradient(135deg,var(--bgc),oklch(from #f0b429 0.12 0.05 90 / 0.22));box-shadow:0 0 28px oklch(from #f0b429 l c h / 0.13)}
.offer-rank{font-family:var(--fh);font-size:1.2rem;font-weight:800;color:var(--txf);line-height:1}
.offer-card--featured .offer-rank{color:var(--gold)}
.offer-badge{position:absolute;top:-1px;right:1rem;background:var(--gold);color:#0d0f14;font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 9px;border-radius:0 0 5px 5px}
.offer-logo{height:40px;display:flex;align-items:center}
.offer-logo img{max-height:38px;max-width:130px;width:auto;object-fit:contain}
.offer-name{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--txf)}
.offer-bonus{font-family:var(--fh);font-size:.9rem;font-weight:700}
.offer-tags{display:flex;flex-wrap:wrap;gap:.3rem}
.offer-rating{display:flex;align-items:center;gap:.4rem}
.stars{color:var(--gold);font-size:.8rem}.rnum{font-size:.75rem;font-weight:600;color:var(--txm)}
.offer-btn{display:block;text-align:center;background:transparent;border:1px solid oklch(from #f0b429 l c h / 0.32);color:var(--gold);font-size:.8rem;font-weight:600;padding:.55rem .875rem;border-radius:9px;transition:background .2s,color .2s;margin-top:auto}
.offer-card--featured .offer-btn{background:var(--gold);color:#0d0f14;border-color:var(--gold)}
.offer-btn:hover{background:var(--gold);color:#0d0f14;opacity:1}

/* Tags */
.tag{display:inline-flex;align-items:center;font-size:.68rem;font-weight:500;padding:2px 7px;border-radius:5px;background:var(--surf);color:var(--txm);border:1px solid var(--bdr);white-space:nowrap}
.tag--green{background:var(--grn-d);color:var(--grn);border-color:oklch(from #22c55e l c h / 0.26)}
.tag--gold{background:var(--gold-d);color:var(--gold);border-color:oklch(from #f0b429 l c h / 0.26)}
.tag--orange{background:var(--org-d);color:var(--org);border-color:oklch(from #f97316 l c h / 0.26)}

/* ══ TABLES ══ */
.table-wrap{margin-top:1.75rem}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid var(--bdr)}
table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:480px}
thead{background:var(--surf)}
th{padding:.55rem .875rem;text-align:left;font-family:var(--fh);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--txm);border-bottom:1px solid var(--bdr);white-space:nowrap}
td{padding:.55rem .875rem;border-bottom:1px solid var(--bdr);color:var(--txm);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--bgh)}
.rhl td{background:oklch(from #f0b429 l c h / 0.04)}
.c-good{color:var(--grn)!important}
.c-dim{color:var(--txf)!important}
.tnote{font-size:.75rem;color:var(--txf);margin-top:.75rem;font-style:italic;line-height:1.6}
.block-note{font-size:.875rem;color:var(--txm);margin-top:1rem;line-height:1.7}

/* ══ TOC ══ */
.toc-box{background:var(--bgc);border:1px solid var(--bdr);border-left:3px solid var(--gold);border-radius:16px;padding:1.375rem;margin-top:2rem}
.toc-label{font-family:var(--fh);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-bottom:.875rem}
.toc-list{columns:1;column-gap:2rem;padding-left:1.25rem}
@media(min-width:768px){.toc-list{columns:2}}
.toc-list li{font-size:.8rem;margin-bottom:.45rem;break-inside:avoid}
.toc-list a{color:var(--txm)}
.toc-list a:hover{color:var(--gold)}

/* ══ CONTENT BLOCKS ══ */
.content-block p{color:var(--txm);margin-bottom:1rem;font-size:.9rem}
.content-block p:last-child{margin-bottom:0}
.content-block h3{font-family:var(--fh);font-size:1rem;font-weight:700;margin:1.625rem 0 .5rem;color:var(--tx)}
.content-block h3:first-child{margin-top:0}
.content-block ul,.content-block ol{padding-left:1.25rem;margin:.625rem 0 1rem}
.content-block li{font-size:.875rem;color:var(--txm);margin-bottom:.4rem}
.content-block .disclaimer{font-size:.78rem;color:var(--txf);margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--bdr);line-height:1.6}

/* ══ DNS GRID ══ */
.dns-grid{display:grid;grid-template-columns:1fr;gap:.875rem;margin:1.5rem 0}
@media(min-width:640px){.dns-grid{grid-template-columns:repeat(3,1fr)}}
.dns-card{background:var(--bgc);border:1px solid var(--bdr);border-radius:16px;padding:1.125rem}
.dns-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem;padding-bottom:.75rem;border-bottom:1px solid var(--bdr)}
.dns-icon{font-size:1.2rem}
.dns-head h4{font-family:var(--fh);font-size:.875rem;font-weight:700}
.dns-card ol{padding-left:1.125rem;list-style:decimal}
.dns-card li{font-size:.8rem;color:var(--txm);margin-bottom:.4rem}

/* ══ LICENSE CARDS ══ */
.lic-grid{display:grid;grid-template-columns:1fr;gap:.875rem;margin-bottom:1.75rem}
@media(min-width:640px){.lic-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.lic-grid{grid-template-columns:repeat(4,1fr)}}
.lic-card{background:var(--bgc);border:1px solid var(--bdr);border-radius:16px;padding:1.125rem}
.lic-card h3{font-family:var(--fh);font-size:.875rem;font-weight:700;margin:.5rem 0 .5rem}
.lic-card p{font-size:.775rem;color:var(--txm);margin-bottom:.875rem}
.lic-stars{font-size:.85rem;letter-spacing:-2px}
.lic-top{border-color:oklch(from #f0b429 l c h / 0.26)}
.lic-mid{border-color:oklch(from #22c55e l c h / 0.26)}
.lic-low{border-color:oklch(from #f97316 l c h / 0.26)}
.lic-badge{display:inline-block;font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:100px;background:var(--gold-d);color:var(--gold)}
.lic-badge--warn{background:var(--org-d);color:var(--org)}

/* ══ CRITERIA GRID ══ */
.crit-grid{display:grid;grid-template-columns:1fr;gap:.875rem;margin-bottom:.875rem}
@media(min-width:640px){.crit-grid{grid-template-columns:repeat(2,1fr)}}
.crit-card{background:var(--bgc);border:1px solid var(--bdr);border-radius:16px;padding:1.125rem}
.crit-card h4{font-family:var(--fh);font-size:.8rem;font-weight:700;margin-bottom:.625rem;padding-bottom:.5rem;border-bottom:1px solid var(--bdr);color:var(--tx)}
.crit-card li{font-size:.775rem;color:var(--txm)}
.crit-card--warn{background:oklch(from #f97316 l c h / 0.06);border-color:oklch(from #f97316 l c h / 0.2);border:1px solid}
.crit-card--warn h4{color:var(--org)}

/* ══ CASINO PROFILES ══ */
.profile{background:var(--bgc);border:1px solid var(--bdr);border-radius:20px;padding:1.375rem;margin-bottom:1.375rem;transition:box-shadow .3s}
.profile:hover{box-shadow:var(--sl)}
.profile-head{display:flex;align-items:center;gap:1.125rem;margin-bottom:1.125rem;padding-bottom:1.125rem;border-bottom:1px solid var(--bdr);flex-wrap:wrap}
.plogo{max-height:42px;max-width:145px;width:auto;object-fit:contain;flex-shrink:0}
.profile-head h3{font-family:var(--fh);font-size:.975rem;font-weight:700;margin-bottom:.425rem}
.pmeta{display:flex;flex-wrap:wrap;gap:.3rem}
.profile-body{display:grid;grid-template-columns:1fr;gap:1.125rem}
@media(min-width:768px){
  .profile-body{grid-template-columns:1fr 1.65fr}
  .profile-body--rev .pscreen{order:2}
  .profile-body--rev .ptext{order:1}
}
.pscreen{border-radius:10px;overflow:hidden;border:1px solid var(--bdr)}
.pscreen img{width:100%;height:175px;object-fit:cover}
@media(min-width:768px){.pscreen img{height:200px}}
.ptext p{color:var(--txm);margin-bottom:.75rem;font-size:.85rem}
.hl-label{font-family:var(--fh);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--txm);margin-bottom:.4rem!important}
.hlist{list-style:none;padding:0;margin-bottom:.875rem}
.hlist li{padding:.35rem 0 .35rem 1.125rem;position:relative;font-size:.8rem;color:var(--txm);border-bottom:1px solid var(--bdr)}
.hlist li:last-child{border-bottom:none}
.hlist li::before{content:'→';position:absolute;left:0;color:var(--gold);font-size:.72rem}
.pbonus{display:flex;align-items:center;gap:.625rem;background:var(--gold-g);border:1px solid oklch(from #f0b429 l c h / 0.2);border-radius:9px;padding:.55rem .875rem;flex-wrap:wrap;margin-top:.625rem}
.pbonus.mt{margin-top:.75rem}
.bl{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--txm)}
.bv{font-family:var(--fh);font-size:.825rem;font-weight:700;color:var(--gold)}

/* Mini profiles (no text in source) */
.mini-profiles{display:grid;grid-template-columns:1fr;gap:.875rem;margin-top:1.375rem}
@media(min-width:640px){.mini-profiles{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.mini-profiles{grid-template-columns:repeat(3,1fr)}}
.mini-card{background:var(--bgc);border:1px solid var(--bdr);border-radius:16px;padding:1.125rem;display:flex;align-items:flex-start;gap:1rem;transition:box-shadow .25s}
.mini-card:hover{box-shadow:var(--sm)}
.mini-logo{max-height:36px;max-width:110px;width:auto;object-fit:contain;flex-shrink:0;margin-top:.25rem}
.mini-card h3{font-family:var(--fh);font-size:.9rem;font-weight:700;margin-bottom:.4rem}

/* ══ FAQ ══ */
.faq-list{display:flex;flex-direction:column;gap:.55rem}
.faq-item{background:var(--bgc);border:1px solid var(--bdr);border-radius:16px;overflow:hidden;transition:border-color .2s}
.faq-item[open]{border-color:var(--bdr-s)}
.faq-item summary{padding:1rem 1.125rem;font-family:var(--fh);font-size:.875rem;font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;user-select:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.1rem;color:var(--gold);flex-shrink:0;transition:transform .3s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:hover{background:var(--bgh)}
.faq-body{padding:.75rem 1.125rem 1rem;font-size:.825rem;color:var(--txm);line-height:1.7;border-top:1px solid var(--bdr)}

/* ══ FOOTER ══ */
.site-footer{background:var(--bg-alt);border-top:1px solid var(--bdr);padding:2.5rem 0}
.footer-inner{display:flex;flex-direction:column;gap:1.25rem}
.footer-logo{display:flex;align-items:center;gap:.5rem;font-family:var(--fh);font-size:1rem;font-weight:700;color:var(--tx)}
.footer-logo .logo-icon{color:var(--gold)}.footer-logo strong{color:var(--gold)}
.footer-nav{display:flex;flex-wrap:wrap;gap:.875rem}
.footer-nav a{font-size:.775rem;color:var(--txm);transition:color .2s}
.footer-nav a:hover{color:var(--gold);opacity:1}
.footer-disc p{font-size:.75rem;color:var(--txf);margin-bottom:.3rem}
.fcopy{font-size:.7rem}
.footer-badges{display:flex;gap:.625rem;align-items:center}
.b18{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--txf);font-size:.68rem;font-weight:700;color:var(--txf)}
.bresp{font-size:.68rem;font-weight:600;color:var(--txf);border:1px solid var(--bdr);padding:2px 9px;border-radius:100px}

/* ══ ANIMATIONS ══ */
.fade-in{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
