
:root{
  --ink: #10182B;
  --ink-2: #1B2540;
  --ink-3: #232F52;
  --parchment: #F6F1E7;
  --parchment-2: #EFE7D8;
  --gold: #B58642;
  --gold-light: #D9B476;
  --teal: #3C6E71;
  --terracotta: #B5502E;
  --text: #1F2430;
  --muted: #6B6458;
  --muted-light: #8A8272;
  --line: rgba(31,36,48,0.12);
  --line-dark: rgba(246,241,231,0.14);

  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;

  --radius: 10px;
  --radius-lg: 18px;
  --shadow-soft: 0 20px 60px -30px rgba(16,24,43,0.35);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}

body{
  margin:0;
  background:var(--parchment);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-0.01em;
  margin:0 0 0.5em;
  color:var(--ink);
}

p{ margin:0 0 1em; color:var(--muted); }
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; max-width:100%; }
button{ font:inherit; cursor:pointer; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
.wrap--narrow{ max-width:760px; }

.eyebrow{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 0.9em;
}
.eyebrow--center{ text-align:center; }

.section-title{ font-size:clamp(1.7rem, 1.4rem + 1.2vw, 2.5rem); max-width:20ch; }
.section-title--center{ margin-left:auto; margin-right:auto; text-align:center; max-width:26ch; }
.section-lede{ max-width:56ch; font-size:1.05rem; }
.section-lede--center{ margin-left:auto; margin-right:auto; text-align:center; }

:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }


.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 26px;
  border-radius:999px;
  font-weight:600;
  font-size:0.96rem;
  border:1px solid transparent;
  transition:transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  white-space:nowrap;
}
.btn--primary{ background:var(--ink); color:var(--parchment); }
.btn--primary:hover{ background:var(--gold); color:var(--ink); transform:translateY(-1px); }
.btn--ghost{ background:transparent; color:var(--muted); border-color:var(--line); }
.btn--ghost:hover{ border-color:var(--terracotta); color:var(--terracotta); }
.btn--text{ padding:14px 4px; color:var(--ink); border-bottom:1px solid var(--gold); border-radius:0; }
.btn--text:hover{ color:var(--gold); }
.btn--outline-light{ border-color:rgba(246,241,231,0.5); color:var(--parchment); }
.btn--outline-light:hover{ background:var(--parchment); color:var(--terracotta); }


.age-gate{
  position:fixed; inset:0; z-index:999;
  background:rgba(9,13,24,0.94);
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.age-gate[hidden]{ display:none; }
.age-gate__panel{
  max-width:480px;
  width:100%;
  background:var(--ink-2);
  border:1px solid rgba(213,171,110,0.3);
  border-radius:var(--radius-lg);
  padding:40px 36px;
  text-align:center;
  color:var(--parchment);
}
.age-gate__mark{ width:44px; margin:0 auto 18px; color:var(--gold); }
.age-gate__eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); margin-bottom:10px; }
.age-gate__panel h2{ color:var(--parchment); font-size:1.5rem; margin-bottom:14px; }
.age-gate__text{ color:rgba(246,241,231,0.72); font-size:0.95rem; }
.age-gate__actions{ display:flex; flex-direction:column; gap:12px; margin:22px 0 16px; }
.age-gate__foot{ font-size:0.78rem; color:rgba(246,241,231,0.45); margin:0; }


.site-header{
  background:rgba(246,241,231,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-header__inner{ display:flex; align-items:center; justify-content:space-between; height:76px; }

.logo{ display:flex; align-items:center; gap:10px; color:var(--ink); }
.logo__mark{ width:30px; color:var(--gold); }
.logo__word{ font-family:var(--font-display); font-weight:600; font-size:1.15rem; letter-spacing:-0.01em; }
.logo__dash{ color:var(--gold); }

.nav__list{ list-style:none; display:flex; gap:34px; margin:0; padding:0; }
.nav__list a{ font-size:0.95rem; font-weight:500; color:var(--text); position:relative; padding:4px 0; }
.nav__list a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--gold);
  transform:scaleX(0); transform-origin:left; transition:transform 0.2s ease;
}
.nav__list a:hover::after{ transform:scaleX(1); }

.nav__toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:none; border:none; padding:0;
}
.nav__toggle span{ display:block; height:2px; background:var(--ink); border-radius:2px; }


