:root{--cream:#fbf6e9;--paper:#fffdf7;--earth:#6b4f2a;--earth-d:#4e3a1f;--sage:#8a9a73;--sage-d:#5d6b4b;--sage-l:#e6ead9;--ink:#2b2418;--muted:#6a5f4d;--line:#e3d9c2;--serif:Lora,Georgia,"Times New Roman",serif;--sans:"Nunito Sans",Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.7 var(--sans)}
a{color:var(--earth);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--earth-d)}
img{max-width:100%}

.sn-top{background:var(--paper);border-bottom:1px solid var(--line)}
.sn-top-in{max-width:1080px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sn-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--earth-d);font:700 17px/1 var(--serif)}
.sn-brand img{display:block;width:34px;height:34px}
.sn-nav{display:flex;gap:16px;font-size:14px;white-space:nowrap}
.sn-nav a{color:var(--muted);text-decoration:none}
.sn-nav a[aria-current]{color:var(--ink);font-weight:700;box-shadow:inset 0 -2px 0 var(--sage)}

.sn-main{max-width:740px;margin:0 auto;padding:22px 16px 40px;counter-reset:ch}
h1,h2,h3{font-family:var(--serif);color:var(--ink);line-height:1.25}
h1{font-size:34px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em}
h2{font-size:27px;font-weight:700;margin:0 0 16px}
h3{font-size:20px;font-weight:700;margin:28px 0 8px;color:var(--earth-d)}
p{margin:0 0 16px}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin:0 0 8px}
.sn-intro{font-size:17px;margin:0 0 10px}
.sn-intro strong{color:var(--earth-d)}

.sn-by{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.sn-by img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--sage-l)}
.sn-by p{margin:0;font-size:13.5px;line-height:1.4;color:var(--muted)}
.sn-by b{color:var(--ink)}
.sn-disc{font-size:13px;line-height:1.5;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 0;margin:0 0 12px}
.sn-disc b{color:var(--ink)}

