:root {
  /* ── Design Tokens ── */
  --ice-white:#f4f8fb;--ice-light:#e8f1f8;--ice-mid:#d0e4f0;--ice-deep:#b8d4e8;--ice-blue:#7fb3d3;
  --text:#0e1c28;--text-mid:#2d4558;--text-muted:#5a7a90;--text-light:#8aa8bc;
  --accent:#0066cc;--accent-hover:#0052a3;--accent-light:rgba(0,102,204,0.08);
  --gold:#b8820a;--gold-bg:rgba(184,130,10,0.08);
  --green:#0a7c5c;--green-bg:rgba(10,124,92,0.07);
  --red:#c0392b;
  --on-blue:#004aad;
  --card:rgba(255,255,255,0.75);--card-border:rgba(180,210,230,0.6);
  --sh-sm:0 1px 4px rgba(14,28,40,0.06),0 4px 16px rgba(14,28,40,0.04);
  --sh-md:0 4px 20px rgba(14,28,40,0.1),0 1px 4px rgba(14,28,40,0.06);
  --sh-lg:0 12px 48px rgba(14,28,40,0.14),0 4px 16px rgba(14,28,40,0.06);

  /* ── Grid System ── */
  --grid-cols: 4;
  --grid-gutter: 16px;
  --grid-margin: 16px;
  --grid-max: 1160px;
}

/* ── Grid System: Mobile-first 4 → 8 → 12 columns ── */
.g-container {
  width: 100%;
  max-width: calc(var(--grid-max) + var(--grid-margin) * 2);
  margin: 0 auto;
  padding: 0 var(--grid-margin);
}
.g-row {
  display: grid;
  grid-template-columns: repeat(var(--grid-cols), 1fr);
  gap: var(--grid-gutter);
}
/* Span helpers: mobile (4-col base) */
.g-1  { grid-column: span 1 } .g-2  { grid-column: span 2 }
.g-3  { grid-column: span 3 } .g-4  { grid-column: span 4 }
.g-full { grid-column: 1 / -1 }

@media (min-width: 701px) {
  :root { --grid-cols: 8; --grid-gutter: 24px; --grid-margin: 32px }
  .g-md-1 { grid-column: span 1 } .g-md-2 { grid-column: span 2 }
  .g-md-3 { grid-column: span 3 } .g-md-4 { grid-column: span 4 }
  .g-md-5 { grid-column: span 5 } .g-md-6 { grid-column: span 6 }
  .g-md-7 { grid-column: span 7 } .g-md-8 { grid-column: span 8 }
}
@media (min-width: 1001px) {
  :root { --grid-cols: 12; --grid-gutter: 24px; --grid-margin: 64px }
  .g-lg-1  { grid-column: span 1 }  .g-lg-2  { grid-column: span 2 }
  .g-lg-3  { grid-column: span 3 }  .g-lg-4  { grid-column: span 4 }
  .g-lg-5  { grid-column: span 5 }  .g-lg-6  { grid-column: span 6 }
  .g-lg-7  { grid-column: span 7 }  .g-lg-8  { grid-column: span 8 }
  .g-lg-9  { grid-column: span 9 }  .g-lg-10 { grid-column: span 10 }
  .g-lg-11 { grid-column: span 11 } .g-lg-12 { grid-column: span 12 }
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Geist',-apple-system,sans-serif;background:var(--ice-white);color:var(--text);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(ellipse 80% 40% at 20% 0%,rgba(127,179,211,0.18) 0%,transparent 60%),radial-gradient(ellipse 60% 30% at 80% 10%,rgba(176,220,240,0.14) 0%,transparent 60%);background-attachment:fixed}
body.ontario .roc-only{display:none!important}
body.roc .ontario-only{display:none!important}
body:not(.ontario):not(.roc) .ontario-only{display:none!important}

/* READING PROGRESS BAR */
.progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:999;transition:width 0.1s linear;width:0}

