/* =========================================================================
   Secretbet RDC — guide d'information indépendant
   Feuille de style principale
   ========================================================================= */

/* ============ FONTS (auto-hébergées, sous-ensemble latin) ============ */
@font-face {
  font-family: 'Anton';
  src: url('/assets/fonts/anton-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Public Sans';
  src: url('/assets/fonts/publicsans-var.woff2') format('woff2-variations'),
       url('/assets/fonts/publicsans-var.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('/assets/fonts/cormorant-var.woff2') format('woff2-variations'),
       url('/assets/fonts/cormorant-var.woff2') format('woff2');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('/assets/fonts/cormorant-italic-var.woff2') format('woff2-variations'),
       url('/assets/fonts/cormorant-italic-var.woff2') format('woff2');
  font-weight: 300 700;
  font-style: italic;
  font-display: swap;
}

:root {
  /* Palette RDC — bleu du drapeau + or Secretbet + rouge du drapeau */
  --ink:        #062047;
  --ink-900:    #03132C;
  --ink-800:    #0A2C5C;
  --ink-700:    #0F3873;
  --ink-600:    #1E4889;
  --ink-500:    #335FA2;
  --ink-400:    #6A89BF;
  --ink-300:    #9CB3D6;
  --ink-200:    #C8D6E8;

  --paper:      #F7F7F4;
  --paper-100:  #ECEAE3;
  --paper-200:  #DDDAD0;
  --paper-300:  #C2BDAE;

  --blue:       #007FFF;
  --blue-600:   #0061CC;
  --blue-100:   #CCE5FF;

  --gold:       #F5B82E;
  --gold-600:   #E0A622;
  --gold-100:   #FBEABE;

  --red:        #CE1021;
  --red-600:    #A20D1A;

  --font-display: 'Anton', 'Arial Narrow', Impact, sans-serif;
  --font-sans:    'Public Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-serif:   'Cormorant Garamond', Georgia, 'Times New Roman', serif;

  --container: 1280px;
  --gutter: 32px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.55;
  overflow-x: hidden;
}
::selection { background: var(--blue); color: #fff; }
*:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
a { color: inherit; }
img { max-width: 100%; }

.wrap { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }

/* Lien d'évitement (accessibilité clavier) */
.skip {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--ink); color: var(--paper);
  padding: 12px 18px; font-size: 13px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em; text-decoration: none;
}
.skip:focus { left: 8px; top: 8px; }

.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;
}

/* ============ REPÈRE DE CHAPITRE ============ */
.chapter { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.chapter .star { color: var(--gold); font-size: 22px; line-height: 1; flex: none; }
.chapter .label {
  font-family: var(--font-serif); font-style: italic; font-weight: 600;
  font-size: 17px; color: var(--ink); letter-spacing: 0.02em; white-space: nowrap;
}
.chapter .label .dim { color: var(--ink-500); }
.chapter .stripe {
  flex: 1; height: 4px;
  background: linear-gradient(90deg,
    var(--blue) 0%, var(--blue) 50%,
    var(--gold) 50%, var(--gold) 75%,
    var(--red) 75%, var(--red) 100%);
}
.chapter.on-dark .label { color: var(--paper); }
.chapter.on-dark .label .dim { color: var(--ink-200); }

/* ============ BANDEAU HAUT ============ */
.topstrip {
  background: var(--ink-900); color: var(--ink-200);
  font-family: var(--font-sans); font-size: 12.5px; font-weight: 500;
}
.topstrip .wrap {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 32px; gap: 16px;
}
.topstrip .age { display: inline-flex; align-items: center; gap: 10px; color: var(--paper); }
.topstrip .age .b {
  background: var(--red); color: #fff;
  font-weight: 700; padding: 2px 6px; font-size: 11px;
}
.topstrip .lic { color: var(--ink-300); }

/* ============ EN-TÊTE ============ */
header.site {
  background: rgba(247, 247, 244, 0.95);
  border-bottom: 2px solid var(--ink);
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
header.site .wrap {
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; height: 76px; gap: 32px;
}
.brand { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--ink); }
.brand img { height: 28px; width: auto; }
.brand .tag {
  font-family: var(--font-serif); font-style: italic;
  font-size: 14px; font-weight: 600; color: var(--blue);
  border-left: 1px solid var(--paper-300); padding-left: 14px;
}
nav.primary { display: flex; gap: 28px; justify-self: center; }
nav.primary a {
  color: var(--ink); text-decoration: none;
  font-family: var(--font-sans); font-size: 13.5px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
  padding: 4px 0; border-bottom: 2px solid transparent;
}
nav.primary a:hover { color: var(--blue); }
nav.primary a.active,
nav.primary a[aria-current="page"] { border-bottom-color: var(--red); color: var(--ink); }
.header-end { display: flex; align-items: center; gap: 16px; justify-self: end; }

/* ============ BOUTONS ============ */
.btn-blue {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--blue); color: #fff;
  padding: 12px 22px; min-height: 44px;
  font-family: var(--font-sans); font-weight: 700; font-size: 13.5px;
  text-decoration: none; letter-spacing: 0.08em; text-transform: uppercase;
  border: 0; transition: background 120ms ease-out; cursor: pointer;
}
.btn-blue:hover { background: var(--blue-600); }
.btn-blue:active { transform: translateY(1px); }
.btn-gold {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--gold); color: var(--ink);
  padding: 12px 22px; min-height: 44px;
  font-family: var(--font-sans); font-weight: 700; font-size: 13.5px;
  text-decoration: none; letter-spacing: 0.08em; text-transform: uppercase;
  border: 0; transition: background 120ms ease-out; cursor: pointer;
}
.btn-gold:hover { background: var(--gold-600); }
.btn-outline {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: transparent; border: 2px solid var(--ink); color: var(--ink);
  padding: 10px 20px; min-height: 44px;
  font-family: var(--font-sans); font-weight: 700; font-size: 13px;
  text-decoration: none; letter-spacing: 0.08em; text-transform: uppercase;
  transition: background 120ms ease-out, color 120ms ease-out;
}
.btn-outline:hover { background: var(--ink); color: var(--paper); }
.btn-outline.light { border-color: var(--paper); color: var(--paper); }
.btn-outline.light:hover { background: var(--paper); color: var(--ink); }

