/* chaillet.fr V4 — direction « le pupitre de commande » (tôle, plaques, plaquettes, voyants, un bouton poussoir).
   Portée depuis la maquette Site-Generator-DA/output/chaillet-v4 (tokens.css + site.css), mappée sur le vocabulaire du générateur. */
:root{
  --color-tole:#DCDEDA;--color-blanc:#F6F6F3;--color-noir:#1C1E1F;--color-encre2:#4A4E50;--color-gris-noir:#B4B8B9;--color-filet:#8E9294;
  --color-orange:#C4410C;--color-on-orange:#FFFFFF;--color-strie:#EEEEEA;
  --stries:repeating-linear-gradient(180deg,var(--color-blanc) 0 3px,var(--color-strie) 3px 4px);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url%28%23n%29'/%3E%3C/svg%3E");
  --texture-opacity:.35;
  --font-cond:"Sofia Sans Condensed","Arial Narrow",sans-serif;--font-sans:"Sofia Sans",Arial,sans-serif;
  --size-h1-accueil:clamp(1.9rem,1rem + 2.9vw,3.5rem);--size-h1:clamp(2rem,1rem + 3.4vw,4rem);--size-h2:clamp(1.75rem,1.1rem + 2.4vw,3rem);--size-h3:1.375rem;
  --size-chapeau:clamp(1.0625rem,0.95rem + 0.5vw,1.375rem);--size-corps:1.125rem;--size-champ:1rem;--size-plaquette:0.9375rem;--size-legende:0.875rem;--size-bouton:1.0625rem;--size-tel:clamp(2.25rem,1rem + 5vw,5rem);
  --lh-h1:1.02;--lh-h2:1.05;--lh-h3:1.2;--lh-chapeau:1.35;--lh-corps:1.6;--lh-champ:1.4;--lh-plaquette:1.25;
  --ls-h1:-0.015em;--ls-h2:-0.01em;--ls-plaquette:0.01em;--mesure:64ch;
  --pad-plaque:clamp(1.25rem,3vw,2.5rem);--marge:clamp(1rem,4vw,3.5rem);--largeur:1280px;--gouttiere:clamp(1rem,2.5vw,2rem);--section-y:clamp(3rem,7vw,5.5rem);
  --rayon:3px;--rayon-plaquette:2px;--trait:2px;--filet:1px;--semelle:4px;--semelle-survol:2px;--voyant:16px;--voyant-releve:20px;--entete-h:64px;--barre-h:64px;--cible:48px;
  --duration-titre:.45s;--tm-duration:.45s;
  color-scheme:light;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--color-tole);scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);font-size:var(--size-corps);line-height:var(--lh-corps);color:var(--color-noir);background:var(--color-tole);padding-bottom:var(--barre-h)}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
img,svg,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--font-cond);font-weight:800;overflow-wrap:break-word}
h1{font-size:var(--size-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);max-width:18em}
h2{font-size:var(--size-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);max-width:22em;margin-bottom:1.25rem}
h3{font-size:var(--size-h3);line-height:var(--lh-h3);font-weight:600;margin-bottom:.35rem}
h1 em{font-style:normal;color:var(--color-encre2)}
.plaque-noire h1 em{color:var(--color-gris-noir)}
p+p{margin-top:.85rem}
.wrap{width:100%;max-width:calc(var(--largeur) + 2 * var(--marge));margin:0 auto;padding:0 var(--marge)}
.narrow{max-width:calc(960px + 2 * var(--marge))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--marge);top:-100px;z-index:50;background:var(--color-blanc);color:var(--color-noir);padding:.75rem 1rem;border:var(--trait) solid var(--color-noir);border-radius:var(--rayon);font-weight:600}
.skip:focus{top:.5rem}
:focus-visible{outline:3px solid var(--color-noir);outline-offset:2px}
.entete :focus-visible,.barre :focus-visible,.pied :focus-visible,.plaque-noire :focus-visible{outline-color:var(--color-blanc)}
.ic{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}
.lead,.sub{font-weight:600;font-size:var(--size-chapeau);line-height:var(--lh-chapeau);max-width:var(--mesure);margin-bottom:1.25rem}
.sub strong{font-weight:800}
.note,.anchor,.ex,.shot-foot{font-size:var(--size-legende);font-weight:600;line-height:1.4;color:var(--color-encre2);max-width:var(--mesure)}
.note{margin-top:1.25rem;font-size:1rem}
.anchor{margin-top:1.25rem;font-size:1rem}
.plaque-noire .note,.plaque-noire .anchor,.plaque-noire .ex,.plaque-noire .shot-foot{color:var(--color-gris-noir)}
.link{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;font-weight:600}
.link:hover{text-decoration-thickness:2px}

