/* ===================================================================
   GamingCompliance.io — Regulator Profile v2
   Shared editorial system for UKGC / MGA / AGCO profiles.
   DM Sans + DM Mono only. No italics anywhere. Magazine-grade layout
   built entirely from weight, size, tracking and colour contrast.
=================================================================== */

/* ── Tokens (match live theme) ─────────────────────────────────── */
.rp-profile{
  --rp-primary:    #6E8BF0;
  --rp-glow:       #A9BEFF;
  --rp-deep:       #2F4FB5;
  --rp-soft:       rgba(110,139,240,.12);
  --rp-ring:       rgba(110,139,240,.34);
  --rp-gold:       #F0C36E;
  --rp-gold-soft:  rgba(240,195,110,.14);
  --rp-danger:     #EF6B6B;
  --rp-success:    #38D499;
  --rp-sans: "DM Sans",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --rp-mono: "DM Mono",ui-monospace,SF Mono,Menlo,monospace;
}

/* Per-regulator accent overrides */
.rp-profile.rp-mga{
  --rp-primary:#E0B341; --rp-glow:#F6D479; --rp-deep:#8E6B1F;
  --rp-soft:rgba(224,179,65,.12); --rp-ring:rgba(224,179,65,.34);
}
.rp-profile.rp-agco{
  --rp-primary:#E0524F; --rp-glow:#FF8C89; --rp-deep:#8E2A28;
  --rp-soft:rgba(224,82,79,.12); --rp-ring:rgba(224,82,79,.34);
}
.rp-profile.rp-anj{
  --rp-primary:#2A8FA8; --rp-glow:#6FC9DC; --rp-deep:#1A5E70;
  --rp-soft:rgba(42,143,168,.12); --rp-ring:rgba(42,143,168,.34);
}
.rp-profile.rp-dgoj{
  --rp-primary:#E07F41; --rp-glow:#F5B583; --rp-deep:#8E4A1F;
  --rp-soft:rgba(224,127,65,.12); --rp-ring:rgba(224,127,65,.34);
}
.rp-profile.rp-mincetur{
  --rp-primary:#D91023; --rp-glow:#F26571; --rp-deep:#A60D1B;
  --rp-soft:rgba(217,16,35,.12); --rp-ring:rgba(217,16,35,.34);
}
.rp-profile.rp-curacao{
  --rp-primary:#1378AC; --rp-glow:#3FA7DB; --rp-deep:#0E5278;
  --rp-soft:rgba(19,120,172,.12); --rp-ring:rgba(19,120,172,.34);
}
.rp-profile.rp-curacao .rp-stat__dot--a{background:#1378AC;box-shadow:0 0 6px #1378AC}
.rp-profile.rp-curacao .rp-stat__dot--b{background:#3FA7DB;box-shadow:0 0 6px #3FA7DB}
.rp-profile.rp-segob{
  --rp-primary:#006847; --rp-glow:#3FA078; --rp-deep:#003E2A;
  --rp-soft:rgba(0,104,71,.12); --rp-ring:rgba(0,104,71,.34);
  --rp-gold:#CE1126; --rp-gold-soft:rgba(206,17,38,.14);
}
.rp-profile.rp-segob .rp-stat__dot--a{background:#006847;box-shadow:0 0 6px #006847}
.rp-profile.rp-segob .rp-stat__dot--b{background:#CE1126;box-shadow:0 0 6px #CE1126}
.rp-profile.rp-curacao .rp-stat__dot--c{background:#0E5278;box-shadow:0 0 6px #0E5278}

/* Scrub italic anywhere it sneaks in */
.rp-profile em,
.rp-profile cite,
.rp-profile i{font-style:normal}

.rp-profile a{color:inherit;text-decoration:none}
.rp-profile img,
.rp-profile svg{display:block;max-width:100%}
.rp-profile ::selection{background:var(--rp-ring);color:#fff}

/* ── Scroll progress bar ───────────────────────────────────────── */
.rp-scrollbar{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:99;
  background:linear-gradient(180deg,rgba(5,11,26,.6),transparent);
  pointer-events:none;
}
.rp-scrollbar__fill{
  height:100%;width:0;
  background:linear-gradient(90deg,var(--rp-primary),var(--rp-glow),var(--rp-gold));
  box-shadow:0 0 12px var(--rp-glow);
  transition:width .08s linear;
}

/* ── Layout wrap ───────────────────────────────────────────────── */
.rp-wrap{max-width:1320px;margin:0 auto;padding:0 1.5rem}

/* ══════════════════════════════════════════════════════════════
   HERO  ·  text-led, full-width
══════════════════════════════════════════════════════════════ */
.rp-hero{
  position:relative;overflow:hidden;isolation:isolate;
  padding:5rem 0 4rem;
  border-bottom:1px solid var(--igc-border);
  background:
    radial-gradient(ellipse 70% 55% at 80% 0%,var(--rp-soft),transparent 70%),
    radial-gradient(ellipse 50% 40% at 0% 100%,var(--rp-gold-soft),transparent 70%),
    var(--igc-bg);
}
.rp-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.55;
  background-image:
    linear-gradient(rgba(148,163,184,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(148,163,184,.05) 1px,transparent 1px);
  background-size:56px 56px;
  mask:radial-gradient(ellipse 75% 65% at 50% 40%,#000 0%,transparent 80%);
  -webkit-mask:radial-gradient(ellipse 75% 65% at 50% 40%,#000 0%,transparent 80%);
}

.rp-crumbs{
  display:flex;align-items:center;gap:.55rem;font-size:.78rem;
  color:var(--igc-text-faint);margin-bottom:1.75rem;
  font-family:var(--rp-mono);text-transform:uppercase;letter-spacing:.1em;
}
.rp-crumbs a{color:var(--igc-text-dim)}
.rp-crumbs a:hover{color:var(--rp-glow)}
.rp-crumbs__sep{opacity:.45;font-family:var(--rp-sans)}

.rp-eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--rp-mono);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rp-glow);
  background:var(--rp-soft);border:1px solid var(--rp-ring);
  padding:.45rem .9rem;border-radius:999px;margin-bottom:1.75rem;
}
.rp-eyebrow__dot{
  width:7px;height:7px;border-radius:50%;background:var(--rp-glow);
  box-shadow:0 0 10px var(--rp-glow);
  animation:rp-pulse 2.6s ease-in-out infinite;
}
@keyframes rp-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%   {opacity:.55;transform:scale(.78)}
}

.rp-hero__copy{max-width:1020px}
.rp-h1{
  font-family:var(--rp-sans);font-weight:700;
  font-size:clamp(2.8rem,6vw,5rem);
  line-height:1;letter-spacing:-.035em;
  margin:0 0 1rem;color:var(--igc-text);
}
.rp-h1__sub{
  display:block;font-weight:400;
  color:var(--rp-glow);
  font-size:clamp(1.5rem,3vw,2.4rem);
  letter-spacing:-.015em;line-height:1.15;margin-top:.5rem;
}
.rp-dek{
  font-size:1.18rem;line-height:1.65;color:var(--igc-text-dim);
  max-width:60ch;margin:1.6rem 0 2.4rem;font-weight:400;
}

.rp-dateline{
  display:grid;grid-template-columns:repeat(4,auto);justify-content:start;
  gap:0;
  padding:1rem 0;border-top:1px solid var(--igc-border);
  border-bottom:1px solid var(--igc-border);
  font-family:var(--rp-mono);font-size:.74rem;letter-spacing:.06em;
  color:var(--igc-text-dim);text-transform:uppercase;
}
.rp-dateline > span{padding:0 1.5rem;border-left:1px solid var(--igc-border);display:flex;align-items:center}
.rp-dateline > span:first-child{padding-left:0;border-left:none}
.rp-dateline strong{color:var(--igc-text);font-weight:500;margin-left:.35rem}
.rp-dateline__dot{
  width:6px;height:6px;border-radius:50%;background:var(--rp-success);
  display:inline-block;margin-right:.55rem;box-shadow:0 0 8px var(--rp-success);
}

/* Stat band — baseline-aligned */
.rp-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:2.75rem;
  border-top:1px solid var(--igc-border);
  border-bottom:1px solid var(--igc-border);
}
.rp-stat{
  padding:1.9rem 1.6rem 1.7rem;
  border-right:1px solid var(--igc-border);
  display:flex;flex-direction:column;justify-content:flex-start;
}
.rp-stat:last-child{border-right:none}
.rp-stat__k{
  font-family:var(--rp-sans);font-weight:600;
  font-size:clamp(2rem,3.2vw,2.65rem);
  line-height:1;letter-spacing:-.035em;color:var(--igc-text);
  display:flex;align-items:baseline;gap:.18rem;
  min-height:2.65rem;
}
.rp-stat__k .accent{color:var(--rp-glow)}
.rp-stat__k .unit{
  font-family:var(--rp-mono);font-size:.95rem;font-weight:500;
  color:var(--rp-glow);letter-spacing:.02em;
}
.rp-stat__t{
  font-family:var(--rp-mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--igc-text-faint);
  margin-top:.95rem;
}
.rp-stat__d{
  font-size:.86rem;line-height:1.5;color:var(--igc-text-dim);margin-top:.4rem;
}
/* Three-way breakdown rail under the hero stat — lean, monochrome, brand colour reduced to a 6px dot per country */
.rp-stat__rail{
  list-style:none;padding:0;margin:.85rem 0 0;
  display:flex;flex-direction:column;gap:.35rem;
}
.rp-stat__rail li{
  display:grid;grid-template-columns:8px 5.2em 1fr;align-items:center;column-gap:.55rem;
  font-size:.82rem;line-height:1.35;
}
.rp-stat__dot{
  width:8px;height:8px;border-radius:50%;display:inline-block;
  background:var(--igc-text-faint);
}
.rp-stat__country{
  font-family:var(--rp-mono);font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--igc-text-faint);
}
.rp-stat__val{
  color:var(--igc-text-dim);font-weight:500;
}
.rp-stat__arrow{
  color:var(--igc-text-faint);font-weight:300;
  font-size:.72em;margin:0 .12em;letter-spacing:0;
}
/* Brand-colour dots scoped under the three-way comparison so other regulator pages are untouched */
.rp-cm-br-co-pe .rp-stat__dot--a{background:var(--rp-side-a);box-shadow:0 0 6px var(--rp-side-a)}
.rp-cm-br-co-pe .rp-stat__dot--b{background:var(--rp-side-b);box-shadow:0 0 6px var(--rp-side-b)}
.rp-cm-br-co-pe .rp-stat__dot--c{background:var(--rp-side-c);box-shadow:0 0 6px var(--rp-side-c)}

/* ══════════════════════════════════════════════════════════════
   BODY: TOC | main | aside
══════════════════════════════════════════════════════════════ */
.rp-body{padding:4.5rem 0 5rem}
.rp-layout{
  display:grid;
  grid-template-columns:200px minmax(0,1fr) 260px;
  gap:3rem;align-items:start;
}

/* TOC */
.rp-toc{position:sticky;top:6.5rem;font-size:.88rem}
.rp-toc__label{
  font-family:var(--rp-mono);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--igc-text-faint);
  margin:0 0 1rem;padding:0 0 0 1rem;
}
.rp-toc__list{
  list-style:none;margin:0;padding:0;
  display:grid;gap:.05rem;
  border-left:2px solid var(--igc-border);
}
.rp-toc__list a{
  display:grid;grid-template-columns:28px 1fr;align-items:center;gap:.5rem;
  padding:.45rem 0 .45rem 1rem;margin-left:-2px;
  color:var(--igc-text-dim);border-left:2px solid transparent;
  font-size:.86rem;line-height:1.35;
  transition:color .15s,border-color .15s;
}
.rp-toc__list a:hover{color:var(--igc-text)}
.rp-toc__list a.is-active{
  color:var(--rp-glow);border-left-color:var(--rp-primary);font-weight:500;
}
.rp-toc__num{
  font-family:var(--rp-mono);font-size:.7rem;color:var(--igc-text-faint);
  text-align:right;
}

/* Aside */
.rp-aside{position:sticky;top:6.5rem;display:grid;gap:1.2rem}
.rp-aside__card{
  background:linear-gradient(180deg,var(--igc-bg-elev),var(--igc-bg-elev) 30%,rgba(110,139,240,.04));
  border:1px solid var(--igc-border);border-radius:var(--igc-radius-md);
  padding:1.4rem 1.35rem;
}
.rp-aside__label{
  font-family:var(--rp-mono);font-size:.66rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--rp-glow);
  display:flex;align-items:center;gap:.5rem;margin:0 0 1.1rem;
}
.rp-aside__label::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--rp-glow);
}
.rp-aside dl{margin:0;padding:0}
.rp-aside__row{
  display:grid;grid-template-columns:62px 1fr;gap:.85rem;
  padding:.55rem 0;border-top:1px dashed var(--igc-border);
  align-items:start;
}
.rp-aside__row:first-of-type{border-top:none;padding-top:0}
.rp-aside__row dt{
  margin:0;color:var(--igc-text-faint);font-family:var(--rp-mono);
  font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;
  padding-top:.15rem;line-height:1.4;
}
.rp-aside__row dd{margin:0;color:var(--igc-text);line-height:1.5;font-size:.84rem}
.rp-aside__row dd strong{color:#fff}

.rp-aside__cta{
  background:linear-gradient(135deg,var(--rp-soft),transparent 80%);
  border:1px solid var(--rp-ring);border-radius:var(--igc-radius-md);
  padding:1.2rem 1.25rem;
}
.rp-aside__cta strong{color:var(--igc-text);display:block;margin-bottom:.4rem;font-size:.95rem;font-weight:600}
.rp-aside__cta p{color:var(--igc-text-dim);font-size:.85rem;line-height:1.55;margin:0 0 .7rem}
.rp-aside__cta a.go{
  display:inline-flex;align-items:center;gap:.4rem;
  color:var(--rp-glow);font-weight:600;font-size:.85rem;
}
.rp-aside__cta a.go:hover{gap:.6rem}
.rp-aside__cta--gold{background:linear-gradient(135deg,rgba(240,195,110,.12),transparent 80%);border-color:rgba(240,195,110,.34)}
.rp-aside__cta--gold a.go{color:var(--rp-gold)}
.rp-aside__cta ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.rp-aside__cta ul a{
  display:flex;align-items:center;gap:.4rem;
  color:var(--igc-text);font-size:.85rem;font-weight:500;
}
.rp-aside__cta ul a::before{content:"\2192";color:var(--rp-glow);font-family:var(--rp-mono)}
.rp-aside__cta ul a:hover{color:var(--rp-glow)}

/* ══════════════════════════════════════════════════════════════
   SECTIONS
══════════════════════════════════════════════════════════════ */
.rp-main{min-width:0}
.rp-section{
  scroll-margin-top:6rem;
  padding:2.6rem 0 3.4rem;
  border-top:1px solid var(--igc-border);
}
.rp-section:first-of-type{border-top:none;padding-top:.5rem}

.rp-section__no{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--rp-mono);font-size:.7rem;letter-spacing:.18em;
  color:var(--rp-glow);text-transform:uppercase;margin-bottom:.7rem;
}
.rp-section__no::before{
  content:"";width:18px;height:1px;background:var(--rp-primary);
}
.rp-h2{
  font-family:var(--rp-sans);font-weight:600;
  font-size:clamp(1.7rem,3vw,2.35rem);
  line-height:1.15;letter-spacing:-.025em;
  margin:0 0 1rem;color:var(--igc-text);
}
.rp-h3{
  font-family:var(--rp-sans);font-weight:600;
  font-size:1.15rem;letter-spacing:-.015em;color:var(--igc-text);
  margin:2.4rem 0 .8rem;
}
.rp-lede{
  font-size:1.08rem;line-height:1.7;color:var(--igc-text-dim);
  max-width:66ch;font-weight:400;
}