/* ============ HERO ============ */
.hero {
  background: var(--ink); color: var(--paper);
  overflow: hidden; position: relative; padding: 80px 0 0;
}
.hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'><g fill='none' stroke='%23007FFF' stroke-width='0.7' opacity='0.32'><path d='M0,10 L11,0 L22,10 L33,0 L44,10'/><path d='M0,22 L11,12 L22,22 L33,12 L44,22'/><path d='M0,34 L11,24 L22,34 L33,24 L44,34'/></g></svg>");
  background-repeat: repeat;
}
.hero::after {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: linear-gradient(90deg,
    var(--blue) 0%, var(--blue) 40%,
    var(--gold) 40%, var(--gold) 60%,
    var(--red) 60%, var(--red) 100%);
  z-index: 2;
}
.hero .africa-bg {
  position: absolute; right: -160px; top: 40px;
  width: 720px; height: 880px;
  pointer-events: none; opacity: 0.10; z-index: 0;
}
.hero .africa-bg svg { width: 100%; height: 100%; }
.hero .wrap { position: relative; z-index: 1; }
.hero .chapter { margin-bottom: 48px; }
.hero h1 {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(38px, 7.4vw, 96px); line-height: 0.92;
  letter-spacing: -0.005em; text-transform: uppercase;
  margin: 0 0 20px; color: var(--paper);
}
.hero h1 .b { color: var(--gold); display: block; }
/* étoile décorative — générée en CSS pour ne pas polluer le texte du H1 */
.hero h1 .b::after {
  content: "\2605";
  color: var(--red); font-size: 0.18em; vertical-align: super;
  margin-left: 12px; display: inline-block; line-height: 1;
}
.hero .tag {
  font-family: var(--font-serif); font-style: italic; font-weight: 500;
  font-size: clamp(17px, 2.6vw, 26px); color: var(--blue-100);
  margin: 0 0 48px; letter-spacing: 0.01em; max-width: 760px;
}
.hero-stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 2px solid var(--paper);
  padding: 24px 0; margin: 0 0 40px; max-width: 880px;
}
.hero-stats > div { padding-right: 32px; }
.hero-stats > div + div { border-left: 1px solid var(--ink-600); padding-left: 32px; }
.hero-stats .n {
  font-family: var(--font-display); font-weight: 400;
  font-size: 64px; line-height: 1; color: var(--gold);
  display: block; margin-bottom: 4px;
}
.hero-stats .l {
  font-family: var(--font-sans); font-size: 12.5px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-200);
}
.hero-welcome {
  border-top: 2px solid var(--paper);
  border-bottom: 2px solid var(--paper);
  padding: 32px 0; margin-bottom: 80px;
  display: grid; grid-template-columns: 1fr auto;
  gap: 40px; align-items: center;
}
.hero-welcome .eyebrow {
  font-family: var(--font-serif); font-style: italic;
  color: var(--gold); font-size: 18px; font-weight: 500;
}
.hero-welcome .amount {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(30px, 5vw, 56px); line-height: 1;
  color: var(--paper); letter-spacing: -0.005em;
}
.hero-welcome .amount .pct { color: var(--blue); margin-right: 14px; }
.hero-welcome .amount .cap { color: var(--gold); }
.hero-welcome .meta {
  font-family: var(--font-sans); font-size: 13px; color: var(--ink-200);
  letter-spacing: 0.06em; text-transform: uppercase; margin-top: 6px;
}
.hero-welcome .btn-blue { padding: 16px 32px; font-size: 14.5px; }

/* ============ TRAME DE SECTION ============ */
section.block { padding: 96px 0; }
.head-row {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 56px; align-items: end; margin-bottom: 48px;
}
.head-row h2 {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(28px, 5vw, 62px); line-height: 0.98;
  letter-spacing: -0.005em; text-transform: uppercase; margin: 0;
}
.head-row .lede {
  font-size: 17px; line-height: 1.6; color: var(--ink-500);
  margin: 0; padding-bottom: 16px;
}