.sn-board{margin:0 0 20px}
.sn-rows{list-style:none;margin:0;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:6px}
.sn-rows li{margin:0;border-top:1px solid var(--line)}
.sn-rows li:first-child{border-top:0}
.sn-row{display:grid;grid-template-columns:34px 74px 1fr auto;align-items:center;gap:14px;padding:10px 14px;text-decoration:none;color:var(--ink)}
.sn-row:hover{background:#f6efdc;color:var(--ink)}
.sn-row:focus-visible{outline:3px solid var(--sage);outline-offset:-3px}
.sn-rank{font:italic 500 22px/1 var(--serif);color:var(--sage-d)}
.sn-logo{width:74px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:4px;background:#fff;overflow:hidden}
.sn-logo img{width:100%;height:100%;object-fit:contain;padding:3px}
.sn-logo-txt{font:800 11px/1.1 var(--sans);text-align:center;padding:3px;color:var(--ink)}
.sn-id{display:flex;flex-direction:column;min-width:0}
.sn-name{font:700 18px/1.2 var(--serif)}
.sn-chips{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:3px}
.sn-chip{font-size:12.5px;line-height:1.3;color:var(--sage-d);background:var(--sage-l);border-radius:3px;padding:1px 6px}
.sn-chip span{font-weight:700}
.sn-cta{font:800 13.5px/1 var(--sans);letter-spacing:.03em;color:#fff;background:var(--earth);border-radius:4px;padding:11px 16px;white-space:nowrap}
.sn-row:hover .sn-cta{background:var(--earth-d)}
.sn-board-note{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0 0}

.sn-help{background:var(--sage-l);border-left:5px solid var(--sage-d);padding:14px 18px;margin:0 0 28px;border-radius:0 6px 6px 0}
.sn-help-t{font:700 19px/1.3 var(--serif);margin:0 0 6px;color:var(--ink)}
.sn-help p:last-child{margin:0}
.sn-tel{font-weight:800;white-space:nowrap}

.sn-toc{border-top:3px double var(--earth);border-bottom:1px solid var(--line);padding:12px 0 4px;margin:0 0 8px}
.sn-toc p{font:800 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-d);margin:0 0 10px}
.sn-toc ol{columns:2;column-gap:28px;font-size:14.5px;line-height:1.4;padding-left:20px}
.sn-toc li{break-inside:avoid;margin:0 0 6px}
.sn-toc a{text-decoration:none;color:var(--ink)}
.sn-toc a:hover{text-decoration:underline}

.sn-ch{counter-increment:ch;margin-top:56px;padding-top:34px;border-top:1px solid var(--line)}
.sn-ch h2::before{content:"Chapitre " counter(ch,decimal-leading-zero);display:block;font:800 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage-d);margin:0 0 10px}
.sn-faq h2::before{content:"Pour finir"}
.sn-lede{font-size:18.5px;line-height:1.65}
.sn-lede::first-letter{float:left;font:700 58px/.9 var(--serif);color:var(--earth);margin:6px 10px 0 0}

.sn-pull{margin:30px 0;padding:22px 8px 18px;border-top:2px solid var(--earth);border-bottom:2px solid var(--earth);text-align:center;position:relative}
.sn-pull::before{content:"\201C";position:absolute;top:-24px;left:50%;transform:translateX(-50%);background:var(--cream);padding:0 10px;font:700 52px/1 var(--serif);color:var(--sage)}
.sn-pull p{margin:0;font:italic 500 23px/1.45 var(--serif);color:var(--earth-d)}

.sn-go{display:inline-block;margin-left:4px;font-weight:800;white-space:nowrap}

.sn-scroll{overflow-x:auto;margin:0 0 18px}
.sn-tbl{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;background:var(--paper)}
.sn-tbl th,.sn-tbl td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
.sn-tbl thead th{font:700 15px/1.3 var(--serif);color:var(--earth-d);border-bottom:2px solid var(--earth)}
.sn-tbl tbody th{font-weight:700;width:30%}

.sn-quiz{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:18px 18px 8px;margin:0 0 22px}
.sn-quiz-head{font:800 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage-d);margin:0 0 12px}
.sn-quiz ol{padding-left:22px;margin:0 0 12px}
.sn-quiz li{margin:0 0 12px;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.sn-quiz li p{margin:0 0 6px;font-size:16px;line-height:1.5}
.sn-yn{display:flex;gap:10px}
.sn-yn label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:4px 14px;font-size:15px;cursor:pointer;background:#fff}
.sn-yn label:has(input:checked){border-color:var(--sage-d);background:var(--sage-l);font-weight:700}
.sn-quiz-btn{font:800 15px/1 var(--sans);color:#fff;background:var(--sage-d);border:0;border-radius:4px;padding:12px 20px;cursor:pointer;margin:0 0 14px}
.sn-quiz-btn:hover{background:var(--ink)}
.sn-quiz-out{border-top:2px solid var(--sage);padding:12px 0 4px;outline:0}
.sn-quiz-t{font:700 18px/1.3 var(--serif);margin:0 0 6px}
.sn-quiz-links{list-style:none;padding:0;margin:0 0 10px;font-weight:700}
.sn-quiz-links li{border:0;padding:0;margin:0 0 4px}

.sn-legal{font-size:14.5px;line-height:1.6;background:var(--paper);border:1px solid var(--line);padding:12px 16px;border-radius:6px}
.sn-legal p{margin:0}

.sn-author{display:flex;gap:16px;align-items:center;margin:56px 0 0;padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:6px}
.sn-author img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none}
.sn-author p{margin:0;font-size:15px;line-height:1.55}

.sn-faq-i{padding:4px 0 2px;border-bottom:1px solid var(--line)}
.sn-faq-i h3{margin:18px 0 6px;font-size:19px}

.sn-foot{background:var(--ink);color:#e9e1cf;margin-top:40px}
.sn-foot-in{max-width:740px;margin:0 auto;padding:26px 16px;font-size:13.5px;line-height:1.6}
.sn-foot a{color:#f2e3bd}
.sn-foot-brand{font:700 19px/1 var(--serif);margin:0 0 12px}
.sn-foot-brand a{text-decoration:none}

@media (max-width:640px){
  body{font-size:16px}
  .sn-top-in{padding:6px 16px}
  .sn-brand{font-size:15px;gap:8px}
  .sn-brand img{width:30px;height:30px}
  .sn-nav{gap:10px;font-size:12.5px}
  .sn-main{padding-top:14px}
  h1{font-size:25px}
  h2{font-size:23px}
  .sn-intro{font-size:15.5px;line-height:1.55}
  .sn-disc{font-size:12px}
  .sn-row{grid-template-columns:22px 62px 1fr auto;gap:9px;padding:9px 10px}
  .sn-rank{font-size:17px}
  .sn-logo{width:62px;height:38px}
  .sn-name{font-size:16px}
  .sn-cta{padding:10px 11px;font-size:12.5px}
  .sn-toc ol{columns:1}
  .sn-lede{font-size:17px}
  .sn-pull p{font-size:20px}
  .sn-author{flex-direction:column;align-items:flex-start}
}
