/* ============================================================
   base.css — reset, polices locales, typographie de base
   ============================================================ */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;
  src:url("/fonts/Inter-400.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;
  src:url("/fonts/Inter-500.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;
  src:url("/fonts/Inter-600.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;
  src:url("/fonts/Inter-700.woff2") format("woff2");}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{
  font-family:var(--nv-font);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--nv-ink);
  background:var(--nv-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}
ul,ol{list-style:none}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{line-height:var(--lh-head);font-weight:var(--fw-semi);color:var(--nv-ink);letter-spacing:-.01em}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight)}
h2{font-size:var(--fs-h2);line-height:1.2}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4)}
p{color:var(--nv-ink-soft)}
strong{font-weight:var(--fw-semi);color:var(--nv-ink)}
:focus-visible{outline:3px solid var(--nv-accent);outline-offset:2px;border-radius:4px}

/* liens utilitaires */
.link{color:var(--nv-blue);font-weight:var(--fw-semi)}
.link:hover{text-decoration:underline}
.link-arrow{display:inline-flex;align-items:center;gap:.4em;color:var(--nv-blue);font-weight:var(--fw-semi)}
.link-arrow svg{width:1em;height:1em;transition:transform .2s var(--ease)}
.link-arrow:hover svg{transform:translateX(3px)}

/* accessibilité */
.visually-hidden{position:absolute!important;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;left:.5rem;top:-3rem;z-index:200;background:var(--nv-ink);
  color:#fff;padding:.6rem 1rem;border-radius:var(--r-sm);transition:top .2s}
.skip-link:focus{top:.5rem}
[hidden]{display:none!important}
