/* La Compta Pratique — identité issue du livre : vert sapin, crème, réglure de registre */
:root{
  --sapin:#134A2E; --sapin-fonce:#0E3822; --creme:#F6F2E6;
  --vert-clair:#B8D1B8; --encre:#212121; --papier:#FDFCF8;
  --regle:#DCD6C4; --marge:#C86A5A;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:'Public Sans',system-ui,sans-serif;color:var(--encre);background:var(--papier);line-height:1.65;font-size:17px}
a{color:var(--sapin)}
a:focus-visible,button:focus-visible{outline:3px solid var(--sapin);outline-offset:2px}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}

/* ---- header ---- */
header{background:var(--sapin);color:#fff}
header .wrap{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;flex-wrap:wrap;gap:8px}
.marque{font-family:'Archivo',sans-serif;font-weight:800;letter-spacing:.06em;font-size:15px;color:#fff;text-decoration:none}
nav a{color:var(--creme);text-decoration:none;margin-left:22px;font-size:15px}
nav a:hover{text-decoration:underline}

/* ---- héros réglé comme une page de registre ---- */
.hero{
  background:
    linear-gradient(to right, transparent 56px, var(--marge) 56px, var(--marge) 58px, transparent 58px),
    repeating-linear-gradient(to bottom, var(--papier) 0, var(--papier) 36px, var(--regle) 36px, var(--regle) 37px);
  border-bottom:3px solid var(--sapin);
  padding:72px 0 60px;
}
.hero h1{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(34px,6vw,58px);line-height:1.08;color:var(--sapin);max-width:15ch}
.hero p.sous{font-size:clamp(17px,2.4vw,21px);margin-top:18px;max-width:52ch}
.hero .tampon{display:inline-block;margin-bottom:22px;border:2px solid var(--sapin);border-radius:6px;padding:6px 14px;font-family:'Spline Sans Mono',monospace;font-size:13px;letter-spacing:.08em;color:var(--sapin);background:var(--papier)}
.cta{display:inline-block;margin-top:28px;background:var(--sapin);color:#fff;text-decoration:none;font-weight:700;padding:14px 26px;border-radius:6px}
.cta:hover{background:var(--sapin-fonce)}
.cta.secondaire{background:transparent;color:var(--sapin);border:2px solid var(--sapin);margin-left:12px}

/* ---- sections ---- */
section{padding:64px 0}
section h2{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(24px,3.6vw,32px);color:var(--sapin);margin-bottom:10px}
section p.intro{max-width:60ch;margin-bottom:34px}
.bande{background:var(--creme)}

/* ---- livre ---- */
.livre{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:start}
.couv{background:var(--sapin);border-radius:4px;aspect-ratio:216/279;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:18px;border:6px solid var(--sapin-fonce);box-shadow:6px 8px 0 rgba(19,74,46,.15)}
.couv .t1{font-family:'Archivo',sans-serif;font-weight:900;font-size:21px;line-height:1.15}
.couv .t2{font-size:12px;margin-top:8px;color:var(--vert-clair)}
.couv .ed{font-family:'Spline Sans Mono',monospace;font-size:10px;border:1px solid var(--creme);border-radius:4px;padding:3px 8px;margin-bottom:14px;color:var(--creme)}
ul.points{list-style:none;margin-top:6px}
ul.points li{padding-left:34px;position:relative;margin-bottom:13px}
ul.points li::before{content:"";position:absolute;left:2px;top:7px;width:14px;height:8px;border-left:3px solid var(--sapin);border-bottom:3px solid var(--sapin);transform:rotate(-45deg)}
.note-dispo{font-family:'Spline Sans Mono',monospace;font-size:13px;color:var(--sapin);margin-top:20px}

/* ---- cartes conseils ---- */
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}
.carte{background:var(--papier);border:1.5px solid var(--regle);border-top:4px solid var(--sapin);border-radius:6px;padding:24px;text-decoration:none;color:var(--encre);display:block}
.carte:hover{border-color:var(--sapin)}
.carte .q{font-family:'Spline Sans Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--marge);text-transform:uppercase}
.carte h3{font-family:'Archivo',sans-serif;font-weight:800;font-size:19px;color:var(--sapin);margin:8px 0 8px}
.carte p{font-size:15px}

/* ---- article ---- */
.article-tete{background:var(--creme);border-bottom:3px solid var(--sapin);padding:52px 0 40px}
.article-tete .q{font-family:'Spline Sans Mono',monospace;font-size:13px;letter-spacing:.06em;color:var(--marge);text-transform:uppercase}
.article-tete h1{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(28px,4.6vw,42px);color:var(--sapin);line-height:1.12;margin-top:8px;max-width:24ch}
article.contenu{max-width:720px;margin:0 auto;padding:52px 20px 30px}
article.contenu h2{font-family:'Archivo',sans-serif;font-weight:800;font-size:23px;color:var(--sapin);margin:38px 0 12px}
article.contenu p{margin-bottom:18px}
article.contenu ul{margin:0 0 18px 22px}
article.contenu li{margin-bottom:8px}
.encadre{background:var(--creme);border-left:4px solid var(--sapin);padding:18px 22px;border-radius:0 6px 6px 0;margin:26px 0}
.encadre strong{color:var(--sapin)}
.partenaire{background:var(--sapin);color:#fff;border-radius:8px;padding:30px;margin:40px 0 10px}
.partenaire h2{color:#fff;font-family:'Archivo',sans-serif;font-size:22px;margin-bottom:10px}
.partenaire p{color:var(--creme)}
.partenaire .cta{background:var(--creme);color:var(--sapin);margin-top:16px}
.partenaire .cta:hover{background:#fff}
.divulgation{font-size:13px;color:#5b5b52;margin-top:14px}
.retour{display:inline-block;margin:10px 0 40px;font-size:15px}

/* ---- pied ---- */
footer{background:var(--sapin-fonce);color:var(--vert-clair);padding:38px 0;font-size:14px}
footer a{color:var(--creme)}
footer .sig{font-family:'Archivo',sans-serif;font-weight:800;color:#fff;letter-spacing:.04em;margin-bottom:8px}

@media(max-width:640px){
  .livre{grid-template-columns:1fr}
  .couv{max-width:220px}
  nav a{margin-left:14px}
  .cta.secondaire{margin-left:0;margin-top:12px}
}