/* AFFILIATE DISCLOSURE BAR */
.disclosure-bar{background:#1a2a3a;color:rgba(255,255,255,0.7);text-align:center;padding:8px 12px;font-size:11px;line-height:1.5}
.disclosure-bar a{color:rgba(255,255,255,0.85);text-decoration:underline}

/* TOPBAR */
.topbar{background:var(--accent);color:#fff;text-align:center;padding:9px 16px;font-size:13px;font-weight:500}
.topbar a{color:rgba(255,255,255,0.85);text-decoration:underline}

/* NAV */
.nav-wrapper{position:sticky;top:0;z-index:200}
nav{position:relative;z-index:2;background:rgba(244,248,251,0.93);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color 0.2s;padding:0 max(var(--grid-margin), calc((100% - var(--grid-max)) / 2));display:flex;align-items:center;justify-content:space-between;gap:12px;height:62px}
nav.scrolled{border-bottom-color:var(--ice-mid)}
.logo{font-family:'Fraunces',serif;font-size:19px;font-weight:800;color:var(--text);text-decoration:none;letter-spacing:-0.03em;white-space:nowrap;flex-shrink:0}
.logo span{color:var(--accent)}
/* Mobile-first: nav links hidden by default, shown on desktop */
.nav-links{display:none;gap:22px;list-style:none}
.nav-links a{color:var(--text-muted);text-decoration:none;font-size:14px;font-weight:500;transition:color 0.2s;white-space:nowrap}
.nav-links a:hover{color:var(--accent)}

/* PROVINCE TOGGLE */
.prov-wrap{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0}
/* Mobile-first: province label hidden by default */
.prov-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.09em;color:var(--text-light);white-space:nowrap;display:none}
.toggle-track{display:flex;background:var(--ice-light);border:1px solid var(--ice-deep);border-radius:8px;overflow:hidden;flex-shrink:0}
/* Mobile-first: small toggle buttons by default */
.toggle-btn{padding:5px 8px;font-size:11px;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--text-muted);transition:all 0.2s;font-family:'Geist',sans-serif;white-space:nowrap}
.toggle-btn.act-on{background:var(--on-blue);color:#fff;border-radius:6px}
.toggle-btn.act-roc{background:var(--accent);color:#fff;border-radius:6px}

/* ── Unified section padding using grid margins ── */
.hero,.honest-section,.flow-section,.editorial-section,.info-section,.legal-section,.calc-section,.method-section,.team-section,.faq-section,.sources-section,.standards-section,.rg-section,.dnr-section,.rankings,.tool-section,.page-hero,.page-content,.page-related{
  padding-left:var(--grid-margin);padding-right:var(--grid-margin)
}
.hero-inner,.toc-wrap,.honest-wrap,.tool-wrap,.flow-wrap,.rankings-inner,.dnr-inner,.calc-inner,.legal-wrap,.method-inner,.team-wrap,.faq-inner,.sources-wrap,.standards-wrap,.fg,.fbot,.info-wrap,.editorial-wrap,.page-hero-inner,.page-content-inner,.page-related-inner,.rg-card{
  max-width:var(--grid-max);margin-left:auto;margin-right:auto
}

/* ── Grid-snapped max-widths for text content ── */
/* Column fractions of --grid-max (1160px): 6col=580, 7col=677, 8col=773, 9col=870 */
h1{max-width:calc(var(--grid-max) * 9 / 12)}
.hero-sub,.section-desc--narrow,.callout-warning{max-width:calc(var(--grid-max) * 7 / 12)}
.section-desc{max-width:calc(var(--grid-max) * 6 / 12)}
/* Article body text: 8 of 12 cols for readable line length */
.page-content-inner p,.page-content-inner ul,.page-content-inner ol,.page-content-inner blockquote,
.editorial-main p,.editorial-main ul,.editorial-main ol,.editorial-main blockquote{max-width:calc(var(--grid-max) * 8 / 12)}

/* HERO */
.hero{padding-top:clamp(48px,9vw,100px);padding-bottom:clamp(32px,5vw,64px)}
.hero-pill{display:inline-flex;align-items:center;gap:7px;background:var(--accent-light);border:1px solid rgba(0,102,204,0.2);border-radius:100px;padding:5px 13px;font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:22px}
.live-dot{width:6px;height:6px;background:#0a7c5c;border-radius:50%;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
h1{font-family:'Fraunces',serif;font-size:clamp(30px,5.5vw,62px);font-weight:800;line-height:1.08;letter-spacing:-0.04em;color:var(--text);max-width:860px;margin-bottom:20px}
h1 em{font-style:italic;color:var(--accent)}
.hero-sub{font-size:clamp(15px,1.8vw,18px);color:var(--text-muted);max-width:620px;margin-bottom:32px;line-height:1.7;font-weight:300}
/* Mobile-first: stat-bar stacks vertically */
.stat-bar{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--card-border);border-radius:14px;overflow:hidden;box-shadow:var(--sh-sm);margin-bottom:20px;backdrop-filter:blur(8px)}
.stat-item{flex:1;min-width:110px;padding:12px 16px;border-bottom:1px solid var(--ice-mid);text-align:center}
.stat-item:last-child{border-bottom:none}
.stat-num{font-family:'Fraunces',serif;font-size:26px;font-weight:800;color:var(--accent);line-height:1;margin-bottom:3px;letter-spacing:-0.03em}
.stat-label{font-size:12px;color:var(--text-muted);font-weight:500}
.on-notice{background:rgba(0,74,173,0.06);border:1px solid rgba(0,74,173,0.2);border-radius:10px;padding:14px 18px;font-size:13px;color:#0a3d7a;display:flex;gap:10px;align-items:flex-start;margin-top:16px}
.on-notice strong{color:#0a3d7a}

/* BYLINE — mobile-first: stacked */
.byline{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0;margin-top:12px;border-top:1px solid var(--ice-mid);font-size:13px;color:var(--text-muted)}
.byline-sep{color:var(--ice-deep);display:none}
.byline-avatar{width:36px;height:36px;background:linear-gradient(135deg,var(--ice-mid),var(--ice-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:12px;font-weight:800;color:var(--accent);border:2px solid var(--card-border);flex-shrink:0}
.byline strong{color:var(--text)}

/* TABLE OF CONTENTS */
.toc-section{padding-top:0;padding-bottom:clamp(32px,4vw,48px)}
.toc-wrap{}
.toc-box{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:22px 26px;box-shadow:var(--sh-sm);backdrop-filter:blur(8px)}
.toc-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);margin-bottom:14px;display:flex;align-items:center;gap:8px}
/* Mobile-first: toc single column */
.toc-grid{display:grid;grid-template-columns:1fr;gap:6px 24px}
.toc-link{font-size:14px;color:var(--accent);text-decoration:none;padding:5px 0;display:flex;align-items:center;gap:8px;font-weight:500;transition:color 0.2s}
.toc-link:hover{color:var(--accent-hover)}
.toc-link .toc-num{font-size:11px;font-weight:700;color:var(--text-light);min-width:18px}
.toc-time{font-size:12px;color:var(--text-light);margin-top:10px;padding-top:10px;border-top:1px solid var(--ice-light)}

/* SECTION UTILS */
.section-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent);margin-bottom:10px}
h2{font-family:'Fraunces',serif;font-size:clamp(24px,3.5vw,40px);font-weight:800;letter-spacing:-0.03em;line-height:1.12;color:var(--text);margin-bottom:12px}
.section-desc{font-size:15px;color:var(--text-muted);max-width:520px;line-height:1.7;font-weight:300}

/* SOURCE CITATION */
.source-cite{font-size:12px;color:var(--text-light);margin-top:6px;font-style:italic}
.source-cite a{color:var(--accent);text-decoration:underline}
.inline-source{font-size:11px;vertical-align:super;color:var(--accent);text-decoration:none;font-weight:700;cursor:help}
.inline-source:hover{text-decoration:underline}

/* SHOULD YOU USE CC */
.honest-section{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px);border-top:1px solid var(--ice-mid)}
.honest-wrap{}
.method-compare{width:100%;border-collapse:collapse;font-size:13px;margin-top:20px;margin-bottom:16px}
.method-compare th{background:var(--ice-light);padding:12px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);border-bottom:1px solid var(--ice-mid)}
.method-compare td{padding:11px 14px;border-bottom:1px solid var(--ice-light);color:var(--text-mid)}
.method-compare tr:last-child td{border-bottom:none}
.method-compare .rec{background:var(--green-bg)}
.pg{background:var(--green-bg);color:var(--green);padding:2px 8px;border-radius:100px;font-size:11px;font-weight:700}
.pc{background:var(--gold-bg);color:var(--gold);padding:2px 8px;border-radius:100px;font-size:11px;font-weight:700}
.pb{background:rgba(192,57,43,0.07);color:var(--red);padding:2px 8px;border-radius:100px;font-size:11px;font-weight:700}
.verdict-box{background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:18px 22px;margin-top:20px}
.verdict-box h4{font-family:'Fraunces',serif;font-size:16px;font-weight:700;color:var(--text);margin-bottom:8px}
.verdict-box p{font-size:14px;color:var(--text-muted);line-height:1.7;margin-bottom:0}

/* BANK TOOL — mobile-first: single column */
.tool-section{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px);background:linear-gradient(135deg,#e8f1f8 0%,#daeaf5 100%);border-top:1px solid var(--ice-mid);border-bottom:1px solid var(--ice-mid)}
.tool-wrap{display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);align-items:start}
.bank-tool{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:28px;box-shadow:var(--sh-md);backdrop-filter:blur(12px)}
.bank-tool h3{font-family:'Fraunces',serif;font-size:18px;font-weight:700;color:var(--text);margin-bottom:6px}
.bank-tool p{font-size:13px;color:var(--text-muted);margin-bottom:20px}
.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}
.bank-btn{padding:11px 12px;border:1px solid var(--ice-deep);border-radius:8px;background:var(--ice-light);font-size:13px;font-weight:600;color:var(--text-mid);cursor:pointer;text-align:left;transition:all 0.2s;font-family:'Geist',sans-serif}
.bank-btn:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}
.bank-btn.sel{border-color:var(--accent);background:var(--accent);color:#fff}
.bank-result{border-radius:10px;padding:16px;font-size:14px;line-height:1.6;display:none}
.bank-result.show{display:block}
.bank-result.good{background:var(--green-bg);border:1px solid rgba(10,124,92,0.2);color:var(--green)}
.bank-result.caution{background:var(--gold-bg);border:1px solid rgba(184,130,10,0.25);color:var(--gold)}
.bank-result.bad{background:rgba(192,57,43,0.06);border:1px solid rgba(192,57,43,0.2);color:var(--red)}
.bank-result strong{display:block;font-size:15px;margin-bottom:4px}
.accept-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:24px}
.accept-table th{background:var(--ice-light);padding:10px 12px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);border-bottom:1px solid var(--ice-mid)}
.accept-table td{padding:10px 12px;border-bottom:1px solid var(--ice-light);color:var(--text-mid)}
.accept-table tr:last-child td{border-bottom:none}