/* ---------- Plaquette gravée (remplace tout surtitre) ---------- */
.eyebrow,.plaquette,.when,.offer .for{display:inline-block;background:var(--color-noir);color:var(--color-blanc);font-family:var(--font-cond);font-weight:600;font-size:var(--size-plaquette);line-height:var(--lh-plaquette);letter-spacing:var(--ls-plaquette);padding:.3em .6em;border-radius:var(--rayon-plaquette);margin-bottom:.9rem;max-width:100%}
.plaque-noire .eyebrow,.plaque-noire .plaquette,.plaque-noire .when,.pied .plaquette{background:var(--color-blanc);color:var(--color-noir)}

/* ---------- Voyant ---------- */
.v{display:inline-block;flex:none;width:var(--voyant);height:var(--voyant);border-radius:50%;border:var(--trait) solid var(--color-noir);position:relative;background:transparent;vertical-align:middle}
.v.on{background:var(--color-orange)}
.v.manque{background:var(--color-noir)}
.v.manque::after{content:"";position:absolute;left:2px;right:2px;top:50%;height:2px;margin-top:-1px;background:var(--color-blanc)}
.plaque-noire .v.on{border-color:var(--color-blanc)}
.plaque-noire .v.off{border-color:var(--color-gris-noir)}
.vl{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-cond);font-weight:600;font-size:var(--size-plaquette);line-height:var(--lh-plaquette)}

/* ---------- Boutons : un poussoir orange, des secondaires noir/blanc ---------- */
.poussoir,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--cible);padding:.5rem 1.15rem;font-family:var(--font-sans);font-weight:600;font-size:var(--size-bouton);line-height:1.2;text-decoration:none;text-align:center;border:var(--trait) solid var(--color-noir);border-radius:var(--rayon);box-shadow:0 var(--semelle) 0 0 var(--color-noir);margin-bottom:var(--semelle);cursor:pointer;background:var(--color-noir);color:var(--color-blanc)}
.poussoir{background:var(--color-orange);color:var(--color-on-orange)}
.btn-ghost,.plaque-noire .btn,.btn--blanc{background:var(--color-blanc);color:var(--color-noir);border-color:var(--color-blanc);box-shadow:0 var(--semelle) 0 0 var(--color-gris-noir)}
.btn-ghost{border-color:var(--color-noir);box-shadow:0 var(--semelle) 0 0 var(--color-noir)}
.plaque-noire .btn-ghost{background:transparent;color:var(--color-blanc);border-color:var(--color-blanc);box-shadow:0 var(--semelle) 0 0 var(--color-gris-noir)}
.poussoir:hover,.btn:hover{transform:translateY(var(--semelle-survol));box-shadow:0 var(--semelle-survol) 0 0 var(--color-noir)}
.plaque-noire .btn:hover,.btn--blanc:hover{box-shadow:0 var(--semelle-survol) 0 0 var(--color-gris-noir)}
.poussoir:active,.btn:active,.plaque-noire .btn:active{transform:translateY(var(--semelle));box-shadow:0 0 0 0 transparent}
.btns{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin-top:.5rem}

