/* Le Rassemblement — "issued sheet / stamp" design system.
   Palette: warm paper base · deep teal structure · ochre stamps · burnt-orange CTA. */
*,*::before,*::after{box-sizing:border-box}
:root{
--bg:#fbfaf5;--surface:#f1eee2;--ink:#20241f;--muted:#5e685a;
--line:#d9d3c1;--brand:#15564e;--brand-dk:#0f423b;--ochre:#b9822b;--gold:#f2c14e;--sepia:#7a6a4f;
--navbg:#fffefb;--navtext:#20241f;
--cta:#df5b28;--cta-dk:#b5431a;
}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;line-height:1.66;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--brand)}
h1,h2,h3,h4{font-family:'Gabarito',system-ui,sans-serif;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(1.65rem,3vw,2.3rem);font-weight:900;letter-spacing:-.02em}
h2{font-size:clamp(1.35rem,2.6vw,1.95rem);font-weight:800}
h3{font-size:1.18rem;font-weight:700}
h4{font-size:1rem;font-weight:700}
.st-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
section{padding:52px 0}
.st-mono{font-family:'Reddit Mono',ui-monospace,monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}

/* nav */
.st-nav{background:var(--navbg);border-bottom:1px solid var(--line);box-shadow:0 3px 0 var(--brand);position:sticky;top:0;z-index:50}
.st-navin{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;padding:8px 20px}
.st-logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--navtext);font-weight:800}
.st-logomark{background:var(--brand);color:#fff;width:34px;height:34px;display:grid;place-items:center;
font-family:'Gabarito',sans-serif;font-weight:900;font-size:.9rem}
.st-logotxt{font-family:'Gabarito',sans-serif;font-size:1.12rem}
.st-logotxt em{font-style:normal;color:var(--ochre)}
.st-links{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.st-links>li{position:relative}
.st-links>li>a{display:block;color:var(--navtext);text-decoration:none;font-size:.82rem;font-weight:600;white-space:nowrap;padding:18px 10px}
.st-links>li>a:hover{color:var(--brand)}
.st-links .st-car{font-size:.6rem;color:var(--muted)}
.st-links>li:hover>a{color:var(--brand)}
.st-links>li:hover>a .st-car{color:var(--brand)}
/* dropdown */
.st-sub{position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid var(--line);
border-top:3px solid var(--brand);box-shadow:6px 8px 0 rgba(32,36,31,.1);list-style:none;margin:0;padding:6px 0;
display:none;z-index:60}
.st-links>li:hover>.st-sub,.st-links>li:focus-within>.st-sub{display:block}
.st-sub li a{display:block;padding:9px 16px;color:var(--ink);text-decoration:none;font-size:.85rem;font-weight:500;white-space:nowrap}
.st-sub li a:hover{background:var(--surface);color:var(--brand)}
.st-burger{display:none}
.st-burger>summary{list-style:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.st-burger>summary::-webkit-details-marker{display:none}
.st-bars,.st-bars::before,.st-bars::after{content:"";display:block;width:22px;height:2px;background:var(--ink);position:relative}
.st-bars::before{position:absolute;top:-7px}.st-bars::after{position:absolute;top:7px}
.st-panel{position:absolute;right:14px;top:52px;background:#fff;border:2px solid var(--ink);padding:6px;min-width:280px;
max-height:78vh;overflow-y:auto;z-index:60;box-shadow:6px 6px 0 rgba(32,36,31,.14)}
.st-macc{border-bottom:1px solid var(--line)}
.st-macc>summary{list-style:none;cursor:pointer;padding:11px 14px;font-family:'Gabarito',sans-serif;font-weight:700;
font-size:.95rem;display:flex;justify-content:space-between;align-items:center}
.st-macc>summary::-webkit-details-marker{display:none}
.st-macc>summary::after{content:"+";color:var(--ochre);font-weight:800}
.st-macc[open]>summary::after{content:"–"}
.st-macc>a{display:block;padding:8px 22px;color:var(--ink);text-decoration:none;font-size:.86rem}
.st-macc>a:hover{background:var(--surface);color:var(--brand)}
.st-macc>a strong{color:var(--brand)}

/* hero — coloured band for contrast + pop */
.st-hero{position:relative;overflow:hidden;text-align:center;padding:26px 0 42px;
background:linear-gradient(155deg,#1a7768 0%,#134f45 58%,#0d3b34 100%);color:#fff;
border-bottom:4px solid var(--ochre)}
/* soft top glow */
.st-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
background:radial-gradient(1100px 260px at 50% -70px,rgba(255,255,255,.14),transparent 70%)}
/* faint dotted texture, on-theme */
.st-hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
background:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px) 0 0/16px 16px}
.st-hero>.st-wrap{position:relative;z-index:1}
.st-crumbs{font-family:'Reddit Mono',ui-monospace,monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:14px}
.st-crumbs a{color:rgba(255,255,255,.62);text-decoration:none}
.st-sheet{font-family:'Reddit Mono',ui-monospace,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
color:rgba(255,255,255,.85);border-top:2px solid rgba(255,255,255,.4);border-bottom:2px solid rgba(255,255,255,.4);padding:6px 0;margin:0 auto 14px;
max-width:640px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.st-sheet span:nth-child(3){color:var(--gold, #f2c14e)}
.st-h1wrap{max-width:900px;margin:0 auto}
.st-hero h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.22)}
.st-byline{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin:14px 0 4px;
background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.2);border-radius:40px;padding:5px 14px 5px 5px}
.st-byavatar,.st-authoravatar{background:var(--brand);color:#fff;border-radius:50%;display:grid;place-items:center;
font-family:'Gabarito',sans-serif;font-weight:800;flex-shrink:0}
.st-byavatar{width:34px;height:34px;font-size:.8rem;border:2px solid var(--ochre);box-shadow:0 2px 6px rgba(0,0,0,.3)}
img.st-byavatar{object-fit:cover}
img.st-authoravatar{object-fit:cover;object-position:center top}
.st-bytext{font-size:.8rem;color:rgba(255,255,255,.85)}
.st-bytext a{color:#fff;font-weight:600;text-decoration:underline}
.st-lede{font-size:1.05rem;color:var(--muted);margin:0 auto;max-width:88ch}
.st-hero .st-lede{color:rgba(255,255,255,.92);margin-top:10px}
.st-more{display:none;background:none;border:0;padding:0;margin-left:5px;color:var(--brand);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.st-hero .st-more{color:var(--gold, #f2c14e)}
.st-ledemore{display:inline}
/* stamp + trust pop harder on the coloured band */
.st-hero .st-stamp{box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 0 6px #fff,0 0 0 7px var(--line)}
.st-hero .st-trust li{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:rgba(255,255,255,.88)}
.st-hero .st-trust li a{color:#fff}

/* editor stamp */
.st-stamp{margin:16px auto 0;max-width:800px;background:#fff;border:1px solid var(--line);padding:12px 16px;position:relative;
text-align:left;display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto;align-items:center;gap:14px;
box-shadow:0 0 0 6px #fff,0 0 0 7px var(--line)}
.st-stamp::before,.st-stamp::after{content:"";position:absolute;left:-8px;right:-8px;height:6px;
background:radial-gradient(circle at 6px 0,transparent 0 5px,#fff 5px) 0 0/12px 6px repeat-x}
.st-stamp::before{top:-8px}.st-stamp::after{bottom:-8px;transform:rotate(180deg)}
.st-stamphead{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.st-stamplabel{color:var(--muted)}
.st-denom{font-family:'Gabarito',sans-serif;font-weight:900;font-size:1.2rem;color:var(--ochre);line-height:1}
.st-cancel{font-family:'Reddit Mono',monospace;font-size:.46rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
border:2px solid var(--brand);color:var(--brand);border-radius:50%;width:62px;height:62px;display:flex;align-items:center;
justify-content:center;text-align:center;padding:6px;transform:rotate(-9deg);flex-shrink:0;line-height:1.2;margin-top:4px}
.st-stampplate{background:#fff;border:1px solid var(--line);height:54px;width:64px;display:flex;align-items:center;justify-content:center}
.st-stampname{font-family:'Gabarito',sans-serif;font-weight:900;font-size:1.15rem;white-space:nowrap}
.st-stampbonus{font-size:.92rem;color:var(--muted)}
.st-stampcta{display:block;text-align:center;white-space:nowrap;background:var(--cta);color:#fff;text-decoration:none;
font-weight:700;font-size:.86rem;padding:13px 20px;min-height:44px}
.st-stampcta:hover{background:var(--cta-dk)}
.st-trust{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 0;padding:0;list-style:none}
.st-trust li{font-family:'Reddit Mono',monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
border:1px solid var(--line);background:var(--surface);padding:5px 9px;color:var(--muted)}
.st-trust a{color:var(--muted)}

/* toplist */
#toplist{padding-top:16px}
.st-filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px;padding:0;list-style:none}
.st-chip{font-family:'Reddit Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
border:2px solid var(--line);background:#fff;color:var(--muted);padding:7px 12px;cursor:pointer;white-space:nowrap}
.st-chip[aria-pressed="true"]{background:var(--brand);color:#fff;border-color:var(--brand)}
.st-toplist{display:block}
.st-strip{display:grid;grid-template-columns:74px 70px minmax(0,1fr) 210px 168px;align-items:center;gap:16px;
background:#fff;border:1px solid var(--line);padding:14px 16px;margin-bottom:14px;position:relative}
.st-strip::before,.st-strip::after{content:"";position:absolute;left:0;right:0;height:6px;
background:radial-gradient(circle at 6px 0,transparent 0 5px,#fff 5px) 0 0/12px 6px repeat-x;pointer-events:none}
.st-strip::before{top:-3px}.st-strip::after{bottom:-3px;transform:rotate(180deg)}
.st-strip[hidden]{display:none!important}
.st-first{border:2px solid var(--brand);background:var(--surface)}
.st-den{background:var(--ochre);color:#fff;text-align:center;padding:10px 4px;align-self:stretch;
display:flex;flex-direction:column;justify-content:center}
.st-first .st-den{background:var(--brand)}
.st-dennum{font-family:'Gabarito',sans-serif;font-weight:900;font-size:1.45rem;line-height:1}
.st-denlab{font-family:'Reddit Mono',monospace;font-size:.46rem;letter-spacing:.12em;text-transform:uppercase;opacity:.9;margin-top:3px}
.st-plate{background:#fff;border:1px solid var(--line);height:62px;display:flex;align-items:center;justify-content:center}
.st-meta .st-name{font-family:'Gabarito',sans-serif;font-weight:800;font-size:1.06rem;margin:0}
.st-tag{font-size:.8rem;color:var(--muted);margin:2px 0 0}
.st-badge{display:inline-block;font-family:'Reddit Mono',monospace;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;
border:1px solid var(--brand);color:var(--brand);padding:3px 7px;margin-bottom:4px}
.st-bonus{font-family:'Gabarito',sans-serif;font-weight:700;font-size:.95rem;line-height:1.35;
border-top:2px dotted var(--line);border-bottom:2px dotted var(--line);padding:6px 0}
.st-cta{display:block;text-align:center;background:var(--cta);color:#fff;text-decoration:none;font-weight:700;font-size:.88rem;padding:13px 12px;min-height:44px}
.st-cta:hover{background:var(--cta-dk)}
.st-terms{display:block;text-align:center;font-size:.6rem;color:var(--muted);margin-top:4px}
.st-loadwrap{text-align:center;margin-top:6px}
.st-load{font-family:'Reddit Mono',monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;
background:var(--ink);border:2px solid var(--ink);color:#fff;padding:12px 26px;cursor:pointer;min-height:44px}
.st-load[hidden],.st-empty[hidden]{display:none!important}
.st-empty{color:var(--muted);font-size:.9rem;padding:14px 0}
.offers-note{font-size:.75rem;color:var(--muted);font-style:italic;margin-top:2px}

/* body prose */
.st-body{padding:34px 0}
.st-content{max-width:100%}
.st-prose{max-width:74ch}
.st-content>section{padding:26px 0;border-top:1px solid var(--line)}
.st-content>section:first-child{border-top:0;padding-top:0}
.st-content .lead,.st-lede.st-prose{font-size:1.06rem}
.st-content p{margin:0 0 1.05em;max-width:76ch}
.st-content ul,.st-content ol{margin:0 0 1.05em;padding-left:1.2em;max-width:76ch}
.st-content li{margin-bottom:.4em}
.st-content h2{margin-top:.2em}
/* cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:100%}
.card{border:1px solid var(--line);background:#fff;padding:16px}
.card h3{margin-top:0}
.tlink{font-weight:700}
/* comparison tables (content) */
.table-wrap{overflow-x:auto}
table.cmp{width:100%;border-collapse:collapse;font-size:.9rem;margin:.6em 0}
table.cmp th,table.cmp td{border:1px solid var(--line);padding:9px 11px;text-align:left}
table.cmp thead th{background:var(--brand);color:#fff;font-family:'Reddit Mono',monospace;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase}
table.cmp tbody tr:nth-child(even){background:var(--surface)}
/* reviews */
.st-reviews{display:block}
.st-rev{background:#fff;border:1px solid var(--line);padding:22px;margin-bottom:20px;position:relative}
.st-rev::before{content:"";position:absolute;left:0;right:0;top:-3px;height:6px;
background:radial-gradient(circle at 6px 0,transparent 0 5px,#fff 5px) 0 0/12px 6px repeat-x}
.st-revhead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.st-revplate{background:#fff;border:1px solid var(--line);height:56px;width:66px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.st-revhead h3{margin:0}
.st-revlic{font-size:.74rem;color:var(--muted);margin:2px 0 0}
.rnum{color:var(--muted);font-size:.82rem}
.st-pc{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}
.st-pc h4{font-family:'Reddit Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;color:var(--muted)}
.st-pc ul{margin:0;padding-left:1.1em;font-size:.92rem}
.st-revcta,.st-tcta{display:inline-block;background:var(--cta);color:#fff;text-decoration:none;font-weight:700;padding:13px 22px;min-height:44px;font-size:.9rem}
.st-revcta:hover,.st-tcta:hover{background:var(--cta-dk)}
.cta-note{font-size:.7rem;color:var(--muted);margin-left:10px}
/* faq */
.st-faq{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.st-faq li{background:#fff;border:1px solid var(--line);padding:16px 18px 16px 22px;position:relative}
.st-faq li::before{content:"";position:absolute;left:-3px;top:0;bottom:0;width:6px;
background:radial-gradient(circle at 0 6px,transparent 0 5px,var(--ochre) 5px) 0 0/6px 12px repeat-y}
.st-faq h3{margin:0 0 5px;font-size:1.04rem}
.st-faq p{margin:0;color:var(--muted);font-size:.95rem}
/* rg */
.st-alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.st-rg{max-width:800px;margin:0 auto}
.st-rg h2{margin-top:0}
.st-rglist{list-style:none;padding:0;margin:.6em 0}
.st-rglist li{padding:5px 0;border-bottom:1px dotted var(--line)}
.st-rgage{font-size:.8rem;color:var(--muted)}
/* author */
/* polished author cards — shared by /auteurs/ and article footer box */
.author,.st-author{position:relative;display:flex;gap:24px;align-items:flex-start;background:#fff;
border:1px solid var(--line);padding:26px 24px;box-shadow:6px 8px 0 rgba(32,36,31,.08);max-width:900px}
.author::before,.st-author::before{content:"";position:absolute;left:0;right:0;top:-3px;height:6px;
background:radial-gradient(circle at 6px 0,transparent 0 5px,#fff 5px) 0 0/12px 6px repeat-x}
.author-figure{position:relative;flex-shrink:0;padding:6px;background:#fff;border:1px solid var(--line);
box-shadow:0 0 0 4px #fff,0 0 0 5px var(--line)}
.author-photo,img.st-authoravatar{display:block;width:118px;height:146px;object-fit:cover;object-position:center top}
.st-authoravatar{width:118px;height:146px;border-radius:0;font-size:1.7rem}
.author-stamp{position:absolute;right:-15px;bottom:-15px;width:54px;height:54px;border-radius:50%;
background:var(--ochre);color:#fff;font-family:'Reddit Mono',monospace;font-size:.5rem;font-weight:600;
letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;text-align:center;
border:3px solid #fff;transform:rotate(-10deg);box-shadow:0 1px 5px rgba(0,0,0,.22)}
.author-kicker{font-family:'Reddit Mono',monospace;font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;
color:var(--muted);display:block;margin-bottom:3px}
.author-body h2,.st-author h3{margin:0 0 .18em;font-size:1.3rem}
.author-role{display:inline-block;font-family:'Reddit Mono',monospace;font-size:.58rem;letter-spacing:.08em;
text-transform:uppercase;background:var(--surface);border:1px solid var(--line);color:var(--brand);padding:4px 10px;margin-bottom:.7em}
.author-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:.8em 0 0;padding:0}
.author-tags li{font-family:'Reddit Mono',monospace;font-size:.55rem;letter-spacing:.05em;text-transform:uppercase;
border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:4px 8px}
/* contact form */
.contact-form{display:grid;gap:10px;max-width:460px}
.contact-form input,.contact-form textarea{width:100%;padding:9px;border:1px solid var(--line);font:inherit}
.btn-secondary{background:var(--brand);color:#fff;border:0;font-weight:700;padding:12px 20px;cursor:pointer;font-size:.9rem}
.op-facts ul{margin:.4em 0}
.authors{display:grid;gap:22px}
.arole{color:var(--ochre);font-weight:700;margin:.1em 0 .4em}
@media(max-width:560px){
 .author,.st-author{flex-direction:column;align-items:center;text-align:center}
 .author-tags{justify-content:center}
 .author-stamp{right:-10px}
}
/* footer */
.st-foot{background:var(--surface);border-top:5px solid var(--brand);padding:44px 0 26px}
.st-footgrid{display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:24px;align-items:start}
.st-footbrand{grid-column:1}
.st-footbrand p{font-size:.86rem;color:var(--muted);margin:12px 0}
.st-footlogo{display:flex;align-items:center;gap:9px}
.st-foot h4{font-family:'Reddit Mono',monospace;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.st-foot a{color:var(--ink);text-decoration:none;font-size:.88rem;display:block;padding:3px 0}
.st-foot a:hover{text-decoration:underline;color:var(--brand)}
.st-legal{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:.78rem;color:var(--muted)}
/* chips (brand monogram) + real logos */
.chip{display:inline-grid;place-items:center;width:38px;height:38px;color:#fff;font-family:'Gabarito',sans-serif;font-weight:800;font-size:.85rem}
.chip.big{width:48px;height:48px;font-size:1rem}
.brandlogo{max-height:38px;max-width:100%;width:auto;object-fit:contain;display:block}
.brandlogo.big{max-height:48px}
.st-plate .brandlogo,.st-revplate .brandlogo,.st-stampplate .brandlogo{max-height:46px;padding:2px}

/* responsive */
@media(max-width:980px){
  .st-strip{grid-template-columns:70px 64px minmax(0,1fr);row-gap:12px}
  .st-strip .st-bonus{grid-column:1/-1}
  .st-strip .st-ctawrap{grid-column:1/-1}
  .st-footgrid{grid-template-columns:1fr 1fr 1fr}
  .cards3{grid-template-columns:1fr}
}
@media(max-width:860px){
  .st-links{display:none}
  .st-burger{display:block;position:relative}
  .st-sheet span:nth-child(3),.st-sheet span:nth-child(4){display:none}
  .st-stamp{display:none}
  .st-trust li:nth-child(2),.st-trust li:nth-child(3){display:none}
  .st-lede .st-ledemore{display:none}
  .st-lede.st-open .st-ledemore{display:inline}
  .st-more{display:inline-block}
  .st-filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .st-filters::-webkit-scrollbar{display:none}
  .st-chip{flex:0 0 auto}
  section{padding:36px 0}
  .st-pc{grid-template-columns:1fr}
  .st-author{flex-direction:column;align-items:center;text-align:center}
  .st-footgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  body{font-size:16px}
  .st-strip{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:10px 12px}
  .st-den{width:100%;flex-direction:row;gap:6px;align-items:baseline;justify-content:center;padding:4px}
  .st-dennum{font-size:1rem}.st-denlab{margin-top:0}
  .st-plate{width:120px;height:46px}
  .st-meta,.st-bonus,.st-ctawrap{width:100%}
  .st-bonus{text-align:center}
  .st-cta{padding:12px}
  .st-revhead{justify-content:center;text-align:center}
  .st-footgrid{grid-template-columns:1fr}
}