.rp-prose p{
  font-size:1rem;line-height:1.78;color:var(--igc-text);
  margin:0 0 1.2rem;max-width:68ch;
}
.rp-prose strong{color:#fff;font-weight:600}
.rp-prose a{color:var(--rp-glow);text-decoration:underline;text-decoration-color:var(--rp-ring);text-underline-offset:3px}
.rp-prose a:hover{text-decoration-color:var(--rp-glow)}

/* Drop cap */
.rp-dropcap::first-letter{
  font-family:var(--rp-sans);font-weight:700;
  font-size:4.6rem;line-height:.9;
  float:left;color:var(--rp-glow);
  padding:.5rem .7rem 0 0;letter-spacing:-.03em;
}

/* Pull quote */
.rp-pullquote{
  position:relative;margin:2.4rem 0;
  padding:.8rem 0 .8rem 2rem;
  border-left:3px solid var(--rp-primary);
}
.rp-pullquote::before{
  content:"\201C";position:absolute;left:.5rem;top:-.6rem;
  font-family:var(--rp-sans);font-weight:700;font-size:4.5rem;line-height:1;
  color:var(--rp-primary);opacity:.4;
}
.rp-pullquote p{
  font-family:var(--rp-sans);font-weight:400;
  font-size:1.45rem;line-height:1.45;
  color:var(--igc-text);
  margin:0 0 .8rem;letter-spacing:-.01em;max-width:none;
}
.rp-pullquote cite{
  font-family:var(--rp-mono);
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--igc-text-faint);
}

/* Callouts */
.rp-callout{
  display:flex;gap:1rem;align-items:flex-start;
  border:1px solid var(--igc-border);background:var(--igc-bg-elev);
  border-radius:var(--igc-radius-md);
  padding:1.05rem 1.25rem;margin:1.8rem 0;
}
.rp-callout--accent{border-color:var(--rp-ring);background:var(--rp-soft)}
.rp-callout--source{
  background:linear-gradient(90deg,rgba(255,255,255,.02),transparent);
  border-style:dashed;
}
.rp-callout__icon{
  flex:0 0 auto;width:22px;height:22px;color:var(--rp-glow);margin-top:.1rem;
}
.rp-callout p{margin:0;font-size:.94rem;line-height:1.6;color:var(--igc-text-dim);max-width:none}
.rp-callout strong{color:var(--igc-text)}
.rp-callout--source .rp-callout__icon{color:var(--igc-text-faint)}
.rp-callout--source p{font-size:.86rem}

/* ══════════════════════════════════════════════════════════════
   COMPARISON  ·  two-side variant (e.g. AGCO vs AGLC, UKGC vs MGA)
══════════════════════════════════════════════════════════════ */
.rp-profile.rp-comparison{
  /* default palette = AGCO red / AGLC amber */
  --rp-side-a:      #E0524F;
  --rp-side-a-glow: #FF8C89;
  --rp-side-a-soft: rgba(224,82,79,.12);
  --rp-side-a-ring: rgba(224,82,79,.34);
  --rp-side-a-tint: rgba(224,82,79,.05);
  --rp-side-b:      #E0B341;
  --rp-side-b-glow: #F6D479;
  --rp-side-b-soft: rgba(240,195,110,.12);
  --rp-side-b-ring: rgba(240,195,110,.34);
  --rp-side-b-tint: rgba(240,195,110,.05);
}

/* UKGC blue + MGA gold palette */
.rp-profile.rp-comparison.rp-cm-uk-mt{
  --rp-side-a:      #6E8BF0;
  --rp-side-a-glow: #A9BEFF;
  --rp-side-a-soft: rgba(110,139,240,.12);
  --rp-side-a-ring: rgba(110,139,240,.34);
  --rp-side-a-tint: rgba(110,139,240,.06);
  /* side B (MGA) stays gold; reaffirm explicitly so future overrides are easy */
  --rp-side-b:      #E0B341;
  --rp-side-b-glow: #F6D479;
  --rp-side-b-soft: rgba(240,195,110,.12);
  --rp-side-b-ring: rgba(240,195,110,.34);
  --rp-side-b-tint: rgba(240,195,110,.05);
}

/* UKGC blue (UK) + AGCO red (Ontario) palette — transatlantic English-speaking */
.rp-profile.rp-comparison.rp-cm-uk-on{
  --rp-side-a:      #3B82F6;
  --rp-side-a-glow: #7BA8F9;
  --rp-side-a-soft: rgba(59,130,246,.12);
  --rp-side-a-ring: rgba(59,130,246,.34);
  --rp-side-a-tint: rgba(59,130,246,.06);
  --rp-side-b:      #EF4444;
  --rp-side-b-glow: #F87171;
  --rp-side-b-soft: rgba(239,68,68,.12);
  --rp-side-b-ring: rgba(239,68,68,.34);
  --rp-side-b-tint: rgba(239,68,68,.05);
}

/* MGA emerald (Malta) + GCB blue (Curaçao) palette */
.rp-profile.rp-comparison.rp-cm-mt-cw{
  --rp-side-a:      #10B981;
  --rp-side-a-glow: #5EE4B6;
  --rp-side-a-soft: rgba(16,185,129,.12);
  --rp-side-a-ring: rgba(16,185,129,.34);
  --rp-side-a-tint: rgba(16,185,129,.06);
  --rp-side-b:      #1378AC;
  --rp-side-b-glow: #5BB0D8;
  --rp-side-b-soft: rgba(19,120,172,.12);
  --rp-side-b-ring: rgba(19,120,172,.34);
  --rp-side-b-tint: rgba(19,120,172,.05);
}

/* ANJ teal (France) + DGOJ orange (Spain) palette */
.rp-profile.rp-comparison.rp-cm-fr-es{
  --rp-side-a:      #2A8FA8;
  --rp-side-a-glow: #6FC9DC;
  --rp-side-a-soft: rgba(42,143,168,.12);
  --rp-side-a-ring: rgba(42,143,168,.34);
  --rp-side-a-tint: rgba(42,143,168,.06);
  --rp-side-b:      #E07F41;
  --rp-side-b-glow: #F5B583;
  --rp-side-b-soft: rgba(224,127,65,.12);
  --rp-side-b-ring: rgba(224,127,65,.34);
  --rp-side-b-tint: rgba(224,127,65,.05);
}

