:root{
  --ink:#10242f;--paper:#f6f4ef;--cream:#fbfaf6;--teal:#15727d;--teal-d:#0e565f;
  --rust:#c25a3c;--grey:#5d6b70;--line:#e0dbcf;
  --red:#b8392c;--red-bg:#fbeae7;--green:#2c7a4b;--green-bg:#e1efe5;--amber:#9c6a16;--amber-bg:#f6ead2;--navy:#0d3b46;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Public Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}
h1,h2,h3,h4{font-family:'Newsreader',serif;font-weight:500;line-height:1.12;letter-spacing:-.01em}
.mono{font-family:'JetBrains Mono',monospace}
a{text-decoration:none;color:inherit}
button{font-family:'Public Sans';cursor:pointer}

/* barre du haut (écran seulement) */
.topbar{position:sticky;top:0;z-index:50;background:rgba(246,244,239,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar-in{max-width:820px;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;height:60px}
.topbar .logo{font-family:'Newsreader';font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:8px}
.topbar .logo .m{width:26px;height:26px;border:2px solid var(--teal);border-radius:6px;display:grid;place-items:center;color:var(--teal);font-size:.66rem;font-weight:700;font-family:'Public Sans'}
.topbar .acts{display:flex;gap:8px}
.topbar button,.topbar a.b{background:#fff;border:1px solid var(--line);color:var(--ink);padding:7px 14px;border-radius:7px;font-weight:600;font-size:.82rem;transition:.18s}
.topbar button:hover,.topbar a.b:hover{border-color:var(--teal);color:var(--teal)}

/* feuille A4 */
.sheet{max-width:820px;margin:24px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:42px 46px;box-shadow:0 14px 40px rgba(13,36,56,.06)}
.fhead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:22px}
.fhead .tier{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 11px;border-radius:20px;margin-bottom:8px}
.tier.vital{background:var(--red-bg);color:var(--red)}
.tier.soins{background:var(--green-bg);color:var(--green)}
.tier.org{background:var(--amber-bg);color:var(--amber)}
.fhead h1{font-size:2.1rem;font-weight:600}
.fhead .sub{color:var(--grey);font-size:.92rem;margin-top:4px}
.fhead .ref{text-align:right;font-size:.72rem;color:var(--grey);flex-shrink:0;line-height:1.5}
.fhead .ref b{color:var(--teal-d);font-family:'Newsreader';font-size:1.05rem;display:block}

/* mnémo bandeau */
.mnemo{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.mnemo .step{flex:1;min-width:120px;background:var(--navy);color:#dfeaec;border-radius:10px;padding:13px 15px}
.mnemo .step .n{font-family:'JetBrains Mono';font-size:.7rem;color:#6fc6d2;letter-spacing:.05em}
.mnemo .step .t{font-family:'Newsreader';font-size:1.25rem;color:#fff;font-weight:600}
.mnemo .step .d{font-size:.78rem;color:#aebfc3;margin-top:2px}

.block{margin-bottom:20px}
.block h2{font-size:1.15rem;font-weight:600;color:var(--teal-d);margin-bottom:10px;display:flex;align-items:center;gap:9px}
.block h2::before{content:"";width:14px;height:14px;background:var(--teal);border-radius:3px;display:inline-block}
ol.steps,ul.steps{list-style:none}
ol.steps{counter-reset:s}
ol.steps li{counter-increment:s;position:relative;padding:8px 0 8px 38px;border-top:1px solid var(--line);font-size:.95rem}
ol.steps li:first-child{border-top:none}
ol.steps li::before{content:counter(s);position:absolute;left:0;top:7px;width:26px;height:26px;background:var(--teal);color:#fff;border-radius:50%;display:grid;place-items:center;font-family:'Newsreader';font-size:.95rem;font-weight:600}
ul.steps li{position:relative;padding:7px 0 7px 22px;border-top:1px solid var(--line);font-size:.95rem}
ul.steps li:first-child{border-top:none}
ul.steps li::before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;background:var(--teal);border-radius:50%}
li b{color:var(--ink)}
li .why{display:block;font-size:.82rem;color:var(--grey);margin-top:1px}
li .mono{font-family:'JetBrains Mono';font-size:.84rem;color:var(--teal-d);font-weight:600}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.chip{background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:8px 13px;font-size:.82rem}
.chip b{font-family:'JetBrains Mono';color:var(--teal-d);display:block;font-size:.8rem;margin-top:1px}

.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.box{border:1px solid var(--line);border-radius:10px;padding:16px 18px;background:var(--cream)}
.box h3{font-size:1rem;font-weight:600;margin-bottom:8px}

.keypoint{border-left:4px solid var(--red);background:var(--red-bg);border-radius:0 8px 8px 0;padding:12px 16px;font-size:.9rem;margin:8px 0;color:#7a2519}
.keypoint b{color:var(--red)}
.pitfall{border-left:4px solid var(--amber);background:var(--amber-bg);border-radius:0 8px 8px 0;padding:12px 16px;font-size:.9rem;margin:8px 0;color:#6e4a0f}
.pitfall b{color:var(--amber)}

/* pied de page : identité ISW + principe de communication freemium */
.foot{margin-top:26px;border-top:2px solid var(--ink);padding-top:18px;display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center}
.foot .brand{font-family:'Newsreader';font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:9px;margin-bottom:6px}
.foot .brand .m{width:26px;height:26px;border:2px solid var(--teal);border-radius:6px;display:grid;place-items:center;color:var(--teal);font-size:.66rem;font-weight:700;font-family:'Public Sans'}
.foot .coords{font-size:.78rem;color:var(--grey);line-height:1.6}
.foot .coords a{color:var(--teal);font-weight:600}
.foot .cta{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.foot .cta .q{font-family:'Newsreader';font-style:italic;color:var(--teal);font-size:.98rem;margin-bottom:8px;line-height:1.3}
.foot .cta a.btn{display:inline-block;background:var(--teal);color:#fff;padding:9px 16px;border-radius:7px;font-weight:600;font-size:.82rem}
.foot .cta a.btn:hover{background:var(--teal-d)}

.legal{max-width:820px;margin:0 auto;padding:6px 46px 40px;font-size:.72rem;color:#9a9484;font-style:italic}

/* IMPRESSION : 1 page propre */
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff}
  .topbar,.legal-screen{display:none!important}
  .sheet{margin:0;border:none;border-radius:0;box-shadow:none;padding:0;max-width:100%}
  .mnemo .step,.foot .cta,.chip,.box,.keypoint,.pitfall,.block h2::before,.foot .brand .m{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .foot .cta a.btn{border:1px solid var(--teal)}
  .legal{padding:8px 0 0}
}
@media(max-width:680px){
  .sheet{padding:28px 22px;margin:14px}
  .cols,.foot{grid-template-columns:1fr}
  .fhead{flex-direction:column}
  .fhead .ref{text-align:left}
  .legal{padding:6px 22px 30px}
}