/* ============ ACCÈS / MIROIR ============ */
.access { background: var(--paper); border-bottom: 2px solid var(--ink); }
.access h2 .b { color: var(--blue); }
.access-grid { border-top: 2px solid var(--ink); }
.access-row {
  display: grid; grid-template-columns: 1fr auto;
  gap: 40px; align-items: center;
  padding: 26px 0; border-bottom: 1px solid var(--paper-300);
}
.access-row.featured {
  background: linear-gradient(90deg, rgba(0, 127, 255, 0.08) 0%, transparent 65%);
}
.access-row .a-name {
  font-family: var(--font-display); font-weight: 400;
  font-size: 34px; line-height: 1; text-transform: uppercase; color: var(--ink);
}
.access-row .a-desc {
  font-family: var(--font-serif); font-style: italic; font-weight: 500;
  font-size: 18px; color: var(--ink-500); margin-top: 8px; max-width: 620px;
}
.access-row .a-tag {
  font-family: var(--font-sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-400);
  margin-top: 12px;
}
.access-row .a-tag .star-tag { color: var(--gold-600); font-weight: 700; }
.access-row .a-cta { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.access-foot {
  padding-top: 24px; display: flex; align-items: center;
  justify-content: space-between; gap: 32px; flex-wrap: wrap;
}
.access-foot .note {
  font-family: var(--font-serif); font-style: italic;
  color: var(--ink-500); font-size: 15px; max-width: 760px;
}

/* ============ MARCHÉS ============ */
.today { background: var(--paper); border-bottom: 2px solid var(--ink); }
.today h2 .accent { color: var(--red); }
.markets { border-top: 2px solid var(--ink); }
.market-row {
  display: grid; grid-template-columns: 1fr auto;
  gap: 48px; align-items: center;
  padding: 24px 0; border-bottom: 1px solid var(--paper-300);
}
.market-row.featured {
  background: linear-gradient(90deg, rgba(245, 184, 46, 0.10) 0%, transparent 60%);
}
.market-row .mkt-name {
  font-family: var(--font-display); font-weight: 400;
  font-size: 34px; line-height: 1; text-transform: uppercase; color: var(--ink);
}
.market-row .mkt-desc {
  font-family: var(--font-serif); font-style: italic; font-weight: 500;
  font-size: 18px; color: var(--ink-500); margin-top: 8px; max-width: 560px;
}
.market-row .mkt-tag {
  font-family: var(--font-sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-400);
  margin-top: 12px;
}
.market-row .mkt-tag .star-tag { color: var(--gold-600); font-weight: 700; }
.market-row .picks { display: grid; grid-auto-flow: column; gap: 6px; justify-content: end; }
.market-row .pick {
  display: grid; gap: 3px; padding: 10px 16px;
  border: 2px solid var(--blue); background: var(--paper);
  text-align: center; min-width: 82px;
  transition: background 120ms, color 120ms;
}
.market-row .pick .lab {
  font-family: var(--font-sans); font-size: 10px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-400);
}
.market-row .pick .n {
  font-family: var(--font-display); font-weight: 400;
  font-size: 22px; line-height: 1; color: var(--ink);
}
.matches-foot {
  padding-top: 24px; display: flex; align-items: center;
  justify-content: space-between; gap: 32px; flex-wrap: wrap;
}
.matches-foot .note {
  font-family: var(--font-serif); font-style: italic;
  color: var(--ink-500); font-size: 15px; max-width: 720px;
}

/* ============ SPORTS ============ */
.sports { background: var(--ink); color: var(--paper); position: relative; }
.sports::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'><g fill='none' stroke='%23F5B82E' stroke-width='0.5' opacity='0.20'><path d='M0,10 L11,0 L22,10 L33,0 L44,10'/><path d='M0,22 L11,12 L22,22 L33,12 L44,22'/><path d='M0,34 L11,24 L22,34 L33,24 L44,34'/></g></svg>");
  background-repeat: repeat;
}
.sports .wrap { position: relative; z-index: 1; }
.sports .head-row h2 { color: var(--paper); }
.sports .head-row .lede { color: var(--ink-200); }
.sports-row { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.football {
  border-top: 4px solid var(--blue);
  border-bottom: 2px solid var(--paper);
  padding: 32px 0 36px;
}
.football .label {
  font-family: var(--font-serif); font-style: italic;
  color: var(--blue); font-size: 18px; font-weight: 600; margin-bottom: 6px;
}
.football h3 {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(64px, 14vw, 192px); line-height: 0.84;
  color: var(--paper); letter-spacing: -0.005em;
  text-transform: uppercase; margin: 0 0 16px;
}
.football .leagues { color: var(--ink-200); font-size: 15px; line-height: 1.7; margin: 0 0 24px; }
.football .count {
  font-family: var(--font-display); font-weight: 400;
  font-size: 56px; line-height: 1; color: var(--gold);
  display: flex; align-items: baseline; gap: 12px;
}
.football .count .l {
  font-family: var(--font-sans); font-size: 12.5px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-200);
}
.other-sports { border-top: 2px solid var(--paper); }
.sport-row {
  display: grid; grid-template-columns: 1fr auto;
  align-items: center; padding: 22px 0;
  border-bottom: 1px solid var(--ink-600);
  text-decoration: none; color: var(--paper); gap: 24px;
}
.sport-row:hover { border-bottom-color: var(--blue); }
.sport-row .name {
  font-family: var(--font-display); font-weight: 400;
  font-size: 42px; line-height: 1; text-transform: uppercase;
}
.sport-row .meta {
  font-family: var(--font-sans); font-size: 12px; font-weight: 500;
  color: var(--ink-300); letter-spacing: 0.04em; margin-top: 6px;
}
.sport-row .count {
  font-family: var(--font-display); font-weight: 400;
  font-size: 40px; line-height: 1; color: var(--gold);
}
.sport-row:hover .count { color: var(--blue); }

