/* senegalbet.net - "le carnet": paper, rules, editorial French.
   Numbered sections and hairline rules instead of card grids. */
:root{
  --bg:#FAF7F2; --surface:#FFFFFF; --card:#FFFFFF; --text:#201C18; --muted:#6A6058;
  --accent:#C2542E; --accent2:#6B7A5A; --border:rgba(32,28,24,.16);
  --radius:2px; --rule:rgba(32,28,24,.24);
  --sans:"Palatino Linotype",Palatino,"Iowan Old Style",Georgia,serif;
  --display:var(--sans);
}
body{background:var(--bg);color:var(--text);font-size:17px;line-height:1.72}
.wrap{max-width:900px}
header.site{background:#FAF7F2;border-bottom:1px solid var(--rule)}
header.site .logo .dot{background:transparent;border:2px solid var(--accent)}
nav.top a{color:var(--muted)}
.hero{padding:44px 0 20px;border-bottom:2px solid var(--rule)}
.hero h1{font-size:clamp(31px,4.4vw,47px);line-height:1.08;letter-spacing:-.015em;font-weight:600}
.hero p.lead{font-size:18.5px;color:#3B342E;max-width:66ch}
.pill{background:transparent;border:0;border-left:3px solid var(--accent);border-radius:0;
  color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;font-weight:700;padding:2px 0 2px 9px}
h2{font-size:26px;font-weight:600;letter-spacing:-.01em;margin:44px 0 8px;padding-bottom:9px;
  border-bottom:1px solid var(--rule);counter-increment:sec}
h2::before{content:counter(sec) ". ";color:var(--accent);font-variant-numeric:tabular-nums}
section{counter-reset:sec}
h3{font-size:19px;font-weight:600}
.card{background:transparent;border:0;border-top:1px solid var(--rule);border-radius:0;padding:16px 0}
.card p{color:var(--muted)}
.card.link:hover{background:rgba(194,84,46,.05);transform:none;border-top-color:var(--accent)}
.grid{gap:0 34px}
.calc{background:#FFFFFF!important;border:1px solid var(--border);border-left:3px solid var(--accent);padding:20px}
input,select{background:#fff;border:1px solid var(--border);border-radius:0;color:var(--text)}
button{background:var(--accent);color:#FFF9F5;border-radius:0;font-family:var(--sans);font-weight:600}
button.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.out .big{font-size:32px;font-weight:600;color:#201C18}
table th{background:#F1ECE4;color:var(--text);font-weight:600;letter-spacing:.03em}
table td,table th{border-bottom:1px solid var(--rule)}
tbody tr:nth-child(even){background:#F6F2EB}
code{background:#F1ECE4;border:1px solid var(--border)}
details{border-bottom:1px solid var(--rule);padding:14px 0}
details summary{font-weight:600;color:var(--accent)}
footer.site{background:#F1ECE4;border-top:2px solid var(--rule)}
.rg{background:#FFFFFF}