.hero{ padding:76px 0 88px; overflow:hidden; }
.hero__inner{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; }
.hero h1{ font-size:clamp(2.1rem, 1.6rem + 2.2vw, 3.3rem); line-height:1.1; max-width:14ch; }
.hero__lede{ font-size:1.08rem; max-width:48ch; }
.hero__actions{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin:30px 0 40px; }

.hero__stats{ list-style:none; display:flex; gap:36px; padding:24px 0 0; margin:0; border-top:1px solid var(--line); }
.hero__stats .num{ display:block; font-family:var(--font-display); font-size:1.6rem; color:var(--ink); font-weight:600; }
.hero__stats .num--text{ font-size:1.15rem; letter-spacing:0.01em; }
.hero__stats .lbl{ display:block; font-size:0.8rem; color:var(--muted); margin-top:2px; }

.hero__figure{ position:relative; display:flex; flex-direction:column; align-items:center; }
.compass{ width:100%; max-width:400px; filter:drop-shadow(0 25px 45px rgba(16,24,43,0.28)); }
#needle{ transform-origin:240px 240px; animation:needle-drift 14s ease-in-out infinite; }
@keyframes needle-drift{
  0%{ transform:rotate(-6deg); }
  50%{ transform:rotate(9deg); }
  100%{ transform:rotate(-6deg); }
}
.hero__figure-caption{ font-family:var(--font-mono); font-size:0.8rem; letter-spacing:0.06em; color:var(--muted); margin-top:18px; text-transform:uppercase; }


.platforms{ padding:96px 0; background:var(--parchment-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.card-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
  margin-top:48px;
}
.card-grid > .card{
  flex:0 1 calc((100% - 72px) / 4);
  min-width:220px;
  max-width:calc((100% - 72px) / 4);
}

.card{
  background:var(--parchment);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px;
  display:flex; flex-direction:column;
  transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-soft); border-color:rgba(181,134,66,0.4); }

.card__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.card__logo{ height:40px; width:auto; max-width:140px; object-fit:contain; object-position:left center; display:block; }
.rating{ font-family:var(--font-mono); white-space:nowrap; }
.rating__num{ color:var(--ink); font-weight:600; font-size:1.05rem; }
.rating__max{ color:var(--muted-light); font-size:0.85rem; }

.card__tag{
  font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--teal); margin:10px 0 14px;
}
.card__desc{ font-size:0.92rem; flex-grow:1; }

.card__meta{ border-top:1px dashed var(--line); padding-top:14px; margin-bottom:20px; }
.card__meta-row{ display:flex; justify-content:space-between; gap:12px; font-size:0.84rem; padding:4px 0; }
.card__meta-row span{ color:var(--muted-light); }
.card__meta-row strong{ color:var(--text); font-weight:500; text-align:right; }

.card__actions{ display:flex; flex-direction:column; gap:10px; margin-top:auto; }
.card__cta{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 18px; border-radius:999px;
  background:var(--ink); color:var(--parchment);
  font-weight:600; font-size:0.9rem;
  transition:background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.card__cta:hover{ background:var(--gold); color:var(--ink); }
.card__cta--detail{
  background:transparent; color:var(--ink);
  border:1px solid var(--line);
}
.card__cta--detail:hover{
  background:var(--parchment-2); color:var(--ink);
  border-color:var(--gold);
}


.breadcrumb{
  padding:20px 0 0;
  font-family:var(--font-mono);
  font-size:0.78rem;
  color:var(--muted-light);
}
.breadcrumb a{ color:var(--muted); transition:color 0.18s ease; }
.breadcrumb a:hover{ color:var(--gold); }
.breadcrumb span{ margin:0 8px; opacity:0.5; }

.platform-hero{
  padding:32px 0 56px;
  border-bottom:1px solid var(--line);
}
.platform-hero__inner{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:32px 40px;
  align-items:start;
}
.platform-hero__logo{
  width:112px; height:112px;
  display:flex; align-items:center; justify-content:center;
  background:var(--parchment-2);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:16px;
}
.platform-hero__logo img{ max-height:72px; width:auto; object-fit:contain; }
.platform-hero__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; margin-top:14px; }
.platform-hero__tag{
  font-family:var(--font-mono); font-size:0.75rem; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--teal);
}
.platform-hero h1{ font-size:clamp(1.8rem, 1.4rem + 1.5vw, 2.6rem); max-width:22ch; margin-bottom:0.35em; }
.platform-hero__lede{ font-size:1.05rem; max-width:58ch; margin:0; }