/* ============ CASINO ============ */
.casino { background: var(--paper); }
.casino h2 .b { color: var(--blue); }
.casino-stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--paper-300);
  margin-bottom: 32px;
}
.casino-stats > div { padding: 24px 0; }
.casino-stats > div + div { border-left: 1px solid var(--paper-300); padding-left: 32px; }
.casino-stats .n {
  font-family: var(--font-display); font-weight: 400;
  font-size: 60px; line-height: 1; color: var(--ink);
}
.casino-stats .l {
  font-family: var(--font-serif); font-style: italic;
  color: var(--ink-500); font-size: 16px; margin-top: 6px;
}
.games-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.game {
  position: relative; aspect-ratio: 3/4; overflow: hidden;
  text-decoration: none; color: var(--paper);
  border: 2px solid var(--ink); background: var(--ink);
  display: flex;
}
.game img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.game img.contain { object-fit: contain; padding: 16px; }
.game .scrim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg,
    rgba(6, 32, 71, 0.62) 0%,
    rgba(6, 32, 71, 0) 40%);
}
.game .content { position: relative; z-index: 2; margin-top: auto; padding: 14px; }
.game .tag {
  display: inline-block; background: var(--blue); color: #fff;
  font-family: var(--font-sans); font-size: 10px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; padding: 3px 6px;
}
.game .tag.gold { background: var(--gold); color: var(--ink); }
.game .tag.red { background: var(--red); color: #fff; }

/* ============ BIENVENUE ============ */
.welcome {
  background: var(--paper-100);
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
}
.welcome .three {
  display: grid; grid-template-columns: 1.3fr 1fr 1fr;
  gap: 48px; align-items: start;
}
.welcome .col-label {
  font-family: var(--font-serif); font-style: italic;
  color: var(--red); font-size: 16px; font-weight: 600;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 10px; margin-bottom: 10px;
}
.welcome .big {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(60px, 12vw, 120px); line-height: 0.9;
  color: var(--ink); letter-spacing: -0.005em;
}
.welcome .big-meta {
  font-family: var(--font-sans); font-size: 13px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-500); margin-top: 8px;
}
.welcome .steps { display: grid; gap: 14px; counter-reset: step; }
.welcome .step {
  display: grid; grid-template-columns: auto 1fr; gap: 18px;
  align-items: baseline; padding-bottom: 14px;
  border-bottom: 1px solid var(--paper-300);
}
.welcome .step:last-child { border-bottom: 0; padding-bottom: 0; }
.welcome .step::before {
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  font-family: var(--font-display); font-weight: 400;
  font-size: 36px; color: var(--blue); line-height: 1;
}
.welcome .step h3, .welcome .step h5 {
  font-family: var(--font-display); font-weight: 400;
  font-size: 24px; text-transform: uppercase; margin: 0 0 4px;
}
.welcome .step p { font-size: 14px; color: var(--ink-500); margin: 0; line-height: 1.55; }
.welcome .rules { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.welcome .rules li {
  position: relative; padding-left: 24px;
  font-size: 14px; line-height: 1.5; color: var(--ink);
}
.welcome .rules li::before {
  content: "\2605"; color: var(--gold); font-size: 14px; line-height: 1.5;
  position: absolute; left: 0; top: 0;
}

/* ============ PAIEMENTS ============ */
.pay { background: var(--ink); color: var(--paper); position: relative; }
.pay::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'><g fill='none' stroke='%23007FFF' stroke-width='0.5' opacity='0.18'><path d='M0,10 L11,0 L22,10 L33,0 L44,10'/><path d='M0,22 L11,12 L22,22 L33,12 L44,22'/><path d='M0,34 L11,24 L22,34 L33,24 L44,34'/></g></svg>");
  background-repeat: repeat;
}
.pay .wrap { position: relative; z-index: 1; }
.pay .head-row h2 { color: var(--paper); }
.pay .head-row .lede { color: var(--ink-200); }
.methods {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 2px solid var(--paper);
  border-left: 1px solid var(--ink-600);
}
.methods .m {
  border-right: 1px solid var(--ink-600);
  border-bottom: 1px solid var(--ink-600);
  padding: 28px 24px; background: var(--ink);
}
.methods .m.local { background: var(--ink-800); }
.methods .m .lab {
  font-family: var(--font-display); font-weight: 400;
  font-size: 30px; line-height: 1; text-transform: uppercase;
  color: var(--paper); margin-bottom: 6px;
}
.methods .m .sub {
  font-family: var(--font-serif); font-style: italic; font-weight: 500;
  font-size: 14px; color: var(--gold);
}
.methods .m .nub {
  font-family: var(--font-sans); font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink-300); margin-top: 12px;
}

/* ============ CRYPTO ============ */
.crypto { background: var(--paper); border-top: 2px solid var(--ink); }
.crypto h2 .b { color: var(--blue); }
.crypto-stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--paper-300);
  margin-bottom: 32px;
}
.crypto-stats > div { padding: 24px 0; }
.crypto-stats > div + div { border-left: 1px solid var(--paper-300); padding-left: 32px; }
.crypto-stats .n {
  font-family: var(--font-display); font-weight: 400;
  font-size: 46px; line-height: 1; text-transform: uppercase; color: var(--ink);
}
.crypto-stats .n .accent { color: var(--blue); }
.crypto-stats .l {
  font-family: var(--font-serif); font-style: italic;
  color: var(--ink-500); font-size: 16px; margin-top: 8px;
}
.coins { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.coin {
  border: 2px solid var(--blue); background: var(--paper);
  padding: 18px 18px 16px;
  display: grid; gap: 4px; align-content: start;
}
.coin .sym {
  font-family: var(--font-display); font-weight: 400;
  font-size: 30px; line-height: 1; text-transform: uppercase; color: var(--ink);
}
.coin .name {
  font-family: var(--font-serif); font-style: italic; font-weight: 500;
  font-size: 14px; color: var(--ink-500);
}
.coin .net {
  font-family: var(--font-sans); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-400); margin-top: 6px;
}