/* ---------- Plaques ---------- */
.plaque{border:var(--trait) solid var(--color-noir);border-radius:var(--rayon);padding:var(--pad-plaque)}
.plaque-noire{position:relative;isolation:isolate;background-color:var(--color-noir);background-image:var(--grain);color:var(--color-blanc);border-color:var(--color-noir)}
.plaque-noire::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/texture-laque-noir.svg) repeat;background-size:320px 320px;opacity:var(--texture-opacity);border-radius:inherit;pointer-events:none}
.plaque-blanche{position:relative;isolation:isolate;background-color:var(--color-blanc);background-image:var(--stries);color:var(--color-noir);border-color:var(--color-noir)}
.plaque-blanche::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/texture-acier-strie.webp) repeat;background-size:320px 320px;opacity:var(--texture-opacity);border-radius:inherit;pointer-events:none}
.bande{border-radius:0;border-left:0;border-right:0;padding:var(--section-y) 0}

/* ---------- Sections ---------- */
main>section{padding:var(--section-y) 0;border-top:var(--trait) solid var(--color-noir)}
main>section:first-child,main>.hero,main>.hero+section{border-top:0}
main>section.alt{background:var(--color-blanc)}
.hero.plaque-blanche+section{border-top:var(--trait) solid var(--color-noir)}
.hero{padding:clamp(2rem,5vw,4rem) 0 var(--section-y)}
.hero h1{margin:.5rem 0 1.25rem}
.hero .grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}
.hero .grid>*{min-width:0}
.portrait{margin:0;max-width:280px}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border:var(--trait) solid var(--color-blanc);border-radius:var(--rayon)}
.portrait figcaption{margin-top:.5rem;font-family:var(--font-cond);font-size:var(--size-plaquette);color:var(--color-gris-noir)}
@media (min-width:900px){.grid-portrait{grid-template-columns:1fr 320px;gap:var(--gouttiere)}.portrait{max-width:320px;justify-self:end}}
.ouverture{padding:1.5rem 0 var(--section-y)}
.ouverture h1{font-size:var(--size-h1-accueil);max-width:16em}
.identite{font-size:1rem;line-height:1.4;color:var(--color-encre2);margin-bottom:.4rem;max-width:var(--mesure)}
@media (min-width:1024px){
  .hero .grid{grid-template-columns:repeat(12,1fr);gap:3rem var(--gouttiere)}
  .hero .grid>:first-child{grid-column:span 6}
  .hero .grid>:last-child{grid-column:span 6}
}

/* ---------- En-tête ---------- */
.entete{background:var(--color-noir);color:var(--color-blanc);height:var(--entete-h);position:sticky;top:0;z-index:20}
.entete .wrap{display:flex;align-items:center;gap:.5rem;height:100%}
.nom{font-family:var(--font-cond);font-weight:800;font-size:var(--size-h3);line-height:1;text-decoration:none;margin-right:auto;min-height:44px;display:inline-flex;align-items:center}
.liens{display:none}
.liens ul{list-style:none;margin:0}
.liens a{text-decoration:none;font-weight:600;font-size:1rem;min-height:44px;display:flex;align-items:center}
.liens a:hover,.liens a[aria-current="page"]{text-decoration:underline;text-underline-offset:.25em}
.tel{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:44px;min-height:44px;text-decoration:none;font-weight:600;font-size:1rem}
.tel span{display:none}
.tel:hover span{text-decoration:underline;text-underline-offset:.25em}
.menu{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:0;padding:0;cursor:pointer;color:var(--color-blanc)}
html:not(.js) .menu{display:none}
html:not(.js) .liens,.liens.ouvert{display:block;position:absolute;top:var(--entete-h);left:0;right:0;background:var(--color-noir);border-top:var(--filet) solid var(--color-filet);border-bottom:var(--trait) solid var(--color-gris-noir)}
.liens ul{padding:.25rem var(--marge) .75rem}
.liens li{border-bottom:var(--filet) solid var(--color-filet)}
.liens li a{padding:.25rem 0;min-height:48px}
.barre{position:fixed;left:0;right:0;bottom:0;z-index:30;height:var(--barre-h);background:var(--color-noir);border-top:var(--trait) solid var(--color-gris-noir);padding:5px var(--marge) 7px;display:grid;grid-template-columns:2fr 1fr;gap:.6rem;align-items:start}
.barre .poussoir,.barre .btn{width:100%;padding-left:.5rem;padding-right:.5rem}
.barre .btn{background:var(--color-blanc);color:var(--color-noir);border-color:var(--color-blanc);box-shadow:0 var(--semelle) 0 0 var(--color-gris-noir)}
@media (min-width:1100px){
  body{padding-bottom:0}
  .entete .wrap{gap:1.75rem}
  .menu{display:none}
  html:not(.js) .liens,.liens,.liens.ouvert{display:block;position:static;border:0;background:none}
  .liens ul{display:flex;gap:1.75rem;padding:0}
  .liens li{border:0}
  .liens li a{min-height:44px;padding:0}
  .tel span{display:inline}
  .barre{position:static;display:block;height:auto;background:none;border:0;padding:0}
  .barre .poussoir{width:auto;padding:.5rem 1.15rem}
  .barre .appeler{display:none}
}