/* SPA/MF green (Brazil) + Coljuegos blue (Colombia) + MINCETUR red (Peru) palette */
/* First three-way LATAM comparison; introduces --rp-side-c-* variables and the .is-side-c column */
.rp-profile.rp-comparison.rp-cm-br-co-pe{
  --rp-side-a:      #009739;
  --rp-side-a-glow: #2fbf63;
  --rp-side-a-soft: rgba(0,151,57,.12);
  --rp-side-a-ring: rgba(0,151,57,.34);
  --rp-side-a-tint: rgba(0,151,57,.06);
  --rp-side-b:      #003893;
  --rp-side-b-glow: #4773c8;
  --rp-side-b-soft: rgba(0,56,147,.12);
  --rp-side-b-ring: rgba(0,56,147,.34);
  --rp-side-b-tint: rgba(0,56,147,.06);
  --rp-side-c:      #D91023;
  --rp-side-c-glow: #ef4a5a;
  --rp-side-c-soft: rgba(217,16,35,.12);
  --rp-side-c-ring: rgba(217,16,35,.34);
  --rp-side-c-tint: rgba(217,16,35,.06);
}
/* Three-way eyebrow + dot gradients (extend the two-way pattern) */
.rp-cm-br-co-pe .rp-eyebrow{
  background:linear-gradient(90deg,var(--rp-side-a-soft),var(--rp-side-b-soft),var(--rp-side-c-soft));
  border-color:var(--rp-side-a-ring);color:var(--igc-text);
}
.rp-cm-br-co-pe .rp-eyebrow__dot{
  background:linear-gradient(90deg,var(--rp-side-a),var(--rp-side-b),var(--rp-side-c));
  box-shadow:0 0 10px var(--rp-side-a-glow);
}
/* Hero stat: side-C accent */
.rp-comparison .rp-stat__k .accent--c{color:var(--rp-side-c-glow)}
/* Comparison table: side-C header chip and cell */
.rp-comparison .rp-compare thead th.is-side-c{
  color:var(--rp-side-c-glow);background:var(--rp-side-c-soft);
}
.rp-comparison .rp-compare td.is-side-c{
  background:var(--rp-side-c-tint);border-left:2px solid var(--rp-side-c);
}
/* Three-way card + side-C variable assignment (chips inherit default lean style) */
.rp-cm-br-co-pe .rp-dual-card--a{--side:var(--rp-side-a);--side-glow:var(--rp-side-a-glow);--side-soft:var(--rp-side-a-soft);--side-ring:var(--rp-side-a-ring);}
.rp-cm-br-co-pe .rp-dual-card--b{--side:var(--rp-side-b);--side-glow:var(--rp-side-b-glow);--side-soft:var(--rp-side-b-soft);--side-ring:var(--rp-side-b-ring);}
.rp-cm-br-co-pe .rp-dual-card--c{--side:var(--rp-side-c);--side-glow:var(--rp-side-c-glow);--side-soft:var(--rp-side-c-soft);--side-ring:var(--rp-side-c-ring);}
/* CTA pill: transparent bg + brand-coloured border, so Colombia + Peru render at the same weight as Brazil regardless of --side-soft opacity */
.rp-cm-br-co-pe .rp-dual-card__cta{
  background:transparent;
  border-color:var(--side,var(--rp-ring));
  color:var(--side-glow,var(--rp-glow));
  padding:.4rem .85rem;font-size:.78rem;border-radius:6px;letter-spacing:.01em;
}
.rp-cm-br-co-pe .rp-dual-card__cta:hover{
  background:var(--side,var(--rp-primary));color:#06101f;border-color:var(--side,var(--rp-primary));
}
/* Three-column country-card grid used by §05 and §07 to break table repetition */
.rp-cm-br-co-pe .rp-countrygrid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0;
}
@media (max-width:900px){.rp-cm-br-co-pe .rp-countrygrid{grid-template-columns:1fr}}
.rp-cm-br-co-pe .rp-countrycard{
  position:relative;background:var(--igc-bg-elev);
  border:1px solid var(--side-ring,var(--igc-border));border-radius:var(--igc-radius-md);
  padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;
}
.rp-cm-br-co-pe .rp-countrycard::before{
  content:"";position:absolute;top:0;left:1.2rem;right:1.2rem;height:2px;
  background:var(--side,var(--rp-primary));border-radius:0 0 2px 2px;
}
.rp-cm-br-co-pe .rp-countrycard--a{--side:var(--rp-side-a);--side-glow:var(--rp-side-a-glow);--side-soft:var(--rp-side-a-soft);--side-ring:var(--rp-side-a-ring);}
.rp-cm-br-co-pe .rp-countrycard--b{--side:var(--rp-side-b);--side-glow:var(--rp-side-b-glow);--side-soft:var(--rp-side-b-soft);--side-ring:var(--rp-side-b-ring);}
.rp-cm-br-co-pe .rp-countrycard--c{--side:var(--rp-side-c);--side-glow:var(--rp-side-c-glow);--side-soft:var(--rp-side-c-soft);--side-ring:var(--rp-side-c-ring);}
.rp-cm-br-co-pe .rp-countrycard__chip{
  font-family:var(--rp-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--side-glow,var(--rp-glow));display:inline-flex;align-items:center;gap:.5rem;
}
.rp-cm-br-co-pe .rp-countrycard__chip::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--side,var(--rp-primary));box-shadow:0 0 6px var(--side,var(--rp-primary));
}
.rp-cm-br-co-pe .rp-countrycard__t{
  font-family:var(--rp-sans);font-weight:600;font-size:1.02rem;color:var(--igc-text);
  margin:0;letter-spacing:-.005em;line-height:1.3;
}
.rp-cm-br-co-pe .rp-countrycard__rows{
  list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;
}
.rp-cm-br-co-pe .rp-countrycard__rows li{
  font-size:.88rem;line-height:1.5;color:var(--igc-text-dim);
}
.rp-cm-br-co-pe .rp-countrycard__rows li strong{
  display:block;font-family:var(--rp-mono);font-size:.66rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--igc-text-faint);margin-bottom:.15rem;font-weight:500;
}
.rp-cm-br-co-pe .rp-countrycard__rows li em{
  font-style:normal;color:var(--side-glow,var(--rp-glow));font-weight:600;
}

/* hero crumb: two accent bars rather than one accent dot */
.rp-comparison .rp-eyebrow{
  background:linear-gradient(90deg,var(--rp-side-a-soft),var(--rp-side-b-soft));
  border-color:var(--rp-side-a-ring);color:var(--igc-text);
}
.rp-comparison .rp-eyebrow__dot{
  background:linear-gradient(90deg,var(--rp-side-a),var(--rp-side-b));
  box-shadow:0 0 10px var(--rp-side-a-glow);
}

/* hero stat: side-tinted .accent supports both palettes */
.rp-comparison .rp-stat__k .accent--a{color:var(--rp-side-a-glow)}
.rp-comparison .rp-stat__k .accent--b{color:var(--rp-side-b-glow)}

/* comparison table: side-tinted header chips */
.rp-comparison .rp-compare thead th.is-side-a{
  color:var(--rp-side-a-glow);background:var(--rp-side-a-soft);
}
.rp-comparison .rp-compare thead th.is-side-b{
  color:var(--rp-side-b-glow);background:var(--rp-side-b-soft);
}
.rp-comparison .rp-compare td.is-side-a{
  background:var(--rp-side-a-tint);border-left:2px solid var(--rp-side-a);
}
.rp-comparison .rp-compare td.is-side-b{
  background:var(--rp-side-b-tint);border-left:2px solid var(--rp-side-b);
}

/* ─────────────────────────────────────────────────────────────────────
   .rp-cm-br-co-pe-mx — LATAM four-way palette extension
   Brazil green + Colombia blue + Peru red + Mexico flag-green (#006847)
   Inherits the three-way --rp-side-a/b/c variables from .rp-cm-br-co-pe
   and adds a --rp-side-d* family + .is-side-d column.
   ───────────────────────────────────────────────────────────────────── */