.platform-disclaimer{
  margin:32px 0 0;
  padding:18px 22px;
  background:var(--parchment-2);
  border-left:3px solid var(--gold);
  border-radius:0 var(--radius) var(--radius) 0;
  font-size:0.9rem;
}
.platform-disclaimer p{ margin:0; color:var(--muted); }

.platform-layout{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:48px;
  padding:56px 0 96px;
  align-items:start;
}
.platform-main > section{ margin-bottom:48px; }
.platform-main > section:last-child{ margin-bottom:0; }
.platform-section__title{
  font-size:1.35rem;
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.platform-section p{ font-size:0.96rem; }
.platform-section ul{
  margin:0 0 1em; padding-left:1.2em;
  color:var(--muted); font-size:0.94rem;
}
.platform-section li{ margin-bottom:0.45em; }
.platform-section li strong{ color:var(--text); }

.pros-cons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:20px;
}
.pros-cons__box{
  padding:22px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:var(--parchment);
}
.pros-cons__box--pro{ border-top:3px solid var(--teal); }
.pros-cons__box--con{ border-top:3px solid var(--terracotta); }
.pros-cons__box h3{ font-size:0.95rem; margin:0 0 12px; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:0.06em; }
.pros-cons__box ul{ margin:0; padding-left:1.1em; font-size:0.9rem; }

.score-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  gap:14px;
  margin-top:20px;
}
.score-item{
  padding:16px 18px;
  background:var(--parchment-2);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.score-item__label{ font-size:0.78rem; color:var(--muted-light); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:8px; }
.score-item__bar{
  height:6px; background:var(--line); border-radius:999px; overflow:hidden; margin-bottom:8px;
}
.score-item__fill{ height:100%; background:linear-gradient(90deg, var(--gold), var(--gold-light)); border-radius:999px; }
.score-item__val{ font-family:var(--font-display); font-weight:600; color:var(--ink); font-size:1.1rem; }

.info-table{
  width:100%; border-collapse:collapse; font-size:0.9rem; margin-top:16px;
}
.info-table th,.info-table td{
  padding:12px 14px; border-bottom:1px solid var(--line); text-align:left;
}
.info-table th{ width:38%; color:var(--muted-light); font-weight:500; font-family:var(--font-mono); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.04em; }
.info-table td{ color:var(--text); }

.platform-sidebar{
  position:sticky; top:96px;
  display:flex; flex-direction:column; gap:20px;
}
.sidebar-card{
  padding:24px;
  background:var(--parchment-2);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
}
.sidebar-card h3{ font-size:1rem; margin:0 0 14px; }
.sidebar-card p{ font-size:0.88rem; margin:0 0 16px; }
.sidebar-card .btn{ width:100%; }
.sidebar-card__note{ font-size:0.78rem; color:var(--muted-light); margin:12px 0 0; text-align:center; }

.verdict-box{
  padding:28px;
  background:var(--ink);
  color:var(--parchment);
  border-radius:var(--radius-lg);
}
.verdict-box h3{ color:var(--parchment); font-size:1.2rem; margin-bottom:12px; }
.verdict-box p{ color:rgba(246,241,231,0.82); font-size:0.94rem; margin:0; }

.platform-related{
  padding:64px 0;
  background:var(--parchment-2);
  border-top:1px solid var(--line);
}
.platform-related__grid{
  display:flex; flex-wrap:wrap; justify-content:center; gap:14px;
  margin-top:28px;
}
.platform-related__grid a{
  padding:10px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:0.88rem; font-weight:500;
  background:var(--parchment);
  transition:border-color 0.18s ease, color 0.18s ease;
}
.platform-related__grid a:hover{ border-color:var(--gold); color:var(--gold); }
.platform-related__grid a.is-current{ background:var(--ink); color:var(--parchment); border-color:var(--ink); pointer-events:none; }

@media (max-width: 980px){
  .platform-hero__inner{ grid-template-columns:1fr; }
  .platform-hero__logo{ width:96px; height:96px; }
  .pros-cons{ grid-template-columns:1fr; }
}


.why{ padding:96px 0; }
.why__inner{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:48px; }
.why__side .section-lede{ max-width:38ch; }
.why__grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px 32px; }
.why__item h3{ font-size:1.1rem; margin:14px 0 6px; }
.why__item p{ font-size:0.92rem; margin:0; }
.why__icon{ display:inline-flex; width:40px; height:40px; color:var(--gold); }