/* RANKINGS — mobile-first: card-inner 2-col, card-cta row layout */
.rankings{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px)}.rankings-inner{}
.casino-card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:clamp(18px,3vw,26px);margin-bottom:14px;box-shadow:var(--sh-sm);backdrop-filter:blur(8px);transition:box-shadow 0.25s,transform 0.25s;position:relative;overflow:hidden}
.casino-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:transparent;transition:background 0.25s}
.casino-card:hover{box-shadow:var(--sh-lg);transform:translateY(-2px)}
.casino-card:hover::before{background:var(--accent)}
.casino-card.top::before{background:var(--gold)}
/* Mobile-first: 2-column card layout */
.card-inner{display:grid;grid-template-columns:36px 1fr;gap:18px;align-items:start}
.rank{font-family:'Fraunces',serif;font-size:28px;font-weight:800;line-height:1;color:var(--ice-deep);padding-top:4px;text-align:center}
.rank.gold{color:var(--gold)}
.card-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.card-name{font-family:'Fraunces',serif;font-size:20px;font-weight:700;color:var(--text);letter-spacing:-0.02em}
.badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;padding:3px 8px;border-radius:5px}
.be{background:var(--gold-bg);color:var(--gold);border:1px solid rgba(184,130,10,0.2)}
.bon{background:rgba(0,74,173,0.08);color:var(--on-blue);border:1px solid rgba(0,74,173,0.2)}
.bnew{background:var(--green-bg);color:var(--green);border:1px solid rgba(10,124,92,0.2)}
.card-meta{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:13px;color:var(--text-muted);margin-bottom:10px}
.card-meta strong{color:var(--text)}
.score-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.sp{background:var(--ice-light);border:1px solid var(--ice-mid);border-radius:6px;padding:3px 10px;font-size:12px;color:var(--text-muted)}
.sp strong{color:var(--accent)}
.tested{font-size:12px;color:var(--text-light);display:flex;align-items:center;gap:5px}
.tdot{width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0}
.card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.tag{background:var(--ice-light);border:1px solid var(--ice-mid);border-radius:5px;padding:3px 9px;font-size:12px;color:var(--text-muted)}
.bonus-row{margin-top:10px;font-size:13px;font-weight:600;color:var(--green)}
.bonus-row.quiet{color:var(--text-muted);font-weight:400}
/* EDITORIAL NOTE */
.card-editorial{margin-top:12px;padding-top:10px;border-top:1px solid var(--ice-light);font-size:12px;color:var(--text-muted);line-height:1.6;font-weight:300}
.card-editorial strong{color:var(--text);font-weight:600}
/* Mobile-first: card-cta row layout spanning full width */
.card-cta{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0;padding-top:12px;grid-column:1/-1;border-top:1px solid var(--ice-light);margin-top:8px}
.overall{text-align:left}
.snm{font-family:'Fraunces',serif;font-size:25px;font-weight:800;color:var(--text);letter-spacing:-0.03em;line-height:1}
.snd{font-size:13px;color:var(--text-light);font-weight:400;font-family:'Geist',sans-serif}
.stars{display:flex;gap:2px;justify-content:center;margin-top:4px}
.s{color:var(--gold);font-size:13px}.se{color:var(--ice-deep);font-size:13px}
.btn-visit{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);color:#fff;font-weight:600;font-size:14px;padding:10px 18px;border-radius:9px;text-decoration:none;transition:all 0.2s;white-space:nowrap;font-family:'Geist',sans-serif;box-shadow:0 2px 8px rgba(0,102,204,0.25);flex:1}
.btn-visit:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,102,204,0.3)}
.btn-rev{font-size:13px;color:var(--accent);text-decoration:none;font-weight:500}
.btn-rev:hover{color:var(--accent-hover)}

/* EDITORIAL — mobile-first: single column */
.editorial-section{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px);border-top:1px solid var(--ice-mid)}
.editorial-wrap{display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);align-items:start}
.editorial-main h2{font-family:'Fraunces',serif;font-size:clamp(22px,3vw,34px);font-weight:800;letter-spacing:-0.03em;color:var(--text);margin-bottom:16px}
.editorial-main h3{font-family:'Fraunces',serif;font-size:20px;font-weight:700;color:var(--text);margin:28px 0 12px}
.editorial-main p{font-size:15px;color:var(--text-muted);line-height:1.8;margin-bottom:16px;font-weight:300}
.editorial-main p em{font-style:italic}
.editorial-main strong{color:var(--text);font-weight:600}

/* TRUST */
.trust-section{background:linear-gradient(180deg,var(--ice-light) 0%,var(--ice-white) 100%);border-top:1px solid var(--ice-mid);border-bottom:1px solid var(--ice-mid);padding:clamp(48px,7vw,88px) clamp(16px,4vw,64px)}
.trust-hdr{max-width:1160px;margin:0 auto 32px}
.trust-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.tc{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:22px;box-shadow:var(--sh-sm);backdrop-filter:blur(8px);transition:box-shadow 0.2s}
.tc:hover{box-shadow:var(--sh-md)}
.ti{width:40px;height:40px;background:var(--accent-light);border:1px solid rgba(0,102,204,0.15);border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:17px}
.tc h3{font-family:'Fraunces',serif;font-size:16px;font-weight:700;color:var(--text);margin-bottom:7px}
.tc p{font-size:13px;color:var(--text-muted);line-height:1.65;font-weight:300}

/* CALC — mobile-first: single column */
.calc-section{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px)}.calc-inner{}
.calc-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);align-items:start;margin-top:32px}
.calc-tool{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:26px;box-shadow:var(--sh-md);backdrop-filter:blur(8px)}
.calc-tool h3{font-family:'Fraunces',serif;font-size:19px;font-weight:700;color:var(--text);margin-bottom:18px}
.fr{margin-bottom:14px}
.fl{display:block;font-size:13px;font-weight:600;color:var(--text-mid);margin-bottom:5px}
.fi{width:100%;padding:10px 13px;border:1px solid var(--ice-deep);border-radius:8px;font-size:14px;background:var(--ice-white);color:var(--text);font-family:'Geist',sans-serif;transition:border-color 0.2s}
.fi:focus{outline:none;border-color:var(--accent)}
.cr{margin-top:18px;background:var(--ice-light);border:1px solid var(--ice-mid);border-radius:10px;padding:16px}
.rrow{display:flex;justify-content:space-between;font-size:14px;padding:5px 0;border-bottom:1px solid var(--ice-mid);color:var(--text-muted)}
.rrow:last-child{border-bottom:none}
.rrow strong{color:var(--text)}
.rhl{font-size:15px;font-weight:600}

