/* ==========================================================================
   maksreznik.com — Best Offshore Casinos for US Players
   Professional redesign pass — LOCKED PALETTE (no new hues):
     blue #006ab3 · navy #14324f · yellow #ffef00 · green #22c55e
     ambers #ffd54a/#fff4a8 · neutrals (white/greys). Raleway.
   Treatment elevated (depth, type scale, premium toplist cards) within
   the existing colour scheme only.
   ========================================================================== */
:root{
  --blue:#006ab3; --blue-dk:#005a98; --blue-2:#0a4f86;
  --navy:#14324f; --navy-dk:#0e2436;
  --yellow:#ffef00; --yellow-dk:#e6d600; --amber:#ffd54a; --amber-dk:#e0ab10;
  --green:#22c55e; --green-lt:#4ade80; --green-dk:#16a34a;
  --ink:#1c1f24; --muted:#5b6470; --line:#e3e7ec;
  --card:#ffffff; --cream:#f5f8fb; --page:#eef2f6;
  --ok:#1e7f4f;
  --sh-sm:0 1px 2px rgba(20,50,79,.06), 0 1px 3px rgba(20,50,79,.10);
  --sh:0 4px 6px rgba(20,50,79,.05), 0 10px 24px rgba(20,50,79,.10);
  --sh-lg:0 12px 34px rgba(20,50,79,.16);
  --sh-cta:0 4px 14px rgba(34,197,94,.40);
  --wrap:1180px; --radius:10px; --radius-sm:6px;
  --ral:'Raleway',-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --body:'Raleway',-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family:var(--body); color:var(--ink);
  background:var(--page);
  background-image:radial-gradient(1200px 420px at 50% -120px, rgba(0,106,179,.10), transparent 70%);
  line-height:1.68; font-size:17px; -webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}
a{color:var(--blue); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; height:auto}
h1,h2,h3,h4{font-family:var(--ral); line-height:1.2; color:var(--navy); font-weight:800; letter-spacing:-.01em}

