*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--encre);font:400 var(--t-corps)/var(--interligne) var(--f-texte)}
img{max-width:100%;height:auto;display:block}
a{color:var(--sarcelle);text-decoration-color:var(--moutarde);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--corail)}
:focus-visible{outline:3px solid var(--corail);outline-offset:2px}
.sauter{position:absolute;left:-999px;top:0;background:var(--sarcelle);color:#fff;padding:.6rem 1rem;z-index:20}
.sauter:focus{left:1rem}
.paillasse{width:100%;max-width:var(--largeur);margin:0 auto;padding:0 var(--gouttiere)}
h1,h2,h3{font-family:var(--f-titre);font-weight:600;line-height:1.08;color:var(--sarcelle)}
h1{font-size:clamp(2.4rem,5.2vw,3.9rem);margin:.15em 0 .35em}
h2{font-size:clamp(1.75rem,3.2vw,2.35rem);margin:2.2rem 0 .7rem}
h3{font-size:1.45rem;margin:1.6rem 0 .5rem;color:var(--encre)}
/* en-tête : double filet de cahier */
.marge{background:var(--blanc);border-bottom:3px double var(--sarcelle)}
.marge-in{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.4rem 1.4rem;padding-top:1rem;padding-bottom:.4rem}
.marge-logo img{width:210px;height:auto}
.marge-devise{margin:0;font-family:var(--f-titre);font-style:italic;font-size:1.15rem;color:var(--gris);justify-self:end;text-align:right}
.marge-nav{grid-column:1/-1}
.marge-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 1.4rem;margin:0;padding:0}
.marge-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--encre);text-decoration:none;font-weight:600;font-size:.98rem;border-bottom:3px solid transparent}
.marge-nav a:hover,.marge-nav a[aria-current]{border-bottom-color:var(--corail);color:var(--sarcelle)}
@media (max-width:640px){.marge-in{grid-template-columns:1fr}.marge-devise{justify-self:start;text-align:left}}
/* fil */
.repere ol{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem .5rem;margin:0 0 1rem;padding:0;font-size:.88rem;color:var(--gris)}
.repere li+li::before{content:"→";margin-right:.5rem;color:var(--corail)}
.repere a{color:var(--gris)}
/* héros : papier quadrillé */
.fiche{padding:2rem 0 2.4rem;background-color:var(--papier);background-image:linear-gradient(var(--papier-2) 1px,transparent 1px),linear-gradient(90deg,var(--papier-2) 1px,transparent 1px);background-size:28px 28px;border-bottom:1px solid var(--trait)}
.fiche-grille{display:grid;gap:1.8rem;align-items:end}
.fiche-discipline{display:inline-block;margin:0 0 .3rem;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.fiche-discipline a{color:var(--corail);text-decoration:none}
.chapo{font-family:var(--f-titre);font-style:italic;font-size:1.4rem;line-height:1.4;color:var(--gris);margin:0 0 1rem}
.fiche-photo{padding:.6rem .6rem 1.6rem;background:var(--blanc);box-shadow:0 8px 24px -16px rgba(15,76,92,.6);transform:rotate(-1deg)}
.fiche-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:880px){.fiche-grille{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}
.releve{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;margin:0;font-size:.92rem;color:var(--gris)}
.releve a{font-weight:600}
/* corps avec sommaire latéral */
.protocole{padding-top:2.2rem;padding-bottom:3rem;display:grid;gap:2rem}
@media (min-width:1080px){.protocole-2{grid-template-columns:15rem minmax(0,1fr)}.protocole-2 .etapes{position:sticky;top:1rem;align-self:start}}
.prose{width:100%;min-width:0}
.prose>*:first-child{margin-top:0}
.prose h2::before{content:"§ ";color:var(--moutarde)}
.prose table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:1rem;background:var(--blanc);border:1px solid var(--trait)}
.prose th,.prose td{padding:.65rem .85rem;border:1px solid var(--trait);text-align:left;vertical-align:top}
.prose th{background:var(--sarcelle-pale);color:var(--sarcelle)}
@media (max-width:700px){.prose table{display:block;overflow-x:auto;font-size:.93rem}}
.prose blockquote{margin:1.5rem 0;padding:.3rem 1.2rem;border-left:4px solid var(--moutarde);font-family:var(--f-titre);font-size:1.35rem;font-style:italic}
.observations{margin:0 0 1.6rem;padding:1.1rem 1.3rem 1rem;background:var(--blanc);border:1px solid var(--trait);border-top:5px solid var(--sarcelle)}
.observations h2{margin:0 0 .4rem;font-size:1.4rem}
.observations h2::before{content:""}
.observations ol{margin:0;padding-left:1.4rem}
.etapes{font-size:.95rem}
.etapes p{margin:0 0 .4rem;font-weight:600;color:var(--sarcelle);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.etapes ol{margin:0;padding-left:1.2rem;border-left:2px dotted var(--moutarde)}
.etapes li{margin:.3rem 0}
.etapes a{text-decoration:none;color:var(--encre)}
.etapes a:hover{color:var(--corail)}
.note-marge{margin:1.6rem 0;padding:1rem 1.2rem;background:#FFF6DD;border:1px solid var(--moutarde);border-radius:var(--r);position:relative}
.note-marge-titre{margin:0 0 .35rem;font-family:var(--f-titre);font-weight:600;font-size:1.3rem;color:var(--encre)}
.note-marge p:last-child{margin-bottom:0}
.curiosites{margin:2.4rem 0 1rem}
.curiosites details{border-top:1px solid var(--trait)}
.curiosites details:last-child{border-bottom:1px solid var(--trait)}
.curiosites summary{cursor:pointer;padding:.8rem 0;min-height:44px;font-weight:600;list-style-position:outside}
.curiosites details p{margin:0 0 1rem;color:var(--gris)}
figure.planche{margin:1.6rem 0}
figure.planche figcaption{font-size:.9rem;font-style:italic;color:var(--gris);margin-top:.4rem}
.lien-ia{margin:2rem 0;padding:1rem 1.2rem;border:1px dashed var(--sarcelle);border-radius:var(--r)}
.lien-ia-titre{margin:0 0 .4rem;font-weight:600}
.lien-ia button{font:inherit;min-height:44px;padding:0 .9rem;border:1px solid var(--sarcelle);background:transparent;color:var(--sarcelle);border-radius:var(--r);cursor:pointer}
/* signature */
.carnet{display:grid;grid-template-columns:84px minmax(0,1fr);gap:1rem;margin:2.4rem 0 0;padding:1.1rem;background:var(--blanc);border:1px solid var(--trait)}
.carnet-portrait{width:84px;height:84px;overflow:hidden;background:var(--sarcelle);color:#fff;display:flex;align-items:center;justify-content:center;font:600 2rem var(--f-titre);border-radius:var(--r)}
.carnet-portrait img{width:100%;height:100%;object-fit:cover}
.carnet-nom{margin:0 0 .2rem;font-family:var(--f-titre);font-size:1.25rem;font-weight:600}
.carnet p{margin:.2rem 0}
/* listes : fiches numérotées */
.collection{padding:2.4rem 0 3rem;counter-reset:fiche}
.collection-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;margin-bottom:1.2rem;border-bottom:1px solid var(--trait)}
.collection-tete h2{margin:0 0 .6rem}
.compte{margin:0;color:var(--gris);font-size:.95rem}
.herbier{display:grid;gap:1.8rem 1.6rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.specimen{counter-increment:fiche;position:relative;display:flex;flex-direction:column;background:var(--blanc);border:1px solid var(--trait);padding:.7rem .7rem 1rem}
.specimen::before{content:"n° " counter(fiche,decimal-leading-zero);position:absolute;top:1.1rem;left:1.1rem;z-index:1;padding:.1rem .45rem;background:var(--moutarde);color:var(--encre);font:600 .8rem var(--f-texte)}
.specimen-photo{aspect-ratio:4/3;overflow:hidden;background:var(--papier-2)}
.specimen-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.specimen-disc{margin:.7rem 0 0;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--corail)}
.specimen h3{margin:.2rem 0 .4rem;font-size:1.35rem;color:var(--sarcelle)}
.specimen h3 a{color:inherit;text-decoration:none}
.specimen h3 a::after{content:"";position:absolute;inset:0}
.specimen h3 a:hover{text-decoration:underline}
.specimen-desc{margin:0;font-size:.97rem;color:var(--gris)}
.specimen-pied{margin:auto 0 0;padding-top:.6rem;font-size:.85rem;color:var(--gris)}
.vide{color:var(--gris)}
/* accueil */
.laboratoire{padding:2.4rem 0 2rem;background:var(--sarcelle);color:#EAF3F4}
.laboratoire-grille{display:grid;gap:2rem;align-items:center}
.laboratoire h1{color:#fff}
.laboratoire .chapo{color:#CFE3E6}
.laboratoire-sur{margin:0;font-size:.85rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--moutarde)}
.laboratoire-media{border-radius:50% 50% var(--r-l) var(--r-l);overflow:hidden;border:6px solid var(--blanc)}
.laboratoire-media img{width:100%;aspect-ratio:1/1;object-fit:cover}
@media (prefers-reduced-motion:no-preference){.media-anime img{animation:loupe 26s ease-in-out infinite alternate}}
@keyframes loupe{from{transform:scale(1.12) translateY(-1%)}to{transform:scale(1) translateY(1.5%)}}
@media (min-width:880px){.laboratoire-grille{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}}
.bouton{display:inline-flex;align-items:center;min-height:48px;padding:0 1.3rem;background:var(--moutarde);color:var(--encre);font-weight:600;text-decoration:none;border-radius:var(--r)}
.bouton:hover{background:#fff;color:var(--sarcelle)}
.disciplines{padding:2.4rem 0 .6rem}
.disciplines ol{list-style:none;display:grid;gap:1rem;margin:0;padding:0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.discipline{display:block;height:100%;padding:1.1rem 1.2rem;background:var(--blanc);border:1px solid var(--trait);border-left:6px solid var(--corail);text-decoration:none;color:var(--encre)}
.discipline:hover{border-left-color:var(--sarcelle)}
.discipline-nom{display:block;font:600 1.45rem var(--f-titre);color:var(--sarcelle)}
.discipline-acc{display:block;font-size:.97rem;color:var(--gris);margin:.2rem 0 .5rem}
.discipline-nb{font-size:.85rem;font-weight:600;color:var(--corail)}
.preambule{padding:1rem 0 3rem}
/* 404 */
.hypothese{padding:3rem 0}
.hypothese-num{margin:0;font:600 clamp(4rem,13vw,8rem)/1 var(--f-titre);color:var(--corail)}
.jeu-scm{margin:1.4rem 0;padding:1.1rem;background:var(--blanc);border:1px solid var(--trait)}
.jeu-scm button{font:600 1rem var(--f-texte);min-height:44px;padding:0 1rem;margin:.3rem .3rem 0 0;border:2px solid var(--sarcelle);background:#fff;color:var(--sarcelle);border-radius:var(--r);cursor:pointer}
.jeu-scm button:hover{background:var(--sarcelle);color:#fff}
.jeu-scm-res{min-height:1.6em;font-weight:600}
/* pied */
.colophon{background:var(--encre);color:#C9D2CF;padding:2.4rem 0 1.4rem;margin-top:2rem}
.colophon a{color:#fff}
.colophon-grille{display:grid;gap:1.6rem}
@media (min-width:800px){.colophon-grille{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}}
.colophon-liens{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.2rem 1rem}
.colophon-liens a{display:inline-flex;align-items:center;min-height:44px}
.colophon-note,.colophon-copy{font-size:.88rem;margin:1rem 0 0}

@media (max-width:899px){.fiche-photo{order:-1}}