/* LEGAL LANDSCAPE — mobile-first: single column */
.legal-section{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px);background:linear-gradient(180deg,var(--ice-white) 0%,var(--ice-light) 100%);border-top:1px solid var(--ice-mid)}
.legal-wrap{}
.legal-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);margin-top:24px}
.legal-card{background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:20px;box-shadow:var(--sh-sm)}
.legal-card h4{font-family:'Fraunces',serif;font-size:16px;font-weight:700;color:var(--text);margin-bottom:8px}
.legal-card p{font-size:13px;color:var(--text-muted);line-height:1.7;margin-bottom:0}
.legal-card .legal-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:10px;display:inline-block;padding:3px 9px;border-radius:5px}

/* HOW TRANSACTIONS WORK — mobile-first: vertical flow */
.flow-section{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px);border-top:1px solid var(--ice-mid)}
.flow-wrap{}
.flow-steps{display:flex;flex-direction:column;gap:0;margin-top:24px;flex-wrap:wrap;align-items:stretch}
.flow-step{flex:1;min-width:160px;background:var(--card);border:1px solid var(--card-border);padding:18px;position:relative;border-radius:0!important}
.flow-step:first-child{border-radius:12px 12px 0 0!important}
.flow-step:last-child{border-radius:0 0 12px 12px!important}
.flow-step:not(:last-child)::after{content:'↓';position:absolute;right:auto;left:50%;top:auto;bottom:-12px;transform:translateX(-50%);font-size:16px;color:var(--accent);z-index:2;background:var(--ice-white);width:20px;text-align:center}
.flow-num{font-family:'Fraunces',serif;font-size:22px;font-weight:800;color:var(--ice-deep);margin-bottom:6px}
.flow-step h4{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px}
.flow-step p{font-size:12px;color:var(--text-muted);line-height:1.5}

/* INFO — mobile-first: single column */
.info-section{background:linear-gradient(180deg,var(--ice-white) 0%,var(--ice-light) 100%);border-top:1px solid var(--ice-mid);padding:clamp(48px,7vw,88px) clamp(16px,4vw,64px)}
.info-wrap{max-width:1160px;margin:0 auto}
.info-cols{display:grid;grid-template-columns:1fr;gap:20px;margin-top:32px}
.ic h3{font-family:'Fraunces',serif;font-size:19px;font-weight:700;color:var(--text);margin:20px 0 9px}
.ic h3:first-child{margin-top:0}
.ic p{font-size:14px;color:var(--text-muted);line-height:1.75;margin-bottom:12px;font-weight:300}
.pcl{list-style:none}
.pcl li{display:flex;gap:10px;font-size:14px;color:var(--text-muted);padding:7px 11px;border-radius:7px;margin-bottom:5px}
.pcl li.pro{background:var(--green-bg)}
.pcl li.con{background:rgba(192,57,43,0.05)}
.pcl li::before{flex-shrink:0;font-weight:700;margin-top:1px}
.pcl li.pro::before{content:'✓';color:var(--green)}
.pcl li.con::before{content:'✗';color:var(--red)}

/* METHOD */
.method-section{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px)}.method-inner{}
.method-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);margin-top:32px}
.mc{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:20px;box-shadow:var(--sh-sm);backdrop-filter:blur(8px)}
.mn{font-family:'Fraunces',serif;font-size:36px;font-weight:800;color:var(--ice-deep);line-height:1;margin-bottom:9px}
.mc h3{font-size:14px;font-weight:600;color:var(--text);margin-bottom:5px}
.mc p{font-size:13px;color:var(--text-muted);line-height:1.65;font-weight:300}

/* TEAM */
.team-section{background:linear-gradient(180deg,var(--ice-light) 0%,var(--ice-white) 100%);border-top:1px solid var(--ice-mid);border-bottom:1px solid var(--ice-mid);padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px)}
.team-wrap{}
.team-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);margin-top:32px}
.tcard{background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:20px;box-shadow:var(--sh-sm);backdrop-filter:blur(8px)}
.av{width:46px;height:46px;background:linear-gradient(135deg,var(--ice-mid),var(--ice-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:16px;font-weight:800;color:var(--accent);margin-bottom:11px;border:2px solid var(--card-border)}
.tn{font-weight:700;font-size:15px;color:var(--text);margin-bottom:2px}
.tr{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent);margin-bottom:8px}
.tb{font-size:13px;color:var(--text-muted);line-height:1.65;font-weight:300}

/* FAQ */
.faq-section{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px)}.faq-inner{}
.faq-list{margin-top:32px}
.faq-item{border:1px solid var(--card-border);border-radius:10px;overflow:hidden;margin-bottom:7px;background:var(--card);backdrop-filter:blur(8px)}
.faq-q{width:100%;background:transparent;border:none;padding:17px 20px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:600;color:var(--text);font-family:'Geist',sans-serif;transition:color 0.2s;gap:12px}
.faq-q:hover{color:var(--accent)}
.faq-q .arr{color:var(--accent);transition:transform 0.3s;flex-shrink:0}
.faq-item.open .arr{transform:rotate(180deg)}
.faq-a{border-top:1px solid var(--ice-mid);padding:0 20px;max-height:0;overflow:hidden;transition:max-height 0.35s ease,padding 0.3s;font-size:14px;color:var(--text-muted);line-height:1.75;font-weight:300}
.faq-item.open .faq-a{max-height:500px;padding:17px 20px}

/* SOURCES */
.sources-section{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px);border-top:1px solid var(--ice-mid)}
.sources-wrap{}
.sources-grid{margin-top:20px;display:flex;flex-direction:column;gap:8px}
.source-item{display:flex;gap:12px;font-size:13px;color:var(--text-muted);line-height:1.6;padding:10px 14px;background:var(--card);border:1px solid var(--card-border);border-radius:8px}
.source-num{font-weight:800;color:var(--accent);flex-shrink:0;min-width:20px}
.source-item a{color:var(--accent);text-decoration:underline}

/* EDITORIAL STANDARDS — mobile-first: single column */
.standards-section{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px);background:var(--ice-light);border-top:1px solid var(--ice-mid)}
.standards-wrap{}
.standards-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);margin-top:20px}
.std-card{background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:18px 20px}
.std-card h4{font-size:14px;font-weight:700;color:var(--text);margin-bottom:6px}
.std-card p{font-size:13px;color:var(--text-muted);line-height:1.65}

/* RG — mobile-first: single column */
.rg-section{background:rgba(0,102,204,0.04);border-top:1px solid rgba(0,102,204,0.12);padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(36px,5vw,64px)}
.rg-card{max-width:1160px;margin:0 auto;background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:clamp(22px,4vw,36px);box-shadow:var(--sh-sm);backdrop-filter:blur(8px);display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
.rg-em{font-size:30px;line-height:1}
.rg-card h2{font-size:21px;margin-bottom:8px}
.rg-card p{font-size:14px;color:var(--text-muted);margin-bottom:14px;line-height:1.7;font-weight:300}
.rg-links{display:flex;flex-wrap:wrap;gap:7px}
.rg-link{padding:7px 13px;border:1px solid var(--ice-deep);border-radius:7px;font-size:13px;color:var(--text-muted);text-decoration:none;transition:all 0.2s}
.rg-link:hover{border-color:var(--accent);color:var(--accent)}

/* ED GRID — mobile-first: single column */
.ed-grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:start}
.ed-sidebar{display:flex;flex-direction:column;gap:14px;position:static}