/* ============ FAQ ============ */
.faq { background: var(--paper); }
.faq-list { border-top: 2px solid var(--ink); }
details.q { border-bottom: 1px solid var(--paper-300); }
details.q summary {
  list-style: none; cursor: pointer;
  padding: 22px 4px; min-height: 44px;
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(20px, 3.4vw, 28px); line-height: 1.15;
  text-transform: uppercase;
}
details.q summary::-webkit-details-marker { display: none; }
details.q summary::marker { content: ""; }
details.q summary .sign {
  flex: none; font-family: var(--font-display); font-weight: 400;
  font-size: 32px; color: var(--red); line-height: 1;
  transition: transform 200ms ease-out;
}
details.q[open] summary .sign { transform: rotate(45deg); }
details.q .a {
  padding: 0 4px 24px; max-width: 860px;
  color: var(--ink-500); font-size: 15.5px; line-height: 1.7;
}
details.q .a a { color: var(--blue); }
details.q .a p { margin: 0 0 12px; }
details.q .a p:last-child { margin-bottom: 0; }

/* ============ APPEL FINAL ============ */
.visit {
  background: var(--ink); color: var(--paper);
  position: relative; border-top: 2px solid var(--ink);
}
.visit::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'><g fill='none' stroke='%23F5B82E' stroke-width='0.5' opacity='0.18'><path d='M0,10 L11,0 L22,10 L33,0 L44,10'/><path d='M0,22 L11,12 L22,22 L33,12 L44,22'/><path d='M0,34 L11,24 L22,34 L33,24 L44,34'/></g></svg>");
  background-repeat: repeat;
}
.visit .wrap {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr auto;
  gap: 48px; align-items: center;
  padding-top: 80px; padding-bottom: 80px;
}
.visit h2, .visit h3 {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(44px, 7vw, 80px); line-height: 0.92;
  text-transform: uppercase; margin: 0 0 12px;
}
.visit h2 .b, .visit h3 .b { color: var(--gold); }
.visit .sub {
  font-family: var(--font-serif); font-style: italic;
  color: var(--ink-200); font-size: 19px; margin: 0; max-width: 560px;
}
.visit .btn-blue { padding: 18px 36px; font-size: 15px; }

/* ============ AVERTISSEMENT / DISCLAIMER ============ */
.disclaimer {
  background: var(--paper);
  border-top: 4px solid var(--red);
  padding: 40px 0;
}
.disclaimer .wrap {
  display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: start;
}
.disclaimer .flag {
  font-family: var(--font-display); font-weight: 400;
  font-size: 22px; text-transform: uppercase; letter-spacing: 0.02em;
  color: #fff; background: var(--red); padding: 10px 16px; white-space: nowrap;
}
.disclaimer h2 {
  font-family: var(--font-display); font-weight: 400;
  font-size: 26px; text-transform: uppercase; margin: 0 0 10px; color: var(--ink);
}
.disclaimer p { font-size: 14.5px; line-height: 1.7; color: var(--ink-700); margin: 0 0 10px; }
.disclaimer p:last-child { margin-bottom: 0; }
.disclaimer a { color: var(--blue); }

/* ============ JEU RESPONSABLE (bandeau) ============ */
.rg { background: var(--paper-100); padding: 48px 0; border-top: 2px solid var(--ink); }
.rg .wrap { display: grid; grid-template-columns: 1fr 2fr; gap: 48px; align-items: start; }
.rg h2 {
  font-family: var(--font-display); font-weight: 400;
  font-size: 44px; line-height: 1; text-transform: uppercase; margin: 0;
}
.rg .sub {
  font-family: var(--font-serif); font-style: italic;
  color: var(--red); font-size: 16px; margin: 6px 0 0;
}
.rg p { font-size: 14.5px; color: var(--ink-500); line-height: 1.7; margin: 0 0 14px; }
.rg .marks { display: flex; gap: 14px; margin-top: 14px; align-items: center; flex-wrap: wrap; }
.rg .marks .m {
  border: 2px solid var(--paper-300); background: var(--paper);
  padding: 8px 14px;
  font-family: var(--font-sans); font-size: 11.5px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink);
}
.rg .marks .age { background: var(--red); color: #fff; border-color: var(--red); letter-spacing: 0.02em; }

/* ============ PIED DE PAGE ============ */
footer.site {
  background: var(--ink-900); color: var(--ink-200);
  padding: 64px 0 32px;
  font-size: 14px; line-height: 1.65;
  border-top: 4px solid var(--blue);
  position: relative;
}
footer.site::before {
  content: ""; position: absolute; left: 0; right: 0; top: -4px; height: 4px;
  background: linear-gradient(90deg,
    var(--blue) 0%, var(--blue) 40%,
    var(--gold) 40%, var(--gold) 60%,
    var(--red) 60%, var(--red) 100%);
}
footer.site .cols {
  display: grid; grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 48px; margin-bottom: 48px;
}
footer.site .brandcol img { height: 32px; width: auto; margin-bottom: 18px; }
footer.site .brandcol p {
  font-family: var(--font-serif); font-style: italic;
  color: var(--gold); font-size: 14px; max-width: 380px; margin: 0 0 18px;
}
footer.site .brandcol .where {
  font-family: var(--font-sans); font-size: 12px; font-weight: 600;
  color: var(--ink-300); letter-spacing: 0.1em; text-transform: uppercase;
}
footer.site h2 {
  font-family: var(--font-display); font-weight: 400;
  font-size: 18px; letter-spacing: 0.02em; text-transform: uppercase;
  color: var(--paper); margin: 4px 0 16px;
}
footer.site ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
footer.site a { color: var(--ink-200); text-decoration: none; }
footer.site a:hover { color: var(--blue); }
footer.site .fineprint {
  border-top: 1px solid var(--ink-700); padding-top: 24px;
  color: var(--ink-300); font-size: 12px; line-height: 1.7;
  display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end;
}
footer.site .fineprint .copy {
  font-family: var(--font-serif); font-style: italic;
  font-size: 13px; color: var(--ink-300);
}

/* ============ PAGES ÉDITORIALES ============ */
.article { padding: clamp(40px, 6vw, 72px) 0 clamp(48px, 7vw, 88px); background: var(--paper); }
.article .wrap { max-width: 860px; }
.breadcrumb {
  font-family: var(--font-sans); font-size: 12px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--ink-400); margin-bottom: 24px;
}
.breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.breadcrumb a { color: var(--ink-500); text-decoration: none; }
.breadcrumb a:hover { color: var(--blue); }
.breadcrumb li + li::before { content: "\203A"; margin-right: 8px; color: var(--paper-300); }

