/* ============================================================================
   BEST SLOTS USA — design system
   Applies site-wide (loaded from the child theme custom.css region).
   Page content is authored inside .lsb-page > .lsb-wrap so component styles are
   scoped and never leak into theme chrome (header/footer/menus).
   ============================================================================ */

:root{
  --navy:#0A2540;
  --navy-2:#12345C;
  --red:#D91E2A;
  --red-dark:#A8151F;
  --blue:#1B6FC4;
  --blue-tint:#EAF2FB;
  --paper:#FFFFFF;
  --mist:#F4F7FB;
  --line:#DDE5EE;
  --ink:#14202E;
  --slate:#5A6B7E;
  --gold:#E7A400;
  --green:#1F8A54;
  --shell:1280px;
  --pad:clamp(16px,4vw,40px);
  --radius:14px;
  --shadow:0 1px 2px rgba(10,37,64,.06),0 6px 20px rgba(10,37,64,.08);
  --shadow-lg:0 10px 40px rgba(10,37,64,.14);
  --sans:"Inter","Helvetica Neue",Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --display:"Inter","Helvetica Neue",Arial,sans-serif;
}

/* ---- Shell: 1280px wide, flag-stripe side borders -------------------------- */
.lsb-page{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
.lsb-wrap{
  max-width:var(--shell);
  margin:0 auto;
  padding:0 var(--pad) 72px;
  position:relative;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  background:
    linear-gradient(var(--navy),var(--navy)) left/3px 100% no-repeat,
    linear-gradient(var(--red),var(--red)) calc(3px) 0/3px 100% no-repeat,
    linear-gradient(var(--blue),var(--blue)) calc(6px) 0/3px 100% no-repeat,
    linear-gradient(var(--navy),var(--navy)) right/3px 100% no-repeat,
    linear-gradient(var(--red),var(--red)) right 3px top/3px 100% no-repeat,
    linear-gradient(var(--blue),var(--blue)) right 6px top/3px 100% no-repeat;
}
@media(max-width:820px){
  .lsb-wrap{border:none;background:none;}
}

/* ---- Base typography ------------------------------------------------------- */
.lsb-wrap h1,.lsb-wrap h2,.lsb-wrap h3,.lsb-wrap h4{
  font-family:var(--display);
  color:var(--navy);
  line-height:1.15;
  letter-spacing:-.02em;
  font-weight:800;
  margin:0 0 .5em;
}
.lsb-wrap p{margin:0 0 1.1em;}
.lsb-wrap a{color:var(--blue);text-decoration:none;font-weight:600;}
.lsb-wrap a:hover{text-decoration:underline;}
.lsb-wrap strong{color:var(--navy);font-weight:700;}

/* ---- Section rhythm -------------------------------------------------------- */
.lsb-section{padding:34px 0;border-top:1px solid var(--line);}
.lsb-section:first-of-type{border-top:none;}
.lsb-section > h2{
  font-size:clamp(24px,3.4vw,34px);
  padding-bottom:.35em;
  position:relative;
}
.lsb-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--red);margin-bottom:10px;
}
.lsb-eyebrow::before{content:"";width:22px;height:3px;background:var(--red);border-radius:2px;}

/* ============================================================================
   HERO
   ============================================================================ */