/* DIDN'T RANK */
.dnr-section{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}
.dnr-inner{}
.dnr-grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);margin-top:24px}
.dnr-card{background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.dnr-x{width:32px;height:32px;background:rgba(192,57,43,0.07);border:1px solid rgba(192,57,43,0.2);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--red);flex-shrink:0}
.dnr-name{font-weight:700;font-size:14px;color:var(--text);margin-bottom:4px}
.dnr-reason{font-size:13px;color:var(--text-muted);line-height:1.55}

/* CHANGELOG */
.changed-bar{background:var(--accent);padding:12px clamp(16px,4vw,64px);cursor:default}
.changed-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.changed-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.7);white-space:nowrap}
.cl-entry{padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.07)}
.cl-date{font-size:12px;font-weight:700;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:10px}
.cl-list{list-style:none;display:flex;flex-direction:column;gap:7px}
.cl-list li{font-size:13px;color:rgba(255,255,255,0.6);display:flex;gap:8px;align-items:baseline;line-height:1.5}
.cl-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;padding:2px 7px;border-radius:4px;flex-shrink:0}
.cl-add{background:rgba(10,124,92,0.3);color:#4ecba5}
.cl-remove{background:rgba(192,57,43,0.3);color:#f0897c}
.cl-change{background:rgba(184,130,10,0.3);color:#f0c040}
.cl-refresh{background:rgba(0,102,204,0.3);color:#7fb3f5}

/* MOBILE NAV — mobile-first: hamburger visible by default */
.hamburger{display:flex;flex-direction:column;gap:4px;cursor:pointer;padding:8px;background:none;border:none;flex-shrink:0}
.hamburger span{width:20px;height:2px;background:var(--text);border-radius:2px;transition:all 0.25s;display:block}
.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ice-white);z-index:1;padding:16px clamp(16px,4vw,64px) 20px;flex-direction:column;gap:4px;max-height:calc(100vh - 62px);overflow-y:auto;box-shadow:0 8px 32px rgba(14,28,40,0.10)}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:15px;font-weight:500;color:var(--text-muted);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--ice-light)}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a:hover{color:var(--accent)}
.btt{position:fixed;bottom:24px;right:24px;width:42px;height:42px;background:var(--accent);color:#fff;border:none;border-radius:50%;font-size:18px;cursor:pointer;box-shadow:0 4px 16px rgba(0,102,204,0.3);opacity:0;transition:opacity 0.3s,transform 0.3s;transform:translateY(8px);z-index:100;display:flex;align-items:center;justify-content:center}
.btt.show{opacity:1;transform:translateY(0)}
.btt:hover{background:var(--accent-hover);transform:translateY(-2px)}

/* MOBILE FIXES — table scroll */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid var(--card-border);background:var(--card)}
.table-scroll table{margin:0;border:none}
.table-scroll .accept-table,.table-scroll .method-compare{min-width:600px}

/* Ensure light text in dark containers */
.disclosure-bar,.disclosure-bar strong,.disclosure-bar a{color:rgba(255,255,255,0.8)}
.disclosure-bar strong{color:rgba(255,255,255,0.95)}

/* FOOTER — mobile-first: single column */
footer,.site-footer{background:var(--text);color:rgba(255,255,255,0.6);padding:clamp(40px,6vw,72px) var(--grid-margin) 26px}
.fg{display:grid;grid-template-columns:1fr;gap:var(--grid-gutter);margin-bottom:36px}
.fb .logo{color:#fff;display:block;margin-bottom:11px;font-size:20px}
.fb .logo span{color:#7fb3d3}
.fb p{font-size:13px;line-height:1.7;margin-bottom:12px}
.fe{font-size:12px;line-height:1.8}
.fe strong{color:rgba(255,255,255,0.85)}
.fcol h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.45);margin-bottom:12px}
.fcol ul{list-style:none}
.fcol li{margin-bottom:8px}
.fcol a{font-size:13px;color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.2s}
.fcol a:hover{color:#7fb3d3}
.fbot{max-width:1160px;margin:0 auto;padding-top:22px;border-top:1px solid rgba(255,255,255,0.08);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px}
.fleg{font-size:12px;line-height:1.75;max-width:700px}
.fleg strong{color:rgba(255,255,255,0.7)}
.age{font-family:'Fraunces',serif;font-size:24px;font-weight:800;color:rgba(255,255,255,0.22);flex-shrink:0}

/* ============================================
   PAGE TEMPLATE STYLES
   ============================================ */

/* Page Hero */
.page-hero{padding-top:clamp(32px,6vw,72px);padding-bottom:clamp(20px,3vw,36px);border-bottom:1px solid var(--ice-mid)}
.page-hero-inner{}
.page-hero h1{font-family:'Fraunces',serif;font-size:clamp(26px,4.5vw,48px);font-weight:800;line-height:1.12;letter-spacing:-0.03em;color:var(--text);max-width:760px;margin-bottom:16px}
.page-byline{padding-top:12px;margin-top:0;border-top:none}

/* Breadcrumb — mobile-first: wrapped */
.breadcrumb{font-size:12px;color:var(--text-light);margin-bottom:16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.breadcrumb a{color:var(--accent);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.bc-sep{color:var(--ice-deep)}

/* Page Content Area */
.page-content{padding-top:clamp(32px,5vw,64px);padding-bottom:clamp(32px,5vw,64px)}
.page-content-inner{}
.page-content-inner h2{font-family:'Fraunces',serif;font-size:clamp(22px,3vw,32px);font-weight:800;letter-spacing:-0.02em;color:var(--text);margin:40px 0 14px;line-height:1.2}
.page-content-inner h3{font-family:'Fraunces',serif;font-size:clamp(18px,2.5vw,24px);font-weight:700;color:var(--text);margin:32px 0 10px;line-height:1.25}
.page-content-inner h4{font-size:16px;font-weight:700;color:var(--text);margin:24px 0 8px}
/* Mobile-first: smaller text on mobile */
.page-content-inner p{font-size:14px;color:var(--text-muted);line-height:1.8;margin-bottom:16px;font-weight:300}
.page-content-inner p strong{color:var(--text);font-weight:600}
.page-content-inner a{color:var(--accent);text-decoration:underline}
.page-content-inner a:hover{color:var(--accent-hover)}
.page-content-inner ul,.page-content-inner ol{margin:0 0 16px 24px;font-size:14px;color:var(--text-muted);line-height:1.8}
.page-content-inner li{margin-bottom:6px;font-weight:300}
.page-content-inner li strong{color:var(--text);font-weight:600}
.page-content-inner blockquote{border-left:3px solid var(--accent);margin:20px 0;padding:10px 14px;background:var(--accent-light);border-radius:0 10px 10px 0;font-size:13px;color:var(--text-mid);line-height:1.75}
.page-content-inner table{width:100%;border-collapse:collapse;margin:20px 0;font-size:12px;background:var(--card);border:1px solid var(--card-border);border-radius:12px;overflow:hidden;min-width:480px}
.page-content-inner thead th{background:var(--ice-light);padding:8px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);border-bottom:1px solid var(--ice-mid)}
.page-content-inner tbody td{padding:8px 10px;border-bottom:1px solid var(--ice-light);color:var(--text-mid)}
.page-content-inner tbody tr:last-child td{border-bottom:none}
.page-content-inner .callout-box{background:rgba(0,102,204,0.05);border:1px solid rgba(0,102,204,0.18);border-radius:12px;padding:14px 16px;margin:20px 0}
.page-content-inner .callout-box h4{margin-top:0}
.page-content-inner .warning-box{background:rgba(192,57,43,0.05);border:1px solid rgba(192,57,43,0.18);border-radius:12px;padding:14px 16px;margin:20px 0}
.page-content-inner .green-box{background:var(--green-bg);border:1px solid rgba(10,124,92,0.2);border-radius:12px;padding:14px 16px;margin:20px 0;color:var(--green);font-size:14px}
.page-content-inner .source-ref{font-size:12px;color:var(--text-light);font-style:italic;margin-top:6px}

/* Related Links Section — mobile-first: single column */
.page-related{padding:clamp(32px,4vw,48px) clamp(16px,4vw,64px);background:var(--ice-light);border-top:1px solid var(--ice-mid)}
.page-related-inner{max-width:1160px;margin:0 auto}
.page-related h3{font-family:'Fraunces',serif;font-size:20px;font-weight:700;color:var(--text);margin-bottom:16px}
.related-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:20px}
.related-link{display:block;padding:12px 16px;background:var(--card);border:1px solid var(--card-border);border-radius:8px;font-size:14px;font-weight:500;color:var(--accent);text-decoration:none;transition:all 0.2s}
.related-link:hover{border-color:var(--accent);box-shadow:var(--sh-sm);transform:translateY(-1px)}
.related-home{margin-top:8px}
.related-home a{font-size:14px;color:var(--accent);text-decoration:none;font-weight:500}
.related-home a:hover{text-decoration:underline}

/* Breadcrumb Schema (hidden) */
.schema-hidden{display:none}

/* Active nav link */
.nav-links a.current{color:var(--accent);font-weight:600}
.mobile-menu a.current{color:var(--accent);font-weight:600}

/* Page content tables: horizontal scroll on mobile */
.page-content-inner .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0}

