/* Lazarus Corp — feuille de style unique */

/* Libre Baskerville (OFL, voir /fonts/OFL.txt), variable 400–700, réduite aux caractères latins */
@font-face{font-family:"Libre Baskerville";src:url("/fonts/libre-baskerville-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+0178,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Repli aux métriques de Libre Baskerville : pas de décalage quand la police arrive */
@font-face{font-family:"Libre Baskerville Repli";src:local("Georgia");size-adjust:116.6%;ascent-override:83.2%;descent-override:23.2%;line-gap-override:0%}

:root{
  --papier:#f4f1ea;--encre:#16140f;--gris:#57514a;--filet:#d3ccbe;
  --serif:"Libre Baskerville","Libre Baskerville Repli",Georgia,"Times New Roman",serif;
  --mesure:40rem;
}
@media (prefers-color-scheme:dark){
  :root{--papier:#141310;--encre:#ece7dc;--gris:#aba396;--filet:#3a362e}
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--encre);font:400 1rem/1.7 var(--serif);overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
@media (min-width:40em){body{font-size:1.0625rem}}
::selection{background:var(--encre);color:var(--papier)}

.wrap{max-width:68rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}

/* Liens */
a{color:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}

/* En-tête */
header{border-bottom:1px solid var(--filet)}
header .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;min-height:4.5rem;padding-top:.75rem;padding-bottom:.75rem}
.logo{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:700;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase}
.monogramme{width:1.75rem;height:1.75rem;fill:currentColor;flex:none}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.75rem}
header nav a{font-size:.9375rem;color:var(--gris);text-decoration:none}
header nav a:hover,header nav a[aria-current]{color:var(--encre)}
header nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.45em}

/* Contenu */
main{display:block;padding:clamp(3rem,8vw,6.5rem) 0 clamp(4rem,9vw,7rem)}
h1,h2,h3{font-weight:400;line-height:1.2;text-wrap:balance}
h1{font-size:clamp(2.5rem,7vw,4.75rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 1.5rem}
h2{font-size:1.375rem;margin:3.5rem 0 1rem;padding-top:1.25rem;border-top:1px solid var(--filet)}
h3{font-size:1.0625rem;font-weight:700;margin:0 0 .5rem}
p{margin:0 0 1rem;text-wrap:pretty}
.lead{font-size:clamp(1.125rem,2.2vw,1.375rem);line-height:1.6;max-width:34em}
strong{font-weight:700}
address{font-style:normal}

/* Accueil */
.intro{max-width:52rem}
.bloc{margin-top:clamp(3.5rem,8vw,6rem);border-top:1px solid var(--encre);padding-top:1.25rem}
.bloc h2{margin:0 0 1.5rem;padding:0;border:0;font-size:.8125rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.activites{list-style:none;margin:0;padding:0;display:grid;gap:2rem;counter-reset:activite}
.activites li{counter-increment:activite}
.activites li::before{content:counter(activite,upper-roman) "." / "";display:block;margin-bottom:.75rem;color:var(--gris);font-size:.9375rem}
.activites p{margin:0;color:var(--gris)}
.contact{display:grid;gap:1.5rem}
.contact p{margin:0}
.libelle{display:block;color:var(--gris);font-size:.9375rem}
@media (min-width:52em){
  .bloc{display:grid;grid-template-columns:14rem 1fr;gap:2rem}
  .bloc h2{margin:0}
  .activites{grid-template-columns:repeat(3,1fr);gap:2.5rem}
  .contact{grid-template-columns:repeat(2,minmax(0,18rem));gap:2.5rem}
}

/* Pages de texte */
.texte > *{max-width:var(--mesure)}
.texte > .lead{color:var(--gris)}
dl{display:grid;grid-template-columns:14rem 1fr;gap:.75rem 2rem;margin:0}
dt{color:var(--gris);font-size:.9375rem}
dd{margin:0}
.texte ul{padding-left:1.25em}
.texte li{margin-bottom:.5rem}

/* Pied de page */
footer{border-top:1px solid var(--filet);padding:2rem 0 2.5rem;font-size:.875rem;color:var(--gris)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem}
footer p{margin:0}
footer nav ul{gap:.25rem 1.5rem}
footer a{color:var(--gris)}
footer a:hover,footer a[aria-current]{color:var(--encre)}

@media (max-width:35em){
  dl{grid-template-columns:1fr;gap:0}
  dd{margin-bottom:1rem}
}

/* Accessibilité */
/* Masqué à l'écran, lu par les lecteurs d'écran */
.masque{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.evitement{position:absolute;left:1rem;top:-6rem;z-index:10;padding:.75rem 1.25rem;background:var(--encre);color:var(--papier);font-weight:700;text-decoration:none}
.evitement:focus{top:1rem}
:focus-visible{outline:2px solid var(--encre);outline-offset:3px;border-radius:1px}
main:focus{outline:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