/* ---------- Fil d'Ariane ---------- */
.crumbs{font-size:1rem;color:var(--color-encre2)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0}
.crumbs li+li::before{content:"›";margin-right:.4rem}
.crumbs a{text-decoration:underline;text-underline-offset:.18em}
.plaque-noire .crumbs{color:var(--color-gris-noir)}

/* ---------- Livrables d'exemple (extrait de rapport, fiche, relevé, exercice) ---------- */
.shot{background:var(--color-blanc);color:var(--color-noir);border:var(--trait) solid var(--color-noir);border-radius:var(--rayon);padding:var(--pad-plaque)}
.plaque-noire .shot,.shot.shot-noir{background:var(--color-noir);color:var(--color-blanc);border-color:var(--color-gris-noir)}
.shot+.shot{margin-top:1.25rem}
.shot-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1rem;flex-wrap:wrap}
.shot-bar b{font-family:var(--font-cond);font-weight:800;font-size:var(--size-h3);line-height:var(--lh-h3);max-width:22em}
.shot-bar .plaquette{margin:0}
.shot-noir .plaquette,.plaque-noire .shot .plaquette{background:var(--color-blanc);color:var(--color-noir)}
.shot h4{font-family:var(--font-cond);font-weight:600;font-size:1rem;line-height:1.3;color:var(--color-encre2);margin:1rem 0 .25rem}
.shot-noir h4,.plaque-noire .shot h4{color:var(--color-gris-noir)}
.shot h4:first-child{margin-top:0}
.row,.champ{display:grid;grid-template-columns:var(--voyant) 1fr;gap:.15rem .75rem;align-items:center;padding:.55rem 0;border-bottom:var(--filet) solid var(--color-filet);font-size:var(--size-champ);line-height:var(--lh-champ);font-variant-numeric:tabular-nums}
.row b,.champ b{font-weight:600;grid-column:2}
@media (min-width:640px){.row,.champ{grid-template-columns:var(--voyant) 1fr auto}.row b,.champ b{grid-column:auto;text-align:right}}
.warn,.manque-box{margin-top:.75rem;padding:.75rem;border:var(--trait) solid currentColor;border-radius:var(--rayon);display:grid;grid-template-columns:var(--voyant) 1fr;gap:.75rem;font-size:var(--size-champ);line-height:var(--lh-champ)}
.warn .v{margin-top:3px}
.acts{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}
.acts span{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;border:var(--trait) solid currentColor;border-radius:var(--rayon);font-weight:600;font-size:1rem}
.acts .m{background:var(--color-noir);color:var(--color-blanc);border-color:var(--color-noir)}
.shot-noir .acts .m,.plaque-noire .shot .acts .m{background:var(--color-blanc);color:var(--color-noir);border-color:var(--color-blanc)}
.shot-foot{margin-top:1rem}
.shot-noir .shot-foot{color:var(--color-gris-noir)}
.shot-noir .v.on{border-color:var(--color-blanc)}
.shot-noir .v.off{border-color:var(--color-gris-noir)}
.shot-noir .row,.shot-noir .champ{border-color:var(--color-filet)}
/* tableau de voyants (relevé, extrait de rapport) : liste sur téléphone, tableau au-delà de 640 px */
.rep{width:100%;border-collapse:collapse;font-size:var(--size-champ);line-height:var(--lh-champ)}
.rep thead{display:none}
.rep tr{display:block;padding:.75rem 0;border-bottom:var(--filet) solid var(--color-filet)}
.rep tbody tr:first-child{border-top:var(--filet) solid var(--color-filet)}
.rep th[scope="row"],.rep td.lib{display:block;text-align:left;font-weight:600;margin-bottom:.4rem;padding:0}
.rep td{display:inline-flex;width:48%;padding:.2rem 0;vertical-align:middle;align-items:center;gap:.4rem}
.rep td::before{content:attr(data-col);font-family:var(--font-cond);font-weight:600;font-size:var(--size-plaquette);color:var(--color-encre2);min-width:4.6em}
.rep td.lib::before{content:none}
.shot-noir .rep td::before{color:var(--color-gris-noir)}
.cellule{display:inline-flex;align-items:flex-start;gap:.4rem;max-width:100%;font-family:var(--font-cond);font-weight:600;font-size:var(--size-plaquette);letter-spacing:var(--ls-plaquette);font-variant-numeric:tabular-nums}
.cellule .v{margin-top:.05em}
.cellule>span{min-width:0}
.rep thead th{white-space:nowrap}
.rep .v{width:var(--voyant-releve);height:var(--voyant-releve)}
.rep tr.me th,.rep tr.me td.lib{text-decoration:underline;text-underline-offset:.2em}
@media (min-width:640px){
  .rep thead{display:table-header-group}
  .rep tr{display:table-row;padding:0;border:0}
  .rep tbody tr:first-child{border-top:0}
  .rep th,.rep td,.rep td.lib{display:table-cell;width:auto;padding:.65rem .4rem;border-bottom:var(--filet) solid var(--color-filet);vertical-align:middle;text-align:left;margin:0}
  .rep thead th{font-family:var(--font-cond);font-weight:600;font-size:var(--size-plaquette);color:var(--color-encre2)}
  .shot-noir .rep thead th{color:var(--color-gris-noir)}
  .rep td::before{content:none}
}
/* trait de cote de la fiche */
.fiche-cadre{position:relative;padding-left:2.25rem}
.cote{position:absolute;left:.6rem;top:0;bottom:0;width:var(--filet);background:var(--color-filet)}
.cote::before,.cote::after{content:"";position:absolute;left:-2.5px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent}
.cote::before{top:0;border-bottom:7px solid var(--color-filet)}
.cote::after{bottom:0;border-top:7px solid var(--color-filet)}
.cote span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%) rotate(-90deg);white-space:nowrap;background:var(--color-blanc);padding:0 .4rem;font-size:var(--size-legende);font-weight:600;line-height:1.4;color:var(--color-encre2)}

