/* ═══════════════════════════════════════════════════════════════
   BASE.CSS — Reset & typographie
═══════════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--ff-body);
  font-size:var(--fs-base);
  line-height:var(--lh-body);
  font-feature-settings:"cv11","ss01";
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,video,svg,canvas{display:block;max-width:100%}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:none;background:none}
table{border-collapse:collapse}

h1,h2,h3,h4,h5{
  font-family:var(--ff-display);
  font-weight:600;
  letter-spacing:var(--tr-tight);
  line-height:var(--lh-snug);
  color:var(--text);
  text-wrap:balance;
}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight)}
h2{font-size:var(--fs-h2);line-height:1.06}
h3{font-size:var(--fs-h3);letter-spacing:var(--tr-mid)}
h4{font-size:var(--fs-xl);letter-spacing:var(--tr-mid)}
p{color:var(--text-2);text-wrap:pretty}
strong,b{font-weight:600;color:var(--text)}

/* Mot mis en valeur : trait d'encre sous le mot, pas de gradient */
.mark{
  position:relative;
  color:var(--text);
  white-space:nowrap;
}
.mark::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:.06em;
  height:.085em;
  background:var(--brand);
  border-radius:2px;
  transform:scaleX(0);
  transform-origin:left;
  animation:rule-draw .9s var(--ease) .55s forwards;
}

code,kbd,.mono{
  font-family:var(--ff-mono);
  font-size:.86em;
  letter-spacing:var(--tr-mono);
}
code{
  background:var(--brand-soft);
  border:1px solid var(--brand-line);
  border-radius:var(--r-xs);
  padding:.12em .38em;
  color:var(--brand);
}

::selection{background:var(--brand);color:#fff}
:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:3px;
  border-radius:var(--r-xs);
}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--paper-200)}
::-webkit-scrollbar-thumb{background:var(--slate-400);border-radius:99px;border:3px solid var(--paper-200)}
::-webkit-scrollbar-thumb:hover{background:var(--slate-500)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{
  position:absolute;top:-100px;left:var(--gutter);z-index:2000;
  background:var(--brand);color:#fff;padding:.7rem 1.1rem;
  border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;
}
.skip-link:focus{top:12px}

/* Conteneur */
.wrap{max-width:var(--maxw);margin-inline:auto;width:100%}