/* MEGA MENU — hidden on mobile by default */
.mega-trigger{
  display:none;align-items:center;justify-content:center;
  background:transparent;border:none;
  padding:6px;cursor:pointer;
  color:var(--text-muted);transition:color 0.2s;flex-shrink:0;
  margin-left:22px;
}
.mega-trigger:hover{color:var(--text-mid);background:var(--ice-light);border-radius:6px}
.mega-trigger-label{white-space:nowrap;display:none}

.mega-menu{
  position:absolute;left:0;right:0;top:100%;z-index:1;
  background:var(--ice-white);
  border-bottom:1px solid var(--ice-mid);
  box-shadow:0 8px 32px rgba(14,28,40,0.10);
  overflow:hidden;
  max-height:0;
  transition:max-height 0.2s ease-out;
  pointer-events:none;
}
.mega-menu.open{
  max-height:80vh;
  overflow-y:auto;
  pointer-events:auto;
  transition:max-height 0.25s ease-in;
}

/* Mobile-first: mega-inner 2 columns */
.mega-inner{
  max-width:1160px;margin:0 auto;
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
  padding:32px clamp(16px,4vw,64px);
}

.mega-col{display:flex;flex-direction:column;gap:4px}
.mega-heading{
  font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:0.1em;color:var(--text-light);
  margin-bottom:8px;padding-bottom:8px;
  border-bottom:1px solid var(--ice-mid);
}
.mega-col a{
  font-size:14px;color:var(--text-mid);text-decoration:none;
  padding:5px 0;font-weight:400;transition:color 0.15s;
}
.mega-col a:hover{color:var(--accent)}
.mega-view-all{
  margin-top:6px;font-weight:600!important;color:var(--accent)!important;
  font-size:13px!important;
}

/* ── GP Layout Resets ── */
.site-content{display:block}
#page,.grid-container{max-width:none}
.inside-article,.separate-containers .inside-article,
.one-container .site-content{padding:0}
.separate-containers .site-main,
.one-container .site-main{margin:0}
.entry-content:not(:first-child){margin-top:0}

/* ── Yoast Breadcrumbs (themed) ── */
#breadcrumbs{
  font-size:13px;
  color:var(--text-light);
  margin-bottom:20px;
  font-family:'Geist',sans-serif;
}
#breadcrumbs a{
  color:var(--accent);
  text-decoration:none;
  font-weight:500;
}
#breadcrumbs a:hover{
  text-decoration:underline;
}
#breadcrumbs .breadcrumb_last{
  color:var(--text-muted);
  font-weight:400;
}

/* ── Template: Archive/Search/Single ── */
.ccc-archive-title{
  font-family:'Fraunces',serif;
  font-size:clamp(24px,4vw,38px);
  font-weight:800;
  letter-spacing:-0.03em;
  color:var(--text);
  margin-bottom:8px;
  line-height:1.12;
}
.ccc-single-title{
  font-family:'Fraunces',serif;
  font-size:clamp(28px,4vw,42px);
  font-weight:800;
  letter-spacing:-0.03em;
  color:var(--text);
  margin-bottom:16px;
  line-height:1.12;
}
.ccc-post-item{
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:1px solid var(--ice-mid);
}
.ccc-post-item h2{
  font-family:'Fraunces',serif;
  font-size:20px;
  font-weight:700;
  color:var(--text);
  margin-bottom:6px;
  line-height:1.3;
}
.ccc-post-item h2 a{color:var(--text);text-decoration:none}
.ccc-post-item h2 a:hover{color:var(--accent)}
.ccc-post-date{font-size:12px;color:var(--text-light);margin-bottom:8px}
.ccc-post-excerpt{font-size:14px;color:var(--text-muted);line-height:1.7}
.ccc-read-more{color:var(--accent);font-weight:600;font-size:13px;text-decoration:none}
.ccc-read-more:hover{text-decoration:underline}
.ccc-archive-desc{font-size:15px;color:var(--text-muted);margin-bottom:32px;line-height:1.7}
.ccc-content-body{font-size:15px;color:var(--text-muted);line-height:1.8}

/* ── 404 ── */
.ccc-404-code{
  font-size:120px;
  font-family:'Fraunces',serif;
  font-weight:800;
  color:var(--ice-deep);
  line-height:1;
  margin-bottom:16px;
}
.ccc-404-text{
  font-size:16px;
  color:var(--text-muted);
  line-height:1.7;
  margin-bottom:32px;
  max-width:520px;
  margin-left:auto;
  margin-right:auto;
}
.ccc-404-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-bottom:40px;
}
.ccc-popular-box{
  background:var(--card);
  border:1px solid var(--card-border);
  border-radius:14px;
  padding:28px;
  box-shadow:var(--sh-sm);
  text-align:left;
  max-width:500px;
  margin:0 auto;
}
.ccc-popular-box h3{
  font-family:'Fraunces',serif;
  font-size:16px;
  font-weight:700;
  color:var(--text);
  margin-bottom:14px;
}
.ccc-popular-box ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.ccc-popular-box a{color:var(--accent);text-decoration:none;font-size:14px;font-weight:500}
.ccc-popular-box a:hover{text-decoration:underline}

/* ── Template Layout Modifiers ── */
.editorial-wrap--single{grid-template-columns:1fr}
.editorial-section--centered{min-height:60vh;display:flex;align-items:center}
.editorial-section--centered .editorial-main{text-align:center}
.btn-visit--dark{background:var(--text)}
.ccc-pagination{margin-top:24px}
.byline-factcheck{font-size:12px}