/* ---------- Listes et blocs de contenu ---------- */
.pain{list-style:none;padding:0;border-top:var(--trait) solid var(--color-noir);max-width:960px}
.pain li{padding:.8rem 0;border-bottom:var(--filet) solid var(--color-filet);max-width:var(--mesure)}
.plaque-noire .pain{border-top-color:var(--color-blanc)}
.gets{list-style:none;padding:0;display:grid;grid-template-columns:1fr;column-gap:var(--gouttiere);border-top:var(--trait) solid var(--color-noir)}
.gets li{position:relative;padding:1.1rem 0 1.1rem calc(var(--voyant) + .9rem);border-bottom:var(--filet) solid var(--color-filet)}
.gets li::before{content:"";position:absolute;left:0;top:calc(1.1rem + .3rem);width:var(--voyant);height:var(--voyant);border-radius:50%;border:var(--trait) solid var(--color-noir);background:var(--color-orange)}
.gets b{display:block;font-family:var(--font-cond);font-weight:600;font-size:var(--size-h3);line-height:var(--lh-h3);margin-bottom:.25rem}
@media (min-width:900px){.gets{grid-template-columns:1fr 1fr}}
.hit{margin-top:2rem;background:var(--color-blanc);border:var(--trait) solid var(--color-noir);border-radius:var(--rayon);padding:var(--pad-plaque);display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:center}
.aparte{margin-top:1.5rem;font-size:.9375rem;color:var(--color-encre2)}
.hit h3{font-weight:800;margin-bottom:.35rem}
.hit p{max-width:var(--mesure)}
@media (min-width:900px){.hit{grid-template-columns:1fr auto;gap:2rem}}
.steps{list-style:none;padding:0;border-top:var(--trait) solid var(--color-noir);max-width:960px}
.steps li{display:grid;grid-template-columns:var(--voyant) 1fr;grid-template-areas:"v t" ". d" ". w";gap:.35rem 1rem;align-items:start;padding:1.1rem 0;border-bottom:var(--filet) solid var(--color-filet)}
.steps li::before{content:"";grid-area:v;width:var(--voyant);height:var(--voyant);border-radius:50%;border:var(--trait) solid var(--color-noir);margin-top:.3rem}
.steps li:first-child::before{background:var(--color-orange)}
.steps li>div{grid-area:t}
.steps li>div b,.steps li>div small{grid-area:auto}
.steps b{grid-area:t;display:block;font-family:var(--font-cond);font-weight:600;font-size:var(--size-h3);line-height:var(--lh-h3);margin-bottom:.2rem}
.steps small{grid-area:d;display:block;font-size:var(--size-corps);color:var(--color-encre2);max-width:var(--mesure)}
.steps .when{grid-area:w;justify-self:start;margin:0;font-variant-numeric:tabular-nums}
@media (min-width:640px){
  .steps li{grid-template-columns:var(--voyant) 1fr auto;grid-template-areas:"v t w" ". d w"}
  .steps .when{justify-self:end;align-self:start}
}
.two{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:.5rem}
@media (min-width:900px){.two{grid-template-columns:1fr 1fr;gap:3rem var(--gouttiere)}}
.two .card{background:transparent;border:0;padding:0}
.two h3{margin-bottom:.75rem}
.two ul{list-style:none;padding:0;border-top:var(--trait) solid var(--color-noir)}
.two li{position:relative;padding:.7rem 0 .7rem calc(var(--voyant) + .75rem);border-bottom:var(--filet) solid var(--color-filet)}
.two li::before{content:"";position:absolute;left:0;top:calc(.7rem + .45em);width:var(--voyant);height:var(--voyant);border-radius:50%;border:var(--trait) solid var(--color-noir)}
.yes-l li::before{background:var(--color-orange)}
.proofs{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:.5rem}
@media (min-width:640px){.proofs{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.proofs{grid-template-columns:repeat(3,1fr)}.proofs-2{grid-template-columns:1fr 1fr}.proofs-4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--color-blanc);border:var(--trait) solid var(--color-noir);border-radius:var(--rayon);padding:var(--pad-plaque)}
.plaque-noire .card{background:var(--color-noir);border-color:var(--color-gris-noir)}
.card b.big{display:block;font-family:var(--font-cond);font-weight:800;font-size:var(--size-h2);line-height:1.05;letter-spacing:var(--ls-h2);margin-bottom:.4rem;font-variant-numeric:tabular-nums}
.card .eyebrow{margin-bottom:.6rem}
.cols{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}
.cols>*{min-width:0}
@media (min-width:900px){.cols{grid-template-columns:7fr 5fr;gap:3rem var(--gouttiere)}}
.facts{width:100%;border-collapse:collapse;font-size:var(--size-corps);border-top:var(--trait) solid var(--color-noir)}
.facts th{text-align:left;font-family:var(--font-cond);font-weight:600;font-size:var(--size-plaquette);color:var(--color-encre2);padding:.7rem 1rem .7rem 0;border-bottom:var(--filet) solid var(--color-filet);width:9rem;vertical-align:top}
.facts td{padding:.7rem 0;border-bottom:var(--filet) solid var(--color-filet)}
.card .facts{border-top:0}
.offers{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:.5rem}
@media (min-width:768px){.offers{grid-template-columns:1fr 1fr}}
.offer{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:var(--pad-plaque);border:var(--trait) solid var(--color-noir);border-radius:var(--rayon);background:var(--color-blanc)}
.offer:first-child{background-color:var(--color-noir);background-image:var(--grain);color:var(--color-blanc)}
.offer:first-child ul,.offer:first-child li{border-color:var(--color-gris-noir)}
.offer:first-child .for{background:var(--color-blanc);color:var(--color-noir)}
.offer h3{font-weight:800;font-size:clamp(1.375rem,0.9rem + 2.2vw,2.25rem);line-height:1.05;margin:0}
.offer ul{list-style:none;padding:0;width:100%;border-top:var(--filet) solid var(--color-filet);margin:.5rem 0 .75rem}
.offer li{position:relative;padding:.5rem 0 .5rem calc(var(--voyant) + .75rem);border-bottom:var(--filet) solid var(--color-filet)}
.offer li::before{content:"";position:absolute;left:0;top:calc(.5rem + .45em);width:var(--voyant);height:var(--voyant);border-radius:50%;border:var(--trait) solid currentColor;background:var(--color-orange)}
.offer .btns{margin-top:auto}
.offer:first-child .btn{background:var(--color-blanc);color:var(--color-noir);border-color:var(--color-blanc);box-shadow:0 var(--semelle) 0 0 var(--color-gris-noir)}
.timeline{display:grid;gap:0;border-top:var(--trait) solid var(--color-noir);max-width:960px}
.timeline .card{display:grid;grid-template-columns:1fr;gap:.5rem 1.5rem;padding:1.25rem 0;border:0;border-bottom:var(--filet) solid var(--color-filet);border-radius:0;background:transparent}
.timeline .card span{justify-self:start;font-variant-numeric:tabular-nums}
@media (min-width:640px){.timeline .card{grid-template-columns:9rem 1fr}.timeline .card span{grid-row:span 2}}
.links{list-style:none;padding:0;display:grid;grid-template-columns:1fr;border-top:var(--trait) solid var(--color-noir)}
@media (min-width:768px){.links{grid-template-columns:1fr 1fr;column-gap:var(--gouttiere)}}
.links a{display:block;padding:.75rem 0;text-decoration:none;font-weight:600;border-bottom:var(--filet) solid var(--color-filet)}
.links a:hover{text-decoration:underline;text-underline-offset:.2em}
.links small{display:block;font-weight:400;font-size:1rem;color:var(--color-encre2)}
.zones{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:.5rem}
@media (min-width:768px){.zones{grid-template-columns:repeat(3,1fr)}}
.zones h3{font-size:1rem;color:var(--color-encre2);margin-bottom:.4rem}
.zones ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}
.zones a{text-decoration:underline;text-underline-offset:.18em;min-height:44px;display:inline-flex;align-items:center}
.prose h2{margin:2.25rem 0 .75rem}
.prose h3{margin:1.5rem 0 .4rem}
.prose p,.prose ul,.prose ol{margin-top:.75rem;max-width:var(--mesure)}
.prose ul,.prose ol{padding-left:1.4rem}
.prose li+li{margin-top:.25rem}
.prose a{text-decoration:underline;text-underline-offset:.18em}
.prose a.btn,.prose a.poussoir{text-decoration:none}