.article .eyebrow {
  font-family: var(--font-serif); font-style: italic;
  color: var(--blue); font-size: 18px; font-weight: 600; margin-bottom: 10px;
}
.article h1 {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(38px, 7vw, 76px); line-height: 0.94;
  text-transform: uppercase; margin: 0 0 16px; color: var(--ink);
}
.article h1 .b { color: var(--blue); }
.byline {
  display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center;
  border-top: 2px solid var(--ink); border-bottom: 1px solid var(--paper-300);
  padding: 14px 0; margin-bottom: 28px;
  font-family: var(--font-sans); font-size: 12px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-400);
}
.byline .who { color: var(--ink); }
.byline .dot { color: var(--paper-300); }
.article .lead {
  font-family: var(--font-serif); font-style: italic; font-size: clamp(19px, 2.6vw, 23px);
  color: var(--ink-500); line-height: 1.55; margin: 0 0 28px;
}
.article h2 {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(26px, 4.5vw, 40px); line-height: 1;
  text-transform: uppercase; margin: 44px 0 16px;
  border-top: 2px solid var(--ink); padding-top: 20px;
}
.article h3 {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(21px, 3vw, 27px); line-height: 1.1;
  text-transform: uppercase; margin: 28px 0 10px;
}
.article p { font-size: 16.5px; line-height: 1.75; color: var(--ink-700); margin: 0 0 16px; }
.article a { color: var(--blue); }
.article strong { color: var(--ink); font-weight: 700; }
/* Listes : marqueur en position absolue — le contenu reste un flux inline normal
   (un display:grid ici ferait de chaque <strong> une colonne à part) */
.article ul, .article ol { margin: 0 0 18px; padding: 0; list-style: none; display: grid; gap: 10px; }
.article ul li, .article ol li {
  position: relative;
  font-size: 16px; line-height: 1.6; color: var(--ink-700);
}
.article ul li { padding-left: 30px; }
.article ul li::before {
  content: "\2605"; color: var(--gold);
  position: absolute; left: 0; top: 0; line-height: 1.6;
}
.article ol { counter-reset: li; }
.article ol li { padding-left: 44px; }
.article ol li::before {
  counter-increment: li;
  content: counter(li, decimal-leading-zero);
  font-family: var(--font-display); font-weight: 400;
  font-size: 20px; color: var(--blue); line-height: 1.35;
  position: absolute; left: 0; top: 0;
}

/* Sommaire */
.toc {
  border: 2px solid var(--ink); background: var(--paper-100);
  padding: 22px 24px; margin: 0 0 36px;
}
.toc h2 {
  font-family: var(--font-sans); font-size: 11.5px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-500);
  border: 0; padding: 0; margin: 0 0 12px;
}
.toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; counter-reset: toc; }
.toc ol li { position: relative; padding-left: 30px; font-size: 15.5px; line-height: 1.5; }
.toc ol li::before {
  counter-increment: toc; content: counter(toc, decimal-leading-zero);
  font-family: var(--font-sans); font-size: 12px; font-weight: 700;
  color: var(--gold-600); line-height: 1.7;
  position: absolute; left: 0; top: 0;
}
.toc a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--paper-300); }
.toc a:hover { color: var(--blue); border-bottom-color: var(--blue); }

/* Encadrés */
.callout {
  border-left: 4px solid var(--blue); background: var(--paper-100);
  padding: 20px 22px; margin: 0 0 24px;
}
.callout.warn { border-left-color: var(--red); }
.callout.gold { border-left-color: var(--gold); }
.callout .t {
  font-family: var(--font-sans); font-size: 11.5px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-500); margin-bottom: 8px;
}
.callout p { font-size: 15.5px; line-height: 1.7; margin: 0 0 10px; color: var(--ink-700); }
.callout p:last-child { margin-bottom: 0; }

/* Tableau */
.table-scroll { overflow-x: auto; margin: 0 0 28px; -webkit-overflow-scrolling: touch; }
table.data {
  width: 100%; border-collapse: collapse; min-width: 520px;
  font-size: 15px; table-layout: fixed;
}
table.data caption {
  text-align: left; font-family: var(--font-sans);
  font-size: 11.5px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--ink-400); padding-bottom: 10px;
}
/* Cellules d'en-tête (thead) — le rail 2px de la maquette */
table.data thead th {
  text-align: left; font-family: var(--font-sans);
  font-size: 11.5px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--ink);
  border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink);
  padding: 12px 20px 12px 0; vertical-align: bottom;
}
/* Cellules d'en-tête de ligne (tbody th) — colonne d'étiquettes */
table.data tbody th {
  text-align: left; font-family: var(--font-sans);
  font-size: 11.5px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--ink);
  padding: 14px 20px 14px 0;
  border-bottom: 1px solid var(--paper-300);
  vertical-align: top; width: 34%;
}
/* Tableau clé/valeur (sans thead) : rail 2px sur la première ligne */
table.data:not(.cols) tbody tr:first-child th,
table.data:not(.cols) tbody tr:first-child td { border-top: 2px solid var(--ink); }
table.data td {
  padding: 14px 20px 14px 0; border-bottom: 1px solid var(--paper-300);
  color: var(--ink-700); line-height: 1.5; vertical-align: top;
}
table.data td:last-child, table.data th:last-child { padding-right: 0; }
table.data td strong { color: var(--ink); }
table.data tbody tr:hover th, table.data tbody tr:hover td { background: var(--paper-100); }
/* Tableau à en-tête de colonnes (page miroir) : la 1re colonne reste large */
table.data.cols { table-layout: auto; }
table.data.cols th, table.data.cols td { width: auto; }
table.data.cols td:first-child { width: 30%; }
table.data.cols td:last-child { white-space: nowrap; width: 1%; }