/* ── Footer Links ── */
footer a,.site-footer a{color:rgba(255,255,255,0.5)}
footer a:hover,.site-footer a:hover{color:rgba(255,255,255,0.8)}
.fbot a{color:rgba(255,255,255,0.5)}
.fbot a:hover{color:rgba(255,255,255,0.8)}

/* ============================================
   INLINE STYLE REFACTOR — February 2025
   ============================================ */

/* Typography helpers */
.byline-sm { font-size: 12px }
.text-note { font-size: 13px; color: var(--text-light) }
.calc-body-text { font-size: 14px; color: var(--text-muted); line-height: 1.75; font-weight: 300; margin-bottom: 13px }
.calc-body-text strong { color: var(--text) }
.ccc-h3 { font-family: 'Fraunces', serif; font-size: 20px; font-weight: 700; color: var(--text); margin-bottom: 14px }
.fw-500 { font-weight: 500 }
.fw-600 { font-weight: 600 }
.link-accent { color: var(--accent) }
.text-green-bold { color: var(--green); font-weight: 600 }
.text-red { color: var(--red) }
.text-strong { color: var(--text) }

/* Spacing utilities */
.mb-sm { margin-bottom: 8px }
.mb-md { margin-bottom: 16px }
.mb-lg { margin-bottom: 20px }
.mt-sm { margin-top: 8px }
.mt-md { margin-top: 12px }
.mt-lg { margin-top: 20px }
.mt-xl { margin-top: 36px }

/* Section desc modifier */
.section-desc--narrow { max-width: 680px }

/* Callout boxes */
.callout-warning { background: rgba(192,57,43,0.05); border: 1px solid rgba(192,57,43,0.18); border-radius: 12px; padding: 20px 22px; margin-bottom: 24px; max-width: 680px }
.callout-title { font-weight: 700; font-size: 15px; color: var(--text); margin-bottom: 8px }
.callout-body { font-size: 14px; color: var(--text-muted); line-height: 1.7; margin-bottom: 0 }
.callout-success { background: var(--green-bg); border: 1px solid rgba(10,124,92,0.2); border-radius: 10px; padding: 14px 16px; font-size: 13px; color: var(--green) }
.callout-success strong { display: block; margin-bottom: 4px }

/* Legal status badges */
.legal-status--regulated { background: var(--green-bg); color: var(--green); border: 1px solid rgba(10,124,92,0.2) }
.legal-status--grey { background: var(--gold-bg); color: var(--gold); border: 1px solid rgba(184,130,10,0.2) }
.legal-status--info { background: rgba(0,102,204,0.08); color: var(--accent); border: 1px solid rgba(0,102,204,0.2) }
.legal-status--warning { background: rgba(192,57,43,0.07); color: var(--red); border: 1px solid rgba(192,57,43,0.2) }

/* Changelog */
.changelog { display: none; background: #0a1929; border-bottom: 1px solid rgba(255,255,255,0.08) }
.changelog-inner { max-width: 1160px; margin: 0 auto; padding: 28px clamp(16px,4vw,64px) }
.changelog-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px }
.changelog-header h3 { font-family: 'Fraunces', serif; font-size: 20px; font-weight: 700; color: #fff }
.changelog-close { background: none; border: none; color: rgba(255,255,255,0.5); font-size: 20px; cursor: pointer; line-height: 1 }
.changelog-entries { display: flex; flex-direction: column; gap: 0 }
.cl-entry:last-child { border-bottom: none }
.changelog-date-text { font-size: 13px; color: #fff; font-weight: 500 }
.changelog-btn { margin-left: auto; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.25); border-radius: 6px; color: #fff; font-size: 12px; font-weight: 600; padding: 5px 12px; cursor: pointer; font-family: inherit; white-space: nowrap }

/* Scoring table */
.scoring-section { margin-top: 36px }
.scoring-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; background: var(--card); border: 1px solid var(--card-border); border-radius: 12px; margin-bottom: 10px }
.scoring-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 520px }
.scoring-table thead tr { background: var(--ice-light) }
.scoring-table th { padding: 11px 16px; text-align: left; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); border-bottom: 1px solid var(--ice-mid) }
.scoring-table th:nth-child(2) { text-align: center }
.scoring-table td { padding: 11px 16px; border-bottom: 1px solid var(--ice-light) }
.scoring-table tr:last-child td { border-bottom: none }
.scoring-weight { color: var(--accent); font-weight: 800; text-align: center }
.scoring-criteria { color: var(--text); font-weight: 600 }
.scoring-desc { color: var(--text-muted) }

/* Calculator results */
.calc-msg { margin-top: 11px; font-size: 13px; color: var(--text-muted); line-height: 1.65 }
.input-hint { font-size: 12px; color: var(--text-light); margin-top: 4px; display: block }

/* Rankings intro */
.rankings-intro { margin-bottom: 32px }

/* Ontario notice SVG */
.on-notice svg { flex-shrink: 0; margin-top: 2px }

/* Related section (single templates) */
.ccc-related-section { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--ice-mid) }
.ccc-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px }
.ccc-related-card { background: var(--card); border: 1px solid var(--card-border); border-radius: 10px; padding: 16px; text-decoration: none; color: var(--text); font-weight: 600; font-size: 14px }
.ccc-related-card:hover { border-color: var(--accent); box-shadow: var(--sh-sm) }

/* Byline modifier for single templates */
.byline--single { margin-bottom: 32px }

/* Yoast breadcrumb nav */
.ccc-breadcrumb-nav { font-size: 13px; color: var(--text-light); margin-bottom: 20px; padding: 0 }
.ccc-breadcrumb-nav a { color: var(--accent); text-decoration: none }
.ccc-breadcrumb-nav a:hover { text-decoration: underline }

/* ── Mobile Menu Sections ── */
.mobile-menu-section{padding:8px 0;border-bottom:1px solid var(--ice-mid)}
.mobile-menu-section:last-child{border-bottom:none}
.mobile-menu-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-light);padding:4px 0 6px;margin-bottom:2px}


/* ============================================
   MOBILE-FIRST MEDIA QUERIES
   All breakpoints use min-width (progressive enhancement)
   ============================================ */

/* ── 480px: Larger phones ── */
@media (min-width: 481px) {
  .prov-wrap { display: flex }
  .disclosure-bar { font-size: 12px; padding: 8px 16px }
  .prov-label { display: block }
  .toggle-btn { padding: 6px 11px; font-size: 12px }
  .fg { grid-template-columns: 1fr 1fr; gap: 26px }
  .page-content-inner p,
  .page-content-inner ul,
  .page-content-inner ol { font-size: 15px }
  .page-content-inner table { font-size: 13px }
  .page-content-inner thead th { padding: 12px 14px; font-size: 11px }
  .page-content-inner tbody td { padding: 11px 14px }
  .page-content-inner blockquote { padding: 14px 20px; font-size: 14px }
  .page-content-inner .callout-box,
  .page-content-inner .warning-box,
  .page-content-inner .green-box { padding: 18px 22px }
  .rg-card { grid-template-columns: auto 1fr }
}