/* ---------- FAQ ---------- */
.faq .eyebrow{margin-bottom:.9rem}
.faq details{background:var(--color-blanc);border:var(--trait) solid var(--color-noir);border-radius:var(--rayon);padding:0 var(--pad-plaque);margin-top:-2px}
.faq details:first-of-type{margin-top:0}
.faq summary{font-family:var(--font-cond);font-weight:600;font-size:var(--size-h3);line-height:var(--lh-h3);padding:1rem 0;min-height:44px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:800;flex:none}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 0 1.1rem;max-width:var(--mesure)}
.cta-line{margin-top:1.75rem}

/* ---------- Réservation ---------- */
.resa .lead{margin-bottom:1.25rem}
.cal{background:var(--color-blanc);border:var(--trait) solid var(--color-noir);border-radius:var(--rayon);padding:var(--pad-plaque);min-height:520px}
.fallback{margin-top:1rem;font-size:1rem;color:var(--color-encre2);max-width:var(--mesure)}
.fallback a{text-decoration:underline;text-underline-offset:.18em}
.tel-xl{display:inline-block;font-family:var(--font-cond);font-weight:800;font-size:var(--size-tel);line-height:1;font-variant-numeric:tabular-nums;text-decoration:none;margin:1.25rem 0 .75rem}
.tel-xl:hover{text-decoration:underline;text-decoration-thickness:2px}
.resa-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}
@media (min-width:1024px){.resa-grid{grid-template-columns:5fr 7fr;gap:3rem var(--gouttiere)}}