.rp-profile.rp-comparison.rp-cm-br-co-pe-mx{
  --rp-side-a:      #009739;
  --rp-side-a-glow: #2fbf63;
  --rp-side-a-soft: rgba(0,151,57,.12);
  --rp-side-a-ring: rgba(0,151,57,.34);
  --rp-side-a-tint: rgba(0,151,57,.06);
  --rp-side-b:      #003893;
  --rp-side-b-glow: #4773c8;
  --rp-side-b-soft: rgba(0,56,147,.12);
  --rp-side-b-ring: rgba(0,56,147,.34);
  --rp-side-b-tint: rgba(0,56,147,.06);
  --rp-side-c:      #D91023;
  --rp-side-c-glow: #ef4a5a;
  --rp-side-c-soft: rgba(217,16,35,.12);
  --rp-side-c-ring: rgba(217,16,35,.34);
  --rp-side-c-tint: rgba(217,16,35,.06);
  --rp-side-d:      #006847;
  --rp-side-d-glow: #2fa67e;
  --rp-side-d-soft: rgba(0,104,71,.12);
  --rp-side-d-ring: rgba(0,104,71,.34);
  --rp-side-d-tint: rgba(0,104,71,.06);
}
.rp-cm-br-co-pe-mx .rp-eyebrow{
  background:linear-gradient(90deg,var(--rp-side-a-soft),var(--rp-side-b-soft),var(--rp-side-c-soft),var(--rp-side-d-soft));
  border-color:var(--rp-side-a-ring);color:var(--igc-text);
}
.rp-cm-br-co-pe-mx .rp-eyebrow__dot{
  background:linear-gradient(90deg,var(--rp-side-a),var(--rp-side-b),var(--rp-side-c),var(--rp-side-d));
  box-shadow:0 0 10px var(--rp-side-a-glow);
}
.rp-cm-br-co-pe-mx .rp-stat__dot--a{background:var(--rp-side-a);box-shadow:0 0 6px var(--rp-side-a)}
.rp-cm-br-co-pe-mx .rp-stat__dot--b{background:var(--rp-side-b);box-shadow:0 0 6px var(--rp-side-b)}
.rp-cm-br-co-pe-mx .rp-stat__dot--c{background:var(--rp-side-c);box-shadow:0 0 6px var(--rp-side-c)}
.rp-cm-br-co-pe-mx .rp-stat__dot--d{background:var(--rp-side-d);box-shadow:0 0 6px var(--rp-side-d)}
.rp-comparison .rp-stat__k .accent--d{color:var(--rp-side-d-glow)}
/* Four-way comparison table: side-D column accent */
.rp-comparison .rp-compare thead th.is-side-d{
  color:var(--rp-side-d-glow);background:var(--rp-side-d-soft);
}
.rp-comparison .rp-compare td.is-side-d{
  background:var(--rp-side-d-tint);border-left:2px solid var(--rp-side-d);
}
.rp-comparison .rp-compare td.is-side-d:hover,
.rp-comparison .rp-compare th.is-side-d:hover{
  background:var(--rp-side-d-soft);
}
/* Card variants for Mexico column */
.rp-cm-br-co-pe-mx .rp-dual-card--a{--side:var(--rp-side-a);--side-glow:var(--rp-side-a-glow);--side-soft:var(--rp-side-a-soft);--side-ring:var(--rp-side-a-ring);}
.rp-cm-br-co-pe-mx .rp-dual-card--b{--side:var(--rp-side-b);--side-glow:var(--rp-side-b-glow);--side-soft:var(--rp-side-b-soft);--side-ring:var(--rp-side-b-ring);}
.rp-cm-br-co-pe-mx .rp-dual-card--c{--side:var(--rp-side-c);--side-glow:var(--rp-side-c-glow);--side-soft:var(--rp-side-c-soft);--side-ring:var(--rp-side-c-ring);}
.rp-cm-br-co-pe-mx .rp-dual-card--d{--side:var(--rp-side-d);--side-glow:var(--rp-side-d-glow);--side-soft:var(--rp-side-d-soft);--side-ring:var(--rp-side-d-ring);}
.rp-cm-br-co-pe-mx .rp-dual-card__cta{
  background:transparent;
  border-color:var(--side,var(--rp-ring));
  color:var(--side-glow,var(--rp-glow));
  padding:.4rem .85rem;font-size:.78rem;border-radius:6px;letter-spacing:.01em;
}
.rp-cm-br-co-pe-mx .rp-dual-card__cta:hover{
  background:var(--side,var(--rp-primary));color:#06101f;border-color:var(--side,var(--rp-primary));
}
/* Four-card grid: 2x2 on tablet, 4-up on wide, single column on narrow */
.rp-cm-br-co-pe-mx .rp-countrygrid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0;
}
@media (max-width:1200px){.rp-cm-br-co-pe-mx .rp-countrygrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.rp-cm-br-co-pe-mx .rp-countrygrid{grid-template-columns:1fr}}
.rp-cm-br-co-pe-mx .rp-countrycard{
  position:relative;background:var(--igc-bg-elev);
  border:1px solid var(--side-ring,var(--igc-border));border-radius:var(--igc-radius-md);
  padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;
}
.rp-cm-br-co-pe-mx .rp-countrycard::before{
  content:"";position:absolute;top:0;left:1.2rem;right:1.2rem;height:2px;
  background:var(--side,var(--rp-primary));border-radius:0 0 2px 2px;
}
.rp-cm-br-co-pe-mx .rp-countrycard--a{--side:var(--rp-side-a);--side-glow:var(--rp-side-a-glow);--side-soft:var(--rp-side-a-soft);--side-ring:var(--rp-side-a-ring);}
.rp-cm-br-co-pe-mx .rp-countrycard--b{--side:var(--rp-side-b);--side-glow:var(--rp-side-b-glow);--side-soft:var(--rp-side-b-soft);--side-ring:var(--rp-side-b-ring);}
.rp-cm-br-co-pe-mx .rp-countrycard--c{--side:var(--rp-side-c);--side-glow:var(--rp-side-c-glow);--side-soft:var(--rp-side-c-soft);--side-ring:var(--rp-side-c-ring);}
.rp-cm-br-co-pe-mx .rp-countrycard--d{--side:var(--rp-side-d);--side-glow:var(--rp-side-d-glow);--side-soft:var(--rp-side-d-soft);--side-ring:var(--rp-side-d-ring);}
.rp-cm-br-co-pe-mx .rp-countrycard__chip{
  font-family:var(--rp-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--side-glow,var(--rp-glow));display:inline-flex;align-items:center;gap:.5rem;
}
.rp-cm-br-co-pe-mx .rp-countrycard__chip::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--side,var(--rp-primary));box-shadow:0 0 6px var(--side,var(--rp-primary));
}
.rp-cm-br-co-pe-mx .rp-countrycard__t{
  font-family:var(--rp-sans);font-weight:600;font-size:1.02rem;color:var(--igc-text);
  margin:0;letter-spacing:-.005em;line-height:1.3;
}
.rp-cm-br-co-pe-mx .rp-countrycard__rows{
  list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;
}
.rp-cm-br-co-pe-mx .rp-countrycard__rows li{
  font-size:.88rem;line-height:1.5;color:var(--igc-text-dim);
}
.rp-cm-br-co-pe-mx .rp-countrycard__rows li strong{
  display:block;font-family:var(--rp-mono);font-size:.66rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--igc-text-faint);margin-bottom:.15rem;font-weight:500;
}
.rp-cm-br-co-pe-mx .rp-countrycard__rows li em{
  font-style:normal;color:var(--side-glow,var(--rp-glow));font-weight:600;
}
/* Hero stat tiles: tighten to 4 across on wide, 2x2 on tablet */
.rp-cm-br-co-pe-mx .rp-stats{grid-template-columns:repeat(4,1fr);}
@media (max-width:1100px){.rp-cm-br-co-pe-mx .rp-stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.rp-cm-br-co-pe-mx .rp-stats{grid-template-columns:1fr}}

/* dual-card: two cards side-by-side, one per side */
.rp-dual{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;
  margin:2rem 0 1.2rem;
}
.rp-dual-card{
  position:relative;
  background:linear-gradient(180deg,var(--side-soft,var(--igc-bg-elev)),transparent 90%),var(--igc-bg-elev);
  border:1px solid var(--side-ring,var(--igc-border));
  border-radius:var(--igc-radius-md);
  padding:1.4rem 1.4rem 1.5rem;
  display:flex;flex-direction:column;gap:.7rem;
}
.rp-dual-card::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:60%;height:3px;border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,transparent,var(--side,var(--rp-primary)),transparent);
}
.rp-dual-card--a{--side:var(--rp-side-a);--side-glow:var(--rp-side-a-glow);--side-soft:var(--rp-side-a-soft);--side-ring:var(--rp-side-a-ring);}
.rp-dual-card--b{--side:var(--rp-side-b);--side-glow:var(--rp-side-b-glow);--side-soft:var(--rp-side-b-soft);--side-ring:var(--rp-side-b-ring);}
.rp-dual-card__chip{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--rp-mono);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--side-glow,var(--rp-glow));
}
.rp-dual-card__chip::before{
  content:"";width:8px;height:8px;border-radius:50%;
  background:var(--side,var(--rp-primary));box-shadow:0 0 8px var(--side,var(--rp-primary));
}
.rp-dual-card__t{
  font-family:var(--rp-sans);font-weight:600;font-size:1.08rem;
  color:var(--igc-text);margin:0;letter-spacing:-.01em;line-height:1.3;
}
.rp-dual-card__d{
  font-size:.93rem;line-height:1.65;color:var(--igc-text-dim);margin:0;
}
.rp-dual-card__d strong{color:var(--igc-text);font-weight:600}
.rp-dual-card__d a{color:var(--side-glow,var(--rp-glow));text-decoration:underline;text-decoration-color:var(--side-ring,var(--rp-ring));text-underline-offset:2px}
.rp-dual-card__meta{
  margin-top:.3rem;padding-top:.7rem;border-top:1px dashed var(--side-ring,var(--igc-border));
  font-family:var(--rp-mono);font-size:.7rem;letter-spacing:.05em;color:var(--igc-text-faint);
}
.rp-dual-card__meta strong{color:var(--igc-text-dim);font-weight:500}

/* dual-card pill link CTA (e.g. "Open the standards explorer →") */
.rp-dual-card__cta{
  margin-top:auto;align-self:flex-start;
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.55rem 1rem;border-radius:999px;
  font-size:.84rem;font-weight:600;letter-spacing:-.005em;
  color:var(--side-glow,var(--rp-glow));
  background:var(--side-soft,var(--rp-soft));
  border:1px solid var(--side-ring,var(--rp-ring));
  text-decoration:none;
  transition:background .15s,color .15s,transform .15s,border-color .15s;
}
.rp-dual-card__cta::after{
  content:"\2192";font-family:var(--rp-mono);transition:transform .15s;
}
.rp-dual-card__cta:hover{
  background:var(--side,var(--rp-primary));color:#06101f;border-color:var(--side,var(--rp-primary));
  transform:translateY(-1px);
}
.rp-dual-card__cta:hover::after{transform:translateX(2px)}

@media (max-width:760px){
  .rp-dual{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════════
   KEY TAKEAWAYS  ·  scannable summary card (breaks dense sections)
══════════════════════════════════════════════════════════════ */
.rp-takeaways{
  background:linear-gradient(180deg,var(--rp-soft),transparent 90%),var(--igc-bg-elev);
  border:1px solid var(--rp-ring);border-radius:var(--igc-radius-md);
  padding:1.4rem 1.6rem;margin:1.8rem 0;
}
.rp-takeaways__label{
  font-family:var(--rp-mono);font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--rp-glow);margin:0 0 1rem;
  display:flex;align-items:center;gap:.55rem;
}
.rp-takeaways__label::before{
  content:"";width:18px;height:1px;background:var(--rp-primary);
}
.rp-takeaways ol{
  list-style:none;margin:0;padding:0;
  counter-reset:rp-take;
  display:flex;flex-direction:column;gap:.8rem;
}
.rp-takeaways li{
  counter-increment:rp-take;
  position:relative;
  padding-left:38px;min-height:24px;
  font-size:.95rem;line-height:1.6;color:var(--igc-text);
}
.rp-takeaways li::before{
  content:counter(rp-take,decimal-leading-zero);
  position:absolute;left:0;top:.12rem;
  font-family:var(--rp-mono);font-size:.7rem;font-weight:500;
  color:var(--rp-glow);background:var(--rp-soft);
  border:1px solid var(--rp-ring);border-radius:5px;
  width:26px;height:24px;display:grid;place-items:center;
}
.rp-takeaways strong{color:#fff;font-weight:600}

/* ══════════════════════════════════════════════════════════════
   DEFINITION LIST  ·  labelled rows inside an accent container
══════════════════════════════════════════════════════════════ */
.rp-deflist{
  display:grid;gap:.9rem;margin:1.8rem 0;
  padding:1.4rem 1.5rem;
  background:var(--rp-soft);
  border:1px solid var(--rp-ring);
  border-radius:var(--igc-radius-md);
}
.rp-deflist__row{
  display:grid;grid-template-columns:72px 1fr;gap:1.1rem;
  align-items:start;
}
.rp-deflist dt{
  font-family:var(--rp-mono);font-size:.7rem;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--rp-glow);
  background:var(--igc-bg);
  border:1px solid var(--rp-ring);border-radius:5px;
  padding:.4rem 0;text-align:center;
}
.rp-deflist dd{
  margin:0;padding-top:.25rem;
  font-size:.95rem;line-height:1.6;color:var(--igc-text);
}
.rp-deflist dd strong{color:#fff;font-weight:600}
@media (max-width:520px){
  .rp-deflist__row{grid-template-columns:1fr;gap:.35rem}
  .rp-deflist dt{width:fit-content;padding:.3rem .55rem}
}

/* ══════════════════════════════════════════════════════════════
   THREE PILLARS
══════════════════════════════════════════════════════════════ */
.rp-pillars{
  margin:2.4rem 0 1rem;
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
}
.rp-pillar{
  position:relative;
  background:linear-gradient(180deg,var(--rp-soft),transparent 90%),var(--igc-bg-elev);
  border:1px solid var(--rp-ring);border-radius:var(--igc-radius-md);
  padding:1.4rem 1.3rem 1.5rem;
  display:flex;flex-direction:column;gap:.85rem;
}
.rp-pillar::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:60%;height:3px;border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,transparent,var(--rp-primary),transparent);
}
.rp-pillar__no{
  font-family:var(--rp-mono);font-size:.66rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--rp-glow);
}
.rp-pillar__t{
  font-family:var(--rp-sans);font-weight:600;font-size:1.05rem;
  color:var(--igc-text);line-height:1.3;letter-spacing:-.01em;margin:0;
}
.rp-pillar__d{
  font-size:.92rem;line-height:1.6;color:var(--igc-text-dim);margin:0;
}
.rp-pillars-foot{
  margin-top:1.2rem;padding:.8rem 0 0;border-top:1px dashed var(--igc-border);
  font-family:var(--rp-mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--igc-text-faint);text-align:center;
}