/* ── 700px: Tablets ── */
@media (min-width: 701px) {
  /* Stat bar horizontal */
  .stat-bar { flex-direction: row }
  .stat-item { padding: 16px 18px; border-bottom: none; border-right: 1px solid var(--ice-mid) }
  .stat-item:last-child { border-right: none }

  /* Byline row layout */
  .byline { flex-direction: row; flex-wrap: wrap; gap: 14px }
  .byline-sep { display: inline }

  /* TOC multi-column */
  .toc-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) }

  /* Card inner 3-column */
  .card-inner { grid-template-columns: 44px 1fr auto }

  /* Card CTA column layout */
  .card-cta { flex-direction: column; align-items: flex-end; gap: 10px; min-width: 148px; padding-top: 4px; grid-column: auto; border-top: none; margin-top: 0 }
  .overall { text-align: center }
  .btn-visit { flex: none }
  .card-editorial { font-size: 13px }

  /* 8-col grid: 2-col layouts = 4+4 */
  .legal-grid { grid-template-columns: repeat(2, 1fr) }
  .calc-grid { grid-template-columns: repeat(2, 1fr); gap: var(--grid-gutter) }
  .tool-wrap { grid-template-columns: repeat(2, 1fr); gap: var(--grid-gutter) }
  .info-cols { grid-template-columns: repeat(2, 1fr); gap: var(--grid-gutter) }
  .standards-grid { grid-template-columns: repeat(2, 1fr) }
  .dnr-grid { grid-template-columns: repeat(2, 1fr) }
  .method-grid { grid-template-columns: repeat(2, 1fr) }
  .team-grid { grid-template-columns: repeat(2, 1fr) }
  .related-grid { grid-template-columns: repeat(2, 1fr) }

  /* Flow steps horizontal */
  .flow-steps { flex-direction: row }
  .flow-step { border-radius: 0!important }
  .flow-step:first-child { border-radius: 12px 0 0 12px!important }
  .flow-step:last-child { border-radius: 0 12px 12px 0!important }
  .flow-step:not(:last-child)::after { content: '→'; position: absolute; right: -10px; top: 50%; left: auto; bottom: auto; transform: translateY(-50%) }

  .breadcrumb { font-size: 13px }
}

/* ── 860px: Small desktop ── */
@media (min-width: 861px) {
  /* Show desktop nav, hide hamburger */
  .nav-links { display: flex }
  .hamburger { display: none }

  /* Show mega trigger and mega menu */
  .mega-trigger { display: flex }
  /* mega-menu visibility handled by .open class */

  /* Editorial 2-column */
  /* Editorial: 8 + 4 columns (content + sidebar) */
  .editorial-wrap { grid-template-columns: 2fr 1fr }

  /* Ed grid 2-column */
  .ed-grid { grid-template-columns: 2fr 1fr }
  .ed-sidebar { position: sticky; top: 80px }

  /* 12-col grid: footer = 5+2+2+3 (description col wider) */
  .fg { grid-template-columns: 5fr 2fr 2fr 3fr; gap: var(--grid-gutter) }

  /* 3-col grids at desktop */
  .method-grid { grid-template-columns: repeat(3, 1fr) }
  .dnr-grid { grid-template-columns: repeat(3, 1fr) }
  .standards-grid { grid-template-columns: repeat(2, 1fr) }
}

/* ── 1000px: Full desktop ── */
@media (min-width: 1001px) {
  /* Mega menu 4 columns */
  .mega-inner { grid-template-columns: repeat(4, 1fr); gap: var(--grid-gutter) }

  /* Show mega trigger label */
  .mega-trigger-label { display: inline }

  /* 12-col grid: upgrade to full column counts */
  .method-grid { grid-template-columns: repeat(3, 1fr) }
  .team-grid { grid-template-columns: repeat(4, 1fr) }
  .legal-grid { grid-template-columns: repeat(2, 1fr) }
  .standards-grid { grid-template-columns: repeat(4, 1fr) }
}

/* ============================================
   VISUAL BUG FIXES — February 2025
   ============================================ */

/* Bug 1: Mobile nav overflow — hide province toggle on small screens */
.prov-wrap { display: none }
.logo { flex-shrink: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis }

/* Bug 2 + 8: Kill GP default nav/footer interference */
#site-navigation, .main-navigation, .nav-float-right .main-navigation { display: none !important }
.site-info { display: none !important }
.inside-article, .separate-containers .inside-article { padding: 0 !important; margin: 0 !important }
.separate-containers .site-main { margin: 0 !important }
#page, .grid-container { max-width: none !important; padding: 0 !important }

/* Bug 3: Table scroll for content body */
.ccc-content-body .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 12px; border: 1px solid var(--card-border); background: var(--card); margin: 20px 0 }
.ccc-content-body table { min-width: 600px; width: 100%; border-collapse: collapse; font-size: 13px }

/* Bug 4: Casino sticky CTA bar */
.casino-sticky-cta { position: fixed; bottom: 0; left: 0; right: 0; z-index: 200; background: var(--text); padding: 10px clamp(16px,4vw,64px); display: none; align-items: center; justify-content: center; gap: 16px; box-shadow: 0 -4px 16px rgba(0,0,0,0.15); transform: translateY(100%); transition: transform 0.3s }
.casino-sticky-cta.visible { transform: translateY(0) }
.casino-sticky-cta .cta-name { color: #fff; font-weight: 700; font-size: 14px }
.casino-sticky-cta .cta-bonus { color: rgba(255,255,255,0.7); font-size: 13px }
.casino-sticky-cta .cta-btn { background: var(--accent); color: #fff; padding: 8px 20px; border-radius: 8px; font-weight: 600; font-size: 14px; text-decoration: none; white-space: nowrap }
.casino-sticky-cta .cta-btn:hover { background: var(--accent-hover) }
body.single-casinos .casino-sticky-cta { display: flex }

/* Bug 5: Footer heading/link alignment */
.fcol ul { list-style: none; padding: 0; margin: 0 }
.fcol h4 { padding: 0; margin: 0 0 12px 0 }
footer ul, .site-footer ul { padding: 0; margin: 0; list-style: none }

/* Bug 7: Nav border on scroll */
nav { border-bottom-color: transparent; transition: border-color 0.2s }
nav.scrolled { border-bottom-color: var(--ice-mid) }

/* ── Global mobile overflow fix ── */
html, body { overflow-x: hidden; max-width: 100vw }
.honest-wrap, .tool-wrap, .flow-wrap, .legal-wrap, .method-inner, .calc-inner, .faq-inner, .sources-wrap, .standards-wrap, .team-wrap, .dnr-inner, .rankings-inner { overflow: hidden }

/* ── Sticky CTA: hide when at footer, add bottom padding for scroll-to-top button ── */
.casino-sticky-cta { bottom: 0; padding-bottom: env(safe-area-inset-bottom, 0) }
.btt { bottom: 70px }
body.single-casinos .btt { bottom: 70px }

/* ── Fix table-scroll within constrained parents ── */
.table-scroll { max-width: 100%; overflow-x: auto }

/* ── Review page overflow fix ── */
.editorial-section, .editorial-main, .ccc-content-body { overflow: hidden; max-width: 100% }
.editorial-wrap { overflow: hidden }
.ccc-content-body img { max-width: 100%; height: auto }
.ccc-content-body figure { max-width: 100%; overflow: hidden }
.ccc-content-body .wp-block-table { overflow-x: auto; max-width: 100% }
.ccc-content-body table { max-width: 100% }

/* ── Page related / breadcrumb overflow ── */
.page-related, .page-related-inner, .ccc-breadcrumb-nav { overflow: hidden; max-width: 100% }
