/* ICNV.fr — design system.
   listicle-ux: ONE accent (--cta, green) reserved exclusively for CTA buttons.
   Structural = navy/slate; rank & rating = gold (non-competing). */
:root{
  --ink:#141821; --muted:#5b6472; --line:#e5e8ee; --bg:#f4f6fa; --card:#ffffff;
  --navy:#0e1526; --navy2:#18233c; --slate:#334155;
  --cta:#f2a71b; --cta-dark:#d18f10; --cta-ink:#12233b;   /* CTA ACCENT (amber) — CTAs ONLY */
  --gold:#e8a90c; --gold-soft:#fff6e0;                     /* rank + stars */
  --good:#0c8040; --warn:#b45309; --radius:12px;
  --shadow:0 1px 3px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.06);
  --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
a{color:#1c56d6;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;color:var(--ink);font-weight:800;letter-spacing:-.01em}
h1{font-size:2.1rem;margin:.2em 0 .4em}
h2{font-size:1.6rem;margin:1.8em 0 .6em}
h3{font-size:1.2rem;margin:1.4em 0 .4em}
p{margin:0 0 1em}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;border-radius:8px;z-index:100}

/* header */
.site-head{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50}
.head-in{display:flex;align-items:center;gap:20px;height:62px}
.brand{color:#fff;font-weight:900;font-size:1.35rem;letter-spacing:-.02em;text-decoration:none}
.brand-mark{color:#fff}.brand-sub{color:var(--gold)}
.mainnav{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap}
.mainnav a{color:#cdd6e6;font-size:.95rem;font-weight:600}
.mainnav a:hover,.mainnav a.on{color:#fff;text-decoration:none}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}
.head-rg{background:var(--navy2);color:#c4ccda;font-size:.78rem;text-align:center;padding:6px 20px}
.age{display:inline-block;background:var(--gold);color:#241a00;font-weight:800;font-size:.72rem;
  padding:1px 6px;border-radius:5px;margin-right:6px;vertical-align:middle}

/* hero */
.hero{background:linear-gradient(160deg,#0e1526,#182948 70%);color:#fff;padding:44px 0 30px}
.hero h1{color:#fff;max-width:900px}
.hero p.lead{color:#cfd8ea;font-size:1.12rem;max-width:760px}
.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px}
.badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);color:#eaf0fb;font-size:.82rem;font-weight:600;
  padding:7px 12px;border-radius:999px}
.badge b{color:#fff}
.upd{color:#9fb0cc;font-size:.82rem;margin-top:8px}
.upd a{color:#cfe0ff}

/* main */
main{padding:26px 0 10px}
.layout{display:grid;grid-template-columns:1fr;gap:8px}
.prose{max-width:820px}
.prose ul,.prose ol{margin:0 0 1em;padding-left:1.3em}
.prose li{margin:.3em 0}

/* toplist table (above the fold) */
.toplist{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden;margin:0 0 26px}
.toplist-h{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;background:var(--gold-soft);border-bottom:1px solid #f0e2bd}
.toplist-h h2{margin:0;font-size:1.1rem}
.toplist-h .meta{color:var(--muted);font-size:.82rem}
table.ops{width:100%;border-collapse:collapse}
table.ops th,table.ops td{padding:13px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}
table.ops thead th{background:var(--navy);color:#eef2f8;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
table.ops tbody tr:hover{background:#fafbfe}
.rank{font-weight:900;color:var(--gold);font-size:1.2rem;width:34px;text-align:center}
.rank-1{color:var(--gold)}
.op-cell{display:flex;align-items:center;gap:12px;min-width:160px}
.oplogo{width:120px;height:48px;object-fit:contain;background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:4px}
.oplogo-text{display:inline-flex;align-items:center;justify-content:center;font-weight:800;
  color:var(--navy);background:#eef1f6;font-size:.9rem}
.op-name{font-weight:700}
.op-name small{display:block;color:var(--muted);font-weight:500;font-size:.78rem}
.bonus-main{font-weight:700;color:var(--ink)}
.bonus-sub{color:var(--muted);font-size:.82rem}
.stars{color:var(--gold);letter-spacing:1px}
.score{font-weight:900;font-size:1.15rem;color:var(--navy)}
.score small{display:block;font-weight:600;color:var(--muted);font-size:.7rem}

/* THE reserved accent — CTA buttons only */
.btn-cta{display:inline-block;background:var(--cta);color:var(--cta-ink)!important;font-weight:800;
  padding:11px 18px;border-radius:9px;text-align:center;white-space:nowrap;border:0;cursor:pointer;
  box-shadow:0 2px 0 var(--cta-dark);transition:transform .05s,background .15s}
.btn-cta:hover{background:var(--cta-dark);text-decoration:none;transform:translateY(-1px)}
.btn-cta.sm{padding:8px 14px;font-size:.9rem}
.cta-note{display:block;font-size:.72rem;color:var(--muted);margin-top:4px;text-align:center}

/* #1 pick highlight card */
.pick1{background:var(--card);border:2px solid var(--gold);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:20px;margin:0 0 26px;position:relative}
.pick1 .tag{position:absolute;top:-13px;left:20px;background:var(--gold);color:#241a00;
  font-weight:800;font-size:.78rem;padding:3px 12px;border-radius:999px}
.pick1-grid{display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:center}
.pick1-grid .oplogo{width:140px;height:64px}

/* review cards */
.op-review{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:20px;margin:0 0 18px}
.op-review-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.op-review-h .oplogo{width:120px;height:54px}
.op-review-h h3{margin:0}
.op-review-h .score{margin-left:auto}
.op-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.chip{background:#eef1f6;border-radius:7px;padding:5px 10px;font-size:.82rem;color:var(--slate);font-weight:600}
.chip b{color:var(--ink)}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:12px 0}
.pc .pro:before{content:"✓ ";color:var(--good);font-weight:800}
.pc .con:before{content:"✕ ";color:#b42318;font-weight:800}
.pc li{list-style:none}
.pc ul{padding:0;margin:0}

/* callouts */
.note{border-left:4px solid var(--gold);background:#fffdf6;padding:14px 16px;border-radius:0 8px 8px 0;margin:18px 0}
.note.legal{border-color:#1c56d6;background:#f5f8ff}
.note.warn{border-color:var(--warn);background:#fff8ef}
.cta-rg{font-size:.78rem;color:var(--muted);background:#f8fafc;border:1px dashed var(--line);
  padding:8px 12px;border-radius:8px;margin:10px 0 0}

/* content table */
.tbl{width:100%;border-collapse:collapse;margin:16px 0;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.95rem}
.tbl th,.tbl td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line)}
.tbl thead th{background:var(--navy);color:#eef2f8;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.tbl tbody tr:nth-child(even){background:#fafbfe}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:0 0 10px;padding:0 16px}
.faq summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";float:right;color:var(--gold);font-weight:800}
.faq details[open] summary:after{content:"–"}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq details p{padding:12px 0}

/* breadcrumb */
.crumb{font-size:.82rem;color:var(--muted);padding:14px 0 0}
.crumb a{color:var(--muted)}

/* author box */
.authorbox{display:flex;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:18px;margin:26px 0}
.author-av{width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.3rem;flex-shrink:0}
.byline{font-size:.86rem;color:var(--muted);margin:.2em 0 1em}
.byline a{font-weight:700}

/* cards grid */
.cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:18px 0}
.lcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.lcard h3{margin:.1em 0 .3em;font-size:1.05rem}
.lcard p{font-size:.9rem;color:var(--muted);margin:0 0 .6em}

/* footer */
.site-foot{background:var(--navy);color:#c4ccda;margin-top:40px;padding:36px 0 20px;font-size:.9rem}
.foot-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.fcol h4{color:#fff;font-size:.9rem;margin:0 0 10px}
.fcol ul{list-style:none;padding:0;margin:0}
.fcol li{margin:.35em 0}
.fcol a{color:#aeb9cc}
.fcol a:hover{color:#fff}
.foot-rg{border-top:1px solid #22304d;margin-top:26px;padding-top:18px;font-size:.82rem}
.foot-rg .disclose{color:#8b98b0;font-size:.78rem}
.foot-legal{color:#7f8ca4;font-size:.78rem;margin-top:10px}

@media(max-width:860px){
  .foot-cols{grid-template-columns:repeat(2,1fr)}
  .mainnav{display:none;position:absolute;top:62px;left:0;right:0;background:var(--navy2);
    flex-direction:column;padding:10px 20px;gap:0}
  .mainnav.open{display:flex}
  .mainnav a{padding:11px 0;border-bottom:1px solid #22304d}
  .nav-toggle{display:block}
  .pick1-grid{grid-template-columns:1fr;text-align:center;gap:12px}
  .pc{grid-template-columns:1fr}
  table.ops thead{display:none}
  table.ops,table.ops tbody,table.ops tr,table.ops td{display:block;width:100%}
  table.ops tr{border-bottom:2px solid var(--line);padding:10px 0}
  table.ops td{border:0;padding:6px 12px;display:flex;justify-content:space-between;gap:12px}
  table.ops td:before{content:attr(data-l);font-weight:700;color:var(--muted);font-size:.8rem}
  .op-cell{min-width:0}
}
@media(max-width:520px){.foot-cols{grid-template-columns:1fr}h1{font-size:1.7rem}}

/* cookie banner (RGPD granular) */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:var(--navy);color:#e6ecf6;z-index:80;
  box-shadow:0 -6px 24px rgba(0,0,0,.25)}
.cb-in{max-width:var(--wrap);margin:0 auto;padding:14px 20px;display:flex;gap:18px;align-items:center;
  justify-content:space-between;flex-wrap:wrap}
.cb-in p{margin:0;font-size:.86rem;max-width:640px}
.cb-in a{color:#cfe0ff}
.cb-btns{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cb-alt{background:transparent;border:1px solid #3a4a6b;color:#dce4f2;padding:8px 14px;border-radius:8px;
  cursor:pointer;font-size:.9rem;font-weight:600;text-decoration:none}
.cb-alt:hover{border-color:#5a6d94;text-decoration:none}

/* ============================================================
   WAFF-style affiliate toplist — desktop rows / mobile cards
   ============================================================ */
.tl-wrap{margin:0 0 26px}
.tl-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}
.tl-head h2{margin:0;font-size:1.35rem}
.tl-head .meta{color:var(--muted);font-size:.8rem;white-space:nowrap}
.tl{display:flex;flex-direction:column;gap:12px}

/* gold CTA button (reserved accent) */
.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--cta);
  color:var(--cta-ink)!important;font-weight:800;padding:11px 20px;border-radius:9px;text-align:center;
  white-space:nowrap;border:0;cursor:pointer;box-shadow:0 2px 0 var(--cta-dark);transition:transform .05s,background .15s;
  font-size:.95rem}
.btn-gold:hover{background:var(--cta-dark);text-decoration:none;transform:translateY(-1px)}
.btn-gold .m{display:none}

/* --- desktop row --- */
.trow{display:grid;grid-template-columns:42px minmax(180px,1.5fr) minmax(150px,1.4fr) minmax(120px,.95fr) auto auto;
  align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px 18px;box-shadow:var(--shadow)}
.trow.top{border:2px solid var(--gold);box-shadow:0 6px 22px rgba(232,169,12,.14)}
.trow .rk{font-weight:800;font-size:1.35rem;color:var(--slate);text-align:center}
.trow.top .rk{color:var(--gold)}
.trow .brand{display:flex;align-items:center;gap:12px;min-width:0}
.ltile{flex-shrink:0;width:78px;height:52px;display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:5px}
.ltile img,.ltile .oplogo{max-width:100%;max-height:100%;width:auto;height:auto;border:0;padding:0;background:none;object-fit:contain}
.ltile .oplogo-text{font-size:.72rem;color:var(--navy);font-weight:800;text-align:center;line-height:1.05}
.bwrap{min-width:0}
.trow .bn{font-weight:800;font-size:1.05rem;color:var(--ink);line-height:1.15}
.trow .bt{color:var(--muted);font-size:.82rem;margin-top:1px}
.toppick{display:none}
.bpill{background:var(--gold-soft);border:1px solid #f0e2bd;border-radius:10px;padding:8px 12px;text-align:center}
.bpill .bv{display:block;font-weight:800;color:#7a5b00;font-size:.92rem;line-height:1.2}
.bpill .bvs{display:block;color:#9a7b1e;font-size:.78rem;margin-top:1px}
.feat{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.chip2{background:#eef1f6;color:var(--slate);border-radius:7px;padding:4px 9px;font-size:.76rem;font-weight:600;white-space:nowrap}
.feat .lic{display:none}
.rt{text-align:center;white-space:nowrap}
.rt .rstars{display:block;color:var(--gold);font-size:.82rem;letter-spacing:1px}
.rt b{font-weight:800;font-size:1.05rem;color:var(--navy)}
.rt b i{font-style:normal;color:var(--muted);font-weight:600;font-size:.78rem}
.trow .cta{text-align:center}
.trow .cta .fine{display:none}

/* --- mobile: each row becomes a detail card (ref image #1) --- */
@media(max-width:760px){
  .trow{grid-template-columns:1fr;justify-items:center;text-align:center;gap:10px;padding:18px 16px;position:relative}
  .trow .rk{position:absolute;top:12px;left:16px;font-size:1.2rem}
  .trow .brand{flex-direction:column;gap:8px;text-align:center}
  .ltile{width:150px;height:78px;padding:10px}
  .trow .bn{font-size:1.25rem}
  .trow .bt{display:none}
  .toppick{display:inline-block;background:var(--navy);color:#fff;font-weight:800;font-size:.72rem;
    padding:5px 14px;border-radius:999px;letter-spacing:.02em}
  .bon{width:100%}
  .bpill{width:100%;padding:12px}
  .bpill .bv{font-size:1.05rem}
  .feat{align-items:center;gap:6px}
  .feat .lic{display:block;color:var(--muted);font-size:.9rem;order:-1}
  .chip2{font-size:.82rem}
  .rt .rstars{display:inline;font-size:1rem;vertical-align:middle}
  .rt b{font-size:1.1rem;margin-left:6px}
  .trow .cta{width:100%}
  .btn-gold{width:100%;padding:14px;font-size:1.02rem}
  .btn-gold .d{display:none}
  .btn-gold .m{display:inline}
  .trow .cta .fine{display:block;color:var(--muted);font-size:.72rem;margin-top:8px}
}

/* author photo avatars */
img.author-av{object-fit:cover;border-radius:50%;background:var(--navy)}
.author-av.lg{width:64px;height:64px;flex-shrink:0}

/* ============================================================
   HERO v2 (WAFF-style) — two-column, editor's-choice pick card
   ============================================================ */
.hero2{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(120deg,#0f2a52 0%,#143a76 55%,#1b4f97 100%)}
.hero2::after{content:"";position:absolute;top:-30%;right:-8%;width:620px;height:620px;border-radius:50%;
  background:radial-gradient(circle at center,rgba(255,255,255,.10) 0%,rgba(255,255,255,.05) 38%,transparent 60%);
  pointer-events:none}
.hero2-in{position:relative;z-index:1;display:grid;grid-template-columns:1.45fr .95fr;gap:44px;
  align-items:center;padding:46px 20px 52px}
.hero2-in.solo{grid-template-columns:1fr;max-width:840px}
.eyebrow2{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700;color:#8fb4e6;margin:0 0 14px}
.hero2 h1{color:#fff;font-size:2.5rem;line-height:1.1;margin:0 0 16px;max-width:16ch}
.hero2-in.solo h1{max-width:24ch}
.hlead{color:#cfdcef;font-size:1.08rem;line-height:1.6;max-width:56ch;margin:0 0 22px}
.htrust{list-style:none;padding:0;margin:0 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;max-width:640px}
.htrust li{position:relative;padding-left:20px;font-size:.9rem;color:#dbe6f5;font-weight:500}
.htrust li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 3px rgba(232,169,12,.2)}
.hbyline{display:inline-flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:10px 16px}
.hav{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0}
.hbyl-av{display:inline-flex}
.hbyl-id{display:flex;flex-direction:column;line-height:1.25}
.hbyl-id b{color:#fff;font-size:.92rem}
.hbyl-id span{color:#a9bcd8;font-size:.78rem}
.hbyl-meta{display:flex;flex-direction:column;line-height:1.25;border-left:1px solid rgba(255,255,255,.18);padding-left:14px}
.hbyl-meta b{color:#fff;font-size:.85rem}
.hbyl-meta span{color:#a9bcd8;font-size:.78rem}

/* editor's choice card */
.epick{background:var(--card);color:var(--ink);border-radius:14px;box-shadow:0 20px 50px rgba(6,16,34,.35);
  overflow:hidden;border:1px solid rgba(255,255,255,.5)}
.epick-rib{background:var(--navy);color:#fff;text-align:center;font-weight:800;font-size:.76rem;
  letter-spacing:.1em;text-transform:uppercase;padding:9px 12px}
.epick-body{padding:18px 20px 20px}
.epick-h{display:flex;align-items:center;gap:14px}
.epick-h .ltile{width:64px;height:44px}
.epick-nm{font-weight:800;font-size:1.15rem;color:var(--navy)}
.epick-ct{color:var(--muted);font-size:.82rem}
.epick-stars{margin:14px 0 4px;color:var(--gold);font-weight:800;display:flex;align-items:center;gap:6px}
.epick-stars .rstars{font-size:.95rem;letter-spacing:1px}
.epick-stars b{color:var(--navy);font-size:1rem}
.epick-stars i{font-style:normal;color:var(--muted);font-weight:600;font-size:.8rem}
.epick-bv{font-weight:900;font-size:1.5rem;color:var(--navy);line-height:1.15;margin-top:6px}
.epick-bvl{color:var(--muted);font-size:.84rem;margin:2px 0 14px}
.epick-specs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px}
.epick-specs>div{background:#eef2f8;border-radius:9px;padding:9px 8px;text-align:center}
.epick-specs b{display:block;color:var(--navy);font-size:.82rem;font-weight:800;line-height:1.15}
.epick-specs span{display:block;color:var(--muted);font-size:.62rem;letter-spacing:.05em;margin-top:3px}
.btn-gold.full{width:100%;padding:13px;font-size:1rem}
.epick-fine{text-align:center;color:var(--muted);font-size:.72rem;margin-top:10px}

/* breadcrumb now sits inside main, above content */
.crumb{display:block;font-size:.82rem;color:var(--muted);padding:16px 0 2px}
.crumb a{color:var(--muted)}

@media(max-width:860px){
  .hero2-in{grid-template-columns:1fr;gap:26px;padding:30px 20px 34px}
  .hero2 h1{font-size:1.95rem;max-width:none}
  .htrust{grid-template-columns:1fr;max-width:none;gap:8px}
  .hbyline{width:100%}
}
@media(max-width:520px){
  .hero2 h1{font-size:1.7rem}
  .epick-specs{grid-template-columns:1fr 1fr 1fr}
  .hbyl-meta{display:none}
}
/* prevent long dated H1 from clipping on narrow screens */
.hero2 h1{overflow-wrap:anywhere;word-break:break-word;hyphens:auto}

/* ============================================================
   MOBILE above-the-fold: H1 + author + updated date, then the
   affiliate table + its H2. Hide sub/bullets/pick-card/crumb.
   ============================================================ */
@media(max-width:600px){
  .hero2::after{display:none}
  .hero2-in{padding:18px 20px 20px;gap:14px}
  .hero2 .eyebrow2{display:none}
  .hero2 .hlead{display:none}
  .hero2 .htrust{display:none}
  .hero2 .epick{display:none}          /* #1 pick already appears as row 1 of the table */
  .crumb{display:none}
  .hero2 h1{font-size:1.55rem;margin:0 0 12px;overflow-wrap:anywhere}
  /* compact byline: photo + name + "Mise à jour <date>" */
  .hbyline{width:auto;padding:8px 12px;gap:10px}
  .hav{width:36px;height:36px}
  .hbyl-id span{display:none}          /* hide role */
  .hbyl-meta{display:flex;border-left:1px solid rgba(255,255,255,.18);padding-left:12px}
  .hbyl-meta span{display:none}        /* hide reviewer line, keep update date */
  /* pull the table + its H2 up */
  main{padding-top:12px}
  .tl-wrap{margin-top:0}
  .tl-head{margin:0 0 10px}
  .tl-head h2{font-size:1.15rem}
  .tl-head .meta{display:none}
}

/* RG header bar — always one line; scrolling ticker when it would wrap */
.head-rg{overflow:hidden;white-space:nowrap}
.rg-track{display:inline-block;white-space:nowrap}
@media(max-width:820px){
  .head-rg{text-align:left}
  .rg-track{animation:rgticker 24s linear infinite;will-change:transform}
}
@keyframes rgticker{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}
.rg-track:hover{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
  .rg-track{animation:none!important}
  .head-rg{white-space:normal}
}

/* RG ticker v2 — seamless: text visible immediately, no empty gap */
.rg-seg{display:inline-block;white-space:nowrap}
.rg-seg + .rg-seg{display:none}                 /* desktop: single, centered, static */
@media(max-width:820px){
  .head-rg{text-align:left}
  .rg-seg{padding-right:3.5rem}
  .rg-seg + .rg-seg{display:inline-block}       /* mobile: duplicate for seamless loop */
  .rg-track{animation:rgloop 34s linear infinite;will-change:transform}
}
@keyframes rgloop{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.rg-track:hover{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
  .rg-track{animation:none!important}
  .head-rg{white-space:normal}
  .rg-seg + .rg-seg{display:none}
}

/* ============================================================
   Nested navigation — dropdowns (desktop) / accordion (mobile)
   ============================================================ */
.mainnav{margin-left:auto;display:block}
.nav-l1{list-style:none;display:flex;gap:2px;margin:0;padding:0}
.nav-item{position:relative}
.nav-a{display:inline-block;color:#cdd6e6;font-size:.92rem;font-weight:600;padding:8px 10px;border:0;border-radius:8px}
.nav-a:hover,.nav-a.on{color:#fff;text-decoration:none}
.nav-caret{display:none}
.submenu{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:0;min-width:236px;
  background:#16233c;border:1px solid #26344f;border-radius:10px;box-shadow:0 18px 44px rgba(0,0,0,.4);
  display:none;z-index:60}
.nav-item:hover>.submenu,.nav-item:focus-within>.submenu{display:block}
.submenu li a{display:block;padding:9px 16px;color:#cdd6e6;font-size:.9rem;font-weight:500;white-space:nowrap;border:0}
.submenu li a:hover{background:#1f2f4d;color:#fff;text-decoration:none}

@media(max-width:860px){
  .nav-toggle{display:block}
  .mainnav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy2);
    max-height:78vh;overflow-y:auto;padding:6px 0;box-shadow:0 22px 44px rgba(0,0,0,.45)}
  .mainnav.open{display:block}
  .nav-l1{flex-direction:column;gap:0}
  .nav-item{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid #22304d}
  .nav-a{flex:1;min-width:0;padding:13px 20px;border:0;border-radius:0}
  .nav-caret{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;
    color:#aebbd0;padding:13px 20px;cursor:pointer;transition:transform .15s}
  .nav-item.open>.nav-caret{transform:rotate(180deg)}
  .submenu{position:static;display:none;min-width:0;width:100%;background:#101b30;border:0;
    box-shadow:none;border-radius:0;padding:0}
  .nav-item.open>.submenu{display:block}
  .submenu li a{padding:11px 20px 11px 36px;border-top:1px solid #1a2740}
}
