/* ============================================================
   base.css — Reset moderne + typographie de base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
/* Sécurité : l'attribut hidden doit toujours masquer (sinon écrasé par display:flex/grid) */
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  font-family:var(--font-body);
  font-size:var(--step-0);
  line-height:1.65;
  color:var(--c-text);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100vh;
}

h1,h2,h3,h4{
  font-family:var(--font-title);
  font-weight:700;
  line-height:1.08;
  color:var(--c-ink);
  letter-spacing:-.02em;
  text-wrap:balance;
}
h1{font-size:var(--step-4)}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1)}

p{text-wrap:pretty}
a{color:var(--c-primary);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--c-primary-700)}

img,picture,svg,video{display:block;max-width:100%;height:auto}
ul,ol{list-style:none;padding:0}

button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}

:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:4px}

/* Accessibilité : lien d'évitement */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--c-ink);color:#fff;padding:.75rem 1.25rem;border-radius:0 0 var(--radius-sm) 0;
}
.skip-link:focus{left:0}

/* Utilitaires */
.text-accent{color:var(--c-accent)}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.container--narrow{max-width:var(--container-narrow)}
.lead{font-size:var(--step-1);color:var(--c-text-2);max-width:60ch}

.eyebrow{
  display:inline-block;font-family:var(--font-body);font-weight:600;
  font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;
  color:var(--c-text-2);margin-bottom:var(--sp-3);
}
.eyebrow--accent{color:var(--c-accent-700)}