.ledger{ padding:96px 0; background:var(--ink); color:var(--parchment); }
.ledger .section-title,.ledger .eyebrow{ color:var(--parchment); }
.ledger .eyebrow{ color:var(--gold-light); }
.ledger__table-wrap{ margin-top:44px; overflow-x:auto; border-radius:var(--radius-lg); border:1px solid var(--line-dark); }
.ledger__table{ width:100%; border-collapse:collapse; min-width:680px; font-size:0.92rem; }
.ledger__table thead th{
  font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--gold-light); text-align:left; padding:16px 20px; background:var(--ink-3);
}
.ledger__table tbody th,.ledger__table tbody td{ padding:16px 20px; border-top:1px solid var(--line-dark); }
.ledger__table tbody th{ text-align:left; font-family:var(--font-display); font-weight:600; color:var(--parchment); }
.ledger__table tbody td{ color:rgba(246,241,231,0.78); font-family:var(--font-mono); font-size:0.85rem; }
.ledger__table tbody tr:hover{ background:rgba(213,171,110,0.06); }


.reviews{ padding:96px 0; }
.reviews__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:24px; margin-top:48px; }
.review{ background:var(--parchment-2); border-radius:var(--radius-lg); padding:26px; border:1px solid var(--line); }
.review__head{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.avatar{ width:42px; height:42px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.review__name{ margin:0; font-weight:600; color:var(--ink); font-size:0.94rem; }
.review__date{ margin:0; font-size:0.78rem; color:var(--muted-light); }
.review__text{ font-size:0.94rem; font-style:italic; margin:0; }


.faq{ padding:96px 0; background:var(--parchment-2); }
.accordion{ margin-top:44px; border-top:1px solid var(--line); }
.accordion__item{ border-bottom:1px solid var(--line); }
.accordion__trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  background:none; border:none; text-align:left;
  padding:22px 4px; font-family:var(--font-display); font-size:1.05rem; color:var(--ink);
}
.accordion__icon{ position:relative; width:18px; height:18px; flex-shrink:0; }
.accordion__icon::before,.accordion__icon::after{
  content:""; position:absolute; background:var(--gold); border-radius:2px;
}
.accordion__icon::before{ width:100%; height:2px; top:8px; left:0; }
.accordion__icon::after{ width:2px; height:100%; top:0; left:8px; transition:transform 0.25s ease; }
.accordion__trigger[aria-expanded="true"] .accordion__icon::after{ transform:rotate(90deg); }

.accordion__panel{ max-height:0; overflow:hidden; transition:max-height 0.3s ease; }
.accordion__panel p{ padding:0 4px 22px; font-size:0.95rem; max-width:64ch; margin:0; }


.regulators{ padding:96px 0; }
.cp-reg-strip{ margin-top:44px; }
.cp-reg-strip__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:24px 32px;
  padding:32px 28px;
  background:var(--parchment-2);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
}
.cp-reg-tile{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:var(--radius);
  transition:opacity 0.18s ease, transform 0.18s ease;
  opacity:0.88;
}
.cp-reg-tile:hover{
  opacity:1;
  transform:translateY(-2px);
}
.cp-reg-tile img{
  display:block;
  width:auto;
  max-height:52px;
  object-fit:contain;
}
.cp-reg-tile img[alt="Gordon Moody"],
.cp-reg-tile img[alt="GambleAware"]{
  max-height:44px;
}
.cp-reg-tile img[alt="ANJ — Autorité Nationale des Jeux"]{
  max-height:40px;
}


.responsible{ background:var(--terracotta); color:#FBEEE7; padding:88px 0; text-align:center; }
.responsible__inner{ max-width:640px; margin:0 auto; }
.responsible__mark{
  display:block;
  width:40px;
  height:40px;
  margin:0 auto 20px;
  color:#FBEEE7;
}
.responsible__mark svg{
  width:100%;
  height:100%;
}
.responsible h2{ color:#FFF7F0; font-size:clamp(1.6rem, 1.3rem + 1vw, 2.2rem); }
.responsible p{ color:rgba(255,247,240,0.88); font-size:1rem; }
.responsible__actions{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:26px; }


.site-footer{ background:var(--ink); color:rgba(246,241,231,0.7); padding:64px 0 32px; }
.site-footer__top{ display:grid; grid-template-columns:1.2fr 1.6fr 1fr; gap:32px; align-items:start; }
.site-footer__brand{ display:flex; align-items:center; gap:10px; color:var(--parchment); }
.site-footer__brand .logo__word{ font-size:1.1rem; }
.site-footer__nav{ display:flex; flex-wrap:wrap; gap:20px 26px; }
.site-footer__nav a{ font-size:0.9rem; color:rgba(246,241,231,0.75); }
.site-footer__nav a:hover{ color:var(--gold-light); }
.site-footer__contact a{ color:var(--gold-light); font-size:0.9rem; }
.site-footer__contact .eyebrow{ margin-bottom:8px; }

.site-footer__rule{ border:none; border-top:1px solid var(--line-dark); margin:40px 0 24px; }
.site-footer__legal{ font-size:0.84rem; color:rgba(246,241,231,0.85); margin-bottom:8px; }
.site-footer__copy{ font-size:0.78rem; color:rgba(246,241,231,0.45); margin:0; }

.site-footer__legal-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:0 0 28px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line-dark);
}
.site-footer__legal-nav a{
  font-size:0.82rem;
  color:rgba(246,241,231,0.58);
  transition:color 0.18s ease;
}
.site-footer__legal-nav a:hover{ color:var(--gold-light); }