/* Bloc CTA en article */
.cta-card {
  background: var(--ink); color: var(--paper);
  border-top: 5px solid var(--gold);
  padding: 32px; margin: 36px 0;
  display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center;
}
.cta-card .cta-title {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(26px, 4vw, 38px); line-height: 1;
  text-transform: uppercase; color: var(--paper);
  border: 0; padding: 0; margin: 0 0 8px;
}
.cta-card p {
  font-family: var(--font-serif); font-style: italic;
  color: var(--ink-200); font-size: 17px; margin: 0; line-height: 1.5;
}
.cta-card .btn-blue { white-space: nowrap; }

/* Liens de suite */
.next-links { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 40px; }
.next-links a {
  display: block; border: 2px solid var(--ink); padding: 20px 22px;
  text-decoration: none; background: var(--paper);
  transition: background 120ms ease-out;
}
.next-links a:hover { background: var(--paper-100); }
.next-links .k {
  font-family: var(--font-sans); font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-600);
  display: block; margin-bottom: 6px;
}
.next-links .v {
  font-family: var(--font-display); font-weight: 400; font-size: 24px;
  text-transform: uppercase; color: var(--ink); line-height: 1.05;
}

/* Le fil d’Ariane et le sommaire vivent dans .article mais ne sont pas
   des listes d’article — on annule explicitement les règles de liste. */
.article .breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.article .breadcrumb ol li {
  padding-left: 0; position: static;
  font-size: 12px; line-height: 1.4; color: var(--ink-400);
}
.article .breadcrumb ol li::before { content: none; counter-increment: none; }
.article .breadcrumb ol li + li::before {
  content: "\203A"; position: static;
  margin-right: 8px; counter-increment: none;
  font-family: var(--font-sans); font-size: 12px; font-weight: 600;
  color: var(--paper-300);
}
.article .toc ol { gap: 8px; }
.article .toc ol li { padding-left: 30px; font-size: 15.5px; line-height: 1.5; color: var(--ink); }
.article .toc ol li::before {
  counter-increment: toc;
  content: counter(toc, decimal-leading-zero);
  font-family: var(--font-sans); font-size: 12px; font-weight: 700;
  color: var(--gold-600); line-height: 1.7;
  position: absolute; left: 0; top: 0;
}

/* Plan du site */
.plan { border-top: 2px solid var(--ink); margin-bottom: 28px; }
.plan-row { padding: 22px 0; border-bottom: 1px solid var(--paper-300); }
.plan-url {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(20px, 3vw, 26px); line-height: 1.1;
  text-transform: uppercase; margin: 0 0 8px;
}
.plan-url a { color: var(--ink); text-decoration: none; }
.plan-url a:hover { color: var(--blue); }
.plan-desc {
  font-family: var(--font-serif); font-style: italic;
  font-size: 16.5px; line-height: 1.5; color: var(--ink-500);
  margin: 0 0 12px; max-width: 720px;
}
.article ul.plan-sub {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin: 0; padding: 0; list-style: none;
}
.article ul.plan-sub li {
  padding-left: 0; position: static;
  font-size: 12.5px; line-height: 1;
}
.article ul.plan-sub li::before { content: none; }
.article ul.plan-sub a {
  display: inline-block;
  border: 1px solid var(--paper-300); background: var(--paper);
  padding: 8px 12px; min-height: 34px;
  font-family: var(--font-sans); font-size: 12px; font-weight: 600;
  letter-spacing: 0.04em; color: var(--ink-500); text-decoration: none;
  transition: border-color 120ms ease-out, color 120ms ease-out;
}
.article ul.plan-sub a:hover { border-color: var(--blue); color: var(--blue); }

/* ============ 404 ============ */
.err {
  background: var(--ink); color: var(--paper);
  position: relative; overflow: hidden; text-align: center;
  padding: clamp(64px, 12vw, 128px) 0;
}
.err::after {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: linear-gradient(90deg, var(--blue) 0%, var(--blue) 40%, var(--gold) 40%, var(--gold) 60%, var(--red) 60%, var(--red) 100%);
  z-index: 2;
}
.err::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'><g fill='none' stroke='%23007FFF' stroke-width='0.6' opacity='0.28'><path d='M0,10 L11,0 L22,10 L33,0 L44,10'/><path d='M0,22 L11,12 L22,22 L33,12 L44,22'/><path d='M0,34 L11,24 L22,34 L33,24 L44,34'/></g></svg>");
  background-repeat: repeat;
}
.err .wrap { position: relative; z-index: 1; }
.err .code {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(120px, 28vw, 300px); line-height: 0.8;
  color: var(--gold); letter-spacing: -0.01em;
}
.err h1 {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(30px, 5vw, 56px); line-height: 1;
  text-transform: uppercase; margin: 8px 0 14px; color: var(--paper);
}
.err p {
  font-family: var(--font-serif); font-style: italic;
  font-size: clamp(16px, 2.4vw, 20px); color: var(--ink-200);
  max-width: 560px; margin: 0 auto 28px;
}
.err .btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ============ CTA COLLANT (mobile) ============ */
.stickyCTA {
  display: none; position: fixed; left: 0; right: 0; bottom: 0;
  background: var(--ink-900); border-top: 3px solid var(--blue);
  padding: 10px var(--gutter) max(10px, env(safe-area-inset-bottom));
  grid-template-columns: auto 1fr; gap: 12px; align-items: center; z-index: 150;
}
.stickyCTA .age {
  display: inline-flex; align-items: center; gap: 8px; color: var(--paper);
  font-family: var(--font-sans); font-size: 11px; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
}
.stickyCTA .age .b {
  background: var(--red); color: #fff; padding: 3px 6px; font-weight: 700; font-size: 10px;
}
.stickyCTA .btn-blue { padding: 12px 16px; min-height: 44px; }