/* ══════════════════════════════════════════════════════════════
   PROCESS FLOW
══════════════════════════════════════════════════════════════ */
.rp-flow{
  position:relative;margin:2.2rem 0 1rem;
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:.5rem;
}
.rp-flow::before{
  content:"";position:absolute;top:30px;left:10%;right:10%;height:2px;
  background:linear-gradient(90deg,var(--rp-ring),var(--rp-glow),var(--rp-ring));
  border-radius:2px;z-index:0;
}
.rp-flow__node{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center;
}
.rp-flow__circle{
  width:60px;height:60px;border-radius:50%;
  background:var(--igc-bg);border:2px solid var(--rp-primary);
  display:grid;place-items:center;
  font-family:var(--rp-sans);font-weight:700;font-size:1.25rem;
  color:var(--rp-glow);letter-spacing:-.02em;
  box-shadow:0 0 0 6px var(--rp-soft),0 4px 18px rgba(110,139,240,.18);
}
.rp-flow__t{
  font-family:var(--rp-mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--rp-glow);
}
.rp-flow__d{font-size:.82rem;line-height:1.5;color:var(--igc-text-dim);padding:0 .25rem;margin:0}
.rp-flow__weeks{font-family:var(--rp-mono);font-size:.68rem;color:var(--igc-text-faint);letter-spacing:.04em}

/* ══════════════════════════════════════════════════════════════
   MONEY (fees + levy donut)
══════════════════════════════════════════════════════════════ */
.rp-money{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:1.4rem;margin:2rem 0;align-items:stretch;
}
.rp-cost-card{
  background:var(--igc-bg-elev);border:1px solid var(--igc-border);
  border-radius:var(--igc-radius-md);padding:1.6rem 1.7rem;
  display:flex;flex-direction:column;
}
.rp-cost-card h4{
  margin:0 0 1.3rem;font-family:var(--rp-mono);font-weight:500;
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rp-glow);display:flex;align-items:center;gap:.55rem;
}
.rp-bar-row{margin-bottom:1.2rem}
.rp-bar-row:last-child{margin-bottom:0}
.rp-bar-row__t{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:.88rem;color:var(--igc-text);margin-bottom:.4rem;font-weight:500;
}
.rp-bar-row__t .v{font-family:var(--rp-mono);color:var(--igc-text-dim);font-size:.78rem;font-weight:400}
.rp-bar{position:relative;height:8px;border-radius:6px;background:var(--igc-bg-elev-2);overflow:hidden}
.rp-bar__fill{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,var(--rp-primary),var(--rp-glow));border-radius:6px}
.rp-bar__caption{font-family:var(--rp-mono);font-size:.7rem;color:var(--igc-text-faint);margin-top:.4rem;letter-spacing:.02em}

.rp-donut-wrap{
  background:var(--igc-bg-elev);border:1px solid var(--igc-border);
  border-radius:var(--igc-radius-md);padding:1.6rem 1.5rem;
  display:flex;flex-direction:column;gap:1.2rem;align-items:center;
}
.rp-donut-wrap h4{
  margin:0;font-family:var(--rp-mono);font-weight:500;
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rp-gold);align-self:flex-start;
}
.rp-donut{position:relative;width:188px;height:188px}
.rp-donut__center{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.rp-donut__center .v{font-family:var(--rp-sans);font-weight:600;font-size:1.55rem;color:var(--igc-text);line-height:1;letter-spacing:-.025em}
.rp-donut__center .t{font-family:var(--rp-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--igc-text-faint);margin-top:.4rem}
.rp-donut-legend{display:grid;gap:.55rem;width:100%}
.rp-leg{
  display:grid;grid-template-columns:12px 1fr auto;gap:.6rem;align-items:center;
  font-size:.85rem;color:var(--igc-text);
}
.rp-leg__sw{width:10px;height:10px;border-radius:3px}
.rp-leg__v{font-family:var(--rp-mono);color:var(--igc-text-dim);font-size:.78rem}

/* ══════════════════════════════════════════════════════════════
   ENFORCEMENT BAR CHART
══════════════════════════════════════════════════════════════ */
.rp-fines{
  background:var(--igc-bg-elev);border:1px solid var(--igc-border);
  border-radius:var(--igc-radius-md);padding:1.6rem 1.7rem;margin:1.6rem 0;
}
.rp-fines h4{
  margin:0 0 1.3rem;font-family:var(--rp-mono);font-weight:500;
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rp-danger);
}
.rp-fine{
  display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(0,2fr) 80px;
  gap:1.2rem;align-items:center;
  padding:.95rem 0;border-top:1px dashed var(--igc-border);
}
.rp-fine:first-of-type{border-top:none;padding-top:.3rem}
.rp-fine__op{font-weight:600;font-size:.98rem;color:var(--igc-text);line-height:1.3;letter-spacing:-.005em}
.rp-fine__op .meta{display:block;margin-top:.2rem;font-family:var(--rp-mono);font-weight:400;font-size:.72rem;color:var(--igc-text-faint);letter-spacing:.02em}
.rp-fine__amt{font-family:var(--rp-mono);font-weight:500;font-size:.9rem;color:var(--rp-danger);text-align:right}
.rp-fine__bar{height:8px;background:var(--igc-bg-elev-2);border-radius:6px;overflow:hidden;position:relative}
.rp-fine__bar::after{
  content:"";position:absolute;top:0;left:0;bottom:0;
  background:linear-gradient(90deg,rgba(239,107,107,.95),rgba(239,107,107,.4));
  border-radius:6px;width:var(--w,40%);
}

/* ══════════════════════════════════════════════════════════════
   REFORMS TIMELINE
══════════════════════════════════════════════════════════════ */
.rp-timeline{margin:2.2rem 0 1rem;position:relative;padding-left:2.6rem}
.rp-timeline::before{
  content:"";position:absolute;left:11px;top:1rem;bottom:1rem;width:2px;
  background:linear-gradient(180deg,var(--rp-ring),transparent);
}
.rp-tl{position:relative;padding:0 0 2rem}
.rp-tl:last-child{padding-bottom:.5rem}
.rp-tl::before{
  content:"";position:absolute;left:-2.6rem;top:.4rem;
  width:24px;height:24px;border-radius:50%;
  background:var(--igc-bg);border:2px solid var(--rp-primary);
  box-shadow:0 0 0 5px var(--rp-soft);
}
.rp-tl[data-major]::before{background:var(--rp-primary);box-shadow:0 0 0 5px var(--rp-ring)}
.rp-tl__year{font-family:var(--rp-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rp-glow);margin-bottom:.3rem}
.rp-tl__t{font-family:var(--rp-sans);font-weight:600;font-size:1.05rem;color:var(--igc-text);margin:0 0 .35rem;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;letter-spacing:-.01em}
.rp-tl__d{font-size:.92rem;line-height:1.6;color:var(--igc-text-dim);margin:0;max-width:62ch}
.rp-tl__tag{
  display:inline-block;font-family:var(--rp-mono);font-size:.64rem;
  letter-spacing:.12em;text-transform:uppercase;font-weight:400;
  background:var(--rp-soft);color:var(--rp-glow);
  padding:.2rem .5rem;border-radius:4px;border:1px solid var(--rp-ring);
}

/* ══════════════════════════════════════════════════════════════
   COMPARISON TABLE
══════════════════════════════════════════════════════════════ */
.rp-compare{
  margin:2rem 0 1rem;border:1px solid var(--igc-border);
  border-radius:var(--igc-radius-md);overflow:hidden;background:var(--igc-bg-elev);
}
.rp-compare table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}
.rp-compare th,.rp-compare td{
  text-align:left;padding:1rem 1.1rem;border-bottom:1px solid var(--igc-border);vertical-align:top;
}
.rp-compare thead th{
  background:var(--igc-bg-elev-2);font-family:var(--rp-mono);
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  color:var(--igc-text-faint);
}
.rp-compare thead th.is-self{color:var(--rp-glow);background:var(--rp-soft)}
.rp-compare td.is-self{background:rgba(110,139,240,.05);border-left:2px solid var(--rp-primary)}
.rp-compare th[scope="row"]{
  font-family:var(--rp-mono);font-weight:500;font-size:.72rem;letter-spacing:.06em;
  color:var(--igc-text-dim);text-transform:uppercase;width:170px;line-height:1.4;
}
.rp-compare tbody tr:last-child td,.rp-compare tbody tr:last-child th{border-bottom:none}
.rp-compare strong{color:var(--igc-text);font-weight:600}

/* ══════════════════════════════════════════════════════════════
   FAQ
══════════════════════════════════════════════════════════════ */
.rp-faq{display:grid;gap:.6rem;margin-top:1.3rem}
.rp-faq__item{
  background:var(--igc-bg-elev);border:1px solid var(--igc-border);
  border-radius:var(--igc-radius-md);overflow:hidden;
}
.rp-faq__item[open]{border-color:var(--rp-ring)}
.rp-faq__q{
  cursor:pointer;list-style:none;
  padding:1.05rem 1.25rem 1.05rem 1.3rem;
  font-family:var(--rp-sans);font-size:1.02rem;font-weight:600;color:var(--igc-text);
  display:grid;grid-template-columns:1fr 28px;gap:1rem;align-items:center;
  letter-spacing:-.005em;
}
.rp-faq__q::-webkit-details-marker{display:none}
.rp-faq__q::after{
  content:"+";font-size:1.3rem;color:var(--rp-glow);transition:transform .25s;
  line-height:1;width:26px;height:26px;display:grid;place-items:center;
  border:1px solid var(--rp-ring);border-radius:50%;font-weight:500;
}
.rp-faq__item[open] .rp-faq__q::after{transform:rotate(45deg)}
.rp-faq__a{padding:0 1.3rem 1.2rem}
.rp-faq__a p{margin:0;font-size:.96rem;line-height:1.7;color:var(--igc-text-dim);max-width:none}

/* ══════════════════════════════════════════════════════════════
   RESOURCES
══════════════════════════════════════════════════════════════ */
.rp-resources{display:grid;gap:.55rem;grid-template-columns:1fr 1fr;margin-top:1.3rem}
.rp-resource{
  display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;
  background:var(--igc-bg-elev);border:1px solid var(--igc-border);
  border-radius:var(--igc-radius-sm);padding:.85rem 1.05rem;
  transition:border-color .15s,background .15s;
}
.rp-resource:hover{border-color:var(--rp-ring);background:var(--rp-soft)}
.rp-resource__kind{
  font-family:var(--rp-mono);font-size:.66rem;font-weight:500;letter-spacing:.1em;
  color:var(--rp-glow);background:var(--rp-soft);
  border:1px solid var(--rp-ring);padding:.22rem .45rem;border-radius:5px;
}
.rp-resource__t{font-size:.9rem;color:var(--igc-text);line-height:1.4}
.rp-resource__arrow{color:var(--igc-text-faint);font-family:var(--rp-mono);font-size:.95rem}
.rp-resource:hover .rp-resource__arrow{color:var(--rp-glow)}