/* ---------- header / nav ---------- */
.topbar{background:var(--navy-dk); color:#dfe7ef; font-size:12.5px; text-align:center; padding:7px 0; letter-spacing:.015em}
.topbar b{color:var(--yellow)}
header.site{background:rgba(20,50,79,.92); backdrop-filter:saturate(140%) blur(10px); position:sticky; top:0; z-index:1000; box-shadow:0 1px 0 rgba(255,255,255,.06), 0 6px 20px rgba(14,36,54,.28); border-bottom:1px solid rgba(255,255,255,.05)}
.nav{display:flex; align-items:center; gap:18px; height:68px}
.brand{display:flex; align-items:center; gap:11px; color:#fff; font-family:var(--ral); font-weight:800; font-size:20px; white-space:nowrap}
.brand:hover{text-decoration:none}
.brandlogo{height:44px; width:auto; display:block}
@media (max-width:768px){.brandlogo{height:38px}}
.brand .mark{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--yellow));display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:14px;font-weight:800;box-shadow:0 4px 12px rgba(0,106,179,.45), inset 0 1px 0 rgba(255,255,255,.4)}
.brand small{display:block;font-size:9.5px;color:#9fb6cc;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.nav ul{list-style:none; display:flex; gap:4px; margin:0 0 0 auto; padding:0; align-items:center}
.nav>ul>li>a,.nav a{color:#eef3f8; font-size:14.5px; font-weight:600; padding:9px 11px; border-radius:8px; transition:background .15s,color .15s}
.nav>ul>li>a:hover{color:#fff; background:rgba(255,255,255,.08); text-decoration:none}
.nav .has-sub{position:relative}
.nav .has-sub>a::after{content:""; }
.nav .sub{display:none; position:absolute; top:calc(100% + 8px); left:0; background:#fff; min-width:240px; box-shadow:var(--sh-lg); border-radius:12px; padding:8px; flex-direction:column; gap:1px; border:1px solid var(--line)}
.nav .sub::before{content:""; position:absolute; top:-6px; left:22px; width:12px; height:12px; background:#fff; border-left:1px solid var(--line); border-top:1px solid var(--line); transform:rotate(45deg)}
.nav .has-sub:hover .sub{display:flex}
.nav .sub a{color:var(--ink); padding:9px 12px; border-radius:8px; font-weight:500; font-size:14px}
.nav .sub a:hover{background:var(--cream); color:var(--blue); text-decoration:none}
.hamburger{display:none; margin-left:auto; width:44px;height:44px;border:0;background:transparent;cursor:pointer}
.hamburger span{display:block;width:24px;height:2px;background:#fff;margin:5px auto;transition:.2s;border-radius:2px}

/* ---------- hero ---------- */
.hero{position:relative; overflow:hidden; color:#fff; padding:60px 0 50px;
  background:linear-gradient(110deg, rgba(14,36,54,.95) 0%, rgba(20,50,79,.84) 46%, rgba(10,79,134,.72) 100%),
             url('/assets/img/hero.webp') center/cover no-repeat,
             linear-gradient(150deg,var(--navy-dk) 0%, var(--navy) 42%, var(--blue-2) 100%)}
.hero::before{content:""; position:absolute; inset:0;
  background:radial-gradient(680px 320px at 88% -40px, rgba(255,239,0,.18), transparent 60%),
             radial-gradient(560px 340px at 4% 130%, rgba(34,197,94,.16), transparent 60%);
  pointer-events:none}
.hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:4px;
  background:linear-gradient(90deg,var(--yellow),var(--green) 60%,var(--blue))}
.hero .wrap{position:relative; z-index:1}
.hero h1{color:#fff; font-size:40px; line-height:1.1; margin:0 0 14px; max-width:880px; text-shadow:0 1px 24px rgba(0,0,0,.18)}
.hero p.lead{font-size:18.5px; color:#e8f1f9; max-width:760px; margin:0 0 18px}
.hero-date{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:#fff; font-weight:700; letter-spacing:.03em; text-transform:uppercase; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); padding:6px 12px; border-radius:999px; margin:0 0 16px}
.hero-date::before{content:"\1F4C5"}
.hero .trust{display:flex; flex-wrap:wrap; gap:10px; margin-top:8px}
.hero .trust span{font-size:13px; color:#e8f1f9; font-weight:600; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); padding:7px 13px; border-radius:999px}
.hero .trust span::before{content:"\2713"; color:var(--green-lt); font-weight:800; margin-right:7px}

/* ---------- review-page hero (logo + CTA on top) ---------- */
.rev-hero{display:flex; align-items:center; gap:26px; flex-wrap:wrap}
.rev-logo{flex:0 0 auto}
.rev-logo .logo-chip,.rev-logo .initials{width:184px; height:104px}
.rev-hero-main{flex:1 1 280px; min-width:240px}
.rev-hero-main h1{color:#fff; margin:0 0 8px; font-size:32px}
.rev-meta{color:#e8f1f9; font-weight:600; font-size:14.5px; margin:0 0 12px}
.rev-meta .stars{color:var(--amber)}
.rev-bonus{display:inline-block; font-family:var(--ral); font-weight:800; color:#5a4a00; background:linear-gradient(180deg,#fff4a8,var(--amber)); padding:9px 16px; border-radius:10px; border:1px solid var(--amber-dk); margin:0 14px 14px 0; vertical-align:middle; box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.rev-bonus small{font-weight:700; color:#7a6a2a; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; margin-left:8px}
.rev-hero .cta{vertical-align:middle}
@media (max-width:768px){
  .rev-hero{flex-direction:column; text-align:center; gap:14px}
  .rev-hero-main{width:100%}
  .rev-logo .logo-chip,.rev-logo .initials{width:210px; height:116px}
  .rev-hero-main h1{font-size:25px}
  .rev-bonus{display:block; margin:0 0 14px}
  .rev-hero .cta{display:block; width:100%}
}

/* ---------- layout / content cards ---------- */
main{padding:34px 0 14px}
.card{background:var(--card); border-radius:var(--radius); box-shadow:var(--sh); padding:30px 34px; margin:0 0 24px; border:1px solid rgba(20,50,79,.05)}
.card > h2:first-child,.card > h1:first-child{margin-top:0}
section h2,.card h2{position:relative; font-size:26px; color:var(--navy); margin:40px 0 18px; padding-left:16px}
section h2::before,.card h2::before{content:""; position:absolute; left:0; top:5px; bottom:5px; width:5px; border-radius:3px; background:linear-gradient(180deg,var(--blue),var(--green))}
section h3,.card h3{font-size:20px; color:var(--blue-2); margin:26px 0 9px; font-weight:700}
p{max-width:75ch}
.note,em.note{color:var(--blue-2); font-style:italic}
.lastmod{color:var(--muted); font-size:13px}
.byline{font-size:14px; color:var(--muted); margin:2px 0 0}
.byline a{color:var(--blue); font-weight:600}
.disclosure{background:linear-gradient(180deg,var(--cream),#fff); border:1px solid var(--line); border-left:4px solid var(--amber-dk); padding:12px 16px; border-radius:var(--radius-sm); font-size:13.5px; color:#444; margin:4px 0 20px}

/* ---------- toplist ---------- */
.toplist{width:100%; border-collapse:separate; border-spacing:0 14px}
.toplist th{display:none}
/* card edge = row box-shadow (seamless rounded); left rail = inset shadow on first cell — no per-cell border joins */
.toplist tr.row{background:#fff; box-shadow:0 0 0 1px var(--line), var(--sh); border-radius:14px; transition:transform .16s, box-shadow .16s}
.toplist tr.row:hover{transform:translateY(-2px); box-shadow:0 0 0 1px var(--line), var(--sh-lg)}
.toplist td{padding:18px 16px; vertical-align:middle}
.toplist td:first-child{border-radius:14px 0 0 14px; box-shadow:inset 5px 0 0 var(--blue)}
.toplist td:last-child{border-radius:0 14px 14px 0}
.toplist tr.row:nth-child(1){box-shadow:0 0 0 2px var(--amber-dk), var(--sh)}
.toplist tr.row:nth-child(1):hover{box-shadow:0 0 0 2px var(--amber-dk), var(--sh-lg)}
.toplist tr.row:nth-child(1) td:first-child{box-shadow:inset 5px 0 0 var(--amber-dk)}
.toplist tr.row:nth-child(2) td:first-child{box-shadow:inset 5px 0 0 var(--green)}
.toplist tr.row:nth-child(3) td:first-child{box-shadow:inset 5px 0 0 var(--navy)}
.epick{display:block; width:fit-content; max-width:100%; background:linear-gradient(180deg,var(--amber),var(--amber-dk)); color:var(--navy); font-family:var(--ral); font-weight:800; font-size:10px; text-transform:uppercase; letter-spacing:.07em; padding:4px 11px; border-radius:999px; margin:0 0 7px; box-shadow:0 2px 6px rgba(224,171,16,.45)}
.rank{font-family:var(--ral); font-weight:800; color:#fff; background:linear-gradient(135deg,var(--blue),var(--blue-2)); width:40px;height:40px;border-radius:50%; display:flex;align-items:center;justify-content:center; font-size:17px; box-shadow:0 3px 8px rgba(0,106,179,.35); border:2px solid rgba(255,255,255,.7)}
.toplist tr.row:nth-child(1) .rank{background:linear-gradient(135deg,var(--amber),var(--amber-dk)); color:var(--navy); box-shadow:0 3px 10px rgba(224,171,16,.5)}
.brandcell{min-width:180px}
.brandcell .bname{font-family:var(--ral); font-weight:800; font-size:17px; color:var(--navy)}
.brandcell .bname:hover{color:var(--blue); text-decoration:none}
.brandcell .btag{display:block; font-size:12.5px; color:var(--muted); margin-top:1px}
.brandcell .restr{display:block; font-size:11px; color:#9a6b00; margin-top:4px; font-weight:600}
.logo-chip{width:176px;height:96px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6), 0 2px 8px rgba(20,50,79,.08)}
.initials{width:176px;height:96px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ral);font-weight:800;font-size:27px;letter-spacing:.04em;box-shadow:0 2px 8px rgba(20,50,79,.2)}
.bonus{font-family:var(--ral); font-weight:800; color:#5a4a00; background:linear-gradient(180deg,#fff4a8,var(--amber)); padding:13px 12px; border-radius:10px; text-align:center; font-size:17px; line-height:1.15; letter-spacing:-.02em; white-space:nowrap; border:1px solid var(--amber-dk); box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 1px 3px rgba(224,171,16,.25); text-shadow:0 1px 0 rgba(255,255,255,.45)}
.bonus small{display:block; font-weight:800; color:#7a6a2a; font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; margin-top:4px; text-shadow:none}
.cta{display:inline-block; position:relative; background:linear-gradient(180deg,var(--green-lt),var(--green)); color:#06351b !important; font-family:var(--ral); font-weight:800; letter-spacing:.02em; padding:14px 24px; border-radius:10px; text-align:center; white-space:nowrap; border:1px solid var(--green-dk); text-shadow:0 1px 0 rgba(255,255,255,.35); box-shadow:0 0 0 3px rgba(34,197,94,.18), 0 6px 18px rgba(34,197,94,.45), inset 0 1px 0 rgba(255,255,255,.55); animation:ctaGlow 2.6s ease-in-out infinite; transition:transform .14s, box-shadow .14s, filter .14s}
.cta:hover{transform:translateY(-2px); filter:brightness(1.05); animation:none; box-shadow:0 0 0 4px rgba(34,197,94,.22), 0 10px 26px rgba(34,197,94,.6), inset 0 1px 0 rgba(255,255,255,.55); text-decoration:none}
.cta.sm{padding:10px 16px; font-size:13.5px; animation:none; box-shadow:0 0 0 2px rgba(34,197,94,.14), 0 3px 10px rgba(34,197,94,.38)}
@keyframes ctaGlow{0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,.16), 0 6px 16px rgba(34,197,94,.38), inset 0 1px 0 rgba(255,255,255,.55)}50%{box-shadow:0 0 0 5px rgba(34,197,94,.26), 0 8px 24px rgba(34,197,94,.6), inset 0 1px 0 rgba(255,255,255,.55)}}
@media (prefers-reduced-motion:reduce){.cta{animation:none}}
.readrev{font-size:12px; color:var(--muted)}
.ratecell{text-align:center; font-family:var(--ral); color:var(--navy); font-weight:800; font-size:19px}
.ratecell small{display:block; color:var(--muted); font-weight:600; font-size:11px}

/* ---------- generic tables ---------- */
table.data{width:100%; border-collapse:separate; border-spacing:0; margin:14px 0 22px; font-size:15px; border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:var(--sh-sm)}
table.data th{background:linear-gradient(180deg,var(--navy),var(--navy-dk)); color:#fff; text-align:left; padding:12px 13px; font-family:var(--ral); font-size:13px; font-weight:700; letter-spacing:.02em}
table.data td{padding:11px 13px; border-bottom:1px solid var(--line); vertical-align:top}
table.data tr:last-child td{border-bottom:0}
table.data tbody tr:nth-child(even) td{background:var(--cream)}
table.data tbody tr:hover td{background:#eef3f8}

/* ---------- review blocks / pros-cons ---------- */
.opblock{border:1px solid var(--line); border-radius:12px; padding:20px 22px; margin:0 0 18px; background:#fff; box-shadow:var(--sh-sm); transition:box-shadow .16s}
.opblock:hover{box-shadow:var(--sh)}
.opblock .head{display:flex; align-items:center; gap:15px; flex-wrap:wrap}
.opblock .head h3{margin:0}
.author-pic{width:84px; height:84px; border-radius:50%; object-fit:cover; border:3px solid #fff; box-shadow:0 2px 8px rgba(20,50,79,.18); flex:0 0 auto}
.proscons{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0}
.proscons>div{border:1px solid var(--line); border-radius:10px; padding:14px 16px; background:var(--cream)}
.proscons ul{margin:8px 0 0; padding-left:20px}
.pros li{color:#155e3a; margin:3px 0} .cons li{color:#a23a12; margin:3px 0}
.proscons h4{margin:0; font-size:15px; text-transform:uppercase; letter-spacing:.04em}
.pros h4{color:var(--ok)} .cons h4{color:#b4521e}
.pros>div,.proscons .pros{border-top:3px solid var(--green)}

/* ---------- FAQ ---------- */
.faq details{border:1px solid var(--line); border-radius:10px; margin:0 0 10px; background:#fff; padding:0 18px; box-shadow:var(--sh-sm); transition:box-shadow .15s}
.faq details[open]{box-shadow:var(--sh)}
.faq summary{font-family:var(--ral); font-weight:700; color:var(--navy); cursor:pointer; padding:15px 28px 15px 0; font-size:16px; list-style:none; position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:0; top:12px; font-size:22px; font-weight:700; color:var(--blue); transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq p{margin:13px 0}

/* ---------- callouts ---------- */
.callout{background:var(--cream); border-left:4px solid var(--blue); padding:14px 18px; border-radius:var(--radius-sm); margin:16px 0; box-shadow:var(--sh-sm)}
.callout.legal{border-left-color:var(--amber-dk)}
.rg{background:linear-gradient(180deg,#fff8e6,#fff);border:1px solid #f0e2b0;border-radius:10px;padding:16px 18px;font-size:14px; box-shadow:var(--sh-sm)}
.keyfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.keyfacts div{background:linear-gradient(180deg,#fff,var(--cream));border:1px solid var(--line);border-radius:12px;padding:16px 12px;text-align:center;box-shadow:var(--sh-sm)}
.keyfacts b{display:block;font-family:var(--ral);color:var(--blue);font-size:24px;font-weight:800;line-height:1}
.keyfacts span{font-size:12px;color:var(--muted);margin-top:5px;display:block}

/* ---------- footer ---------- */
footer.site{background:linear-gradient(180deg,var(--navy),var(--navy-dk)); color:#c5d2df; margin-top:40px; padding:40px 0 22px; font-size:14px; border-top:4px solid; border-image:linear-gradient(90deg,var(--blue),var(--green),var(--yellow)) 1}
footer.site .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:26px}
footer.site h4{color:#fff; font-family:var(--ral); font-size:14px; margin:0 0 12px; text-transform:uppercase; letter-spacing:.06em; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.10)}
footer.site a{color:#c5d2df; display:block; padding:4px 0; transition:color .14s, padding-left .14s}
footer.site a:hover{color:var(--yellow); padding-left:4px; text-decoration:none}
footer.site .fbrand{font-family:var(--ral);font-weight:800;color:#fff;font-size:18px}
footer.site .legal{border-top:1px solid rgba(255,255,255,.10); margin-top:24px; padding-top:16px; font-size:12.5px; color:#8ba0b6}
.rg-line{color:var(--yellow); font-weight:600}

/* ---------- breadcrumb ---------- */
.crumb{font-size:13px; color:var(--muted); padding:12px 0}
.crumb a{color:var(--blue)} .crumb a:hover{color:var(--navy)}

/* ---------- mobile ---------- */
@media (max-width:980px){ footer.site .cols{grid-template-columns:1fr 1fr} .keyfacts{grid-template-columns:1fr 1fr} }
@media (max-width:768px){
  body{font-size:16px}
  .hamburger{display:block}
  .nav ul{display:none; position:absolute; top:68px; left:0; right:0; background:var(--navy); flex-direction:column; gap:0; padding:10px 14px 18px; box-shadow:var(--sh-lg); border-top:1px solid rgba(255,255,255,.08)}
  .nav ul.open{display:flex}
  .nav li{width:100%; border-bottom:1px solid rgba(255,255,255,.08)}
  .nav>ul>li>a{border-radius:0; padding:13px 6px}
  .nav .sub{position:static; box-shadow:none; background:transparent; padding:0 0 8px 14px; border:0}
  .nav .sub::before{display:none}
  .nav .sub a{color:#cfe0ff}
  .nav .has-sub:hover .sub{display:none}
  .nav .has-sub.open .sub{display:flex}
  .crumb{padding:5px 0; font-size:12px}
  .hero{padding:13px 0 10px}
  .hero h1{font-size:21px; margin-bottom:6px; line-height:1.18}
  .hero p.lead{font-size:14.5px; margin-bottom:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
  .hero p.lead.lead-expanded{-webkit-line-clamp:initial; overflow:visible}
  .lead-more{display:inline-block; background:none; border:0; padding:0 0 8px; margin:0; color:var(--yellow); font-family:var(--ral); font-weight:700; font-size:13px; text-decoration:underline; cursor:pointer}
  .hero-date{margin-bottom:8px; padding:4px 10px; font-size:11px}
  .card{padding:16px 16px}
  section h2,.card h2{font-size:19px; margin:10px 0 7px}
  main{padding:14px 0 10px}
  /* surface the first toplist CTA on landing: hide the lead-in paragraph above the toplist on mobile */
  p:has(+ table.toplist){display:none}
  .card > .byline:first-child{font-size:12.5px; margin-bottom:6px}
  p{max-width:none}
  .proscons{grid-template-columns:1fr}
  footer.site .cols{grid-template-columns:1fr 1fr}
  /* toplist -> stacked premium cards */
  .toplist tr.row{display:block; padding:18px 16px; margin-bottom:16px; border:1px solid var(--line); border-left:5px solid var(--blue); border-radius:14px; box-shadow:var(--sh)}
  .toplist tr.row:hover{transform:none; box-shadow:var(--sh)}
  .toplist tr.row:nth-child(1){border:1px solid var(--amber-dk); border-left:5px solid var(--amber-dk); box-shadow:var(--sh)}
  .toplist tr.row:nth-child(2){border-left:5px solid var(--green)}
  .toplist tr.row:nth-child(3){border-left:5px solid var(--navy)}
  .toplist td{display:block; border:0 !important; padding:7px 0; text-align:center}
  .toplist tr.row{padding:10px 12px 12px; margin-bottom:11px; position:relative}
  .toplist td{padding:2px 0}
  .toplist td:last-child{box-shadow:none; border-radius:0}
  /* rank becomes a corner badge so it doesn't consume a full row → CTA rises into the fold */
  .toplist td:first-child{position:absolute; top:9px; left:9px; width:auto; padding:0; box-shadow:none; border-radius:0; z-index:2}
  .toplist .rank{width:30px; height:30px; font-size:14px; margin:0; border-width:2px}
  .epick{margin:0 auto 4px}
  .logo-chip,.initials{margin:1px auto; width:104px;height:56px}
  .brandcell .restr{margin-top:3px}
  .brandcell .btag{margin-top:0}
  .bonus{font-size:18px; padding:10px}
  .ratecell{font-size:16px}
  .cta{display:block; width:100%; padding:13px; margin-top:4px}
}