/* ---------- Pied de page ---------- */
.pied{background:var(--color-noir);color:var(--color-blanc);padding:3rem 0 2.5rem;font-size:1rem;line-height:1.5}
.pied .grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:640px){.pied .grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.pied .grid{grid-template-columns:repeat(4,1fr)}}
.pied h4{font-size:1.125rem;line-height:1.2;margin-bottom:.5rem}
.pied ul{list-style:none;padding:0}
.pied li,.pied p{color:var(--color-gris-noir);padding:.15rem 0}
.pied a{color:var(--color-blanc);text-decoration:none;display:inline-flex;min-height:44px;align-items:center}
.pied .zl a,.pied .legal a,.pied p a{display:inline;min-height:0}
.pied a:hover{text-decoration:underline;text-underline-offset:.25em}
.pied .legal{border-top:var(--filet) solid var(--color-filet);margin-top:2rem;padding-top:1.25rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;color:var(--color-gris-noir)}
.pied button{background:none;border:0;color:var(--color-blanc);font:inherit;cursor:pointer;padding:0;min-height:44px}

/* ---------- 404, légal ---------- */
.introuvable{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .poussoir:hover,.btn:hover,.poussoir:active,.btn:active{transform:none;box-shadow:0 var(--semelle) 0 0 var(--color-noir)}
}
[data-motion]{--tm-duration:var(--duration-titre)}

/* ---------- Formulaire (demande d'extrait de rapport) ---------- */
.form h3{margin-bottom:.35rem}
.saisie{margin-top:1.1rem}
.saisie label{display:block;font-family:var(--font-cond);font-weight:600;font-size:var(--size-plaquette);line-height:var(--lh-plaquette);color:var(--color-encre2);margin-bottom:.35rem}
.saisie input{display:block;width:100%;min-height:var(--cible);padding:.6rem .8rem;font:inherit;font-size:var(--size-bouton);line-height:var(--lh-champ);color:var(--color-noir);background:var(--color-blanc);border:var(--trait) solid var(--color-noir);border-radius:var(--rayon)}
.form .btn{margin-top:1.25rem;width:100%}
.form .note{margin-top:1rem}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