/* ══════════════════════════════════════════════════════════════
   CTA + FOOTER
══════════════════════════════════════════════════════════════ */
.rp-cta{
  margin:3rem 0 0;padding:3rem 2rem;
  background:
    radial-gradient(circle at 80% 20%,rgba(110,139,240,.18),transparent 60%),
    radial-gradient(circle at 10% 90%,rgba(240,195,110,.08),transparent 60%),
    var(--igc-bg-elev);
  border:1px solid var(--rp-ring);border-radius:var(--igc-radius-lg);
  text-align:center;
}
.rp-cta__eye{
  font-family:var(--rp-mono);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--rp-glow);margin-bottom:.8rem;
}
.rp-cta__h{
  font-family:var(--rp-sans);font-weight:600;font-size:clamp(1.6rem,2.6vw,2rem);
  letter-spacing:-.02em;color:var(--igc-text);margin:0 0 .8rem;line-height:1.2;
}
.rp-cta__p{color:var(--igc-text-dim);max-width:54ch;margin:0 auto 1.6rem;line-height:1.65}
.rp-cta__row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.rp-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 1.5rem;border-radius:999px;font-size:.92rem;font-weight:600;
  transition:transform .15s,box-shadow .15s,background .15s;letter-spacing:-.005em;
}
.rp-btn-primary{background:linear-gradient(135deg,var(--rp-primary),var(--rp-deep));color:#fff;box-shadow:0 6px 22px rgba(110,139,240,.35)}
.rp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(110,139,240,.45)}
.rp-btn-ghost{background:transparent;color:var(--igc-text);border:1px solid var(--igc-border-mid)}
.rp-btn-ghost:hover{border-color:var(--rp-primary);color:var(--rp-glow)}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media (max-width:1180px){
  .rp-layout{grid-template-columns:180px minmax(0,1fr)}
  .rp-aside{display:none}
}
@media (max-width:920px){
  .rp-stats{grid-template-columns:repeat(2,1fr)}
  .rp-stat:nth-child(2){border-right:none}
  .rp-stat:nth-child(1),.rp-stat:nth-child(2){border-bottom:1px solid var(--igc-border)}
  .rp-layout{grid-template-columns:1fr;gap:1.5rem}
  .rp-toc{position:static;border:1px solid var(--igc-border);padding:1rem 1.2rem;border-radius:var(--igc-radius-md)}
  .rp-pillars{grid-template-columns:1fr}
  .rp-money{grid-template-columns:1fr}
  .rp-flow{grid-template-columns:repeat(2,1fr);gap:1.6rem}
  .rp-flow::before{display:none}
  .rp-resources{grid-template-columns:1fr}
  .rp-fine{grid-template-columns:1fr;gap:.3rem}
  .rp-fine__amt{text-align:left}
  .rp-dateline{grid-template-columns:1fr 1fr;gap:.6rem}
  .rp-dateline > span{padding:.4rem 0;border-left:none;border-bottom:1px solid var(--igc-border)}
  .rp-dateline > span:first-child{padding-left:0}
}