/* ============ MENU MOBILE ============ */
.menu-btn {
  display: none; width: 44px; height: 44px;
  border: 2px solid var(--ink); background: transparent; padding: 0;
  flex-direction: column; gap: 4px; align-items: center; justify-content: center; cursor: pointer;
}
.menu-btn span { display: block; width: 18px; height: 2px; background: var(--ink); }

/* ============ RESPONSIVE ============ */
@media (max-width: 1080px) {
  nav.primary { gap: 18px; }
  nav.primary a { font-size: 12.5px; }
  header.site .wrap { gap: 18px; }
}
@media (max-width: 940px) {
  :root { --gutter: 18px; }
  .menu-btn { display: flex; }
  /* le repère de chapitre garde le mot-clé, abandonne le sous-titre */
  .chapter { gap: 10px; margin-bottom: 20px; }
  .chapter .label { white-space: normal; font-size: 15px; }
  .chapter .label .dim { display: none; }
  .chapter .stripe { height: 3px; }
  header.site .wrap { grid-template-columns: auto 1fr; height: 60px; gap: 16px; }
  .brand .tag { display: none; }
  nav.primary {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; gap: 0;
    background: rgba(247, 247, 244, 0.98);
    border-bottom: 2px solid var(--ink);
    padding: 8px var(--gutter) 14px;
  }
  nav.primary.open { display: flex; }
  nav.primary a { padding: 13px 0; border-bottom: 1px solid var(--paper-200); }
  .header-end { gap: 10px; }
  .header-end .btn-blue { padding: 10px 14px; font-size: 12px; }
  .topstrip .lic { display: none; }
  section.block { padding: 44px 0; }
  .hero { padding-top: 36px; }
  .hero .chapter { margin-bottom: 22px; }
  .hero .tag { margin-bottom: 28px; }
  .hero-stats { margin-bottom: 24px; }
  .hero-stats .n { font-size: 34px; }
  .hero-stats .l { font-size: 10px; }
  .hero-welcome { grid-template-columns: 1fr; gap: 16px; margin-bottom: 40px; }
  .hero-welcome .btn-blue { width: 100%; }
  .head-row { grid-template-columns: 1fr; gap: 12px; }
  .access-row { grid-template-columns: 1fr; gap: 16px; }
  .access-row .a-cta { justify-content: flex-start; }
  .sports-row { grid-template-columns: 1fr; gap: 28px; }
  .market-row { grid-template-columns: 1fr; gap: 12px; }
  .market-row .picks { justify-content: stretch; grid-auto-columns: 1fr; }
  .games-strip { grid-template-columns: 1fr 1fr; }
  .casino-stats { grid-template-columns: 1fr; }
  .casino-stats > div + div { border-left: 0; border-top: 1px solid var(--paper-300); padding-left: 0; }
  .welcome .three { grid-template-columns: 1fr; gap: 28px; }
  .methods { grid-template-columns: 1fr 1fr; }
  .coins { grid-template-columns: 1fr 1fr; }
  .crypto-stats { grid-template-columns: 1fr; }
  .crypto-stats > div + div { border-left: 0; border-top: 1px solid var(--paper-300); padding-left: 0; }
  .visit .wrap { grid-template-columns: 1fr; gap: 24px; padding-top: 48px; padding-bottom: 48px; }
  .rg .wrap { grid-template-columns: 1fr; gap: 18px; }
  .disclaimer .wrap { grid-template-columns: 1fr; gap: 16px; }
  .disclaimer .flag { justify-self: start; }
  .cta-card { grid-template-columns: 1fr; gap: 20px; padding: 24px; }
  .next-links { grid-template-columns: 1fr; }
  footer.site .cols { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  footer.site .fineprint { grid-template-columns: 1fr; gap: 14px; align-items: start; }
  .stickyCTA { display: grid; }
  body { padding-bottom: 82px; }
}
@media (max-width: 520px) {
  .methods { grid-template-columns: 1fr; }
  footer.site .cols { grid-template-columns: 1fr; }
  .hero-stats { grid-template-columns: 1fr 1fr; }
  .hero-stats > div:nth-child(3) { display: none; }
  .hero-stats > div + div { border-left: 0; padding-left: 0; }
  .topstrip .wrap { justify-content: center; padding-top: 5px; padding-bottom: 5px; }
  .games-strip { gap: 8px; }
}

/* ============ HOVER : uniquement sur pointeur fin ============ */
@media (hover: hover) {
  .market-row .pick:hover { background: var(--blue); color: #fff; }
  .market-row .pick:hover .lab { color: var(--blue-100); }
  .market-row .pick:hover .n { color: #fff; }
  .coin:hover { background: var(--blue); }
  .coin:hover .sym { color: #fff; }
  .coin:hover .name { color: var(--blue-100); }
  .coin:hover .net { color: var(--blue-100); }
}

@media print {
  .stickyCTA, .menu-btn, header.site { position: static; }
}

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