/* Azimut — base : remise à zéro, typographie, utilitaires.
   Les jetons de couleur et de thème vivent dans themes.css (source unique). */

:root{
  --r:10px;
  --max:1180px;
  --titre:"Sora","Segoe UI",Arial,sans-serif;
  --corps:"IBM Plex Sans",Arial,Helvetica,sans-serif;
  --mono:"IBM Plex Mono","Courier New",monospace;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;font-family:var(--corps);font-size:16px;line-height:1.62;color:var(--ink);
  background:var(--page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3{font-family:var(--titre);line-height:1.15;letter-spacing:-.02em;margin:0;font-weight:700;}
h1{font-size:clamp(2rem,4.4vw,3.1rem);}
h2{font-size:clamp(1.5rem,2.6vw,2.1rem);}
h3{font-size:1.12rem;}
p{margin:0 0 1rem;}
a{color:var(--brand500);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;height:auto;display:block;}
ul{margin:0;padding:0;list-style:none;}

.conteneur{max-width:var(--max);margin:0 auto;padding:0 22px;}
.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums;}

/* lien d'évitement, accessibilité clavier */
.saut{position:absolute;left:-9999px;top:0;background:var(--brand500);color:#fff;padding:10px 16px;border-radius:0 0 var(--r) 0;z-index:100;}
.saut:focus{left:0;}

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

/* œil de section : petite étiquette au-dessus d'un titre */
.oeil{
  display:inline-block;font-family:var(--titre);font-size:.72rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--brand500);
  background:var(--brand100);border-radius:999px;padding:5px 12px;margin:0 0 14px;
}
.section-titre{max-width:22ch;}
.section-intro{color:var(--ink2);max-width:68ch;margin-top:14px;font-size:1.02rem;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