/* Light theme tweaks */
html.igc-light .rp-callout--source{background:#fff}
html.igc-light .rp-btn-primary{color:#fff}

/* =====================================================================
   LIGHT-MODE SPLASH KILL — 2026-05-29 audit (Fix #1)
   Removes foggy two-tone hero gradients and tint washes inside editorial
   cards on every regulator profile + comparison page. Dark mode untouched.
   ===================================================================== */
html.igc-light .rp-hero::before,
html.igc-light .rp-cta::before { display: none !important; }

html.igc-light .rp-hero,
html.igc-light .rp-cta { background: var(--igc-bg-elev) !important; }

/* Editorial cards: strip 180deg brand-tint wash, use a flat elevated surface */
html.igc-light .rp-takeaways,
html.igc-light .rp-pillar,
html.igc-light .rp-dual-card,
html.igc-light .rp-aside__card,
html.igc-light .rp-aside__cta { background: var(--igc-bg-elev) !important; }

/* Top-edge "smudge" rules become confident solid rules */
html.igc-light .rp-pillar::before,
html.igc-light .rp-dual-card::before {
  background: var(--rp-deep, var(--igc-accent)) !important;
  opacity: 0.85;
}

/* Multi-tone rainbow eyebrow stripe on comparison pages → single brand bar */
html.igc-light .rp-comparison .rp-eyebrow,
html.igc-light .rp-cm-br-co-pe .rp-eyebrow { background: var(--igc-bg-elev) !important; }

/* Flow nodes + timeline dots: kill the fuzzy brand halo */
html.igc-light .rp-flow__circle,
html.igc-light .rp-tl::before { box-shadow: 0 0 0 4px var(--igc-bg-elev), 0 0 0 5px var(--rp-deep, var(--igc-accent)) !important; }

/* Dark navy scrollbar stripe at top of light pages */
html.igc-light .rp-scrollbar { background: var(--igc-bg-elev) !important; }

/* ─────────────────────────────────────────────
   .rp-pdf-cta — hero download asset (LATAM 4-way)
   Glass card with 4-flag top accent strip + lift on hover.
───────────────────────────────────────────── */
.rp-pdf-cta {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 1.25rem;
	align-items: center;
	margin: 1.75rem 0 0;
	padding: 1.1rem 1.4rem;
	background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 14px;
	color: inherit;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
/* 4-flag accent strip on top edge — Brazil, Colombia, Peru, Mexico */
.rp-pdf-cta::before {
	content: "";
	position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(
		to right,
		#009739 0%, #009739 25%,
		#003893 25%, #003893 50%,
		#D91023 50%, #D91023 75%,
		#006847 75%, #006847 100%
	);
	z-index: 1;
}
.rp-pdf-cta:hover,
.rp-pdf-cta:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(255,255,255,0.24);
	box-shadow: 0 18px 38px -22px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.04);
	background: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025));
}
.rp-pdf-cta__icon {
	width: 56px; height: 56px;
	display: grid; place-items: center;
	background: linear-gradient(135deg, rgba(0,151,57,0.22), rgba(0,104,71,0.22));
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 11px;
	color: #ffffff;
}
.rp-pdf-cta__body {
	display: flex; flex-direction: column; gap: 0.3rem; min-width: 0;
}
.rp-pdf-cta__eyebrow {
	font-family: var(--rp-font-mono, ui-monospace, "DM Mono", monospace);
	font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--igc-text-muted, #94a3b8);
}
.rp-pdf-cta__title {
	font-family: var(--rp-font-display, "DM Sans", sans-serif);
	font-size: 1.18rem; font-weight: 700; line-height: 1.25;
	color: #ffffff;
}
.rp-pdf-cta__meta {
	display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.2rem;
}
.rp-pdf-cta__chip {
	display: inline-flex; align-items: center; gap: 0.3rem;
	padding: 0.18rem 0.55rem;
	font-size: 0.74rem; font-weight: 500; line-height: 1.4;
	border-radius: 6px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.85);
	white-space: nowrap;
}
.rp-pdf-cta__chip--a { border-color: rgba(0,151,57,0.45); background: rgba(0,151,57,0.12); color: #66d39a; }
.rp-pdf-cta__chip--b { border-color: rgba(0,56,147,0.55); background: rgba(0,56,147,0.18); color: #8bb1ff; }
.rp-pdf-cta__chip--c { border-color: rgba(217,16,35,0.45); background: rgba(217,16,35,0.12); color: #ff8a8a; }
.rp-pdf-cta__chip--d { border-color: rgba(0,104,71,0.5); background: rgba(0,104,71,0.16); color: #6cc7a3; }
.rp-pdf-cta__chip--muted {
	margin-left: auto;
	background: transparent; border-color: rgba(255,255,255,0.15);
	color: rgba(255,255,255,0.65);
	font-family: var(--rp-font-mono, ui-monospace, "DM Mono", monospace);
	font-size: 0.7rem;
}
.rp-pdf-cta__arrow {
	width: 38px; height: 38px;
	display: grid; place-items: center;
	border-radius: 50%;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.12);
	color: rgba(255,255,255,0.85);
	transition: transform 0.18s ease, background 0.18s ease;
}
.rp-pdf-cta:hover .rp-pdf-cta__arrow {
	transform: translateX(3px);
	background: rgba(255,255,255,0.12);
}

/* Light-mode variant */
html.igc-light .rp-pdf-cta {
	background: linear-gradient(135deg, #ffffff, #f8fafc);
	border-color: #e2e8f0;
	box-shadow: 0 1px 2px rgba(15,23,42,0.04);
}
html.igc-light .rp-pdf-cta:hover {
	border-color: #cbd5e1;
	box-shadow: 0 14px 30px -18px rgba(15,23,42,0.18);
	background: #ffffff;
}
html.igc-light .rp-pdf-cta__title { color: #0f172a; }
html.igc-light .rp-pdf-cta__eyebrow { color: #64748b; }
html.igc-light .rp-pdf-cta__icon {
	color: #064e3b;
	background: linear-gradient(135deg, rgba(0,151,57,0.10), rgba(0,104,71,0.10));
	border-color: rgba(0,104,71,0.18);
}
html.igc-light .rp-pdf-cta__chip {
	background: #f1f5f9; border-color: #e2e8f0; color: #475569;
}
html.igc-light .rp-pdf-cta__chip--a { background: rgba(0,151,57,0.10); border-color: rgba(0,151,57,0.35); color: #047857; }
html.igc-light .rp-pdf-cta__chip--b { background: rgba(0,56,147,0.10); border-color: rgba(0,56,147,0.35); color: #1d4ed8; }
html.igc-light .rp-pdf-cta__chip--c { background: rgba(217,16,35,0.10); border-color: rgba(217,16,35,0.35); color: #be1626; }
html.igc-light .rp-pdf-cta__chip--d { background: rgba(0,104,71,0.10); border-color: rgba(0,104,71,0.35); color: #006847; }
html.igc-light .rp-pdf-cta__chip--muted { background: transparent; border-color: #e2e8f0; color: #64748b; }
html.igc-light .rp-pdf-cta__arrow { background: #f1f5f9; border-color: #e2e8f0; color: #334155; }
html.igc-light .rp-pdf-cta:hover .rp-pdf-cta__arrow { background: #e2e8f0; }

/* Mobile — stack the icon above the body */
@media (max-width: 640px) {
	.rp-pdf-cta {
		grid-template-columns: 1fr auto;
		gap: 0.75rem 1rem;
	}
	.rp-pdf-cta__icon {
		grid-column: 1 / -1;
		width: 44px; height: 44px;
	}
	.rp-pdf-cta__chip--muted { margin-left: 0; }
}

/* ==========================================================================
   At-a-glance comparison table + full-width stacked-card pattern
   (used by LATAM Big 4 comparison page sections 02, 05, 07 to replace
    the unreadable 4-column narrow-card grids)
   ========================================================================== */

/* At-a-glance comparison table (sits above stacked cards) */
.rp-attable {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 2.5rem;
	font-size: 0.92rem;
}
.rp-attable thead th {
	text-align: left;
	padding: 1rem 0.9rem;
	font-family: var(--rp-font-mono, ui-monospace, "DM Mono", monospace);
	font-size: 0.78rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(255,255,255,0.18);
	color: var(--igc-text);
	vertical-align: bottom;
}
/* per-jurisdiction header tints */
.rp-attable thead th.is-side-a { color: #66d39a; }
.rp-attable thead th.is-side-b { color: #8bb1ff; }
.rp-attable thead th.is-side-c { color: #ff8a8a; }
.rp-attable thead th.is-side-d { color: #6cc7a3; }
.rp-attable tbody th {
	text-align: left;
	padding: 0.7rem 0.9rem;
	font-weight: 600;
	color: var(--igc-text-dim);
	background: rgba(255,255,255,0.02);
	border-bottom: 1px solid rgba(255,255,255,0.05);
}
.rp-attable tbody td {
	padding: 0.7rem 0.9rem;
	border-bottom: 1px solid rgba(255,255,255,0.05);
	color: var(--igc-text);
	vertical-align: top;
	font-size: 0.9rem;
	line-height: 1.5;
}
.rp-attable tbody tr:hover td,
.rp-attable tbody tr:hover th { background: rgba(255,255,255,0.04); }

/* Light mode */
html.igc-light .rp-attable thead th { border-bottom-color: #cbd5e1; color: #0f172a; }
html.igc-light .rp-attable thead th.is-side-a { color: #047857; }
html.igc-light .rp-attable thead th.is-side-b { color: #1d4ed8; }
html.igc-light .rp-attable thead th.is-side-c { color: #be1626; }
html.igc-light .rp-attable thead th.is-side-d { color: #006847; }
html.igc-light .rp-attable tbody th { background: #f8fafc; color: #475569; border-bottom-color: #e2e8f0; }
html.igc-light .rp-attable tbody td { color: #1e293b; border-bottom-color: #e2e8f0; }

/* Stacked cards (one per row, full-width, brand left border, comfortable reading line) */
.rp-stacked-card {
	display: block;
	margin: 0 0 1.25rem;
	padding: 1.5rem 1.75rem 1.5rem 2rem;
	background: rgba(255,255,255,0.025);
	border: 1px solid rgba(255,255,255,0.1);
	border-left-width: 8px;
	border-radius: 10px;
	position: relative;
}
.rp-stacked-card--a { border-left-color: #009739; }
.rp-stacked-card--b { border-left-color: #003893; }
.rp-stacked-card--c { border-left-color: #D91023; }
.rp-stacked-card--d { border-left-color: #006847; }

.rp-stacked-card__head {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin: 0 0 1rem;
	padding: 0 0 1rem;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.rp-stacked-card__flag {
	font-size: 2rem;
	line-height: 1;
}
.rp-stacked-card__eyebrow {
	display: block;
	font-family: var(--rp-font-mono, ui-monospace, "DM Mono", monospace);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--igc-text-muted);
	margin: 0 0 0.3rem;
}
.rp-stacked-card--a .rp-stacked-card__eyebrow { color: #66d39a; }
.rp-stacked-card--b .rp-stacked-card__eyebrow { color: #8bb1ff; }
.rp-stacked-card--c .rp-stacked-card__eyebrow { color: #ff8a8a; }
.rp-stacked-card--d .rp-stacked-card__eyebrow { color: #6cc7a3; }
.rp-stacked-card__title {
	font-family: var(--rp-font-display, "DM Sans", sans-serif);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
	color: var(--igc-text);
}
.rp-stacked-card__body {
	max-width: 72ch;
	font-size: 0.98rem;
	line-height: 1.7;
	color: var(--igc-text-dim);
}
.rp-stacked-card__body p { margin: 0 0 1rem; }
.rp-stacked-card__body p:last-child { margin: 0; }
.rp-stacked-card__body strong { color: var(--igc-text); }
.rp-stacked-card__body ul {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}
.rp-stacked-card__body ul li {
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(255,255,255,0.05);
}
.rp-stacked-card__body ul li:last-child { border-bottom: 0; }
.rp-stacked-card__body ul li strong {
	display: block;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--igc-text-muted);
	margin: 0 0 0.2rem;
}

/* Light mode for stacked cards */
html.igc-light .rp-stacked-card {
	background: #ffffff;
	border-color: #e2e8f0;
	box-shadow: 0 1px 2px rgba(15,23,42,0.04);
}
html.igc-light .rp-stacked-card__head { border-bottom-color: #e2e8f0; }
html.igc-light .rp-stacked-card__title { color: #0f172a; }
html.igc-light .rp-stacked-card__body { color: #334155; }
html.igc-light .rp-stacked-card__eyebrow { color: #64748b; }
html.igc-light .rp-stacked-card--a .rp-stacked-card__eyebrow { color: #047857; }
html.igc-light .rp-stacked-card--b .rp-stacked-card__eyebrow { color: #1d4ed8; }
html.igc-light .rp-stacked-card--c .rp-stacked-card__eyebrow { color: #be1626; }
html.igc-light .rp-stacked-card--d .rp-stacked-card__eyebrow { color: #006847; }
html.igc-light .rp-stacked-card__body ul li { border-bottom-color: #e2e8f0; }
html.igc-light .rp-stacked-card__body ul li strong { color: #64748b; }

/* Mobile — at-a-glance table becomes scrollable */
@media (max-width: 720px) {
	.rp-attable { display: block; overflow-x: auto; white-space: nowrap; }
	.rp-attable tbody td { white-space: normal; }
	.rp-stacked-card { padding: 1.25rem 1.25rem 1.25rem 1.5rem; border-left-width: 6px; }
	.rp-stacked-card__head { flex-direction: column; gap: 0.4rem; }
	.rp-stacked-card__body { max-width: 100%; font-size: 0.94rem; }
}

/* ─────────────────────────────────────────────
   .rp-pdf-cta — France vs Spain variant (2-way)
   50/50 France-blue / Spain-red top edge + per-jurisdiction chips.
───────────────────────────────────────────── */
.rp-pdf-cta--fr-es::before {
	background: linear-gradient(
		to right,
		#1378AC 0%, #1378AC 50%,
		#aa151b 50%, #aa151b 100%
	) !important;
}
.rp-pdf-cta--fr-es .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(19,120,172,0.22), rgba(170,21,27,0.22));
}
.rp-pdf-cta__chip--fr {
	border-color: rgba(19,120,172,0.5);
	background: rgba(19,120,172,0.14);
	color: #6ec1e6;
}
.rp-pdf-cta__chip--es {
	border-color: rgba(170,21,27,0.5);
	background: rgba(170,21,27,0.14);
	color: #ff8a8a;
}
/* Light-mode */
html.igc-light .rp-pdf-cta--fr-es .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(19,120,172,0.10), rgba(170,21,27,0.10));
	border-color: rgba(19,120,172,0.18);
	color: #0c4a6e;
}
html.igc-light .rp-pdf-cta__chip--fr {
	background: rgba(19,120,172,0.10);
	border-color: rgba(19,120,172,0.35);
	color: #1378AC;
}
html.igc-light .rp-pdf-cta__chip--es {
	background: rgba(170,21,27,0.10);
	border-color: rgba(170,21,27,0.35);
	color: #aa151b;
}

/* ─────────────────────────────────────────────
   .rp-pdf-cta — AGCO vs AGLC variant (2-way Canada provinces)
   50/50 AGCO-red / AGLC-amber top edge + per-province chips.
───────────────────────────────────────────── */
.rp-pdf-cta--on-ab::before {
	background: linear-gradient(
		to right,
		#ef4444 0%, #ef4444 50%,
		#f59e0b 50%, #f59e0b 100%
	) !important;
}
.rp-pdf-cta--on-ab .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(239,68,68,0.22), rgba(245,158,11,0.22));
}
.rp-pdf-cta__chip--on {
	border-color: rgba(239,68,68,0.5);
	background: rgba(239,68,68,0.14);
	color: #fca5a5;
}
.rp-pdf-cta__chip--ab {
	border-color: rgba(245,158,11,0.5);
	background: rgba(245,158,11,0.14);
	color: #fcd34d;
}
/* Light-mode */
html.igc-light .rp-pdf-cta--on-ab .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(239,68,68,0.10), rgba(245,158,11,0.10));
	border-color: rgba(239,68,68,0.18);
	color: #991b1b;
}
html.igc-light .rp-pdf-cta__chip--on {
	background: rgba(239,68,68,0.10);
	border-color: rgba(239,68,68,0.35);
	color: #b91c1c;
}
html.igc-light .rp-pdf-cta__chip--ab {
	background: rgba(245,158,11,0.10);
	border-color: rgba(245,158,11,0.35);
	color: #b45309;
}

/* ─────────────────────────────────────────────
   .rp-pdf-cta — UKGC vs MGA variant (2-way EU)
   50/50 UKGC-blue / MGA-emerald top edge + per-jurisdiction chips.
───────────────────────────────────────────── */
.rp-pdf-cta--uk-mt::before {
	background: linear-gradient(
		to right,
		#3b82f6 0%, #3b82f6 50%,
		#10b981 50%, #10b981 100%
	) !important;
}
.rp-pdf-cta--uk-mt .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(59,130,246,0.22), rgba(16,185,129,0.22));
}
.rp-pdf-cta__chip--uk {
	border-color: rgba(59,130,246,0.5);
	background: rgba(59,130,246,0.14);
	color: #93c5fd;
}
.rp-pdf-cta__chip--mt {
	border-color: rgba(16,185,129,0.5);
	background: rgba(16,185,129,0.14);
	color: #6ee7b7;
}
/* Light-mode */
html.igc-light .rp-pdf-cta--uk-mt .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(59,130,246,0.10), rgba(16,185,129,0.10));
	border-color: rgba(59,130,246,0.18);
	color: #1e40af;
}
html.igc-light .rp-pdf-cta__chip--uk {
	background: rgba(59,130,246,0.10);
	border-color: rgba(59,130,246,0.35);
	color: #1d4ed8;
}
html.igc-light .rp-pdf-cta__chip--mt {
	background: rgba(16,185,129,0.10);
	border-color: rgba(16,185,129,0.35);
	color: #047857;
}

/* ─────────────────────────────────────────────
   .rp-pdf-cta — MGA vs Curaçao GCB variant (2-way EU vs Caribbean)
   50/50 MGA-emerald / Curaçao-blue top edge + per-jurisdiction chips.
   Reuses .rp-pdf-cta__chip--mt for the MGA side (already MGA emerald).
   --mga alias added for callers that prefer explicit jurisdiction naming.
───────────────────────────────────────────── */
.rp-pdf-cta--mt-cw::before {
	background: linear-gradient(
		to right,
		#10b981 0%, #10b981 50%,
		#1378AC 50%, #1378AC 100%
	) !important;
}
.rp-pdf-cta--mt-cw .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(16,185,129,0.22), rgba(19,120,172,0.22));
}
/* --mga alias mirrors --mt (MGA emerald) for clarity in MGA-led comparisons */
.rp-pdf-cta__chip--mga {
	border-color: rgba(16,185,129,0.5);
	background: rgba(16,185,129,0.14);
	color: #6ee7b7;
}
.rp-pdf-cta__chip--cw {
	border-color: rgba(19,120,172,0.5);
	background: rgba(19,120,172,0.14);
	color: #7DC4E0;
}
/* Light-mode */
html.igc-light .rp-pdf-cta--mt-cw .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(16,185,129,0.10), rgba(19,120,172,0.10));
	border-color: rgba(19,120,172,0.18);
	color: #0c4a6e;
}
html.igc-light .rp-pdf-cta__chip--mga {
	background: rgba(16,185,129,0.10);
	border-color: rgba(16,185,129,0.35);
	color: #047857;
}
html.igc-light .rp-pdf-cta__chip--cw {
	background: rgba(19,120,172,0.10);
	border-color: rgba(19,120,172,0.35);
	color: #1378AC;
}

/* ─────────────────────────────────────────────
   .rp-pdf-cta — UKGC vs AGCO variant (2-way transatlantic)
   50/50 UKGC-blue / AGCO-red top edge.
   Reuses existing .rp-pdf-cta__chip--uk (UKGC blue) +
   .rp-pdf-cta__chip--on (AGCO red — defined in the AGCO-AGLC block).
───────────────────────────────────────────── */
.rp-pdf-cta--uk-on::before {
	background: linear-gradient(
		to right,
		#3b82f6 0%, #3b82f6 50%,
		#ef4444 50%, #ef4444 100%
	) !important;
}
.rp-pdf-cta--uk-on .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(59,130,246,0.22), rgba(239,68,68,0.22));
}
/* Light-mode */
html.igc-light .rp-pdf-cta--uk-on .rp-pdf-cta__icon {
	background: linear-gradient(135deg, rgba(59,130,246,0.10), rgba(239,68,68,0.10));
	border-color: rgba(59,130,246,0.18);
	color: #1e40af;
}

/* ── NZ DIA PDF CTA palette ───────────────────────────────────────── */
.rp-pdf-cta--nz-dia::before { background: linear-gradient(to right, #012169 0%, #012169 50%, #c8102e 50%, #c8102e 100%) !important; }
.rp-pdf-cta--nz-dia .rp-pdf-cta__icon { background: linear-gradient(135deg, rgba(1,33,105,0.22), rgba(200,16,46,0.22)); }
.rp-pdf-cta__chip--nz-navy { border-color: rgba(1,33,105,0.55); background: rgba(1,33,105,0.14); color: #93c5fd; }
.rp-pdf-cta__chip--nz-red  { border-color: rgba(200,16,46,0.55); background: rgba(200,16,46,0.14); color: #fca5a5; }
html.igc-light .rp-pdf-cta__chip--nz-navy { background: #eff6ff; border-color: #93c5fd; color: #1e3a8a; }
html.igc-light .rp-pdf-cta__chip--nz-red  { background: #fef2f2; border-color: #fca5a5; color: #991b1b; }

/* ─────────────────────────────────────────────────────────────────────
   .rp-cm-us-big-4 — US Big Four palette
   New Jersey Liberty navy + Pennsylvania forest green + Michigan maize +
   Ohio scarlet. Inherits the existing rp-comparison four-side variable
   system; defines fresh --rp-side-a/b/c/d* values for the US states.
   ───────────────────────────────────────────────────────────────────── */
.rp-profile.rp-comparison.rp-cm-us-big-4{
  --rp-side-a:      #002868;
  --rp-side-a-glow: #3a6bbf;
  --rp-side-a-soft: rgba(0,40,104,.12);
  --rp-side-a-ring: rgba(0,40,104,.34);
  --rp-side-a-tint: rgba(0,40,104,.06);
  --rp-side-b:      #006B3F;
  --rp-side-b-glow: #2fa66e;
  --rp-side-b-soft: rgba(0,107,63,.12);
  --rp-side-b-ring: rgba(0,107,63,.34);
  --rp-side-b-tint: rgba(0,107,63,.06);
  --rp-side-c:      #FFCB05;
  --rp-side-c-glow: #f5b800;
  --rp-side-c-soft: rgba(255,203,5,.16);
  --rp-side-c-ring: rgba(255,203,5,.4);
  --rp-side-c-tint: rgba(255,203,5,.08);
  --rp-side-d:      #BB0000;
  --rp-side-d-glow: #d83037;
  --rp-side-d-soft: rgba(187,0,0,.12);
  --rp-side-d-ring: rgba(187,0,0,.34);
  --rp-side-d-tint: rgba(187,0,0,.06);
}
.rp-cm-us-big-4 .rp-eyebrow{
  background:linear-gradient(90deg,var(--rp-side-a-soft),var(--rp-side-b-soft),var(--rp-side-c-soft),var(--rp-side-d-soft));
  border-color:var(--rp-side-a-ring);color:var(--igc-text);
}
.rp-cm-us-big-4 .rp-eyebrow__dot{
  background:linear-gradient(90deg,var(--rp-side-a),var(--rp-side-b),var(--rp-side-c),var(--rp-side-d));
  box-shadow:0 0 10px var(--rp-side-a-glow);
}
.rp-cm-us-big-4 .rp-stat__dot--a{background:var(--rp-side-a);box-shadow:0 0 6px var(--rp-side-a)}
.rp-cm-us-big-4 .rp-stat__dot--b{background:var(--rp-side-b);box-shadow:0 0 6px var(--rp-side-b)}
.rp-cm-us-big-4 .rp-stat__dot--c{background:var(--rp-side-c);box-shadow:0 0 6px var(--rp-side-c)}
.rp-cm-us-big-4 .rp-stat__dot--d{background:var(--rp-side-d);box-shadow:0 0 6px var(--rp-side-d)}
.rp-cm-us-big-4 .rp-dual-card--a{--side:var(--rp-side-a);--side-glow:var(--rp-side-a-glow);--side-soft:var(--rp-side-a-soft);--side-ring:var(--rp-side-a-ring);}
.rp-cm-us-big-4 .rp-dual-card--b{--side:var(--rp-side-b);--side-glow:var(--rp-side-b-glow);--side-soft:var(--rp-side-b-soft);--side-ring:var(--rp-side-b-ring);}
.rp-cm-us-big-4 .rp-dual-card--c{--side:var(--rp-side-c);--side-glow:var(--rp-side-c-glow);--side-soft:var(--rp-side-c-soft);--side-ring:var(--rp-side-c-ring);}
.rp-cm-us-big-4 .rp-dual-card--d{--side:var(--rp-side-d);--side-glow:var(--rp-side-d-glow);--side-soft:var(--rp-side-d-soft);--side-ring:var(--rp-side-d-ring);}
.rp-cm-us-big-4 .rp-dual-card__cta{
  background:transparent;
  border-color:var(--side,var(--rp-ring));
  color:var(--side-glow,var(--rp-glow));
  padding:.4rem .85rem;font-size:.78rem;border-radius:6px;letter-spacing:.01em;
}
.rp-cm-us-big-4 .rp-dual-card__cta:hover{
  background:var(--side,var(--rp-primary));color:#06101f;border-color:var(--side,var(--rp-primary));
}
.rp-cm-us-big-4 .rp-countrygrid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0;
}
@media (max-width:1200px){.rp-cm-us-big-4 .rp-countrygrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.rp-cm-us-big-4 .rp-countrygrid{grid-template-columns:1fr}}
.rp-cm-us-big-4 .rp-countrycard{
  position:relative;background:var(--igc-bg-elev);
  border:1px solid var(--side-ring,var(--igc-border));border-radius:var(--igc-radius-md);
  padding:1.1rem 1.2rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;
}
.rp-cm-us-big-4 .rp-countrycard::before{
  content:"";position:absolute;top:0;left:1.2rem;right:1.2rem;height:2px;
  background:var(--side,var(--rp-primary));border-radius:0 0 2px 2px;
}
.rp-cm-us-big-4 .rp-countrycard--a{--side:var(--rp-side-a);--side-glow:var(--rp-side-a-glow);--side-soft:var(--rp-side-a-soft);--side-ring:var(--rp-side-a-ring);}
.rp-cm-us-big-4 .rp-countrycard--b{--side:var(--rp-side-b);--side-glow:var(--rp-side-b-glow);--side-soft:var(--rp-side-b-soft);--side-ring:var(--rp-side-b-ring);}
.rp-cm-us-big-4 .rp-countrycard--c{--side:var(--rp-side-c);--side-glow:var(--rp-side-c-glow);--side-soft:var(--rp-side-c-soft);--side-ring:var(--rp-side-c-ring);}
.rp-cm-us-big-4 .rp-countrycard--d{--side:var(--rp-side-d);--side-glow:var(--rp-side-d-glow);--side-soft:var(--rp-side-d-soft);--side-ring:var(--rp-side-d-ring);}
.rp-cm-us-big-4 .rp-stacked-card--a{border-top:3px solid var(--rp-side-a)}
.rp-cm-us-big-4 .rp-stacked-card--b{border-top:3px solid var(--rp-side-b)}
.rp-cm-us-big-4 .rp-stacked-card--c{border-top:3px solid var(--rp-side-c)}
.rp-cm-us-big-4 .rp-stacked-card--d{border-top:3px solid var(--rp-side-d)}
.rp-cm-us-big-4 .rp-stacked-card--a .rp-stacked-card__eyebrow{color:var(--rp-side-a-glow)}
.rp-cm-us-big-4 .rp-stacked-card--b .rp-stacked-card__eyebrow{color:var(--rp-side-b-glow)}
.rp-cm-us-big-4 .rp-stacked-card--c .rp-stacked-card__eyebrow{color:var(--rp-side-c-glow)}
.rp-cm-us-big-4 .rp-stacked-card--d .rp-stacked-card__eyebrow{color:var(--rp-side-d-glow)}

/* Authorities citation list - used on the US Big 4 cornerstone Resources block */
.rp-authorities{
  list-style: decimal outside; margin: 0.6rem 0 1.4rem 1.4rem; padding: 0;
}
.rp-authorities li{
  padding: .55rem 0; line-height: 1.5; font-size: .92rem;
  border-top: 1px solid var(--igc-border-dim, rgba(255,255,255,0.06));
}
.rp-authorities li:first-child{ border-top: 0; }
.rp-authorities li strong{ color: var(--igc-text, #fff); }
.rp-authorities li a{ color: var(--rp-glow, #5b8def); text-decoration: none; border-bottom: 1px dashed currentColor; }
.rp-authorities li a:hover{ color: var(--igc-text, #fff); border-bottom-style: solid; }

/* ─────────────────────────────────────────────────────────────────────
   .rp-pdf-cta--us-big-4 — US Big 4 hero CTA variant
   4-way 25/25/25/25 top strip (NJ navy + PA green + MI maize + OH scarlet)
   plus per-state chip classes (dark + light mode).
   ───────────────────────────────────────────────────────────────────── */
.rp-pdf-cta--us-big-4::before {
  background: linear-gradient(
    to right,
    #002868 0%,  #002868 25%,
    #006B3F 25%, #006B3F 50%,
    #FFCB05 50%, #FFCB05 75%,
    #BB0000 75%, #BB0000 100%
  ) !important;
}
.rp-pdf-cta--us-big-4 .rp-pdf-cta__icon {
  background: linear-gradient(135deg, rgba(0,40,104,.22), rgba(0,107,63,.22) 50%, rgba(255,203,5,.22) 75%, rgba(187,0,0,.22));
}
.rp-pdf-cta__chip--nj { border-color: rgba(0,40,104,.55);  background: rgba(0,40,104,.18);  color: #98b5ff; }
.rp-pdf-cta__chip--pa { border-color: rgba(0,107,63,.55);  background: rgba(0,107,63,.18);  color: #6fdca0; }
.rp-pdf-cta__chip--mi { border-color: rgba(255,203,5,.55); background: rgba(255,203,5,.18); color: #ffdf6b; }
.rp-pdf-cta__chip--oh { border-color: rgba(187,0,0,.55);   background: rgba(187,0,0,.18);   color: #ff7a7a; }
html.igc-light .rp-pdf-cta__chip--nj { color: #002868; background: rgba(0,40,104,.10); }
html.igc-light .rp-pdf-cta__chip--pa { color: #006B3F; background: rgba(0,107,63,.10); }
html.igc-light .rp-pdf-cta__chip--mi { color: #806400; background: rgba(255,203,5,.16); border-color: rgba(255,203,5,.65); }
html.igc-light .rp-pdf-cta__chip--oh { color: #BB0000; background: rgba(187,0,0,.10); }