.lsb-hero{
  margin:0 calc(-1 * var(--pad));
  padding:56px var(--pad) 44px;
  background:
    radial-gradient(120% 140% at 85% -10%,rgba(27,111,196,.20),transparent 55%),
    linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.lsb-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px);
  background-size:22px 22px;mask:linear-gradient(180deg,#000,transparent 70%);
}
.lsb-hero-inner{position:relative;max-width:820px;}
.lsb-hero .lsb-eyebrow{color:#7FB6EF;}
.lsb-hero .lsb-eyebrow::before{background:var(--red);}
.lsb-hero h1{
  color:#fff;font-size:clamp(30px,5.2vw,50px);line-height:1.05;
  margin:0 0 .35em;letter-spacing:-.03em;
}
.lsb-hero h1 .accent{color:#FF5A63;}
.lsb-hero-lede{font-size:clamp(17px,2.2vw,20px);color:#C9D8EA;line-height:1.6;margin:0;}
.lsb-hero-stats{
  display:flex;flex-wrap:wrap;gap:28px;margin-top:26px;
  padding-top:22px;border-top:1px solid rgba(255,255,255,.14);
}
.lsb-hero-stat b{display:block;font-size:26px;font-weight:800;color:#fff;line-height:1;}
.lsb-hero-stat span{font-size:12.5px;color:#9FB6D0;text-transform:uppercase;letter-spacing:.08em;}

/* ============================================================================
   FEATURED CASINO CARDS (hero cards — 4 up)
   ============================================================================ */
.lsb-featured{
  margin:-34px calc(-1 * var(--pad)) 0;
  padding:0 var(--pad);
  position:relative;z-index:3;
}
.lsb-featured-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
@media(max-width:900px){.lsb-featured-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lsb-featured-grid{grid-template-columns:1fr;}}

.lsb-fcard{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;
  position:relative;transition:transform .16s ease,box-shadow .16s ease;
}
.lsb-fcard:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(10,37,64,.20);}
.lsb-fcard-top{padding:16px 16px 0;display:flex;align-items:flex-start;justify-content:space-between;}
.lsb-rank{
  font-family:var(--display);font-weight:800;font-size:13px;color:#fff;
  background:var(--navy);border-radius:8px;padding:4px 9px;letter-spacing:.02em;
}
.lsb-fcard.is-top .lsb-rank{background:var(--red);}
.lsb-tag{
  font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;
}
.lsb-tag.legal{background:var(--blue-tint);color:var(--blue);border:1px solid #BEDBF5;}
.lsb-tag.offshore{background:#FDECEC;color:var(--red);border:1px solid #F6C9CC;}
.lsb-fcard-body{padding:14px 16px 0;flex:1;}
.lsb-fcard-name{font-size:19px;font-weight:800;color:var(--navy);margin:8px 0 2px;letter-spacing:-.01em;}
.lsb-fcard-sub{font-size:13px;color:var(--slate);margin:0 0 12px;font-weight:600;}
.lsb-fcard-offer{
  background:var(--mist);border:1px dashed var(--line);border-radius:10px;
  padding:10px 12px;margin-bottom:12px;
}
.lsb-fcard-offer b{display:block;font-size:15px;color:var(--navy);line-height:1.25;}
.lsb-fcard-offer span{font-size:11.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.06em;}
.lsb-states{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px;}
.lsb-badge{
  font-size:11px;font-weight:800;color:var(--navy-2);
  background:#EDF2F8;border:1px solid var(--line);border-radius:6px;padding:2px 7px;letter-spacing:.03em;
}
.lsb-fcard-cta{padding:0 16px 16px;}

/* ---- Buttons (site-wide) --------------------------------------------------- */
.btn-red,.btn-navy,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.01em;
  padding:12px 18px;border-radius:10px;cursor:pointer;transition:.15s ease;
  text-decoration:none !important;line-height:1;text-align:center;
}
.btn-full-width{width:100%;}
.btn-red{background:var(--red);color:#fff !important;box-shadow:0 4px 12px rgba(217,30,42,.28);}
.btn-red:hover{background:var(--red-dark);transform:translateY(-1px);}
.btn-navy{background:var(--navy);color:#fff !important;}
.btn-navy:hover{background:var(--navy-2);}
.btn-ghost{background:transparent;color:var(--navy) !important;border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--navy);background:var(--mist);}
.btn-red::after{content:"→";font-size:16px;transition:transform .15s ease;}
.btn-red:hover::after{transform:translateX(3px);}

/* ============================================================================
   QUICK-FACTS BOX
   ============================================================================ */
.lsb-facts{
  background:var(--mist);border:1px solid var(--line);border-left:4px solid var(--blue);
  border-radius:12px;padding:20px 22px;margin:22px 0;
}
.lsb-facts-title{
  display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;
  color:var(--navy);font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;
}
.lsb-facts-title::before{
  content:"i";display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;
  font-size:13px;font-weight:800;font-style:italic;flex:none;
}
.lsb-facts ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.lsb-facts li{position:relative;padding-left:26px;line-height:1.5;font-size:15.5px;}
.lsb-facts li::before{
  content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:4px;
  background:var(--blue-tint);border:2px solid var(--blue);
}
.lsb-facts li b{color:var(--navy);}

/* ============================================================================
   COMPARISON TABLE (responsive → stacked cards on mobile)
   ============================================================================ */
.lsb-table-wrap{
  margin:24px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow);
}
.lsb-table-head{
  background:var(--navy);color:#fff;padding:15px 20px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;
}
.lsb-table-head h3{color:#fff;margin:0;font-size:17px;letter-spacing:-.01em;}
.lsb-table-head .lsb-note{font-size:12.5px;color:#9FB6D0;font-weight:600;}
table.lsb-table{width:100%;border-collapse:collapse;background:#fff;font-size:15px;}
table.lsb-table thead th{
  background:#F0F4F9;color:var(--navy);text-align:left;font-weight:800;
  font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;
  padding:12px 16px;border-bottom:2px solid var(--line);white-space:nowrap;
}
table.lsb-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;}
table.lsb-table tbody tr:last-child td{border-bottom:none;}
table.lsb-table tbody tr:nth-child(even){background:#FAFCFE;}
table.lsb-table tbody tr:hover{background:var(--blue-tint);}
.lsb-t-rank{font-family:var(--display);font-weight:800;color:#fff;background:var(--navy);
  border-radius:7px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;}
tr:first-child .lsb-t-rank{background:var(--red);}
.lsb-t-name{font-weight:800;color:var(--navy);font-size:15.5px;}
.lsb-t-name small{display:block;font-weight:600;color:var(--slate);font-size:12.5px;margin-top:1px;}
.lsb-t-states{display:flex;flex-wrap:wrap;gap:4px;}
.lsb-t-states .lsb-badge{font-size:10.5px;padding:2px 6px;}
.lsb-t-offer{font-weight:700;color:var(--navy);font-size:14px;}
.lsb-t-cta a{
  display:inline-flex;align-items:center;gap:5px;background:var(--red);color:#fff !important;
  font-weight:800;font-size:13.5px;padding:9px 15px;border-radius:8px;white-space:nowrap;
  text-decoration:none !important;transition:.15s;
}
.lsb-t-cta a:hover{background:var(--red-dark);}
.lsb-t-cta a::after{content:"→";}
.lsb-stars{color:var(--gold);font-size:14px;letter-spacing:1px;white-space:nowrap;}
.lsb-stars small{color:var(--slate);font-size:12px;margin-left:4px;}

@media(max-width:820px){
  table.lsb-table thead{display:none;}
  table.lsb-table,table.lsb-table tbody,table.lsb-table tr,table.lsb-table td{display:block;width:100%;}
  table.lsb-table tr{
    border:1px solid var(--line);border-radius:12px;margin:12px;padding:6px 4px;
    box-shadow:var(--shadow);background:#fff !important;
  }
  table.lsb-table td{
    border:none;padding:8px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;
  }
  table.lsb-table td::before{
    content:attr(data-label);font-weight:800;color:var(--slate);font-size:11.5px;
    text-transform:uppercase;letter-spacing:.05em;flex:none;
  }
  table.lsb-table td .lsb-t-states,table.lsb-table td .lsb-t-cta{justify-content:flex-end;}
  .lsb-t-cta a{width:auto;}
}

/* ---- Offshore table accent variant ---------------------------------------- */
.lsb-table-wrap.offshore .lsb-table-head{background:linear-gradient(90deg,var(--red-dark),var(--red));}
.lsb-table-wrap.offshore table.lsb-table tbody tr:hover{background:#FDECEC;}
.lsb-table-wrap.offshore tr:first-child .lsb-t-rank{background:var(--red);}
.lsb-badge.na{background:#F3F5F8;color:var(--slate);}
.lsb-t-cta a.review{background:#fff !important;color:var(--navy) !important;border:1.5px solid var(--line);}
.lsb-t-cta a.review:hover{border-color:var(--navy);background:var(--mist) !important;}
.lsb-t-cta a.review::after{content:"›";}

/* ============================================================================
   FULL-WIDTH SHORT REVIEW BOXES
   ============================================================================ */
.lsb-review{
  display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;
  border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin:16px 0;
  background:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.lsb-review::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--navy);}
.lsb-review.offshore::before{background:var(--red);}
.lsb-review.is-top::before{background:var(--red);}
.lsb-rev-rank{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:74px;height:74px;border-radius:14px;background:var(--navy);color:#fff;flex:none;
}
.lsb-review.offshore .lsb-rev-rank{background:var(--red);}
.lsb-review.is-top .lsb-rev-rank{background:var(--red);}
.lsb-rev-rank b{font-family:var(--display);font-size:28px;line-height:1;font-weight:800;}
.lsb-rev-rank span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin-top:3px;}
.lsb-rev-main{min-width:0;}
.lsb-rev-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.lsb-rev-name{font-family:var(--display);font-size:20px;font-weight:800;color:var(--navy);letter-spacing:-.01em;}
.lsb-rev-stars{color:var(--gold);font-size:15px;letter-spacing:1px;}
.lsb-rev-stars small{color:var(--slate);font-size:12.5px;margin-left:4px;letter-spacing:0;}
.lsb-rev-body{font-size:15px;color:var(--ink);line-height:1.6;margin:0 0 10px;}
.lsb-rev-tags{display:flex;flex-wrap:wrap;gap:6px;}
.lsb-chip{
  font-size:11.5px;font-weight:700;color:var(--navy-2);background:#EDF2F8;
  border:1px solid var(--line);border-radius:999px;padding:3px 10px;
}
.lsb-chip.good{background:#E9F6EF;color:var(--green);border-color:#BFE6CF;}
.lsb-rev-cta{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:170px;}
.lsb-rev-offer{text-align:center;font-size:12.5px;color:var(--slate);font-weight:700;}
.lsb-rev-offer b{display:block;color:var(--navy);font-size:15px;}
@media(max-width:760px){
  .lsb-review{grid-template-columns:auto 1fr;gap:16px;}
  .lsb-rev-cta{grid-column:1/-1;min-width:0;}
  .lsb-rev-cta .btn-red{width:100%;}
}

/* ============================================================================
   SIDE-BY-SIDE BOXES (2 / 3 / 4 column)
   ============================================================================ */
.lsb-sxs{display:grid;gap:16px;margin:22px 0;}
.lsb-sxs.cols-2{grid-template-columns:repeat(2,1fr);}
.lsb-sxs.cols-3{grid-template-columns:repeat(3,1fr);}
.lsb-sxs.cols-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:860px){.lsb-sxs.cols-3,.lsb-sxs.cols-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.lsb-sxs{grid-template-columns:1fr !important;}}
.lsb-box{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;
  border-top:3px solid var(--blue);box-shadow:var(--shadow);
}
.lsb-box.accent-red{border-top-color:var(--red);}
.lsb-box.accent-navy{border-top-color:var(--navy);}
.lsb-box.accent-green{border-top-color:var(--green);}
.lsb-box.fill{background:var(--mist);}
.lsb-box-icon{
  width:40px;height:40px;border-radius:10px;background:var(--blue-tint);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;margin-bottom:12px;
}
.lsb-box.accent-red .lsb-box-icon{background:#FDECEC;color:var(--red);}
.lsb-box.accent-navy .lsb-box-icon{background:#EAEEF4;color:var(--navy);}
.lsb-box.accent-green .lsb-box-icon{background:#E9F6EF;color:var(--green);}
.lsb-box h4{font-size:16px;margin:0 0 8px;color:var(--navy);}
.lsb-box p{font-size:14.5px;color:var(--ink);margin:0;line-height:1.55;}
.lsb-box ul{margin:8px 0 0;padding-left:18px;font-size:14.5px;line-height:1.55;}
.lsb-box .big{font-family:var(--display);font-size:30px;font-weight:800;color:var(--navy);line-height:1;display:block;margin-bottom:4px;}
.lsb-box.accent-red .big{color:var(--red);}

/* ============================================================================
   CALLOUT / WARNING / TIP STRIP
   ============================================================================ */
.lsb-callout{
  display:flex;gap:14px;padding:16px 20px;border-radius:12px;margin:20px 0;
  background:#FFF7ED;border:1px solid #F5D9A8;
}
.lsb-callout.warn{background:#FDECEC;border-color:#F6C9CC;}
.lsb-callout.tip{background:#E9F6EF;border-color:#BFE6CF;}
.lsb-callout-ico{font-size:20px;flex:none;line-height:1.4;}
.lsb-callout p{margin:0;font-size:14.5px;line-height:1.55;}
.lsb-callout b{color:var(--navy);}

/* ============================================================================
   FAQ (details/summary)
   ============================================================================ */
.lsb-faq{margin:20px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.lsb-faq details{border-bottom:1px solid var(--line);}
.lsb-faq details:last-child{border-bottom:none;}
.lsb-faq summary{
  cursor:pointer;padding:16px 20px;font-family:var(--display);font-weight:700;
  color:var(--navy);font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.lsb-faq summary::-webkit-details-marker{display:none;}
.lsb-faq summary::after{content:"+";font-size:22px;color:var(--blue);font-weight:400;flex:none;}
.lsb-faq details[open] summary::after{content:"–";}
.lsb-faq details[open] summary{background:var(--mist);}
.lsb-faq-body{padding:0 20px 18px;font-size:15px;line-height:1.6;color:var(--ink);}

/* ============================================================================
   SECTION BAND (alternating tint for rhythm)
   ============================================================================ */
.lsb-band{background:var(--mist);margin:0 calc(-1 * var(--pad));padding:0 var(--pad);border-top:1px solid var(--line);}
.lsb-band .lsb-section{border-top:none;}

/* ---- Anchor offset so jump links clear any sticky theme header ------------- */
.lsb-section{scroll-margin-top:90px;}

/* ---- utility classes (replace inline styles; contract: class-only) --------- */
.lsb-facts.facts-red{border-left-color:var(--red);}
.lsb-section.sec-topline{border-top:2px solid var(--line);}
.lsb-t-offer.muted{color:var(--slate);font-weight:600;}

/* ============================================================================
   OVERHAUL ADDITIONS — richer visuals, CTAs, state cards, image bands
   ============================================================================ */

/* ---- Hero: full-width content, two-paragraph intro, image ----------------- */
.lsb-hero-inner{max-width:none;}
.lsb-hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:40px;align-items:center;}
@media(max-width:900px){.lsb-hero-grid{grid-template-columns:1fr;gap:24px;}}
.lsb-hero-lede-group p{font-size:clamp(15.5px,1.9vw,18px);color:#C9D8EA;line-height:1.62;margin:0 0 14px;}
.lsb-hero-lede-group p:first-of-type{color:#E8F0FA;font-size:clamp(16px,2vw,19px);}
.lsb-hero-art{display:flex;justify-content:center;}
.lsb-hero-art img,.lsb-hero-art svg{width:100%;max-width:360px;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));}
.lsb-hero-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--navy)!important;
  font-family:var(--display);font-weight:800;font-size:15px;padding:12px 20px;border-radius:10px;
  text-decoration:none!important;transition:.15s;}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25);}

/* ---- Section CTA band (drives to state/review/article pages) -------------- */
.lsb-cta-band{
  display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;
  background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;
  border-radius:16px;padding:24px 28px;margin:26px 0;position:relative;overflow:hidden;
}
.lsb-cta-band.red{background:linear-gradient(120deg,var(--red-dark),var(--red));}
.lsb-cta-band::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;
  border-radius:50%;background:rgba(255,255,255,.06);}
.lsb-cta-band-txt h3{color:#fff;margin:0 0 4px;font-size:19px;}
.lsb-cta-band-txt p{margin:0;color:#C9D8EA;font-size:14.5px;}
.lsb-cta-band.red .lsb-cta-band-txt p{color:#FBD9DC;}
.lsb-cta-band .btn-white{white-space:nowrap;}
@media(max-width:640px){.lsb-cta-band{grid-template-columns:1fr;}}

/* ---- Inline link-pill row (mini CTAs to many pages) ----------------------- */
.lsb-pills{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;}
.lsb-pill{
  display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;
  color:var(--navy);background:#fff;border:1.5px solid var(--line);border-radius:999px;
  padding:7px 14px;text-decoration:none!important;transition:.14s;
}
.lsb-pill:hover{border-color:var(--blue);background:var(--blue-tint);color:var(--blue);}
.lsb-pill::before{content:"›";color:var(--blue);font-weight:800;}

/* ---- Stat strip (big numbers band) ---------------------------------------- */
.lsb-statstrip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);
  border-radius:14px;overflow:hidden;margin:24px 0;border:1px solid var(--line);
}
@media(max-width:640px){.lsb-statstrip{grid-template-columns:repeat(2,1fr);}}
.lsb-statstrip .cell{background:#fff;padding:20px 16px;text-align:center;}
.lsb-statstrip .cell b{display:block;font-family:var(--display);font-size:30px;font-weight:800;
  color:var(--navy);line-height:1;}
.lsb-statstrip .cell.red b{color:var(--red);}
.lsb-statstrip .cell span{font-size:12.5px;color:var(--slate);text-transform:uppercase;
  letter-spacing:.05em;font-weight:700;margin-top:6px;display:block;}

/* ---- STATE FACT CARDS ------------------------------------------------------ */
.lsb-states-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0;}
@media(max-width:1000px){.lsb-states-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lsb-states-grid{grid-template-columns:1fr;}}
.lsb-state-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s;display:flex;flex-direction:column;
}
.lsb-state-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.lsb-state-head{
  background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;
  padding:16px 18px;display:flex;align-items:center;gap:12px;
}
.lsb-state-abbr{
  font-family:var(--display);font-weight:800;font-size:20px;color:#fff;
  background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.28);
  border-radius:10px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;flex:none;
}
.lsb-state-head .nm{font-family:var(--display);font-weight:800;font-size:16px;line-height:1.1;}
.lsb-state-head .nm small{display:block;font-size:11px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-top:2px;text-transform:uppercase;}
.lsb-state-body{padding:14px 18px;flex:1;}
.lsb-state-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.lsb-state-fact{background:var(--mist);border-radius:8px;padding:8px 10px;}
.lsb-state-fact b{display:block;font-family:var(--display);font-size:15px;color:var(--navy);line-height:1.1;}
.lsb-state-fact span{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.04em;font-weight:700;}
.lsb-state-note{font-size:13px;color:var(--ink);line-height:1.5;margin:0 0 12px;}
.lsb-state-card .lsb-state-cta{padding:0 18px 16px;margin-top:auto;}
.lsb-state-card .lsb-state-cta a{
  display:block;text-align:center;background:var(--mist);color:var(--navy)!important;
  border:1.5px solid var(--line);border-radius:9px;padding:9px;font-weight:800;font-size:13.5px;
  text-decoration:none!important;transition:.14s;
}
.lsb-state-card .lsb-state-cta a:hover{background:var(--navy);color:#fff!important;border-color:var(--navy);}
.lsb-state-card.pending .lsb-state-head{background:linear-gradient(120deg,#6A4A00,#8A6400);}

/* ---- Image band (illustration + text) ------------------------------------- */
.lsb-imgband{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin:26px 0;}
.lsb-imgband.rev{direction:rtl;}.lsb-imgband.rev>*{direction:ltr;}
@media(max-width:760px){.lsb-imgband{grid-template-columns:1fr;}}
.lsb-imgband-art{background:var(--mist);border:1px solid var(--line);border-radius:16px;
  padding:28px;display:flex;align-items:center;justify-content:center;}
.lsb-imgband-art img,.lsb-imgband-art svg{width:100%;max-width:300px;}
.lsb-imgband-txt h3{margin-top:0;}

/* ---- Icon feature row (small icon cards) ---------------------------------- */
.lsb-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0;}
@media(max-width:800px){.lsb-features{grid-template-columns:1fr;}}
.lsb-feature{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);}
.lsb-feature img,.lsb-feature svg{width:38px;height:38px;flex:none;}
.lsb-feature h4{margin:0 0 4px;font-size:15px;}
.lsb-feature p{margin:0;font-size:13.5px;color:var(--slate);line-height:1.5;}

/* ---- Section divider with label ------------------------------------------- */
.lsb-section > h2{display:flex;align-items:center;gap:14px;}

/* ---- Provider logo grid (text-based chips) -------------------------------- */
.lsb-providers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0;}
@media(max-width:700px){.lsb-providers{grid-template-columns:repeat(2,1fr);}}
.lsb-provider{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 12px;
  text-align:center;font-family:var(--display);font-weight:800;color:var(--navy);font-size:14px;
  box-shadow:var(--shadow);transition:.14s;}
.lsb-provider:hover{border-color:var(--blue);color:var(--blue);}
.lsb-provider small{display:block;font-weight:600;color:var(--slate);font-size:11px;margin-top:3px;letter-spacing:.02em;}

/* ---- Comparison two-up (legal vs offshore) -------------------------------- */
.lsb-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;margin:24px 0;
  border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);}
@media(max-width:640px){.lsb-vs{grid-template-columns:1fr;}}
.lsb-vs-col{padding:22px 24px;background:#fff;}
.lsb-vs-col.legal{border-top:4px solid var(--blue);}
.lsb-vs-col.off{border-top:4px solid var(--red);}
.lsb-vs-col h4{font-size:16px;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.lsb-vs-col ul{list-style:none;margin:0;padding:0;}
.lsb-vs-col li{position:relative;padding-left:24px;margin-bottom:9px;font-size:14px;line-height:1.5;}
.lsb-vs-col li::before{position:absolute;left:0;top:0;font-weight:800;}
.lsb-vs-col.legal li::before{content:"✓";color:var(--green);}
.lsb-vs-col.off li.con::before{content:"✕";color:var(--red);}
.lsb-vs-col.off li::before{content:"✓";color:var(--green);}
.lsb-vs-col li.con::before{content:"✕";color:var(--red);}
.lsb-vs-divider{background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:800;font-size:15px;padding:0 14px;letter-spacing:.05em;}
@media(max-width:640px){.lsb-vs-divider{padding:10px;}}

/* ============================================================================
   STATE PAGES — status hero, at-a-glance, land-based, interactive map
   ============================================================================ */

/* ---- Status hero band (color-coded by legal status) ----------------------- */
.lsb-state-hero{
  margin:0 calc(-1 * var(--pad));
  padding:44px var(--pad) 40px;
  color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
}
.lsb-state-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.4px);
  background-size:22px 22px;mask:linear-gradient(180deg,#000,transparent 75%);
}
.lsb-state-hero.status-legal{background:linear-gradient(135deg,#0A3D26 0%,#0A2540 70%);}
.lsb-state-hero.status-pending{background:linear-gradient(135deg,#5A4200 0%,#0A2540 70%);}
.lsb-state-hero.status-restricted{background:linear-gradient(135deg,#4A1114 0%,#0A2540 70%);}
.lsb-state-hero-inner{position:relative;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;}
@media(max-width:760px){.lsb-state-hero-inner{grid-template-columns:1fr;}}
.lsb-state-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-state-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-state-hero .crumb a:hover{color:#fff;}
.lsb-state-hero h1{color:#fff;font-size:clamp(28px,4.4vw,44px);line-height:1.06;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-state-hero h1 .accent{color:#FF5A63;}
.lsb-state-hero-lede{font-size:clamp(16px,2vw,18px);color:#C9D8EA;line-height:1.6;margin:0;max-width:640px;}
/* status pill */
.lsb-status-pill{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;
  font-size:13px;letter-spacing:.03em;padding:8px 16px;border-radius:999px;margin-bottom:16px;
  background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);color:#fff;
}
.lsb-status-pill .dot{width:10px;height:10px;border-radius:50%;flex:none;}
.dot-legal{background:#39D98A;}.dot-offshore{background:#5AA9FF;}
.dot-pending{background:#FFC24B;}.dot-restricted{background:#FF6B72;}
/* hero status shield/emblem */
.lsb-state-emblem{
  width:150px;height:150px;border-radius:24px;flex:none;
  background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
}
.lsb-state-emblem .abbr{font-family:var(--display);font-weight:800;font-size:52px;color:#fff;line-height:1;letter-spacing:-.02em;}
.lsb-state-emblem .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9FB6D0;font-weight:700;}
@media(max-width:760px){.lsb-state-emblem{width:110px;height:110px;}.lsb-state-emblem .abbr{font-size:40px;}}

/* ---- At-a-glance fact grid ------------------------------------------------ */
.lsb-glance{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0;
}
@media(max-width:760px){.lsb-glance{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.lsb-glance{grid-template-columns:1fr;}}
.lsb-glance-item{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  border-left:4px solid var(--blue);box-shadow:var(--shadow);
}
.lsb-glance-item.yes{border-left-color:var(--green);}
.lsb-glance-item.no{border-left-color:var(--red);}
.lsb-glance-item.warn{border-left-color:var(--gold);}
.lsb-glance-item .k{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);font-weight:800;margin-bottom:5px;display:flex;align-items:center;gap:6px;}
.lsb-glance-item .v{font-size:15.5px;color:var(--navy);font-weight:600;line-height:1.4;}
.lsb-glance-item .ic{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex:none;}
.lsb-glance-item.yes .ic{background:var(--green);}
.lsb-glance-item.no .ic{background:var(--red);}
.lsb-glance-item.warn .ic{background:var(--gold);}
.lsb-glance-item.info .ic{background:var(--blue);}

/* ---- Land-based casino table (reuse lsb-table look) ----------------------- */
.lsb-lb-table td .slots-count{font-family:var(--display);font-weight:800;color:var(--navy);}
.lsb-lb-table .op-badge{font-size:11px;font-weight:700;color:var(--navy-2);background:#EDF2F8;border:1px solid var(--line);border-radius:6px;padding:2px 8px;white-space:nowrap;}

/* ---- Casino detail card (top-5 land-based, tribal detail) ------------------ */
.lsb-lb-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0;}
@media(max-width:700px){.lsb-lb-cards{grid-template-columns:1fr;}}
.lsb-lb-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow);position:relative;border-top:3px solid var(--navy);}
.lsb-lb-card .rank-badge{position:absolute;top:-12px;left:18px;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:13px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.lsb-lb-card h4{margin:6px 0 8px;font-size:16px;}
.lsb-lb-card .meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.lsb-lb-card .meta span{font-size:12px;font-weight:700;color:var(--slate);background:var(--mist);border-radius:6px;padding:3px 9px;}
.lsb-lb-card p{font-size:14px;margin:0;color:var(--ink);line-height:1.55;}

/* ---- Legal timeline (for legal-history sections) -------------------------- */
.lsb-timeline{margin:22px 0;padding-left:26px;border-left:2px solid var(--line);}
.lsb-timeline-item{position:relative;padding:0 0 20px 22px;}
.lsb-timeline-item::before{content:"";position:absolute;left:-33px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 1px var(--line);}
.lsb-timeline-item.win::before{background:var(--green);}
.lsb-timeline-item.fail::before{background:var(--red);}
.lsb-timeline-item .date{font-family:var(--display);font-weight:800;color:var(--navy);font-size:14px;}
.lsb-timeline-item p{margin:2px 0 0;font-size:14.5px;line-height:1.55;}

/* ============================================================================
   INTERACTIVE US MAP (hub page)
   ============================================================================ */
.lsb-map-wrap{margin:26px 0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;}
.lsb-map-head{background:var(--navy);color:#fff;padding:16px 22px;}
.lsb-map-head h3{color:#fff;margin:0 0 3px;font-size:18px;}
.lsb-map-head p{margin:0;color:#9FB6D0;font-size:13px;}
.lsb-map-legend{display:flex;flex-wrap:wrap;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line);background:var(--mist);}
.lsb-map-legend .leg{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--navy);}
.lsb-map-legend .sw{width:16px;height:16px;border-radius:4px;flex:none;border:1px solid rgba(0,0,0,.08);}
.sw-legal{background:#1F8A54;}.sw-offshore{background:#8FB8E0;}.sw-pending{background:#E7A400;}.sw-restricted{background:#C9424A;}
.lsb-map-svg{padding:18px 22px;}
.lsb-map-svg svg{width:100%;height:auto;display:block;}
.lsb-map-svg .st{stroke:#fff;stroke-width:1.2;transition:filter .12s,opacity .12s;cursor:pointer;}
.lsb-map-svg .st.legal{fill:#1F8A54;}
.lsb-map-svg .st.offshore{fill:#8FB8E0;}
.lsb-map-svg .st.pending{fill:#E7A400;}
.lsb-map-svg .st.restricted{fill:#C9424A;}
.lsb-map-svg a:hover .st{filter:brightness(1.12);}
.lsb-map-svg .st-abbr{fill:#fff;font-family:var(--display);font-size:9px;font-weight:700;text-anchor:middle;pointer-events:none;}
.lsb-map-svg .st-abbr.dark{fill:#0A2540;}
/* small-state leader labels on the right */
.lsb-map-svg .lead-line{stroke:#9FB6D0;stroke-width:1;}
.lsb-map-note{padding:0 22px 18px;font-size:12.5px;color:var(--slate);}

/* ---- State index quick grid (all states as chips) ------------------------- */
.lsb-state-index{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:22px 0;}
@media(max-width:900px){.lsb-state-index{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.lsb-state-index{grid-template-columns:repeat(2,1fr);}}
.lsb-state-index a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 13px;
  text-decoration:none;font-weight:700;color:var(--navy);font-size:14px;transition:.14s;
}
.lsb-state-index a:hover{border-color:var(--blue);background:var(--blue-tint);}
.lsb-state-index a .st-dot{width:9px;height:9px;border-radius:50%;flex:none;}

/* ---- Sticky CTA rail card (state offshore top pick) ----------------------- */
.lsb-toppick{
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
  background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;
  border-radius:16px;padding:22px 26px;margin:24px 0;position:relative;overflow:hidden;
}
.lsb-toppick::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.06);}
.lsb-toppick-badge{background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.05em;padding:6px 12px;border-radius:8px;text-transform:uppercase;white-space:nowrap;}
.lsb-toppick-main{position:relative;}
.lsb-toppick-main b{font-family:var(--display);font-size:20px;font-weight:800;display:block;}
.lsb-toppick-main span{color:#C9D8EA;font-size:14px;}
.lsb-toppick .btn-red{position:relative;white-space:nowrap;}
@media(max-width:640px){.lsb-toppick{grid-template-columns:1fr;text-align:center;}.lsb-toppick-badge{justify-self:center;}}

/* map leader labels (small NE states) */
.lsb-map-svg .st-lead{stroke:#fff;stroke-width:1;}
.lsb-map-svg .lead-label{font-family:var(--display);font-size:12px;font-weight:700;fill:#0A2540;pointer-events:none;}

/* ---- Fuller hero: opening paragraphs inside the hero ---------------------- */
.lsb-state-hero-inner.hero-wide{align-items:start;}
.lsb-hero-paras{margin-top:14px;max-width:760px;}
.lsb-hero-paras p{font-size:clamp(15px,1.7vw,17px);color:#C9D8EA;line-height:1.62;margin:0 0 12px;}
.lsb-hero-paras p:first-child{color:#E8F0FA;font-size:clamp(15.5px,1.8vw,17.5px);}
.lsb-hero-paras p:last-child{margin-bottom:0;}
.lsb-hero-paras a{color:#7FB6EF;font-weight:700;}
.lsb-hero-paras a:hover{color:#fff;}

/* ---- State flag in emblem ------------------------------------------------- */
.lsb-state-flag{
  width:80px;height:auto;border-radius:6px;margin-bottom:10px;
  box-shadow:0 3px 10px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);display:block;
}
.lsb-state-emblem{padding:16px;}
@media(max-width:760px){.lsb-state-flag{width:64px;}}

/* ---- Quick fact boxes (compact stat callouts within sections) ------------- */
.lsb-quickfacts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0;
}
@media(max-width:760px){.lsb-quickfacts{grid-template-columns:repeat(2,1fr);}}
.lsb-qf{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;
  text-align:center;box-shadow:var(--shadow);border-top:3px solid var(--blue);
}
.lsb-qf.red{border-top-color:var(--red);}
.lsb-qf.green{border-top-color:var(--green);}
.lsb-qf.gold{border-top-color:var(--gold);}
.lsb-qf b{display:block;font-family:var(--display);font-size:24px;font-weight:800;color:var(--navy);line-height:1.05;}
.lsb-qf.red b{color:var(--red);}
.lsb-qf.green b{color:var(--green);}
.lsb-qf span{display:block;font-size:12px;color:var(--slate);font-weight:700;margin-top:5px;line-height:1.3;}

/* ---- In-state hero cards: adapt columns to count (2/3/4) ------------------ */
.lsb-featured-instate{margin-top:-30px;position:relative;z-index:3;}
.lsb-featured-instate .lsb-featured-grid{display:grid;gap:16px;}
.lsb-featured-instate.cards-4 .lsb-featured-grid{grid-template-columns:repeat(4,1fr);}
.lsb-featured-instate.cards-3 .lsb-featured-grid{grid-template-columns:repeat(3,1fr);}
.lsb-featured-instate.cards-2 .lsb-featured-grid{grid-template-columns:repeat(2,1fr);max-width:660px;}
@media(max-width:1000px){
  .lsb-featured-instate.cards-4 .lsb-featured-grid,
  .lsb-featured-instate.cards-3 .lsb-featured-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .lsb-featured-instate .lsb-featured-grid{grid-template-columns:1fr!important;}
}

/* ============================================================================
   REVIEW PAGES — review hero, rating panel, verdict, index CTA grid
   ============================================================================ */

/* ---- Review hero: brand + rating + bonus + CTA --------------------------- */
.lsb-rev-hero{
  margin:0 calc(-1 * var(--pad));padding:44px var(--pad) 40px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 75%);
}
.lsb-rev-hero.legal{background:linear-gradient(135deg,#0A3D26 0%,#0A2540 72%);}
.lsb-rev-hero.offshore{background:linear-gradient(135deg,#123C6B 0%,#0A2540 72%);}
.lsb-rev-hero::after{content:"";position:absolute;right:-50px;top:-50px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-rev-hero-inner{position:relative;display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:center;}
@media(max-width:820px){.lsb-rev-hero-inner{grid-template-columns:1fr;gap:24px;}}
.lsb-rev-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-rev-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-rev-hero .crumb a:hover{color:#fff;}
.lsb-rev-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-rev-hero-lede{font-size:clamp(15px,1.8vw,17.5px);color:#C9D8EA;line-height:1.6;margin:0;max-width:620px;}
.lsb-rev-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.lsb-rev-hero-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);}
.lsb-rev-hero-badge .dot{width:9px;height:9px;border-radius:50%;}

/* rating/CTA panel */
.lsb-rev-panel{background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.32);text-align:center;}
.lsb-rev-panel .score{font-family:var(--display);font-weight:800;font-size:52px;line-height:1;color:var(--navy);}
.lsb-rev-panel .score small{font-size:22px;color:var(--slate);font-weight:700;}
.lsb-rev-panel .score-stars{color:var(--gold);font-size:20px;letter-spacing:2px;margin:8px 0 4px;}
.lsb-rev-panel .score-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);font-weight:800;margin-bottom:16px;}
.lsb-rev-panel .offer-box{background:var(--mist);border:1px dashed var(--line);border-radius:12px;padding:14px;margin-bottom:16px;}
.lsb-rev-panel .offer-box b{display:block;font-family:var(--display);font-size:17px;color:var(--navy);line-height:1.15;}
.lsb-rev-panel .offer-box span{font-size:12px;color:var(--slate);font-weight:700;}
.lsb-rev-panel .btn-red{width:100%;font-size:16px;padding:14px;}
.lsb-rev-panel .terms{font-size:11px;color:var(--slate);margin-top:10px;line-height:1.4;}

/* ---- Pros & cons -------------------------------------------------------- */
.lsb-proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;}
@media(max-width:640px){.lsb-proscons{grid-template-columns:1fr;}}
.lsb-pc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);}
.lsb-pc.pros{border-top:3px solid var(--green);}
.lsb-pc.cons{border-top:3px solid var(--red);}
.lsb-pc h4{margin:0 0 12px;font-size:15px;display:flex;align-items:center;gap:8px;}
.lsb-pc ul{list-style:none;margin:0;padding:0;}
.lsb-pc li{position:relative;padding-left:26px;margin-bottom:9px;font-size:14px;line-height:1.5;}
.lsb-pc.pros li::before{content:"\2713";position:absolute;left:0;color:var(--green);font-weight:800;}
.lsb-pc.cons li::before{content:"\2715";position:absolute;left:0;color:var(--red);font-weight:800;}

/* ---- Verdict box -------------------------------------------------------- */
.lsb-verdict{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;border-radius:16px;padding:26px 30px;margin:26px 0;position:relative;overflow:hidden;}
.lsb-verdict::after{content:"";position:absolute;right:-30px;bottom:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-verdict .vhead{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.lsb-verdict .vscore{background:var(--gold);color:var(--navy);font-family:var(--display);font-weight:800;font-size:22px;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex:none;}
.lsb-verdict h2,.lsb-verdict h3{color:#fff;margin:0;}
.lsb-verdict p{color:#DCE6F2;margin:8px 0 0;position:relative;}
.lsb-verdict .btn-red{margin-top:16px;}

/* ---- Index page: review CTA grid (links to all reviews in category) ------ */
.lsb-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;}
@media(max-width:900px){.lsb-review-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.lsb-review-grid{grid-template-columns:1fr;}}
.lsb-review-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 18px;text-decoration:none;box-shadow:var(--shadow);transition:.15s;}
.lsb-review-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--blue);}
.lsb-review-chip .rc-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:15px;}
.lsb-review-chip .rc-meta{font-size:12px;color:var(--slate);font-weight:600;margin-top:2px;}
.lsb-review-chip .rc-arrow{color:var(--blue);font-weight:800;font-size:18px;flex:none;}
.lsb-review-chip .rc-score{font-family:var(--display);font-weight:800;color:var(--green);font-size:15px;}

/* index CTA box header treatment */
.lsb-index-cta{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;border-radius:16px;padding:24px 28px;margin:24px 0;}
.lsb-index-cta h3{color:#fff;margin:0 0 4px;font-size:19px;}
.lsb-index-cta p{color:#9FB6D0;margin:0 0 18px;font-size:14px;}
.lsb-index-cta .lsb-review-grid{margin:0;}
.lsb-index-cta .lsb-review-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);}
.lsb-index-cta .lsb-review-chip .rc-name{color:#fff;}
.lsb-index-cta .lsb-review-chip .rc-meta{color:#9FB6D0;}
.lsb-index-cta .lsb-review-chip:hover{background:rgba(255,255,255,.12);}

/* ============================================================================
   SOFTWARE PROVIDER PAGES
   ============================================================================ */
.lsb-prov-hero{margin:0 calc(-1 * var(--pad));padding:44px var(--pad) 40px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 75%);}
.lsb-prov-hero.offshore{background:linear-gradient(135deg,#123C6B 0%,#0A2540 72%);}
.lsb-prov-hero.regulated{background:linear-gradient(135deg,#0A3D26 0%,#0A2540 72%);}
.lsb-prov-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-prov-hero-inner{position:relative;max-width:820px;}
.lsb-prov-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-prov-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-prov-hero .crumb a:hover{color:#fff;}
.lsb-prov-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-prov-hero-lede{font-size:clamp(15px,1.8vw,17.5px);color:#C9D8EA;line-height:1.6;margin:0;max-width:680px;}
.lsb-prov-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.lsb-prov-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);}
.lsb-prov-badge .dot{width:9px;height:9px;border-radius:50%;}

/* provider quick-fact strip */
.lsb-prov-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 4px;}
@media(max-width:760px){.lsb-prov-facts{grid-template-columns:repeat(2,1fr);}}
.lsb-prov-facts .lsb-qf{border-top-color:var(--blue);}

/* provider index grid on hub (offshore + regulated groups) */
.lsb-prov-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;}
@media(max-width:900px){.lsb-prov-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.lsb-prov-grid{grid-template-columns:repeat(2,1fr);}}
.lsb-prov-chip{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;box-shadow:var(--shadow);transition:.15s;border-top:3px solid var(--blue);}
.lsb-prov-chip.offshore{border-top-color:var(--red);}
.lsb-prov-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.lsb-prov-chip .pc-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:15.5px;}
.lsb-prov-chip .pc-meta{font-size:12px;color:var(--slate);font-weight:600;}
.lsb-prov-chip .pc-go{margin-top:6px;color:var(--blue);font-weight:800;font-size:12.5px;}

.lsb-index-cta.software h3{color:#fff;}
.lsb-prov-groups{margin-top:6px;}
.lsb-eyebrow-light{color:#9FB6D0;}
.lsb-eyebrow-sp{margin-top:14px;}

/* ============================================================================
   SLOT TYPE PAGES
   ============================================================================ */
.lsb-type-hero{margin:0 calc(-1 * var(--pad));padding:44px var(--pad) 40px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 78%);}
.lsb-type-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-type-hero-inner{position:relative;max-width:820px;}
.lsb-type-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-type-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-type-hero .crumb a:hover{color:#fff;}
.lsb-type-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-type-hero-lede{font-size:clamp(15px,1.8vw,17.5px);color:#C9D8EA;line-height:1.6;margin:0;max-width:680px;}
.lsb-type-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.lsb-type-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);}

/* type index grid on hub */
.lsb-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;}
@media(max-width:900px){.lsb-type-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lsb-type-grid{grid-template-columns:1fr;}}
.lsb-type-chip{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;box-shadow:var(--shadow);transition:.15s;border-top:3px solid var(--blue);}
.lsb-type-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.lsb-type-chip .tc-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:15.5px;}
.lsb-type-chip .tc-desc{font-size:12.5px;color:var(--slate);line-height:1.4;}
.lsb-type-chip .tc-go{margin-top:4px;color:var(--blue);font-weight:800;font-size:12.5px;}
.lsb-type-grid.lsb-grid-sp{margin-top:6px;}
.lsb-inline-cta{background:var(--mist);border-left:3px solid var(--blue);padding:10px 16px;margin:14px 0;border-radius:0 8px 8px 0;font-weight:600;font-size:14.5px;}
.lsb-inline-cta a{color:var(--blue);font-weight:800;}

/* consolidated interlink additions */
.lsb-cta-foot{margin-top:16px;}

/* homepage table paired Visit + Review buttons */
.lsb-cta-pair{display:inline-flex;gap:6px;align-items:center;}
.lsb-cta-visit{display:inline-block;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:12.5px;padding:7px 14px;border-radius:8px;text-decoration:none;white-space:nowrap;}
.lsb-cta-visit:hover{filter:brightness(1.08);}
.lsb-cta-visit.disabled{background:var(--slate);}
.lsb-cta-review{display:inline-block;background:transparent;color:var(--blue);border:1.5px solid var(--blue);font-family:var(--display);font-weight:800;font-size:12.5px;padding:6px 12px;border-radius:8px;text-decoration:none;white-space:nowrap;}
.lsb-cta-review:hover{background:var(--blue);color:#fff;}
@media(max-width:640px){.lsb-cta-pair{flex-direction:column;gap:5px;}}

/* ============================================================================
   BEST SLOTS USA — design system
   Applies site-wide (loaded from the child theme custom.css region).
   Page content is authored inside .lsb-page > .lsb-wrap so component styles are
   scoped and never leak into theme chrome (header/footer/menus).
   ============================================================================ */

:root{
  --navy:#0A2540;
  --navy-2:#12345C;
  --red:#D91E2A;
  --red-dark:#A8151F;
  --blue:#1B6FC4;
  --blue-tint:#EAF2FB;
  --paper:#FFFFFF;
  --mist:#F4F7FB;
  --line:#DDE5EE;
  --ink:#14202E;
  --slate:#5A6B7E;
  --gold:#E7A400;
  --green:#1F8A54;
  --shell:1280px;
  --pad:clamp(16px,4vw,40px);
  --radius:14px;
  --shadow:0 1px 2px rgba(10,37,64,.06),0 6px 20px rgba(10,37,64,.08);
  --shadow-lg:0 10px 40px rgba(10,37,64,.14);
  --sans:"Inter","Helvetica Neue",Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --display:"Inter","Helvetica Neue",Arial,sans-serif;
}

/* ---- Shell: 1280px wide, flag-stripe side borders -------------------------- */
.lsb-page{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
.lsb-wrap{
  max-width:var(--shell);
  margin:0 auto;
  padding:0 var(--pad) 72px;
  position:relative;
  border-left:3px solid var(--navy);
  border-right:3px solid var(--navy);
}


/* ---- Base typography ------------------------------------------------------- */
.lsb-wrap h1,.lsb-wrap h2,.lsb-wrap h3,.lsb-wrap h4{
  font-family:var(--display);
  color:var(--navy);
  line-height:1.15;
  letter-spacing:-.02em;
  font-weight:800;
  margin:0 0 .5em;
}
.lsb-wrap p{margin:0 0 1.1em;}
.lsb-wrap a{color:var(--blue);text-decoration:none;font-weight:600;}
.lsb-wrap a:hover{text-decoration:underline;}
.lsb-wrap strong{color:var(--navy);font-weight:700;}

/* ---- Section rhythm -------------------------------------------------------- */
.lsb-section{padding:34px 0;border-top:1px solid var(--line);}
.lsb-section:first-of-type{border-top:none;}
.lsb-section > h2{
  font-size:clamp(24px,3.4vw,34px);
  padding-bottom:.35em;
  position:relative;
}
.lsb-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--red);margin-bottom:10px;
}
.lsb-eyebrow::before{content:"";width:22px;height:3px;background:var(--red);border-radius:2px;}

/* ============================================================================
   HERO
   ============================================================================ */
.lsb-hero{
  margin:0 calc(-1 * var(--pad));
  padding:56px var(--pad) 44px;
  background:
    radial-gradient(120% 140% at 85% -10%,rgba(27,111,196,.20),transparent 55%),
    linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.lsb-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px);
  background-size:22px 22px;mask:linear-gradient(180deg,#000,transparent 70%);
}
.lsb-hero-inner{position:relative;max-width:820px;}
.lsb-hero .lsb-eyebrow{color:#7FB6EF;}
.lsb-hero .lsb-eyebrow::before{background:var(--red);}
.lsb-hero h1{
  color:#fff;font-size:clamp(30px,5.2vw,50px);line-height:1.05;
  margin:0 0 .35em;letter-spacing:-.03em;
}
.lsb-hero h1 .accent{color:#FF5A63;}
.lsb-hero-lede{font-size:clamp(17px,2.2vw,20px);color:#C9D8EA;line-height:1.6;margin:0;}
.lsb-hero-stats{
  display:flex;flex-wrap:wrap;gap:28px;margin-top:26px;
  padding-top:22px;border-top:1px solid rgba(255,255,255,.14);
}
.lsb-hero-stat b{display:block;font-size:26px;font-weight:800;color:#fff;line-height:1;}
.lsb-hero-stat span{font-size:12.5px;color:#9FB6D0;text-transform:uppercase;letter-spacing:.08em;}

/* ============================================================================
   FEATURED CASINO CARDS (hero cards — 4 up)
   ============================================================================ */
.lsb-featured{
  margin:-34px calc(-1 * var(--pad)) 0;
  padding:0 var(--pad);
  position:relative;z-index:3;
}
.lsb-featured-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
@media(max-width:900px){.lsb-featured-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lsb-featured-grid{grid-template-columns:1fr;}}

.lsb-fcard{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;
  position:relative;transition:transform .16s ease,box-shadow .16s ease;
}
.lsb-fcard:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(10,37,64,.20);}
.lsb-fcard-top{padding:16px 16px 0;display:flex;align-items:flex-start;justify-content:space-between;}
.lsb-rank{
  font-family:var(--display);font-weight:800;font-size:13px;color:#fff;
  background:var(--navy);border-radius:8px;padding:4px 9px;letter-spacing:.02em;
}
.lsb-fcard.is-top .lsb-rank{background:var(--red);}
.lsb-tag{
  font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;
}
.lsb-tag.legal{background:var(--blue-tint);color:var(--blue);border:1px solid #BEDBF5;}
.lsb-tag.offshore{background:#FDECEC;color:var(--red);border:1px solid #F6C9CC;}
.lsb-fcard-body{padding:14px 16px 0;flex:1;}
.lsb-fcard-name{font-size:19px;font-weight:800;color:var(--navy);margin:8px 0 2px;letter-spacing:-.01em;}
.lsb-fcard-sub{font-size:13px;color:var(--slate);margin:0 0 12px;font-weight:600;}
.lsb-fcard-offer{
  background:var(--mist);border:1px dashed var(--line);border-radius:10px;
  padding:10px 12px;margin-bottom:12px;
}
.lsb-fcard-offer b{display:block;font-size:15px;color:var(--navy);line-height:1.25;}
.lsb-fcard-offer span{font-size:11.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.06em;}
.lsb-states{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px;}
.lsb-badge{
  font-size:11px;font-weight:800;color:var(--navy-2);
  background:#EDF2F8;border:1px solid var(--line);border-radius:6px;padding:2px 7px;letter-spacing:.03em;
}
.lsb-fcard-cta{padding:0 16px 16px;}

/* ---- Buttons (site-wide) --------------------------------------------------- */
.btn-red,.btn-navy,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.01em;
  padding:12px 18px;border-radius:10px;cursor:pointer;transition:.15s ease;
  text-decoration:none !important;line-height:1;text-align:center;
}
.btn-full-width{width:100%;}
.btn-red{background:var(--red);color:#fff !important;box-shadow:0 4px 12px rgba(217,30,42,.28);}
.btn-red:hover{background:var(--red-dark);transform:translateY(-1px);}
.btn-navy{background:var(--navy);color:#fff !important;}
.btn-navy:hover{background:var(--navy-2);}
.btn-ghost{background:transparent;color:var(--navy) !important;border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--navy);background:var(--mist);}
.btn-red::after{content:"→";font-size:16px;transition:transform .15s ease;}
.btn-red:hover::after{transform:translateX(3px);}

/* ============================================================================
   QUICK-FACTS BOX
   ============================================================================ */
.lsb-facts{
  background:var(--mist);border:1px solid var(--line);border-left:4px solid var(--blue);
  border-radius:12px;padding:20px 22px;margin:22px 0;
}
.lsb-facts-title{
  display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;
  color:var(--navy);font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;
}
.lsb-facts-title::before{
  content:"i";display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;
  font-size:13px;font-weight:800;font-style:italic;flex:none;
}
.lsb-facts ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.lsb-facts li{position:relative;padding-left:26px;line-height:1.5;font-size:15.5px;}
.lsb-facts li::before{
  content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:4px;
  background:var(--blue-tint);border:2px solid var(--blue);
}
.lsb-facts li b{color:var(--navy);}

/* ============================================================================
   COMPARISON TABLE (responsive → stacked cards on mobile)
   ============================================================================ */
.lsb-table-wrap{
  margin:24px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow);
}
.lsb-table-head{
  background:var(--navy);color:#fff;padding:15px 20px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;
}
.lsb-table-head h3{color:#fff;margin:0;font-size:17px;letter-spacing:-.01em;}
.lsb-table-head .lsb-note{font-size:12.5px;color:#9FB6D0;font-weight:600;}
table.lsb-table{width:100%;border-collapse:collapse;background:#fff;font-size:15px;}
table.lsb-table thead th{
  background:#F0F4F9;color:var(--navy);text-align:left;font-weight:800;
  font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;
  padding:12px 16px;border-bottom:2px solid var(--line);white-space:nowrap;
}
table.lsb-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;}
table.lsb-table tbody tr:last-child td{border-bottom:none;}
table.lsb-table tbody tr:nth-child(even){background:#FAFCFE;}
table.lsb-table tbody tr:hover{background:var(--blue-tint);}
.lsb-t-rank{font-family:var(--display);font-weight:800;color:#fff;background:var(--navy);
  border-radius:7px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;}
tr:first-child .lsb-t-rank{background:var(--red);}
.lsb-t-name{font-weight:800;color:var(--navy);font-size:15.5px;}
.lsb-t-name small{display:block;font-weight:600;color:var(--slate);font-size:12.5px;margin-top:1px;}
.lsb-t-states{display:flex;flex-wrap:wrap;gap:4px;}
.lsb-t-states .lsb-badge{font-size:10.5px;padding:2px 6px;}
.lsb-t-offer{font-weight:700;color:var(--navy);font-size:14px;}
.lsb-t-cta a{
  display:inline-flex;align-items:center;gap:5px;background:var(--red);color:#fff !important;
  font-weight:800;font-size:13.5px;padding:9px 15px;border-radius:8px;white-space:nowrap;
  text-decoration:none !important;transition:.15s;
}
.lsb-t-cta a:hover{background:var(--red-dark);}
.lsb-t-cta a::after{content:"→";}
.lsb-stars{color:var(--gold);font-size:14px;letter-spacing:1px;white-space:nowrap;}
.lsb-stars small{color:var(--slate);font-size:12px;margin-left:4px;}

@media(max-width:820px){
  table.lsb-table thead{display:none;}
  table.lsb-table,table.lsb-table tbody,table.lsb-table tr,table.lsb-table td{display:block;width:100%;}
  table.lsb-table tr{
    border:1px solid var(--line);border-radius:12px;margin:12px;padding:6px 4px;
    box-shadow:var(--shadow);background:#fff !important;
  }
  table.lsb-table td{
    border:none;padding:8px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;
  }
  table.lsb-table td::before{
    content:attr(data-label);font-weight:800;color:var(--slate);font-size:11.5px;
    text-transform:uppercase;letter-spacing:.05em;flex:none;
  }
  table.lsb-table td .lsb-t-states,table.lsb-table td .lsb-t-cta{justify-content:flex-end;}
  .lsb-t-cta a{width:auto;}
}

/* ---- Offshore table accent variant ---------------------------------------- */
.lsb-table-wrap.offshore .lsb-table-head{background:linear-gradient(90deg,var(--red-dark),var(--red));}
.lsb-table-wrap.offshore table.lsb-table tbody tr:hover{background:#FDECEC;}
.lsb-table-wrap.offshore tr:first-child .lsb-t-rank{background:var(--red);}
.lsb-badge.na{background:#F3F5F8;color:var(--slate);}
.lsb-t-cta a.review{background:#fff !important;color:var(--navy) !important;border:1.5px solid var(--line);}
.lsb-t-cta a.review:hover{border-color:var(--navy);background:var(--mist) !important;}
.lsb-t-cta a.review::after{content:"›";}

/* ============================================================================
   FULL-WIDTH SHORT REVIEW BOXES
   ============================================================================ */
.lsb-review{
  display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;
  border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin:16px 0;
  background:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.lsb-review::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--navy);}
.lsb-review.offshore::before{background:var(--red);}
.lsb-review.is-top::before{background:var(--red);}
.lsb-rev-rank{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:74px;height:74px;border-radius:14px;background:var(--navy);color:#fff;flex:none;
}
.lsb-review.offshore .lsb-rev-rank{background:var(--red);}
.lsb-review.is-top .lsb-rev-rank{background:var(--red);}
.lsb-rev-rank b{font-family:var(--display);font-size:28px;line-height:1;font-weight:800;}
.lsb-rev-rank span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin-top:3px;}
.lsb-rev-main{min-width:0;}
.lsb-rev-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.lsb-rev-name{font-family:var(--display);font-size:20px;font-weight:800;color:var(--navy);letter-spacing:-.01em;}
.lsb-rev-stars{color:var(--gold);font-size:15px;letter-spacing:1px;}
.lsb-rev-stars small{color:var(--slate);font-size:12.5px;margin-left:4px;letter-spacing:0;}
.lsb-rev-body{font-size:15px;color:var(--ink);line-height:1.6;margin:0 0 10px;}
.lsb-rev-tags{display:flex;flex-wrap:wrap;gap:6px;}
.lsb-chip{
  font-size:11.5px;font-weight:700;color:var(--navy-2);background:#EDF2F8;
  border:1px solid var(--line);border-radius:999px;padding:3px 10px;
}
.lsb-chip.good{background:#E9F6EF;color:var(--green);border-color:#BFE6CF;}
.lsb-rev-cta{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:170px;}
.lsb-rev-offer{text-align:center;font-size:12.5px;color:var(--slate);font-weight:700;}
.lsb-rev-offer b{display:block;color:var(--navy);font-size:15px;}
@media(max-width:760px){
  .lsb-review{grid-template-columns:auto 1fr;gap:16px;}
  .lsb-rev-cta{grid-column:1/-1;min-width:0;}
  .lsb-rev-cta .btn-red{width:100%;}
}

/* ============================================================================
   SIDE-BY-SIDE BOXES (2 / 3 / 4 column)
   ============================================================================ */
.lsb-sxs{display:grid;gap:16px;margin:22px 0;}
.lsb-sxs.cols-2{grid-template-columns:repeat(2,1fr);}
.lsb-sxs.cols-3{grid-template-columns:repeat(3,1fr);}
.lsb-sxs.cols-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:860px){.lsb-sxs.cols-3,.lsb-sxs.cols-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.lsb-sxs{grid-template-columns:1fr !important;}}
.lsb-box{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;
  border-top:3px solid var(--blue);box-shadow:var(--shadow);
}
.lsb-box.accent-red{border-top-color:var(--red);}
.lsb-box.accent-navy{border-top-color:var(--navy);}
.lsb-box.accent-green{border-top-color:var(--green);}
.lsb-box.fill{background:var(--mist);}
.lsb-box-icon{
  width:40px;height:40px;border-radius:10px;background:var(--blue-tint);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;margin-bottom:12px;
}
.lsb-box.accent-red .lsb-box-icon{background:#FDECEC;color:var(--red);}
.lsb-box.accent-navy .lsb-box-icon{background:#EAEEF4;color:var(--navy);}
.lsb-box.accent-green .lsb-box-icon{background:#E9F6EF;color:var(--green);}
.lsb-box h4{font-size:16px;margin:0 0 8px;color:var(--navy);}
.lsb-box p{font-size:14.5px;color:var(--ink);margin:0;line-height:1.55;}
.lsb-box ul{margin:8px 0 0;padding-left:18px;font-size:14.5px;line-height:1.55;}
.lsb-box .big{font-family:var(--display);font-size:30px;font-weight:800;color:var(--navy);line-height:1;display:block;margin-bottom:4px;}
.lsb-box.accent-red .big{color:var(--red);}

/* ============================================================================
   CALLOUT / WARNING / TIP STRIP
   ============================================================================ */
.lsb-callout{
  display:flex;gap:14px;padding:16px 20px;border-radius:12px;margin:20px 0;
  background:#FFF7ED;border:1px solid #F5D9A8;
}
.lsb-callout.warn{background:#FDECEC;border-color:#F6C9CC;}
.lsb-callout.tip{background:#E9F6EF;border-color:#BFE6CF;}
.lsb-callout-ico{font-size:20px;flex:none;line-height:1.4;}
.lsb-callout p{margin:0;font-size:14.5px;line-height:1.55;}
.lsb-callout b{color:var(--navy);}

/* ============================================================================
   FAQ (details/summary)
   ============================================================================ */
.lsb-faq{margin:20px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.lsb-faq details{border-bottom:1px solid var(--line);}
.lsb-faq details:last-child{border-bottom:none;}
.lsb-faq summary{
  cursor:pointer;padding:16px 20px;font-family:var(--display);font-weight:700;
  color:var(--navy);font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.lsb-faq summary::-webkit-details-marker{display:none;}
.lsb-faq summary::after{content:"+";font-size:22px;color:var(--blue);font-weight:400;flex:none;}
.lsb-faq details[open] summary::after{content:"–";}
.lsb-faq details[open] summary{background:var(--mist);}
.lsb-faq-body{padding:0 20px 18px;font-size:15px;line-height:1.6;color:var(--ink);}

/* ============================================================================
   SECTION BAND (alternating tint for rhythm)
   ============================================================================ */
.lsb-band{background:var(--mist);margin:0 calc(-1 * var(--pad));padding:0 var(--pad);border-top:1px solid var(--line);}
.lsb-band .lsb-section{border-top:none;}

/* ---- Anchor offset so jump links clear any sticky theme header ------------- */
.lsb-section{scroll-margin-top:90px;}

/* ---- utility classes (replace inline styles; contract: class-only) --------- */
.lsb-facts.facts-red{border-left-color:var(--red);}
.lsb-section.sec-topline{border-top:2px solid var(--line);}
.lsb-t-offer.muted{color:var(--slate);font-weight:600;}

/* ============================================================================
   OVERHAUL ADDITIONS — richer visuals, CTAs, state cards, image bands
   ============================================================================ */

/* ---- Hero: full-width content, two-paragraph intro, image ----------------- */
.lsb-hero-inner{max-width:none;}
.lsb-hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:40px;align-items:center;}
@media(max-width:900px){.lsb-hero-grid{grid-template-columns:1fr;gap:24px;}}
.lsb-hero-lede-group p{font-size:clamp(15.5px,1.9vw,18px);color:#C9D8EA;line-height:1.62;margin:0 0 14px;}
.lsb-hero-lede-group p:first-of-type{color:#E8F0FA;font-size:clamp(16px,2vw,19px);}
.lsb-hero-art{display:flex;justify-content:center;}
.lsb-hero-art img,.lsb-hero-art svg{width:100%;max-width:360px;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));}
.lsb-hero-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--navy)!important;
  font-family:var(--display);font-weight:800;font-size:15px;padding:12px 20px;border-radius:10px;
  text-decoration:none!important;transition:.15s;}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25);}

/* ---- Section CTA band (drives to state/review/article pages) -------------- */
.lsb-cta-band{
  display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;
  background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;
  border-radius:16px;padding:24px 28px;margin:26px 0;position:relative;overflow:hidden;
}
.lsb-cta-band.red{background:linear-gradient(120deg,var(--red-dark),var(--red));}
.lsb-cta-band::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;
  border-radius:50%;background:rgba(255,255,255,.06);}
.lsb-cta-band-txt h3{color:#fff;margin:0 0 4px;font-size:19px;}
.lsb-cta-band-txt p{margin:0;color:#C9D8EA;font-size:14.5px;}
.lsb-cta-band.red .lsb-cta-band-txt p{color:#FBD9DC;}
.lsb-cta-band .btn-white{white-space:nowrap;}
@media(max-width:640px){.lsb-cta-band{grid-template-columns:1fr;}}

/* ---- Inline link-pill row (mini CTAs to many pages) ----------------------- */
.lsb-pills{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;}
.lsb-pill{
  display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;
  color:var(--navy);background:#fff;border:1.5px solid var(--line);border-radius:999px;
  padding:7px 14px;text-decoration:none!important;transition:.14s;
}
.lsb-pill:hover{border-color:var(--blue);background:var(--blue-tint);color:var(--blue);}
.lsb-pill::before{content:"›";color:var(--blue);font-weight:800;}

/* ---- Stat strip (big numbers band) ---------------------------------------- */
.lsb-statstrip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);
  border-radius:14px;overflow:hidden;margin:24px 0;border:1px solid var(--line);
}
@media(max-width:640px){.lsb-statstrip{grid-template-columns:repeat(2,1fr);}}
.lsb-statstrip .cell{background:#fff;padding:20px 16px;text-align:center;}
.lsb-statstrip .cell b{display:block;font-family:var(--display);font-size:30px;font-weight:800;
  color:var(--navy);line-height:1;}
.lsb-statstrip .cell.red b{color:var(--red);}
.lsb-statstrip .cell span{font-size:12.5px;color:var(--slate);text-transform:uppercase;
  letter-spacing:.05em;font-weight:700;margin-top:6px;display:block;}

/* ---- STATE FACT CARDS ------------------------------------------------------ */
.lsb-states-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0;}
@media(max-width:1000px){.lsb-states-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lsb-states-grid{grid-template-columns:1fr;}}
.lsb-state-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s;display:flex;flex-direction:column;
}
.lsb-state-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.lsb-state-head{
  background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;
  padding:16px 18px;display:flex;align-items:center;gap:12px;
}
.lsb-state-abbr{
  font-family:var(--display);font-weight:800;font-size:20px;color:#fff;
  background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.28);
  border-radius:10px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;flex:none;
}
.lsb-state-head .nm{font-family:var(--display);font-weight:800;font-size:16px;line-height:1.1;}
.lsb-state-head .nm small{display:block;font-size:11px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-top:2px;text-transform:uppercase;}
.lsb-state-body{padding:14px 18px;flex:1;}
.lsb-state-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.lsb-state-fact{background:var(--mist);border-radius:8px;padding:8px 10px;}
.lsb-state-fact b{display:block;font-family:var(--display);font-size:15px;color:var(--navy);line-height:1.1;}
.lsb-state-fact span{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.04em;font-weight:700;}
.lsb-state-note{font-size:13px;color:var(--ink);line-height:1.5;margin:0 0 12px;}
.lsb-state-card .lsb-state-cta{padding:0 18px 16px;margin-top:auto;}
.lsb-state-card .lsb-state-cta a{
  display:block;text-align:center;background:var(--mist);color:var(--navy)!important;
  border:1.5px solid var(--line);border-radius:9px;padding:9px;font-weight:800;font-size:13.5px;
  text-decoration:none!important;transition:.14s;
}
.lsb-state-card .lsb-state-cta a:hover{background:var(--navy);color:#fff!important;border-color:var(--navy);}
.lsb-state-card.pending .lsb-state-head{background:linear-gradient(120deg,#6A4A00,#8A6400);}

/* ---- Image band (illustration + text) ------------------------------------- */
.lsb-imgband{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin:26px 0;}
.lsb-imgband.rev{direction:rtl;}.lsb-imgband.rev>*{direction:ltr;}
@media(max-width:760px){.lsb-imgband{grid-template-columns:1fr;}}
.lsb-imgband-art{background:var(--mist);border:1px solid var(--line);border-radius:16px;
  padding:28px;display:flex;align-items:center;justify-content:center;}
.lsb-imgband-art img,.lsb-imgband-art svg{width:100%;max-width:300px;}
.lsb-imgband-txt h3{margin-top:0;}

/* ---- Icon feature row (small icon cards) ---------------------------------- */
.lsb-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0;}
@media(max-width:800px){.lsb-features{grid-template-columns:1fr;}}
.lsb-feature{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);}
.lsb-feature img,.lsb-feature svg{width:38px;height:38px;flex:none;}
.lsb-feature h4{margin:0 0 4px;font-size:15px;}
.lsb-feature p{margin:0;font-size:13.5px;color:var(--slate);line-height:1.5;}

/* ---- Section divider with label ------------------------------------------- */
.lsb-section > h2{display:flex;align-items:center;gap:14px;}

/* ---- Provider logo grid (text-based chips) -------------------------------- */
.lsb-providers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0;}
@media(max-width:700px){.lsb-providers{grid-template-columns:repeat(2,1fr);}}
.lsb-provider{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 12px;
  text-align:center;font-family:var(--display);font-weight:800;color:var(--navy);font-size:14px;
  box-shadow:var(--shadow);transition:.14s;}
.lsb-provider:hover{border-color:var(--blue);color:var(--blue);}
.lsb-provider small{display:block;font-weight:600;color:var(--slate);font-size:11px;margin-top:3px;letter-spacing:.02em;}

/* ---- Comparison two-up (legal vs offshore) -------------------------------- */
.lsb-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;margin:24px 0;
  border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);}
@media(max-width:640px){.lsb-vs{grid-template-columns:1fr;}}
.lsb-vs-col{padding:22px 24px;background:#fff;}
.lsb-vs-col.legal{border-top:4px solid var(--blue);}
.lsb-vs-col.off{border-top:4px solid var(--red);}
.lsb-vs-col h4{font-size:16px;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.lsb-vs-col ul{list-style:none;margin:0;padding:0;}
.lsb-vs-col li{position:relative;padding-left:24px;margin-bottom:9px;font-size:14px;line-height:1.5;}
.lsb-vs-col li::before{position:absolute;left:0;top:0;font-weight:800;}
.lsb-vs-col.legal li::before{content:"✓";color:var(--green);}
.lsb-vs-col.off li.con::before{content:"✕";color:var(--red);}
.lsb-vs-col.off li::before{content:"✓";color:var(--green);}
.lsb-vs-col li.con::before{content:"✕";color:var(--red);}
.lsb-vs-divider{background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:800;font-size:15px;padding:0 14px;letter-spacing:.05em;}
@media(max-width:640px){.lsb-vs-divider{padding:10px;}}

/* ============================================================================
   STATE PAGES — status hero, at-a-glance, land-based, interactive map
   ============================================================================ */

/* ---- Status hero band (color-coded by legal status) ----------------------- */
.lsb-state-hero{
  margin:0 calc(-1 * var(--pad));
  padding:44px var(--pad) 40px;
  color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
}
.lsb-state-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.4px);
  background-size:22px 22px;mask:linear-gradient(180deg,#000,transparent 75%);
}
.lsb-state-hero.status-legal{background:linear-gradient(135deg,#0A3D26 0%,#0A2540 70%);}
.lsb-state-hero.status-pending{background:linear-gradient(135deg,#5A4200 0%,#0A2540 70%);}
.lsb-state-hero.status-restricted{background:linear-gradient(135deg,#4A1114 0%,#0A2540 70%);}
.lsb-state-hero-inner{position:relative;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;}
@media(max-width:760px){.lsb-state-hero-inner{grid-template-columns:1fr;}}
.lsb-state-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-state-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-state-hero .crumb a:hover{color:#fff;}
.lsb-state-hero h1{color:#fff;font-size:clamp(28px,4.4vw,44px);line-height:1.06;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-state-hero h1 .accent{color:#FF5A63;}
.lsb-state-hero-lede{font-size:clamp(16px,2vw,18px);color:#C9D8EA;line-height:1.6;margin:0;max-width:640px;}
/* status pill */
.lsb-status-pill{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;
  font-size:13px;letter-spacing:.03em;padding:8px 16px;border-radius:999px;margin-bottom:16px;
  background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);color:#fff;
}
.lsb-status-pill .dot{width:10px;height:10px;border-radius:50%;flex:none;}
.dot-legal{background:#39D98A;}.dot-offshore{background:#5AA9FF;}
.dot-pending{background:#FFC24B;}.dot-restricted{background:#FF6B72;}
/* hero status shield/emblem */
.lsb-state-emblem{
  width:150px;height:150px;border-radius:24px;flex:none;
  background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
}
.lsb-state-emblem .abbr{font-family:var(--display);font-weight:800;font-size:52px;color:#fff;line-height:1;letter-spacing:-.02em;}
.lsb-state-emblem .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9FB6D0;font-weight:700;}
@media(max-width:760px){.lsb-state-emblem{width:110px;height:110px;}.lsb-state-emblem .abbr{font-size:40px;}}

/* ---- At-a-glance fact grid ------------------------------------------------ */
.lsb-glance{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0;
}
@media(max-width:760px){.lsb-glance{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.lsb-glance{grid-template-columns:1fr;}}
.lsb-glance-item{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  border-left:4px solid var(--blue);box-shadow:var(--shadow);
}
.lsb-glance-item.yes{border-left-color:var(--green);}
.lsb-glance-item.no{border-left-color:var(--red);}
.lsb-glance-item.warn{border-left-color:var(--gold);}
.lsb-glance-item .k{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);font-weight:800;margin-bottom:5px;display:flex;align-items:center;gap:6px;}
.lsb-glance-item .v{font-size:15.5px;color:var(--navy);font-weight:600;line-height:1.4;}
.lsb-glance-item .ic{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex:none;}
.lsb-glance-item.yes .ic{background:var(--green);}
.lsb-glance-item.no .ic{background:var(--red);}
.lsb-glance-item.warn .ic{background:var(--gold);}
.lsb-glance-item.info .ic{background:var(--blue);}

/* ---- Land-based casino table (reuse lsb-table look) ----------------------- */
.lsb-lb-table td .slots-count{font-family:var(--display);font-weight:800;color:var(--navy);}
.lsb-lb-table .op-badge{font-size:11px;font-weight:700;color:var(--navy-2);background:#EDF2F8;border:1px solid var(--line);border-radius:6px;padding:2px 8px;white-space:nowrap;}

/* ---- Casino detail card (top-5 land-based, tribal detail) ------------------ */
.lsb-lb-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0;}
@media(max-width:700px){.lsb-lb-cards{grid-template-columns:1fr;}}
.lsb-lb-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow);position:relative;border-top:3px solid var(--navy);}
.lsb-lb-card .rank-badge{position:absolute;top:-12px;left:18px;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:13px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.lsb-lb-card h4{margin:6px 0 8px;font-size:16px;}
.lsb-lb-card .meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.lsb-lb-card .meta span{font-size:12px;font-weight:700;color:var(--slate);background:var(--mist);border-radius:6px;padding:3px 9px;}
.lsb-lb-card p{font-size:14px;margin:0;color:var(--ink);line-height:1.55;}

/* ---- Legal timeline (for legal-history sections) -------------------------- */
.lsb-timeline{margin:22px 0;padding-left:26px;border-left:2px solid var(--line);}
.lsb-timeline-item{position:relative;padding:0 0 20px 22px;}
.lsb-timeline-item::before{content:"";position:absolute;left:-33px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 1px var(--line);}
.lsb-timeline-item.win::before{background:var(--green);}
.lsb-timeline-item.fail::before{background:var(--red);}
.lsb-timeline-item .date{font-family:var(--display);font-weight:800;color:var(--navy);font-size:14px;}
.lsb-timeline-item p{margin:2px 0 0;font-size:14.5px;line-height:1.55;}

/* ============================================================================
   INTERACTIVE US MAP (hub page)
   ============================================================================ */
.lsb-map-wrap{margin:26px 0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;}
.lsb-map-head{background:var(--navy);color:#fff;padding:16px 22px;}
.lsb-map-head h3{color:#fff;margin:0 0 3px;font-size:18px;}
.lsb-map-head p{margin:0;color:#9FB6D0;font-size:13px;}
.lsb-map-legend{display:flex;flex-wrap:wrap;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line);background:var(--mist);}
.lsb-map-legend .leg{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--navy);}
.lsb-map-legend .sw{width:16px;height:16px;border-radius:4px;flex:none;border:1px solid rgba(0,0,0,.08);}
.sw-legal{background:#1F8A54;}.sw-offshore{background:#8FB8E0;}.sw-pending{background:#E7A400;}.sw-restricted{background:#C9424A;}
.lsb-map-svg{padding:18px 22px;}
.lsb-map-svg svg{width:100%;height:auto;display:block;}
.lsb-map-svg .st{stroke:#fff;stroke-width:1.2;transition:filter .12s,opacity .12s;cursor:pointer;}
.lsb-map-svg .st.legal{fill:#1F8A54;}
.lsb-map-svg .st.offshore{fill:#8FB8E0;}
.lsb-map-svg .st.pending{fill:#E7A400;}
.lsb-map-svg .st.restricted{fill:#C9424A;}
.lsb-map-svg a:hover .st{filter:brightness(1.12);}
.lsb-map-svg .st-abbr{fill:#fff;font-family:var(--display);font-size:9px;font-weight:700;text-anchor:middle;pointer-events:none;}
.lsb-map-svg .st-abbr.dark{fill:#0A2540;}
/* small-state leader labels on the right */
.lsb-map-svg .lead-line{stroke:#9FB6D0;stroke-width:1;}
.lsb-map-note{padding:0 22px 18px;font-size:12.5px;color:var(--slate);}

/* ---- State index quick grid (all states as chips) ------------------------- */
.lsb-state-index{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:22px 0;}
@media(max-width:900px){.lsb-state-index{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.lsb-state-index{grid-template-columns:repeat(2,1fr);}}
.lsb-state-index a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 13px;
  text-decoration:none;font-weight:700;color:var(--navy);font-size:14px;transition:.14s;
}
.lsb-state-index a:hover{border-color:var(--blue);background:var(--blue-tint);}
.lsb-state-index a .st-dot{width:9px;height:9px;border-radius:50%;flex:none;}

/* ---- Sticky CTA rail card (state offshore top pick) ----------------------- */
.lsb-toppick{
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
  background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;
  border-radius:16px;padding:22px 26px;margin:24px 0;position:relative;overflow:hidden;
}
.lsb-toppick::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.06);}
.lsb-toppick-badge{background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.05em;padding:6px 12px;border-radius:8px;text-transform:uppercase;white-space:nowrap;}
.lsb-toppick-main{position:relative;}
.lsb-toppick-main b{font-family:var(--display);font-size:20px;font-weight:800;display:block;}
.lsb-toppick-main span{color:#C9D8EA;font-size:14px;}
.lsb-toppick .btn-red{position:relative;white-space:nowrap;}
@media(max-width:640px){.lsb-toppick{grid-template-columns:1fr;text-align:center;}.lsb-toppick-badge{justify-self:center;}}

/* map leader labels (small NE states) */
.lsb-map-svg .st-lead{stroke:#fff;stroke-width:1;}
.lsb-map-svg .lead-label{font-family:var(--display);font-size:12px;font-weight:700;fill:#0A2540;pointer-events:none;}

/* ---- Fuller hero: opening paragraphs inside the hero ---------------------- */
.lsb-state-hero-inner.hero-wide{align-items:start;}
.lsb-hero-paras{margin-top:14px;max-width:760px;}
.lsb-hero-paras p{font-size:clamp(15px,1.7vw,17px);color:#C9D8EA;line-height:1.62;margin:0 0 12px;}
.lsb-hero-paras p:first-child{color:#E8F0FA;font-size:clamp(15.5px,1.8vw,17.5px);}
.lsb-hero-paras p:last-child{margin-bottom:0;}
.lsb-hero-paras a{color:#7FB6EF;font-weight:700;}
.lsb-hero-paras a:hover{color:#fff;}

/* ---- State flag in emblem ------------------------------------------------- */
.lsb-state-flag{
  width:80px;height:auto;border-radius:6px;margin-bottom:10px;
  box-shadow:0 3px 10px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);display:block;
}
.lsb-state-emblem{padding:16px;}
@media(max-width:760px){.lsb-state-flag{width:64px;}}

/* ---- Quick fact boxes (compact stat callouts within sections) ------------- */
.lsb-quickfacts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0;
}
@media(max-width:760px){.lsb-quickfacts{grid-template-columns:repeat(2,1fr);}}
.lsb-qf{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;
  text-align:center;box-shadow:var(--shadow);border-top:3px solid var(--blue);
}
.lsb-qf.red{border-top-color:var(--red);}
.lsb-qf.green{border-top-color:var(--green);}
.lsb-qf.gold{border-top-color:var(--gold);}
.lsb-qf b{display:block;font-family:var(--display);font-size:24px;font-weight:800;color:var(--navy);line-height:1.05;}
.lsb-qf.red b{color:var(--red);}
.lsb-qf.green b{color:var(--green);}
.lsb-qf span{display:block;font-size:12px;color:var(--slate);font-weight:700;margin-top:5px;line-height:1.3;}

/* ---- In-state hero cards: adapt columns to count (2/3/4) ------------------ */
.lsb-featured-instate{margin-top:-30px;position:relative;z-index:3;}
.lsb-featured-instate .lsb-featured-grid{display:grid;gap:16px;}
.lsb-featured-instate.cards-4 .lsb-featured-grid{grid-template-columns:repeat(4,1fr);}
.lsb-featured-instate.cards-3 .lsb-featured-grid{grid-template-columns:repeat(3,1fr);}
.lsb-featured-instate.cards-2 .lsb-featured-grid{grid-template-columns:repeat(2,1fr);max-width:660px;}
@media(max-width:1000px){
  .lsb-featured-instate.cards-4 .lsb-featured-grid,
  .lsb-featured-instate.cards-3 .lsb-featured-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .lsb-featured-instate .lsb-featured-grid{grid-template-columns:1fr!important;}
}

/* ============================================================================
   REVIEW PAGES — review hero, rating panel, verdict, index CTA grid
   ============================================================================ */

/* ---- Review hero: brand + rating + bonus + CTA --------------------------- */
.lsb-rev-hero{
  margin:0 calc(-1 * var(--pad));padding:44px var(--pad) 40px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 75%);
}
.lsb-rev-hero.legal{background:linear-gradient(135deg,#0A3D26 0%,#0A2540 72%);}
.lsb-rev-hero.offshore{background:linear-gradient(135deg,#123C6B 0%,#0A2540 72%);}
.lsb-rev-hero::after{content:"";position:absolute;right:-50px;top:-50px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-rev-hero-inner{position:relative;display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:center;}
@media(max-width:820px){.lsb-rev-hero-inner{grid-template-columns:1fr;gap:24px;}}
.lsb-rev-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-rev-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-rev-hero .crumb a:hover{color:#fff;}
.lsb-rev-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-rev-hero-lede{font-size:clamp(15px,1.8vw,17.5px);color:#C9D8EA;line-height:1.6;margin:0;max-width:620px;}
.lsb-rev-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.lsb-rev-hero-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);}
.lsb-rev-hero-badge .dot{width:9px;height:9px;border-radius:50%;}

/* rating/CTA panel */
.lsb-rev-panel{background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.32);text-align:center;}
.lsb-rev-panel .score{font-family:var(--display);font-weight:800;font-size:52px;line-height:1;color:var(--navy);}
.lsb-rev-panel .score small{font-size:22px;color:var(--slate);font-weight:700;}
.lsb-rev-panel .score-stars{color:var(--gold);font-size:20px;letter-spacing:2px;margin:8px 0 4px;}
.lsb-rev-panel .score-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);font-weight:800;margin-bottom:16px;}
.lsb-rev-panel .offer-box{background:var(--mist);border:1px dashed var(--line);border-radius:12px;padding:14px;margin-bottom:16px;}
.lsb-rev-panel .offer-box b{display:block;font-family:var(--display);font-size:17px;color:var(--navy);line-height:1.15;}
.lsb-rev-panel .offer-box span{font-size:12px;color:var(--slate);font-weight:700;}
.lsb-rev-panel .btn-red{width:100%;font-size:16px;padding:14px;}
.lsb-rev-panel .terms{font-size:11px;color:var(--slate);margin-top:10px;line-height:1.4;}

/* ---- Pros & cons -------------------------------------------------------- */
.lsb-proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;}
@media(max-width:640px){.lsb-proscons{grid-template-columns:1fr;}}
.lsb-pc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);}
.lsb-pc.pros{border-top:3px solid var(--green);}
.lsb-pc.cons{border-top:3px solid var(--red);}
.lsb-pc h4{margin:0 0 12px;font-size:15px;display:flex;align-items:center;gap:8px;}
.lsb-pc ul{list-style:none;margin:0;padding:0;}
.lsb-pc li{position:relative;padding-left:26px;margin-bottom:9px;font-size:14px;line-height:1.5;}
.lsb-pc.pros li::before{content:"13";position:absolute;left:0;color:var(--green);font-weight:800;}
.lsb-pc.cons li::before{content:"15";position:absolute;left:0;color:var(--red);font-weight:800;}

/* ---- Verdict box -------------------------------------------------------- */
.lsb-verdict{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;border-radius:16px;padding:26px 30px;margin:26px 0;position:relative;overflow:hidden;}
.lsb-verdict::after{content:"";position:absolute;right:-30px;bottom:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-verdict .vhead{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.lsb-verdict .vscore{background:var(--gold);color:var(--navy);font-family:var(--display);font-weight:800;font-size:22px;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex:none;}
.lsb-verdict h2,.lsb-verdict h3{color:#fff;margin:0;}
.lsb-verdict p{color:#DCE6F2;margin:8px 0 0;position:relative;}
.lsb-verdict .btn-red{margin-top:16px;}

/* ---- Index page: review CTA grid (links to all reviews in category) ------ */
.lsb-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;}
@media(max-width:900px){.lsb-review-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.lsb-review-grid{grid-template-columns:1fr;}}
.lsb-review-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 18px;text-decoration:none;box-shadow:var(--shadow);transition:.15s;}
.lsb-review-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--blue);}
.lsb-review-chip .rc-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:15px;}
.lsb-review-chip .rc-meta{font-size:12px;color:var(--slate);font-weight:600;margin-top:2px;}
.lsb-review-chip .rc-arrow{color:var(--blue);font-weight:800;font-size:18px;flex:none;}
.lsb-review-chip .rc-score{font-family:var(--display);font-weight:800;color:var(--green);font-size:15px;}

/* index CTA box header treatment */
.lsb-index-cta{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;border-radius:16px;padding:24px 28px;margin:24px 0;}
.lsb-index-cta h3{color:#fff;margin:0 0 4px;font-size:19px;}
.lsb-index-cta p{color:#9FB6D0;margin:0 0 18px;font-size:14px;}
.lsb-index-cta .lsb-review-grid{margin:0;}
.lsb-index-cta .lsb-review-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);}
.lsb-index-cta .lsb-review-chip .rc-name{color:#fff;}
.lsb-index-cta .lsb-review-chip .rc-meta{color:#9FB6D0;}
.lsb-index-cta .lsb-review-chip:hover{background:rgba(255,255,255,.12);}

/* ============================================================================
   SOFTWARE PROVIDER PAGES
   ============================================================================ */
.lsb-prov-hero{margin:0 calc(-1 * var(--pad));padding:44px var(--pad) 40px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 75%);}
.lsb-prov-hero.offshore{background:linear-gradient(135deg,#123C6B 0%,#0A2540 72%);}
.lsb-prov-hero.regulated{background:linear-gradient(135deg,#0A3D26 0%,#0A2540 72%);}
.lsb-prov-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-prov-hero-inner{position:relative;max-width:820px;}
.lsb-prov-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-prov-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-prov-hero .crumb a:hover{color:#fff;}
.lsb-prov-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-prov-hero-lede{font-size:clamp(15px,1.8vw,17.5px);color:#C9D8EA;line-height:1.6;margin:0;max-width:680px;}
.lsb-prov-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.lsb-prov-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);}
.lsb-prov-badge .dot{width:9px;height:9px;border-radius:50%;}

/* provider quick-fact strip */
.lsb-prov-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 4px;}
@media(max-width:760px){.lsb-prov-facts{grid-template-columns:repeat(2,1fr);}}
.lsb-prov-facts .lsb-qf{border-top-color:var(--blue);}

/* provider index grid on hub (offshore + regulated groups) */
.lsb-prov-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;}
@media(max-width:900px){.lsb-prov-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.lsb-prov-grid{grid-template-columns:repeat(2,1fr);}}
.lsb-prov-chip{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;box-shadow:var(--shadow);transition:.15s;border-top:3px solid var(--blue);}
.lsb-prov-chip.offshore{border-top-color:var(--red);}
.lsb-prov-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.lsb-prov-chip .pc-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:15.5px;}
.lsb-prov-chip .pc-meta{font-size:12px;color:var(--slate);font-weight:600;}
.lsb-prov-chip .pc-go{margin-top:6px;color:var(--blue);font-weight:800;font-size:12.5px;}

.lsb-index-cta.software h3{color:#fff;}
.lsb-prov-groups{margin-top:6px;}
.lsb-eyebrow-light{color:#9FB6D0;}
.lsb-eyebrow-sp{margin-top:14px;}

/* ============================================================================
   SLOT TYPE PAGES
   ============================================================================ */
.lsb-type-hero{margin:0 calc(-1 * var(--pad));padding:44px var(--pad) 40px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 78%);}
.lsb-type-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-type-hero-inner{position:relative;max-width:820px;}
.lsb-type-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-type-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-type-hero .crumb a:hover{color:#fff;}
.lsb-type-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-type-hero-lede{font-size:clamp(15px,1.8vw,17.5px);color:#C9D8EA;line-height:1.6;margin:0;max-width:680px;}
.lsb-type-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.lsb-type-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);}

/* type index grid on hub */
.lsb-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;}
@media(max-width:900px){.lsb-type-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lsb-type-grid{grid-template-columns:1fr;}}
.lsb-type-chip{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;box-shadow:var(--shadow);transition:.15s;border-top:3px solid var(--blue);}
.lsb-type-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.lsb-type-chip .tc-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:15.5px;}
.lsb-type-chip .tc-desc{font-size:12.5px;color:var(--slate);line-height:1.4;}
.lsb-type-chip .tc-go{margin-top:4px;color:var(--blue);font-weight:800;font-size:12.5px;}
.lsb-type-grid.lsb-grid-sp{margin-top:6px;}
.lsb-inline-cta{background:var(--mist);border-left:3px solid var(--blue);padding:10px 16px;margin:14px 0;border-radius:0 8px 8px 0;font-weight:600;font-size:14.5px;}
.lsb-inline-cta a{color:var(--blue);font-weight:800;}

/* consolidated interlink additions */
.lsb-cta-foot{margin-top:16px;}

/* homepage table paired Visit + Review buttons */
.lsb-cta-pair{display:inline-flex;gap:6px;align-items:center;}
.lsb-cta-visit{display:inline-block;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:12.5px;padding:7px 14px;border-radius:8px;text-decoration:none;white-space:nowrap;}
.lsb-cta-visit:hover{filter:brightness(1.08);}
.lsb-cta-visit.disabled{background:var(--slate);}
.lsb-cta-review{display:inline-block;background:transparent;color:var(--blue);border:1.5px solid var(--blue);font-family:var(--display);font-weight:800;font-size:12.5px;padding:6px 12px;border-radius:8px;text-decoration:none;white-space:nowrap;}
.lsb-cta-review:hover{background:var(--blue);color:#fff;}
@media(max-width:640px){.lsb-cta-pair{flex-direction:column;gap:5px;}}

/* ============================================================
   REVIEW CHIPS v2 — conversion-safe (div wrapper + inline link)
   The whole card stays clickable via the stretched-link pattern.
   ============================================================ */
.lsb-review-chip{position:relative;cursor:pointer;}
.lsb-review-chip .rc-name a{color:inherit;text-decoration:none;}
.lsb-review-chip .rc-name a::after{content:"";position:absolute;inset:0;}
.lsb-review-chip .rc-name a:hover{text-decoration:none;}

/* ============================================================
   COMPANY PAGES (about, how we rate, responsible gambling)
   ============================================================ */
.lsb-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:22px 0;}
.lsb-team-card{background:#fff;border:1px solid #dfe7f0;border-radius:14px;padding:22px;box-shadow:0 2px 10px rgba(10,37,64,.06);}
.lsb-team-card h3{margin:0 0 2px;font-size:20px;color:#0A2540;}
.lsb-team-role{display:inline-block;background:#F4F7FB;color:#1B6FC4;font-weight:700;font-size:12px;letter-spacing:.4px;text-transform:uppercase;border-radius:20px;padding:3px 12px;margin:6px 0 12px;}
.lsb-team-card p{margin:0 0 10px;font-size:15px;line-height:1.55;color:#31445a;}
.lsb-team-fact{font-size:13px;color:#6a7b8f;border-top:1px dashed #dfe7f0;padding-top:10px;margin-top:4px;}
.lsb-step-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin:22px 0;counter-reset:lsbstep;}
.lsb-step-card{position:relative;background:#fff;border:1px solid #dfe7f0;border-left:5px solid #D91E2A;border-radius:12px;padding:20px 20px 18px 20px;box-shadow:0 2px 10px rgba(10,37,64,.06);}
.lsb-step-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#0A2540;color:#fff;font-weight:800;font-size:17px;margin-bottom:10px;}
.lsb-step-card h3{margin:0 0 8px;font-size:18px;color:#0A2540;}
.lsb-step-card p{margin:0;font-size:15px;line-height:1.55;color:#31445a;}
.lsb-crit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:20px 0;}
.lsb-crit{background:#F4F7FB;border:1px solid #e3ebf4;border-radius:10px;padding:16px;}
.lsb-crit b{display:block;color:#0A2540;margin-bottom:5px;font-size:15px;}
.lsb-crit span{font-size:14px;line-height:1.5;color:#41556d;}
.lsb-rg-state{background:#fff;border:1px solid #dfe7f0;border-radius:10px;padding:16px 18px;margin:12px 0;}
.lsb-rg-state h3{margin:0 0 8px;font-size:17px;color:#0A2540;}
.lsb-rg-state p{margin:0 0 8px;font-size:15px;line-height:1.55;color:#31445a;}
.lsb-rg-state ul{margin:0;padding-left:20px;font-size:14px;color:#41556d;}
.lsb-rg-state ul li{margin:3px 0;}
/* ============================================================
   STATES HUB v2 — full-width intro, duo CTA, grid monograms
   ============================================================ */
.lsb-state-hero-inner.hero-full .lsb-hero-paras{max-width:100%;}
.lsb-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:760px){.lsb-duo{grid-template-columns:1fr;}}
.lsb-duo-card{position:relative;display:flex;flex-direction:column;gap:8px;border-radius:14px;padding:24px;box-shadow:0 2px 12px rgba(10,37,64,.08);}
.lsb-duo-card.duo-legal{background:#0A2540;border:1px solid #0A2540;}
.lsb-duo-card.duo-offshore{background:#fff;border:2px solid #D91E2A;}
.duo-kicker{font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;}
.duo-legal .duo-kicker{color:#7FB6EF;}
.duo-offshore .duo-kicker{color:#D91E2A;}
.duo-title{font-size:18px;font-weight:700;line-height:1.35;}
.duo-legal .duo-title{color:#fff;}
.duo-offshore .duo-title{color:#0A2540;}
.duo-go a{font-weight:800;text-decoration:none;font-size:15px;}
.duo-legal .duo-go a{color:#E7A400;}
.duo-offshore .duo-go a{color:#D91E2A;}
.duo-go a::before{content:"";position:absolute;inset:0;}
.lsb-duo-card:hover{transform:translateY(-2px);transition:transform .15s ease;}
.lsb-state-index .st-ab{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#F4F7FB;border:1px solid #dfe7f0;color:#0A2540;font-weight:800;font-size:12px;letter-spacing:.5px;}
.lsb-state-index .st-nm{flex:1;}
.lsb-state-index a:hover .st-ab{background:#0A2540;color:#fff;border-color:#0A2540;}

/* ============================================================
   HOMEPAGE v2 — CTA state badges, boxed state breakdowns
   ============================================================ */
.lsb-cta-abbrs{display:inline-flex;gap:6px;margin-left:10px;vertical-align:middle;flex-wrap:wrap;}
.lsb-cta-ab{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:6px;background:#0A2540;color:#fff;font-weight:800;font-size:12px;letter-spacing:.5px;}
.lsb-lst{background:#fff;border:1px solid #dfe7f0;border-left:4px solid #1B6FC4;border-radius:12px;padding:18px 20px;margin:14px 0;box-shadow:0 2px 8px rgba(10,37,64,.05);}
.lsb-lst-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.lsb-lst-head h3{margin:0;font-size:19px;color:#0A2540;}
.lsb-launch{flex:none;display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;background:#0A2540;color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.3px;}
.lsb-launch.pending{background:#E7A400;color:#0A2540;}
.lsb-lst p{margin:0;font-size:15px;line-height:1.6;color:#31445a;}

/* homepage v2 — linked type boxes + provider chips */
.lsb-box h4 a{color:inherit;text-decoration:none;}
.lsb-box h4 a:hover{color:#1B6FC4;}
.lsb-provider{position:relative;}
.lsb-provider>a{color:inherit;text-decoration:none;font-weight:inherit;}
.lsb-provider>a::after{content:"";position:absolute;inset:0;}
.lsb-provider:has(>a):hover{border-color:#1B6FC4;background:#F4F7FB;}

/* legal-sites v2 — chip state tags + single duo band */
.lsb-duo.duo-one{grid-template-columns:1fr;}
.duo-sub{font-size:14.5px;color:#41556d;}
.duo-offshore .duo-title .lsb-cta-ab{margin-left:4px;vertical-align:2px;}
.rc-states{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;}
.rc-st{display:inline-flex;align-items:center;padding:1px 6px;border-radius:5px;background:#F4F7FB;border:1px solid #dfe7f0;color:#0A2540;font-weight:700;font-size:10.5px;letter-spacing:.4px;}



/* review-row extension — full-review link under the Visit button */
.lsb-rev-cta .lsb-rev-more{display:block;text-align:center;margin-top:8px;font-weight:800;font-size:13px;color:#1B6FC4;text-decoration:none;}
.lsb-rev-cta .lsb-rev-more:hover{text-decoration:underline;}

/* ============================================================
   FINAL OVERRIDE — site border is a single solid blue line,
   both edges, every page, every screen size. Wins over any
   stale or duplicate rule loaded from anywhere else.
   ============================================================ */
.lsb-wrap{
  background:none !important;
  background-image:none !important;
  border-left:3px solid #D5DCE4 !important;
  border-right:3px solid #D5DCE4 !important;
}

/* BEGIN trm-redesign-studio - auto-managed, do not edit */
/* ============================================================================
   BEST SLOTS USA — design system
   Applies site-wide (loaded from the child theme custom.css region).
   Page content is authored inside .lsb-page > .lsb-wrap so component styles are
   scoped and never leak into theme chrome (header/footer/menus).
   ============================================================================ */

:root{
  --navy:#0A2540;
  --navy-2:#12345C;
  --red:#D91E2A;
  --red-dark:#A8151F;
  --blue:#1B6FC4;
  --blue-tint:#EAF2FB;
  --paper:#FFFFFF;
  --mist:#F4F7FB;
  --line:#DDE5EE;
  --ink:#14202E;
  --slate:#5A6B7E;
  --gold:#E7A400;
  --green:#1F8A54;
  --shell:1280px;
  --pad:clamp(16px,4vw,40px);
  --radius:14px;
  --shadow:0 1px 2px rgba(10,37,64,.06),0 6px 20px rgba(10,37,64,.08);
  --shadow-lg:0 10px 40px rgba(10,37,64,.14);
  --sans:"Inter","Helvetica Neue",Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --display:"Inter","Helvetica Neue",Arial,sans-serif;
}

/* ---- Shell: 1280px wide, flag-stripe side borders -------------------------- */
.lsb-page{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
.lsb-wrap{
  max-width:var(--shell);
  margin:0 auto;
  padding:0 var(--pad) 72px;
  position:relative;
  border-left:3px solid #D5DCE4;
  border-right:3px solid #D5DCE4;
}


/* ---- Base typography ------------------------------------------------------- */
.lsb-wrap h1,.lsb-wrap h2,.lsb-wrap h3,.lsb-wrap h4{
  font-family:var(--display);
  color:var(--navy);
  line-height:1.15;
  letter-spacing:-.02em;
  font-weight:800;
  margin:0 0 .5em;
}
.lsb-wrap p{margin:0 0 1.1em;}
.lsb-wrap a{color:var(--blue);text-decoration:none;font-weight:600;}
.lsb-wrap a:hover{text-decoration:underline;}
.lsb-wrap strong{color:var(--navy);font-weight:700;}

/* ---- Section rhythm -------------------------------------------------------- */
.lsb-section{padding:34px 0;border-top:1px solid var(--line);}
.lsb-section:first-of-type{border-top:none;}
.lsb-section > h2{
  font-size:clamp(24px,3.4vw,34px);
  padding-bottom:.35em;
  position:relative;
}
.lsb-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--red);margin-bottom:10px;
}
.lsb-eyebrow::before{content:"";width:22px;height:3px;background:var(--red);border-radius:2px;}

/* ============================================================================
   HERO
   ============================================================================ */
.lsb-hero{
  margin:0 calc(-1 * var(--pad));
  padding:56px var(--pad) 44px;
  background:
    radial-gradient(120% 140% at 85% -10%,rgba(27,111,196,.20),transparent 55%),
    linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.lsb-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px);
  background-size:22px 22px;mask:linear-gradient(180deg,#000,transparent 70%);
}
.lsb-hero-inner{position:relative;max-width:820px;}
.lsb-hero .lsb-eyebrow{color:#7FB6EF;}
.lsb-hero .lsb-eyebrow::before{background:var(--red);}
.lsb-hero h1{
  color:#fff;font-size:clamp(30px,5.2vw,50px);line-height:1.05;
  margin:0 0 .35em;letter-spacing:-.03em;
}
.lsb-hero h1 .accent{color:#FF5A63;}
.lsb-hero-lede{font-size:clamp(17px,2.2vw,20px);color:#C9D8EA;line-height:1.6;margin:0;}
.lsb-hero-stats{
  display:flex;flex-wrap:wrap;gap:28px;margin-top:26px;
  padding-top:22px;border-top:1px solid rgba(255,255,255,.14);
}
.lsb-hero-stat b{display:block;font-size:26px;font-weight:800;color:#fff;line-height:1;}
.lsb-hero-stat span{font-size:12.5px;color:#9FB6D0;text-transform:uppercase;letter-spacing:.08em;}

/* ============================================================================
   FEATURED CASINO CARDS (hero cards — 4 up)
   ============================================================================ */
.lsb-featured{
  margin:-34px calc(-1 * var(--pad)) 0;
  padding:0 var(--pad);
  position:relative;z-index:3;
}
.lsb-featured-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
@media(max-width:900px){.lsb-featured-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lsb-featured-grid{grid-template-columns:1fr;}}

.lsb-fcard{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;
  position:relative;transition:transform .16s ease,box-shadow .16s ease;
}
.lsb-fcard:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(10,37,64,.20);}
.lsb-fcard-top{padding:16px 16px 0;display:flex;align-items:flex-start;justify-content:space-between;}
.lsb-rank{
  font-family:var(--display);font-weight:800;font-size:13px;color:#fff;
  background:var(--navy);border-radius:8px;padding:4px 9px;letter-spacing:.02em;
}
.lsb-fcard.is-top .lsb-rank{background:var(--red);}
.lsb-tag{
  font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;
}
.lsb-tag.legal{background:var(--blue-tint);color:var(--blue);border:1px solid #BEDBF5;}
.lsb-tag.offshore{background:#FDECEC;color:var(--red);border:1px solid #F6C9CC;}
.lsb-fcard-body{padding:14px 16px 0;flex:1;}
.lsb-fcard-name{font-size:19px;font-weight:800;color:var(--navy);margin:8px 0 2px;letter-spacing:-.01em;}
.lsb-fcard-sub{font-size:13px;color:var(--slate);margin:0 0 12px;font-weight:600;}
.lsb-fcard-offer{
  background:var(--mist);border:1px dashed var(--line);border-radius:10px;
  padding:10px 12px;margin-bottom:12px;
}
.lsb-fcard-offer b{display:block;font-size:15px;color:var(--navy);line-height:1.25;}
.lsb-fcard-offer span{font-size:11.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.06em;}
.lsb-states{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px;}
.lsb-badge{
  font-size:11px;font-weight:800;color:var(--navy-2);
  background:#EDF2F8;border:1px solid var(--line);border-radius:6px;padding:2px 7px;letter-spacing:.03em;
}
.lsb-fcard-cta{padding:0 16px 16px;}

/* ---- Buttons (site-wide) --------------------------------------------------- */
.btn-red,.btn-navy,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.01em;
  padding:12px 18px;border-radius:10px;cursor:pointer;transition:.15s ease;
  text-decoration:none !important;line-height:1;text-align:center;
}
.btn-full-width{width:100%;}
.btn-red{background:var(--red);color:#fff !important;box-shadow:0 4px 12px rgba(217,30,42,.28);}
.btn-red:hover{background:var(--red-dark);transform:translateY(-1px);}
.btn-navy{background:var(--navy);color:#fff !important;}
.btn-navy:hover{background:var(--navy-2);}
.btn-ghost{background:transparent;color:var(--navy) !important;border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--navy);background:var(--mist);}
.btn-red::after{content:"→";font-size:16px;transition:transform .15s ease;}
.btn-red:hover::after{transform:translateX(3px);}

/* ============================================================================
   QUICK-FACTS BOX
   ============================================================================ */
.lsb-facts{
  background:var(--mist);border:1px solid var(--line);border-left:4px solid var(--blue);
  border-radius:12px;padding:20px 22px;margin:22px 0;
}
.lsb-facts-title{
  display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;
  color:var(--navy);font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;
}
.lsb-facts-title::before{
  content:"i";display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;
  font-size:13px;font-weight:800;font-style:italic;flex:none;
}
.lsb-facts ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.lsb-facts li{position:relative;padding-left:26px;line-height:1.5;font-size:15.5px;}
.lsb-facts li::before{
  content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:4px;
  background:var(--blue-tint);border:2px solid var(--blue);
}
.lsb-facts li b{color:var(--navy);}

/* ============================================================================
   COMPARISON TABLE (responsive → stacked cards on mobile)
   ============================================================================ */
.lsb-table-wrap{
  margin:24px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow);
}
.lsb-table-head{
  background:var(--navy);color:#fff;padding:15px 20px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;
}
.lsb-table-head h3{color:#fff;margin:0;font-size:17px;letter-spacing:-.01em;}
.lsb-table-head .lsb-note{font-size:12.5px;color:#9FB6D0;font-weight:600;}
table.lsb-table{width:100%;border-collapse:collapse;background:#fff;font-size:15px;}
table.lsb-table thead th{
  background:#F0F4F9;color:var(--navy);text-align:left;font-weight:800;
  font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;
  padding:12px 16px;border-bottom:2px solid var(--line);white-space:nowrap;
}
table.lsb-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;}
table.lsb-table tbody tr:last-child td{border-bottom:none;}
table.lsb-table tbody tr:nth-child(even){background:#FAFCFE;}
table.lsb-table tbody tr:hover{background:var(--blue-tint);}
.lsb-t-rank{font-family:var(--display);font-weight:800;color:#fff;background:var(--navy);
  border-radius:7px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;}
tr:first-child .lsb-t-rank{background:var(--red);}
.lsb-t-name{font-weight:800;color:var(--navy);font-size:15.5px;}
.lsb-t-name small{display:block;font-weight:600;color:var(--slate);font-size:12.5px;margin-top:1px;}
.lsb-t-states{display:flex;flex-wrap:wrap;gap:4px;}
.lsb-t-states .lsb-badge{font-size:10.5px;padding:2px 6px;}
.lsb-t-offer{font-weight:700;color:var(--navy);font-size:14px;}
.lsb-t-cta a{
  display:inline-flex;align-items:center;gap:5px;background:var(--red);color:#fff !important;
  font-weight:800;font-size:13.5px;padding:9px 15px;border-radius:8px;white-space:nowrap;
  text-decoration:none !important;transition:.15s;
}
.lsb-t-cta a:hover{background:var(--red-dark);}
.lsb-t-cta a::after{content:"→";}
.lsb-stars{color:var(--gold);font-size:14px;letter-spacing:1px;white-space:nowrap;}
.lsb-stars small{color:var(--slate);font-size:12px;margin-left:4px;}

@media(max-width:820px){
  table.lsb-table thead{display:none;}
  table.lsb-table,table.lsb-table tbody,table.lsb-table tr,table.lsb-table td{display:block;width:100%;}
  table.lsb-table tr{
    border:1px solid var(--line);border-radius:12px;margin:12px;padding:6px 4px;
    box-shadow:var(--shadow);background:#fff !important;
  }
  table.lsb-table td{
    border:none;padding:8px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px;
  }
  table.lsb-table td::before{
    content:attr(data-label);font-weight:800;color:var(--slate);font-size:11.5px;
    text-transform:uppercase;letter-spacing:.05em;flex:none;
  }
  table.lsb-table td .lsb-t-states,table.lsb-table td .lsb-t-cta{justify-content:flex-end;}
  .lsb-t-cta a{width:auto;}
}

/* ---- Offshore table accent variant ---------------------------------------- */
.lsb-table-wrap.offshore .lsb-table-head{background:linear-gradient(90deg,var(--red-dark),var(--red));}
.lsb-table-wrap.offshore table.lsb-table tbody tr:hover{background:#FDECEC;}
.lsb-table-wrap.offshore tr:first-child .lsb-t-rank{background:var(--red);}
.lsb-badge.na{background:#F3F5F8;color:var(--slate);}
.lsb-t-cta a.review{background:#fff !important;color:var(--navy) !important;border:1.5px solid var(--line);}
.lsb-t-cta a.review:hover{border-color:var(--navy);background:var(--mist) !important;}
.lsb-t-cta a.review::after{content:"›";}

/* ============================================================================
   FULL-WIDTH SHORT REVIEW BOXES
   ============================================================================ */
.lsb-review{
  display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;
  border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin:16px 0;
  background:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.lsb-review::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--navy);}
.lsb-review.offshore::before{background:var(--red);}
.lsb-review.is-top::before{background:var(--red);}
.lsb-rev-rank{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:74px;height:74px;border-radius:14px;background:var(--navy);color:#fff;flex:none;
}
.lsb-review.offshore .lsb-rev-rank{background:var(--red);}
.lsb-review.is-top .lsb-rev-rank{background:var(--red);}
.lsb-rev-rank b{font-family:var(--display);font-size:28px;line-height:1;font-weight:800;}
.lsb-rev-rank span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin-top:3px;}
.lsb-rev-main{min-width:0;}
.lsb-rev-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.lsb-rev-name{font-family:var(--display);font-size:20px;font-weight:800;color:var(--navy);letter-spacing:-.01em;}
.lsb-rev-stars{color:var(--gold);font-size:15px;letter-spacing:1px;}
.lsb-rev-stars small{color:var(--slate);font-size:12.5px;margin-left:4px;letter-spacing:0;}
.lsb-rev-body{font-size:15px;color:var(--ink);line-height:1.6;margin:0 0 10px;}
.lsb-rev-tags{display:flex;flex-wrap:wrap;gap:6px;}
.lsb-chip{
  font-size:11.5px;font-weight:700;color:var(--navy-2);background:#EDF2F8;
  border:1px solid var(--line);border-radius:999px;padding:3px 10px;
}
.lsb-chip.good{background:#E9F6EF;color:var(--green);border-color:#BFE6CF;}
.lsb-rev-cta{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:170px;}
.lsb-rev-offer{text-align:center;font-size:12.5px;color:var(--slate);font-weight:700;}
.lsb-rev-offer b{display:block;color:var(--navy);font-size:15px;}
@media(max-width:760px){
  .lsb-review{grid-template-columns:auto 1fr;gap:16px;}
  .lsb-rev-cta{grid-column:1/-1;min-width:0;}
  .lsb-rev-cta .btn-red{width:100%;}
}

/* ============================================================================
   SIDE-BY-SIDE BOXES (2 / 3 / 4 column)
   ============================================================================ */
.lsb-sxs{display:grid;gap:16px;margin:22px 0;}
.lsb-sxs.cols-2{grid-template-columns:repeat(2,1fr);}
.lsb-sxs.cols-3{grid-template-columns:repeat(3,1fr);}
.lsb-sxs.cols-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:860px){.lsb-sxs.cols-3,.lsb-sxs.cols-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.lsb-sxs{grid-template-columns:1fr !important;}}
.lsb-box{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;
  border-top:3px solid var(--blue);box-shadow:var(--shadow);
}
.lsb-box.accent-red{border-top-color:var(--red);}
.lsb-box.accent-navy{border-top-color:var(--navy);}
.lsb-box.accent-green{border-top-color:var(--green);}
.lsb-box.fill{background:var(--mist);}
.lsb-box-icon{
  width:40px;height:40px;border-radius:10px;background:var(--blue-tint);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;margin-bottom:12px;
}
.lsb-box.accent-red .lsb-box-icon{background:#FDECEC;color:var(--red);}
.lsb-box.accent-navy .lsb-box-icon{background:#EAEEF4;color:var(--navy);}
.lsb-box.accent-green .lsb-box-icon{background:#E9F6EF;color:var(--green);}
.lsb-box h4{font-size:16px;margin:0 0 8px;color:var(--navy);}
.lsb-box p{font-size:14.5px;color:var(--ink);margin:0;line-height:1.55;}
.lsb-box ul{margin:8px 0 0;padding-left:18px;font-size:14.5px;line-height:1.55;}
.lsb-box .big{font-family:var(--display);font-size:30px;font-weight:800;color:var(--navy);line-height:1;display:block;margin-bottom:4px;}
.lsb-box.accent-red .big{color:var(--red);}

/* ============================================================================
   CALLOUT / WARNING / TIP STRIP
   ============================================================================ */
.lsb-callout{
  display:flex;gap:14px;padding:16px 20px;border-radius:12px;margin:20px 0;
  background:#FFF7ED;border:1px solid #F5D9A8;
}
.lsb-callout.warn{background:#FDECEC;border-color:#F6C9CC;}
.lsb-callout.tip{background:#E9F6EF;border-color:#BFE6CF;}
.lsb-callout-ico{font-size:20px;flex:none;line-height:1.4;}
.lsb-callout p{margin:0;font-size:14.5px;line-height:1.55;}
.lsb-callout b{color:var(--navy);}

/* ============================================================================
   FAQ (details/summary)
   ============================================================================ */
.lsb-faq{margin:20px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.lsb-faq details{border-bottom:1px solid var(--line);}
.lsb-faq details:last-child{border-bottom:none;}
.lsb-faq summary{
  cursor:pointer;padding:16px 20px;font-family:var(--display);font-weight:700;
  color:var(--navy);font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.lsb-faq summary::-webkit-details-marker{display:none;}
.lsb-faq summary::after{content:"+";font-size:22px;color:var(--blue);font-weight:400;flex:none;}
.lsb-faq details[open] summary::after{content:"–";}
.lsb-faq details[open] summary{background:var(--mist);}
.lsb-faq-body{padding:0 20px 18px;font-size:15px;line-height:1.6;color:var(--ink);}

/* ============================================================================
   SECTION BAND (alternating tint for rhythm)
   ============================================================================ */
.lsb-band{background:var(--mist);margin:0 calc(-1 * var(--pad));padding:0 var(--pad);border-top:1px solid var(--line);}
.lsb-band .lsb-section{border-top:none;}

/* ---- Anchor offset so jump links clear any sticky theme header ------------- */
.lsb-section{scroll-margin-top:90px;}

/* ---- utility classes (replace inline styles; contract: class-only) --------- */
.lsb-facts.facts-red{border-left-color:var(--red);}
.lsb-section.sec-topline{border-top:2px solid var(--line);}
.lsb-t-offer.muted{color:var(--slate);font-weight:600;}

/* ============================================================================
   OVERHAUL ADDITIONS — richer visuals, CTAs, state cards, image bands
   ============================================================================ */

/* ---- Hero: full-width content, two-paragraph intro, image ----------------- */
.lsb-hero-inner{max-width:none;}
.lsb-hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:40px;align-items:center;}
@media(max-width:900px){.lsb-hero-grid{grid-template-columns:1fr;gap:24px;}}
.lsb-hero-lede-group p{font-size:clamp(15.5px,1.9vw,18px);color:#C9D8EA;line-height:1.62;margin:0 0 14px;}
.lsb-hero-lede-group p:first-of-type{color:#E8F0FA;font-size:clamp(16px,2vw,19px);}
.lsb-hero-art{display:flex;justify-content:center;}
.lsb-hero-art img,.lsb-hero-art svg{width:100%;max-width:360px;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));}
.lsb-hero-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--navy)!important;
  font-family:var(--display);font-weight:800;font-size:15px;padding:12px 20px;border-radius:10px;
  text-decoration:none!important;transition:.15s;}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25);}

/* ---- Section CTA band (drives to state/review/article pages) -------------- */
.lsb-cta-band{
  display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;
  background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;
  border-radius:16px;padding:24px 28px;margin:26px 0;position:relative;overflow:hidden;
}
.lsb-cta-band.red{background:linear-gradient(120deg,var(--red-dark),var(--red));}
.lsb-cta-band::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;
  border-radius:50%;background:rgba(255,255,255,.06);}
.lsb-cta-band-txt h3{color:#fff;margin:0 0 4px;font-size:19px;}
.lsb-cta-band-txt p{margin:0;color:#C9D8EA;font-size:14.5px;}
.lsb-cta-band.red .lsb-cta-band-txt p{color:#FBD9DC;}
.lsb-cta-band .btn-white{white-space:nowrap;}
@media(max-width:640px){.lsb-cta-band{grid-template-columns:1fr;}}

/* ---- Inline link-pill row (mini CTAs to many pages) ----------------------- */
.lsb-pills{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0;}
.lsb-pill{
  display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;
  color:var(--navy);background:#fff;border:1.5px solid var(--line);border-radius:999px;
  padding:7px 14px;text-decoration:none!important;transition:.14s;
}
.lsb-pill:hover{border-color:var(--blue);background:var(--blue-tint);color:var(--blue);}
.lsb-pill::before{content:"›";color:var(--blue);font-weight:800;}

/* ---- Stat strip (big numbers band) ---------------------------------------- */
.lsb-statstrip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);
  border-radius:14px;overflow:hidden;margin:24px 0;border:1px solid var(--line);
}
@media(max-width:640px){.lsb-statstrip{grid-template-columns:repeat(2,1fr);}}
.lsb-statstrip .cell{background:#fff;padding:20px 16px;text-align:center;}
.lsb-statstrip .cell b{display:block;font-family:var(--display);font-size:30px;font-weight:800;
  color:var(--navy);line-height:1;}
.lsb-statstrip .cell.red b{color:var(--red);}
.lsb-statstrip .cell span{font-size:12.5px;color:var(--slate);text-transform:uppercase;
  letter-spacing:.05em;font-weight:700;margin-top:6px;display:block;}

/* ---- STATE FACT CARDS ------------------------------------------------------ */
.lsb-states-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0;}
@media(max-width:1000px){.lsb-states-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lsb-states-grid{grid-template-columns:1fr;}}
.lsb-state-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow);transition:transform .16s,box-shadow .16s;display:flex;flex-direction:column;
}
.lsb-state-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.lsb-state-head{
  background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;
  padding:16px 18px;display:flex;align-items:center;gap:12px;
}
.lsb-state-abbr{
  font-family:var(--display);font-weight:800;font-size:20px;color:#fff;
  background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.28);
  border-radius:10px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;flex:none;
}
.lsb-state-head .nm{font-family:var(--display);font-weight:800;font-size:16px;line-height:1.1;}
.lsb-state-head .nm small{display:block;font-size:11px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-top:2px;text-transform:uppercase;}
.lsb-state-body{padding:14px 18px;flex:1;}
.lsb-state-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.lsb-state-fact{background:var(--mist);border-radius:8px;padding:8px 10px;}
.lsb-state-fact b{display:block;font-family:var(--display);font-size:15px;color:var(--navy);line-height:1.1;}
.lsb-state-fact span{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.04em;font-weight:700;}
.lsb-state-note{font-size:13px;color:var(--ink);line-height:1.5;margin:0 0 12px;}
.lsb-state-card .lsb-state-cta{padding:0 18px 16px;margin-top:auto;}
.lsb-state-card .lsb-state-cta a{
  display:block;text-align:center;background:var(--mist);color:var(--navy)!important;
  border:1.5px solid var(--line);border-radius:9px;padding:9px;font-weight:800;font-size:13.5px;
  text-decoration:none!important;transition:.14s;
}
.lsb-state-card .lsb-state-cta a:hover{background:var(--navy);color:#fff!important;border-color:var(--navy);}
.lsb-state-card.pending .lsb-state-head{background:linear-gradient(120deg,#6A4A00,#8A6400);}

/* ---- Image band (illustration + text) ------------------------------------- */
.lsb-imgband{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin:26px 0;}
.lsb-imgband.rev{direction:rtl;}.lsb-imgband.rev>*{direction:ltr;}
@media(max-width:760px){.lsb-imgband{grid-template-columns:1fr;}}
.lsb-imgband-art{background:var(--mist);border:1px solid var(--line);border-radius:16px;
  padding:28px;display:flex;align-items:center;justify-content:center;}
.lsb-imgband-art img,.lsb-imgband-art svg{width:100%;max-width:300px;}
.lsb-imgband-txt h3{margin-top:0;}

/* ---- Icon feature row (small icon cards) ---------------------------------- */
.lsb-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0;}
@media(max-width:800px){.lsb-features{grid-template-columns:1fr;}}
.lsb-feature{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);}
.lsb-feature img,.lsb-feature svg{width:38px;height:38px;flex:none;}
.lsb-feature h4{margin:0 0 4px;font-size:15px;}
.lsb-feature p{margin:0;font-size:13.5px;color:var(--slate);line-height:1.5;}

/* ---- Section divider with label ------------------------------------------- */
.lsb-section > h2{display:flex;align-items:center;gap:14px;}

/* ---- Provider logo grid (text-based chips) -------------------------------- */
.lsb-providers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0;}
@media(max-width:700px){.lsb-providers{grid-template-columns:repeat(2,1fr);}}
.lsb-provider{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 12px;
  text-align:center;font-family:var(--display);font-weight:800;color:var(--navy);font-size:14px;
  box-shadow:var(--shadow);transition:.14s;}
.lsb-provider:hover{border-color:var(--blue);color:var(--blue);}
.lsb-provider small{display:block;font-weight:600;color:var(--slate);font-size:11px;margin-top:3px;letter-spacing:.02em;}

/* ---- Comparison two-up (legal vs offshore) -------------------------------- */
.lsb-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;margin:24px 0;
  border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);}
@media(max-width:640px){.lsb-vs{grid-template-columns:1fr;}}
.lsb-vs-col{padding:22px 24px;background:#fff;}
.lsb-vs-col.legal{border-top:4px solid var(--blue);}
.lsb-vs-col.off{border-top:4px solid var(--red);}
.lsb-vs-col h4{font-size:16px;margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.lsb-vs-col ul{list-style:none;margin:0;padding:0;}
.lsb-vs-col li{position:relative;padding-left:24px;margin-bottom:9px;font-size:14px;line-height:1.5;}
.lsb-vs-col li::before{position:absolute;left:0;top:0;font-weight:800;}
.lsb-vs-col.legal li::before{content:"✓";color:var(--green);}
.lsb-vs-col.off li.con::before{content:"✕";color:var(--red);}
.lsb-vs-col.off li::before{content:"✓";color:var(--green);}
.lsb-vs-col li.con::before{content:"✕";color:var(--red);}
.lsb-vs-divider{background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:800;font-size:15px;padding:0 14px;letter-spacing:.05em;}
@media(max-width:640px){.lsb-vs-divider{padding:10px;}}

/* ============================================================================
   STATE PAGES — status hero, at-a-glance, land-based, interactive map
   ============================================================================ */

/* ---- Status hero band (color-coded by legal status) ----------------------- */
.lsb-state-hero{
  margin:0 calc(-1 * var(--pad));
  padding:44px var(--pad) 40px;
  color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
}
.lsb-state-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.4px);
  background-size:22px 22px;mask:linear-gradient(180deg,#000,transparent 75%);
}
.lsb-state-hero.status-legal{background:linear-gradient(135deg,#0A3D26 0%,#0A2540 70%);}
.lsb-state-hero.status-pending{background:linear-gradient(135deg,#5A4200 0%,#0A2540 70%);}
.lsb-state-hero.status-restricted{background:linear-gradient(135deg,#4A1114 0%,#0A2540 70%);}
.lsb-state-hero-inner{position:relative;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;}
@media(max-width:760px){.lsb-state-hero-inner{grid-template-columns:1fr;}}
.lsb-state-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-state-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-state-hero .crumb a:hover{color:#fff;}
.lsb-state-hero h1{color:#fff;font-size:clamp(28px,4.4vw,44px);line-height:1.06;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-state-hero h1 .accent{color:#FF5A63;}
.lsb-state-hero-lede{font-size:clamp(16px,2vw,18px);color:#C9D8EA;line-height:1.6;margin:0;max-width:640px;}
/* status pill */
.lsb-status-pill{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;
  font-size:13px;letter-spacing:.03em;padding:8px 16px;border-radius:999px;margin-bottom:16px;
  background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);color:#fff;
}
.lsb-status-pill .dot{width:10px;height:10px;border-radius:50%;flex:none;}
.dot-legal{background:#39D98A;}.dot-offshore{background:#5AA9FF;}
.dot-pending{background:#FFC24B;}.dot-restricted{background:#FF6B72;}
/* hero status shield/emblem */
.lsb-state-emblem{
  width:150px;height:150px;border-radius:24px;flex:none;
  background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
}
.lsb-state-emblem .abbr{font-family:var(--display);font-weight:800;font-size:52px;color:#fff;line-height:1;letter-spacing:-.02em;}
.lsb-state-emblem .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9FB6D0;font-weight:700;}
@media(max-width:760px){.lsb-state-emblem{width:110px;height:110px;}.lsb-state-emblem .abbr{font-size:40px;}}

/* ---- At-a-glance fact grid ------------------------------------------------ */
.lsb-glance{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0;
}
@media(max-width:760px){.lsb-glance{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.lsb-glance{grid-template-columns:1fr;}}
.lsb-glance-item{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  border-left:4px solid var(--blue);box-shadow:var(--shadow);
}
.lsb-glance-item.yes{border-left-color:var(--green);}
.lsb-glance-item.no{border-left-color:var(--red);}
.lsb-glance-item.warn{border-left-color:var(--gold);}
.lsb-glance-item .k{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--slate);font-weight:800;margin-bottom:5px;display:flex;align-items:center;gap:6px;}
.lsb-glance-item .v{font-size:15.5px;color:var(--navy);font-weight:600;line-height:1.4;}
.lsb-glance-item .ic{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex:none;}
.lsb-glance-item.yes .ic{background:var(--green);}
.lsb-glance-item.no .ic{background:var(--red);}
.lsb-glance-item.warn .ic{background:var(--gold);}
.lsb-glance-item.info .ic{background:var(--blue);}

/* ---- Land-based casino table (reuse lsb-table look) ----------------------- */
.lsb-lb-table td .slots-count{font-family:var(--display);font-weight:800;color:var(--navy);}
.lsb-lb-table .op-badge{font-size:11px;font-weight:700;color:var(--navy-2);background:#EDF2F8;border:1px solid var(--line);border-radius:6px;padding:2px 8px;white-space:nowrap;}

/* ---- Casino detail card (top-5 land-based, tribal detail) ------------------ */
.lsb-lb-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0;}
@media(max-width:700px){.lsb-lb-cards{grid-template-columns:1fr;}}
.lsb-lb-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow);position:relative;border-top:3px solid var(--navy);}
.lsb-lb-card .rank-badge{position:absolute;top:-12px;left:18px;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:13px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.lsb-lb-card h4{margin:6px 0 8px;font-size:16px;}
.lsb-lb-card .meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.lsb-lb-card .meta span{font-size:12px;font-weight:700;color:var(--slate);background:var(--mist);border-radius:6px;padding:3px 9px;}
.lsb-lb-card p{font-size:14px;margin:0;color:var(--ink);line-height:1.55;}

/* ---- Legal timeline (for legal-history sections) -------------------------- */
.lsb-timeline{margin:22px 0;padding-left:26px;border-left:2px solid var(--line);}
.lsb-timeline-item{position:relative;padding:0 0 20px 22px;}
.lsb-timeline-item::before{content:"";position:absolute;left:-33px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 1px var(--line);}
.lsb-timeline-item.win::before{background:var(--green);}
.lsb-timeline-item.fail::before{background:var(--red);}
.lsb-timeline-item .date{font-family:var(--display);font-weight:800;color:var(--navy);font-size:14px;}
.lsb-timeline-item p{margin:2px 0 0;font-size:14.5px;line-height:1.55;}

/* ============================================================================
   INTERACTIVE US MAP (hub page)
   ============================================================================ */
.lsb-map-wrap{margin:26px 0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;}
.lsb-map-head{background:var(--navy);color:#fff;padding:16px 22px;}
.lsb-map-head h3{color:#fff;margin:0 0 3px;font-size:18px;}
.lsb-map-head p{margin:0;color:#9FB6D0;font-size:13px;}
.lsb-map-legend{display:flex;flex-wrap:wrap;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line);background:var(--mist);}
.lsb-map-legend .leg{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--navy);}
.lsb-map-legend .sw{width:16px;height:16px;border-radius:4px;flex:none;border:1px solid rgba(0,0,0,.08);}
.sw-legal{background:#1F8A54;}.sw-offshore{background:#8FB8E0;}.sw-pending{background:#E7A400;}.sw-restricted{background:#C9424A;}
.lsb-map-svg{padding:18px 22px;}
.lsb-map-svg svg{width:100%;height:auto;display:block;}
.lsb-map-svg .st{stroke:#fff;stroke-width:1.2;transition:filter .12s,opacity .12s;cursor:pointer;}
.lsb-map-svg .st.legal{fill:#1F8A54;}
.lsb-map-svg .st.offshore{fill:#8FB8E0;}
.lsb-map-svg .st.pending{fill:#E7A400;}
.lsb-map-svg .st.restricted{fill:#C9424A;}
.lsb-map-svg a:hover .st{filter:brightness(1.12);}
.lsb-map-svg .st-abbr{fill:#fff;font-family:var(--display);font-size:9px;font-weight:700;text-anchor:middle;pointer-events:none;}
.lsb-map-svg .st-abbr.dark{fill:#0A2540;}
/* small-state leader labels on the right */
.lsb-map-svg .lead-line{stroke:#9FB6D0;stroke-width:1;}
.lsb-map-note{padding:0 22px 18px;font-size:12.5px;color:var(--slate);}

/* ---- State index quick grid (all states as chips) ------------------------- */
.lsb-state-index{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:22px 0;}
@media(max-width:900px){.lsb-state-index{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.lsb-state-index{grid-template-columns:repeat(2,1fr);}}
.lsb-state-index a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 13px;
  text-decoration:none;font-weight:700;color:var(--navy);font-size:14px;transition:.14s;
}
.lsb-state-index a:hover{border-color:var(--blue);background:var(--blue-tint);}
.lsb-state-index a .st-dot{width:9px;height:9px;border-radius:50%;flex:none;}

/* ---- Sticky CTA rail card (state offshore top pick) ----------------------- */
.lsb-toppick{
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
  background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;
  border-radius:16px;padding:22px 26px;margin:24px 0;position:relative;overflow:hidden;
}
.lsb-toppick::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.06);}
.lsb-toppick-badge{background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.05em;padding:6px 12px;border-radius:8px;text-transform:uppercase;white-space:nowrap;}
.lsb-toppick-main{position:relative;}
.lsb-toppick-main b{font-family:var(--display);font-size:20px;font-weight:800;display:block;}
.lsb-toppick-main span{color:#C9D8EA;font-size:14px;}
.lsb-toppick .btn-red{position:relative;white-space:nowrap;}
@media(max-width:640px){.lsb-toppick{grid-template-columns:1fr;text-align:center;}.lsb-toppick-badge{justify-self:center;}}

/* map leader labels (small NE states) */
.lsb-map-svg .st-lead{stroke:#fff;stroke-width:1;}
.lsb-map-svg .lead-label{font-family:var(--display);font-size:12px;font-weight:700;fill:#0A2540;pointer-events:none;}

/* ---- Fuller hero: opening paragraphs inside the hero ---------------------- */
.lsb-state-hero-inner.hero-wide{align-items:start;}
.lsb-hero-paras{margin-top:14px;max-width:760px;}
.lsb-hero-paras p{font-size:clamp(15px,1.7vw,17px);color:#C9D8EA;line-height:1.62;margin:0 0 12px;}
.lsb-hero-paras p:first-child{color:#E8F0FA;font-size:clamp(15.5px,1.8vw,17.5px);}
.lsb-hero-paras p:last-child{margin-bottom:0;}
.lsb-hero-paras a{color:#7FB6EF;font-weight:700;}
.lsb-hero-paras a:hover{color:#fff;}

/* ---- State flag in emblem ------------------------------------------------- */
.lsb-state-flag{
  width:80px;height:auto;border-radius:6px;margin-bottom:10px;
  box-shadow:0 3px 10px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);display:block;
}
.lsb-state-emblem{padding:16px;}
@media(max-width:760px){.lsb-state-flag{width:64px;}}

/* ---- Quick fact boxes (compact stat callouts within sections) ------------- */
.lsb-quickfacts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0;
}
@media(max-width:760px){.lsb-quickfacts{grid-template-columns:repeat(2,1fr);}}
.lsb-qf{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;
  text-align:center;box-shadow:var(--shadow);border-top:3px solid var(--blue);
}
.lsb-qf.red{border-top-color:var(--red);}
.lsb-qf.green{border-top-color:var(--green);}
.lsb-qf.gold{border-top-color:var(--gold);}
.lsb-qf b{display:block;font-family:var(--display);font-size:24px;font-weight:800;color:var(--navy);line-height:1.05;}
.lsb-qf.red b{color:var(--red);}
.lsb-qf.green b{color:var(--green);}
.lsb-qf span{display:block;font-size:12px;color:var(--slate);font-weight:700;margin-top:5px;line-height:1.3;}

/* ---- In-state hero cards: adapt columns to count (2/3/4) ------------------ */
.lsb-featured-instate{margin-top:-30px;position:relative;z-index:3;}
.lsb-featured-instate .lsb-featured-grid{display:grid;gap:16px;}
.lsb-featured-instate.cards-4 .lsb-featured-grid{grid-template-columns:repeat(4,1fr);}
.lsb-featured-instate.cards-3 .lsb-featured-grid{grid-template-columns:repeat(3,1fr);}
.lsb-featured-instate.cards-2 .lsb-featured-grid{grid-template-columns:repeat(2,1fr);max-width:660px;}
@media(max-width:1000px){
  .lsb-featured-instate.cards-4 .lsb-featured-grid,
  .lsb-featured-instate.cards-3 .lsb-featured-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .lsb-featured-instate .lsb-featured-grid{grid-template-columns:1fr!important;}
}

/* ============================================================================
   REVIEW PAGES — review hero, rating panel, verdict, index CTA grid
   ============================================================================ */

/* ---- Review hero: brand + rating + bonus + CTA --------------------------- */
.lsb-rev-hero{
  margin:0 calc(-1 * var(--pad));padding:44px var(--pad) 40px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 75%);
}
.lsb-rev-hero.legal{background:linear-gradient(135deg,#0A3D26 0%,#0A2540 72%);}
.lsb-rev-hero.offshore{background:linear-gradient(135deg,#123C6B 0%,#0A2540 72%);}
.lsb-rev-hero::after{content:"";position:absolute;right:-50px;top:-50px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-rev-hero-inner{position:relative;display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:center;}
@media(max-width:820px){.lsb-rev-hero-inner{grid-template-columns:1fr;gap:24px;}}
.lsb-rev-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-rev-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-rev-hero .crumb a:hover{color:#fff;}
.lsb-rev-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-rev-hero-lede{font-size:clamp(15px,1.8vw,17.5px);color:#C9D8EA;line-height:1.6;margin:0;max-width:620px;}
.lsb-rev-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.lsb-rev-hero-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);}
.lsb-rev-hero-badge .dot{width:9px;height:9px;border-radius:50%;}

/* rating/CTA panel */
.lsb-rev-panel{background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.32);text-align:center;}
.lsb-rev-panel .score{font-family:var(--display);font-weight:800;font-size:52px;line-height:1;color:var(--navy);}
.lsb-rev-panel .score small{font-size:22px;color:var(--slate);font-weight:700;}
.lsb-rev-panel .score-stars{color:var(--gold);font-size:20px;letter-spacing:2px;margin:8px 0 4px;}
.lsb-rev-panel .score-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);font-weight:800;margin-bottom:16px;}
.lsb-rev-panel .offer-box{background:var(--mist);border:1px dashed var(--line);border-radius:12px;padding:14px;margin-bottom:16px;}
.lsb-rev-panel .offer-box b{display:block;font-family:var(--display);font-size:17px;color:var(--navy);line-height:1.15;}
.lsb-rev-panel .offer-box span{font-size:12px;color:var(--slate);font-weight:700;}
.lsb-rev-panel .btn-red{width:100%;font-size:16px;padding:14px;}
.lsb-rev-panel .terms{font-size:11px;color:var(--slate);margin-top:10px;line-height:1.4;}

/* ---- Pros & cons -------------------------------------------------------- */
.lsb-proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;}
@media(max-width:640px){.lsb-proscons{grid-template-columns:1fr;}}
.lsb-pc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);}
.lsb-pc.pros{border-top:3px solid var(--green);}
.lsb-pc.cons{border-top:3px solid var(--red);}
.lsb-pc h4{margin:0 0 12px;font-size:15px;display:flex;align-items:center;gap:8px;}
.lsb-pc ul{list-style:none;margin:0;padding:0;}
.lsb-pc li{position:relative;padding-left:26px;margin-bottom:9px;font-size:14px;line-height:1.5;}
.lsb-pc.pros li::before{content:"13";position:absolute;left:0;color:var(--green);font-weight:800;}
.lsb-pc.cons li::before{content:"15";position:absolute;left:0;color:var(--red);font-weight:800;}

/* ---- Verdict box -------------------------------------------------------- */
.lsb-verdict{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;border-radius:16px;padding:26px 30px;margin:26px 0;position:relative;overflow:hidden;}
.lsb-verdict::after{content:"";position:absolute;right:-30px;bottom:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-verdict .vhead{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.lsb-verdict .vscore{background:var(--gold);color:var(--navy);font-family:var(--display);font-weight:800;font-size:22px;width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex:none;}
.lsb-verdict h2,.lsb-verdict h3{color:#fff;margin:0;}
.lsb-verdict p{color:#DCE6F2;margin:8px 0 0;position:relative;}
.lsb-verdict .btn-red{margin-top:16px;}

/* ---- Index page: review CTA grid (links to all reviews in category) ------ */
.lsb-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;}
@media(max-width:900px){.lsb-review-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.lsb-review-grid{grid-template-columns:1fr;}}
.lsb-review-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 18px;text-decoration:none;box-shadow:var(--shadow);transition:.15s;}
.lsb-review-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--blue);}
.lsb-review-chip .rc-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:15px;}
.lsb-review-chip .rc-meta{font-size:12px;color:var(--slate);font-weight:600;margin-top:2px;}
.lsb-review-chip .rc-arrow{color:var(--blue);font-weight:800;font-size:18px;flex:none;}
.lsb-review-chip .rc-score{font-family:var(--display);font-weight:800;color:var(--green);font-size:15px;}

/* index CTA box header treatment */
.lsb-index-cta{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:#fff;border-radius:16px;padding:24px 28px;margin:24px 0;}
.lsb-index-cta h3{color:#fff;margin:0 0 4px;font-size:19px;}
.lsb-index-cta p{color:#9FB6D0;margin:0 0 18px;font-size:14px;}
.lsb-index-cta .lsb-review-grid{margin:0;}
.lsb-index-cta .lsb-review-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);}
.lsb-index-cta .lsb-review-chip .rc-name{color:#fff;}
.lsb-index-cta .lsb-review-chip .rc-meta{color:#9FB6D0;}
.lsb-index-cta .lsb-review-chip:hover{background:rgba(255,255,255,.12);}

/* ============================================================================
   SOFTWARE PROVIDER PAGES
   ============================================================================ */
.lsb-prov-hero{margin:0 calc(-1 * var(--pad));padding:44px var(--pad) 40px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 75%);}
.lsb-prov-hero.offshore{background:linear-gradient(135deg,#123C6B 0%,#0A2540 72%);}
.lsb-prov-hero.regulated{background:linear-gradient(135deg,#0A3D26 0%,#0A2540 72%);}
.lsb-prov-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-prov-hero-inner{position:relative;max-width:820px;}
.lsb-prov-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-prov-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-prov-hero .crumb a:hover{color:#fff;}
.lsb-prov-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-prov-hero-lede{font-size:clamp(15px,1.8vw,17.5px);color:#C9D8EA;line-height:1.6;margin:0;max-width:680px;}
.lsb-prov-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.lsb-prov-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);}
.lsb-prov-badge .dot{width:9px;height:9px;border-radius:50%;}

/* provider quick-fact strip */
.lsb-prov-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0 4px;}
@media(max-width:760px){.lsb-prov-facts{grid-template-columns:repeat(2,1fr);}}
.lsb-prov-facts .lsb-qf{border-top-color:var(--blue);}

/* provider index grid on hub (offshore + regulated groups) */
.lsb-prov-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;}
@media(max-width:900px){.lsb-prov-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.lsb-prov-grid{grid-template-columns:repeat(2,1fr);}}
.lsb-prov-chip{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;box-shadow:var(--shadow);transition:.15s;border-top:3px solid var(--blue);}
.lsb-prov-chip.offshore{border-top-color:var(--red);}
.lsb-prov-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.lsb-prov-chip .pc-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:15.5px;}
.lsb-prov-chip .pc-meta{font-size:12px;color:var(--slate);font-weight:600;}
.lsb-prov-chip .pc-go{margin-top:6px;color:var(--blue);font-weight:800;font-size:12.5px;}

.lsb-index-cta.software h3{color:#fff;}
.lsb-prov-groups{margin-top:6px;}
.lsb-eyebrow-light{color:#9FB6D0;}
.lsb-eyebrow-sp{margin-top:14px;}

/* ============================================================================
   SLOT TYPE PAGES
   ============================================================================ */
.lsb-type-hero{margin:0 calc(-1 * var(--pad));padding:44px var(--pad) 40px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 78%);}
.lsb-type-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.05);}
.lsb-type-hero-inner{position:relative;max-width:820px;}
.lsb-type-hero .crumb{font-size:12.5px;color:#9FB6D0;font-weight:700;letter-spacing:.04em;margin-bottom:14px;}
.lsb-type-hero .crumb a{color:#9FB6D0;text-decoration:none;}
.lsb-type-hero .crumb a:hover{color:#fff;}
.lsb-type-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.08;margin:0 0 14px;letter-spacing:-.02em;}
.lsb-type-hero-lede{font-size:clamp(15px,1.8vw,17.5px);color:#C9D8EA;line-height:1.6;margin:0;max-width:680px;}
.lsb-type-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.lsb-type-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.03em;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);}

/* type index grid on hub */
.lsb-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;}
@media(max-width:900px){.lsb-type-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.lsb-type-grid{grid-template-columns:1fr;}}
.lsb-type-chip{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;box-shadow:var(--shadow);transition:.15s;border-top:3px solid var(--blue);}
.lsb-type-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.lsb-type-chip .tc-name{font-family:var(--display);font-weight:800;color:var(--navy);font-size:15.5px;}
.lsb-type-chip .tc-desc{font-size:12.5px;color:var(--slate);line-height:1.4;}
.lsb-type-chip .tc-go{margin-top:4px;color:var(--blue);font-weight:800;font-size:12.5px;}
.lsb-type-grid.lsb-grid-sp{margin-top:6px;}
.lsb-inline-cta{background:var(--mist);border-left:3px solid var(--blue);padding:10px 16px;margin:14px 0;border-radius:0 8px 8px 0;font-weight:600;font-size:14.5px;}
.lsb-inline-cta a{color:var(--blue);font-weight:800;}

/* consolidated interlink additions */
.lsb-cta-foot{margin-top:16px;}

/* homepage table paired Visit + Review buttons */
.lsb-cta-pair{display:inline-flex;gap:6px;align-items:center;}
.lsb-cta-visit{display:inline-block;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:12.5px;padding:7px 14px;border-radius:8px;text-decoration:none;white-space:nowrap;}
.lsb-cta-visit:hover{filter:brightness(1.08);}
.lsb-cta-visit.disabled{background:var(--slate);}
.lsb-cta-review{display:inline-block;background:transparent;color:var(--blue);border:1.5px solid var(--blue);font-family:var(--display);font-weight:800;font-size:12.5px;padding:6px 12px;border-radius:8px;text-decoration:none;white-space:nowrap;}
.lsb-cta-review:hover{background:var(--blue);color:#fff;}
@media(max-width:640px){.lsb-cta-pair{flex-direction:column;gap:5px;}}

/* ============================================================
   REVIEW CHIPS v2 — conversion-safe (div wrapper + inline link)
   The whole card stays clickable via the stretched-link pattern.
   ============================================================ */
.lsb-review-chip{position:relative;cursor:pointer;}
.lsb-review-chip .rc-name a{color:inherit;text-decoration:none;}
.lsb-review-chip .rc-name a::after{content:"";position:absolute;inset:0;}
.lsb-review-chip .rc-name a:hover{text-decoration:none;}

/* ============================================================
   COMPANY PAGES (about, how we rate, responsible gambling)
   ============================================================ */
.lsb-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:22px 0;}
.lsb-team-card{background:#fff;border:1px solid #dfe7f0;border-radius:14px;padding:22px;box-shadow:0 2px 10px rgba(10,37,64,.06);}
.lsb-team-card h3{margin:0 0 2px;font-size:20px;color:#0A2540;}
.lsb-team-role{display:inline-block;background:#F4F7FB;color:#1B6FC4;font-weight:700;font-size:12px;letter-spacing:.4px;text-transform:uppercase;border-radius:20px;padding:3px 12px;margin:6px 0 12px;}
.lsb-team-card p{margin:0 0 10px;font-size:15px;line-height:1.55;color:#31445a;}
.lsb-team-fact{font-size:13px;color:#6a7b8f;border-top:1px dashed #dfe7f0;padding-top:10px;margin-top:4px;}
.lsb-step-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin:22px 0;counter-reset:lsbstep;}
.lsb-step-card{position:relative;background:#fff;border:1px solid #dfe7f0;border-left:5px solid #D91E2A;border-radius:12px;padding:20px 20px 18px 20px;box-shadow:0 2px 10px rgba(10,37,64,.06);}
.lsb-step-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#0A2540;color:#fff;font-weight:800;font-size:17px;margin-bottom:10px;}
.lsb-step-card h3{margin:0 0 8px;font-size:18px;color:#0A2540;}
.lsb-step-card p{margin:0;font-size:15px;line-height:1.55;color:#31445a;}
.lsb-crit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:20px 0;}
.lsb-crit{background:#F4F7FB;border:1px solid #e3ebf4;border-radius:10px;padding:16px;}
.lsb-crit b{display:block;color:#0A2540;margin-bottom:5px;font-size:15px;}
.lsb-crit span{font-size:14px;line-height:1.5;color:#41556d;}
.lsb-rg-state{background:#fff;border:1px solid #dfe7f0;border-radius:10px;padding:16px 18px;margin:12px 0;}
.lsb-rg-state h3{margin:0 0 8px;font-size:17px;color:#0A2540;}
.lsb-rg-state p{margin:0 0 8px;font-size:15px;line-height:1.55;color:#31445a;}
.lsb-rg-state ul{margin:0;padding-left:20px;font-size:14px;color:#41556d;}
.lsb-rg-state ul li{margin:3px 0;}
/* ============================================================
   STATES HUB v2 — full-width intro, duo CTA, grid monograms
   ============================================================ */
.lsb-state-hero-inner.hero-full .lsb-hero-paras{max-width:100%;}
.lsb-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:760px){.lsb-duo{grid-template-columns:1fr;}}
.lsb-duo-card{position:relative;display:flex;flex-direction:column;gap:8px;border-radius:14px;padding:24px;box-shadow:0 2px 12px rgba(10,37,64,.08);}
.lsb-duo-card.duo-legal{background:#0A2540;border:1px solid #0A2540;}
.lsb-duo-card.duo-offshore{background:#fff;border:2px solid #D91E2A;}
.duo-kicker{font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;}
.duo-legal .duo-kicker{color:#7FB6EF;}
.duo-offshore .duo-kicker{color:#D91E2A;}
.duo-title{font-size:18px;font-weight:700;line-height:1.35;}
.duo-legal .duo-title{color:#fff;}
.duo-offshore .duo-title{color:#0A2540;}
.duo-go a{font-weight:800;text-decoration:none;font-size:15px;}
.duo-legal .duo-go a{color:#E7A400;}
.duo-offshore .duo-go a{color:#D91E2A;}
.duo-go a::before{content:"";position:absolute;inset:0;}
.lsb-duo-card:hover{transform:translateY(-2px);transition:transform .15s ease;}
.lsb-state-index .st-ab{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#F4F7FB;border:1px solid #dfe7f0;color:#0A2540;font-weight:800;font-size:12px;letter-spacing:.5px;}
.lsb-state-index .st-nm{flex:1;}
.lsb-state-index a:hover .st-ab{background:#0A2540;color:#fff;border-color:#0A2540;}

/* ============================================================
   HOMEPAGE v2 — CTA state badges, boxed state breakdowns
   ============================================================ */
.lsb-cta-abbrs{display:inline-flex;gap:6px;margin-left:10px;vertical-align:middle;flex-wrap:wrap;}
.lsb-cta-ab{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:6px;background:#0A2540;color:#fff;font-weight:800;font-size:12px;letter-spacing:.5px;}
.lsb-lst{background:#fff;border:1px solid #dfe7f0;border-left:4px solid #1B6FC4;border-radius:12px;padding:18px 20px;margin:14px 0;box-shadow:0 2px 8px rgba(10,37,64,.05);}
.lsb-lst-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.lsb-lst-head h3{margin:0;font-size:19px;color:#0A2540;}
.lsb-launch{flex:none;display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;background:#0A2540;color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.3px;}
.lsb-launch.pending{background:#E7A400;color:#0A2540;}
.lsb-lst p{margin:0;font-size:15px;line-height:1.6;color:#31445a;}

/* homepage v2 — linked type boxes + provider chips */
.lsb-box h4 a{color:inherit;text-decoration:none;}
.lsb-box h4 a:hover{color:#1B6FC4;}
.lsb-provider{position:relative;}
.lsb-provider>a{color:inherit;text-decoration:none;font-weight:inherit;}
.lsb-provider>a::after{content:"";position:absolute;inset:0;}
.lsb-provider:has(>a):hover{border-color:#1B6FC4;background:#F4F7FB;}

/* legal-sites v2 — chip state tags + single duo band */
.lsb-duo.duo-one{grid-template-columns:1fr;}
.duo-sub{font-size:14.5px;color:#41556d;}
.duo-offshore .duo-title .lsb-cta-ab{margin-left:4px;vertical-align:2px;}
.rc-states{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;}
.rc-st{display:inline-flex;align-items:center;padding:1px 6px;border-radius:5px;background:#F4F7FB;border:1px solid #dfe7f0;color:#0A2540;font-weight:700;font-size:10.5px;letter-spacing:.4px;}



/* review-row extension — full-review link under the Visit button */
.lsb-rev-cta .lsb-rev-more{display:block;text-align:center;margin-top:8px;font-weight:800;font-size:13px;color:#1B6FC4;text-decoration:none;}
.lsb-rev-cta .lsb-rev-more:hover{text-decoration:underline;}

/* ============================================================
   FINAL OVERRIDE — site border is a single solid blue line,
   both edges, every page, every screen size. Wins over any
   stale or duplicate rule loaded from anywhere else.
   ============================================================ */
.lsb-wrap{
  background:none !important;
  background-image:none !important;
  border-left:3px solid #D5DCE4 !important;
  border-right:3px solid #D5DCE4 !important;
}

/* type-hero full-width variant (real-money and similar pages) */
.lsb-type-hero-inner.hero-full{max-width:var(--shell);}
.lsb-type-hero-inner.hero-full .lsb-type-hero-lede{max-width:100%;}
/* END trm-redesign-studio */