@media (max-width: 980px){
  .hero__inner{ grid-template-columns:1fr; }
  .hero__figure{ display:none; }
  .compass{ max-width:280px; }
  .why__inner{ grid-template-columns:1fr; }
  .site-footer__top{ grid-template-columns:1fr; gap:28px; }
}

@media (max-width: 720px){
  .nav__list{
    position:absolute; top:76px; left:0; right:0;
    background:var(--parchment); border-bottom:1px solid var(--line);
    flex-direction:column; gap:0; padding:8px 28px 20px;
    transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:transform 0.2s ease, opacity 0.2s ease;
  }
  .nav__list.is-open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav__list li{ border-top:1px solid var(--line); }
  .nav__list a{ display:block; padding:14px 0; }
  .nav__toggle{ display:flex; }
  .hero{ padding:48px 0 64px; }
  .hero__stats{ flex-wrap:wrap; gap:24px; }
  .platforms,.why,.ledger,.reviews,.faq,.methodology,.regulators{ padding:64px 0; }
  .card-grid > .card{ flex:1 1 100%; max-width:none; min-width:0; }
  .why__grid{ grid-template-columns:1fr; }
  .platform-layout{ grid-template-columns:1fr; }
  .platform-sidebar{ position:static; }
}

.cp-top-stack{
  position:sticky;
  top:0;
  z-index:100;
}

.cp-anj-bar{
  background:#F5D547;
  color:#1a1a1a;
  border-bottom:1px solid rgba(0,0,0,0.12);
  font-size:0.76rem;
  line-height:1.45;
}
.cp-anj-bar__inner{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:36px;
  padding:6px 0;
}
.cp-anj-bar__age{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:22px;
  padding:0 6px;
  border:1.5px solid #1a1a1a;
  border-radius:4px;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.04em;
}
.cp-anj-bar__text{
  margin:0;
  color:#1a1a1a;
  font-size:0.76rem;
}
.cp-anj-bar__text a{
  color:#1a1a1a;
  text-decoration:underline;
  text-underline-offset:2px;
}

.methodology{
  padding:88px 0;
  background:var(--parchment-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.methodology__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:36px;
}
.methodology__card{
  background:var(--parchment);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px;
}
.methodology__card h3{
  font-size:1.05rem;
  margin-bottom:10px;
}
.methodology__card p{
  font-size:0.92rem;
  margin:0;
}
.methodology__links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 20px;
  margin-top:28px;
}
.methodology__links a{
  font-size:0.9rem;
  color:var(--ink-2);
  text-decoration:underline;
  text-underline-offset:3px;
}
.methodology__updated{
  margin-top:20px;
  font-family:var(--font-mono);
  font-size:0.78rem;
  color:var(--muted-light);
}

.cp-cookie-banner{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:1100;
  background:var(--ink);
  color:rgba(246,241,231,0.88);
  border-top:1px solid var(--line-dark);
  padding:16px 0;
  transform:translateY(100%);
  transition:transform 0.25s ease;
}
.cp-cookie-banner.is-visible{ transform:translateY(0); }
.cp-cookie-banner__inner{
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.cp-cookie-banner__text{
  margin:0;
  font-size:0.86rem;
  color:rgba(246,241,231,0.75);
  max-width:62ch;
}
.cp-cookie-banner__text a{ color:var(--gold-light); text-decoration:underline; }
.cp-cookie-banner__actions{ display:flex; gap:10px; flex-shrink:0; }

@media (max-width: 900px){
  .methodology__grid{ grid-template-columns:1fr; }
  .cp-anj-bar__inner{ align-items:flex-start; padding:8px 0; }
}
