/* Bilan Habitat Provence — feuille unique.
   Parti pris : le site se lit comme un rapport d'inspection. Fond de plan quadrillé, encre bleu nuit,
   tampons d'état (sain / à surveiller / à reprendre), une seule famille (Archivo, largeur variable)
   + une mono pour les étiquettes. Une seule famille d'arrondis : 2px. */

:root{
  --papier:#EDEEEA;          /* calcaire froid, pas de crème */
  --papier-2:#E3E5E0;
  --blanc:#FAFAF7;
  --encre:#14213A;           /* bleu nuit, la couleur du CV de Stéphane */
  --encre-2:#33415C;
  --gris:#4E5870;
  --trait:rgba(20,33,58,.11);
  --trait-fort:rgba(20,33,58,.28);
  /* Couleur vive : tomette (choix d'Estelle du 12/11). Trois teintes pour tenir les contrastes :
     --ocre (vif) pour les traits et les grands éléments, --tomette-fond pour les fonds de boutons
     (texte blanc, contraste 5:1), --ocre-texte pour le petit texte sur papier. Noms --ocre gardés
     pour ne pas réécrire toute la feuille. */
  --ocre:#E2553C;
  --tomette-fond:#C4412A;
  --ocre-texte:#B23A22;
  --or:#A86A12;              /* le doré gardé pour le bandeau de l'offre */
  --sain:#2C6145;
  --surveiller:#835500;
  --reprendre:#9A3522;
  --urgent:#6E1A2A;
  --rayon:2px;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --nav-h:72px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 16px)}
body{margin:0;background:var(--papier);color:var(--encre);
  font-family:'Archivo',system-ui,-apple-system,sans-serif;font-size:1.0625rem;line-height:1.62;
  font-stretch:100%;font-weight:400;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--encre);color:var(--papier)}
:focus-visible{outline:2px solid var(--ocre);outline-offset:3px}
a{color:inherit}
p{margin:0 0 1em}
button,input,textarea{font:inherit}
input,textarea{font-size:16px}
button,a{touch-action:manipulation}

.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}

/* Grain (planche « Grain de pellicule ») */
.grain{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.22;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Titres : une taille par niveau ---------- */
h1,h2,h3,h4{margin:0;color:inherit;font-weight:760;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6.4vw,5.6rem);line-height:.94;font-stretch:66%;font-weight:820;text-transform:uppercase;letter-spacing:-.005em}
h1 .h1-voix2{display:block;margin-top:.35em;font-size:.34em;line-height:1.25;font-stretch:118%;font-weight:300;text-transform:none;letter-spacing:.01em;color:var(--encre-2)}
h2{font-size:clamp(1.85rem,3.4vw,3rem);line-height:1;font-stretch:72%;font-weight:780;text-transform:uppercase;margin-bottom:.55em}
h3{font-size:1.22rem;line-height:1.25;font-stretch:96%;font-weight:680;margin-bottom:.4em}
h4{font-size:1.05rem;font-weight:650}

.etiquette{display:inline-block;font-family:'Plex Mono',ui-monospace,monospace;font-weight:500;font-size:.78rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--gris);margin:0 0 1rem}
.etiquette::before{content:"";display:inline-block;width:22px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}
.accroche{font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.35;font-stretch:92%;font-weight:560;max-width:34ch}
.chapo{font-size:1.15rem;line-height:1.55;max-width:60ch;color:var(--encre-2)}

/* ---------- Boutons : deux looks, pas plus ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:.75em 1.4em;
  border-radius:var(--rayon);border:1.5px solid var(--encre);font-weight:650;font-stretch:96%;font-size:1rem;line-height:1.2;
  text-decoration:none;text-align:center;cursor:pointer;
  transition:background-color .18s var(--ease-out),color .18s var(--ease-out),border-color .18s var(--ease-out),transform .12s var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn--plein{background:var(--tomette-fond);color:var(--blanc);border-color:var(--tomette-fond)}
.btn--ligne{background:transparent;color:var(--encre)}
@media (hover:hover) and (pointer:fine){
  .btn--plein:hover{background:var(--encre);border-color:var(--encre)}
  .btn--ligne:hover{background:var(--encre);color:var(--blanc)}
}
.sombre .btn--ligne{color:var(--blanc);border-color:rgba(250,250,247,.6)}
@media (hover:hover) and (pointer:fine){
  .sombre .btn--plein:hover{background:var(--blanc);border-color:var(--blanc);color:var(--encre)}
  .sombre .btn--ligne:hover{background:var(--blanc);color:var(--encre)}
}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:1.6rem}
.actions .sous{font-size:.9rem;color:var(--gris);flex-basis:100%}
.sombre .actions .sous{color:#C3C9D6}

/* Liens dans le texte : un seul look */
.prose a:not(.btn),.lien{color:var(--encre);text-decoration:underline;text-decoration-color:var(--ocre);text-underline-offset:3px;text-decoration-thickness:1.5px;transition:color .15s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.prose a:not(.btn):hover,.lien:hover{color:var(--ocre-texte)}}

/* ---------- Tampons d'état ---------- */
.tampon{display:inline-block;font-family:'Plex Mono',ui-monospace,monospace;font-size:.72rem;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;padding:.28em .6em;border:1.5px solid currentColor;border-radius:var(--rayon);white-space:nowrap;line-height:1.3}
.tampon--sain{color:var(--sain)}
.tampon--surveiller{color:var(--surveiller)}
.tampon--reprendre{color:var(--reprendre)}
.tampon--urgent{color:var(--urgent)}
.tampon--verifier{color:var(--encre-2)}

/* ---------- Navigation ---------- */
.nav{position:sticky;top:0;z-index:40;background:rgba(237,238,234,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--trait-fort)}
.nav .wrap{max-width:1340px;display:flex;align-items:center;gap:24px;min-height:var(--nav-h)}
.nav-logo{flex:0 0 auto;display:flex;flex-direction:column;text-decoration:none;line-height:1;color:var(--encre);transition:color .15s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.nav-logo:hover{color:var(--ocre-texte)}}
.nav-logo b{font-stretch:64%;font-weight:840;font-size:1.45rem;text-transform:uppercase;letter-spacing:.005em}
.nav-logo span{font-stretch:120%;font-weight:340;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;margin-top:4px}
.nav-liens{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav-liens a:not(.btn){text-decoration:none;font-weight:540;font-size:.97rem;white-space:nowrap;padding:6px 0;border-bottom:1.5px solid transparent;transition:border-color .15s var(--ease-out)}
.nav-liens a[aria-current="page"]{border-bottom-color:var(--ocre)}
@media (hover:hover) and (pointer:fine){.nav-liens a:not(.btn):hover{border-bottom-color:var(--encre)}}
.nav-liens .btn{min-height:44px;padding:.55em 1.1em;font-size:.95rem}
.burger{display:none;margin-left:auto;width:48px;height:48px;border:1.5px solid var(--encre);border-radius:var(--rayon);background:transparent;cursor:pointer;position:relative;color:var(--encre)}
.burger span,.burger span::before,.burger span::after{position:absolute;left:12px;width:22px;height:2px;background:currentColor;content:"";transition:transform .2s var(--ease-out)}
.burger span{top:22px}.burger span::before{top:-7px;left:0}.burger span::after{top:7px;left:0}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}
.menu-mobile{display:none}
@media (max-width:1120px){
  .nav-liens{display:none}
  .burger{display:block}
  .menu-mobile{position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;z-index:39;background:var(--papier);padding:24px clamp(16px,4vw,40px);overflow:auto;flex-direction:column;gap:4px}
  .menu-mobile.ouvert{display:flex}
  .menu-mobile a:not(.btn){text-decoration:none;font-size:1.6rem;font-stretch:72%;font-weight:760;text-transform:uppercase;padding:10px 0;border-bottom:1px solid var(--trait)}
  .menu-mobile .btn{margin-top:20px}
}

/* ---------- Haut de page en couches ---------- */
.plan{background-color:var(--papier);
  background-image:linear-gradient(var(--trait) 1px,transparent 1px),linear-gradient(90deg,var(--trait) 1px,transparent 1px);
  background-size:28px 28px;background-position:-1px -1px}
.hero{position:relative;padding:clamp(48px,7vw,96px) 0 0;overflow:clip}
.hero-grille{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.hero-texte{grid-column:1 / span 7;padding-bottom:clamp(40px,6vw,88px)}
.hero-texte .accroche{margin-top:1.6rem}
.hero-carte{grid-column:8 / span 5;position:relative;z-index:2;margin-bottom:-64px}
.hero-cote{position:absolute;right:clamp(16px,4vw,40px);top:24px;font-family:'Plex Mono',monospace;font-size:.72rem;letter-spacing:.08em;color:var(--gris);text-transform:uppercase}
@media (max-width:900px){
  .hero-texte,.hero-carte{grid-column:1 / -1}
  .hero-carte{margin-bottom:-48px}
  .hero-cote{display:none}
}

/* Le rapport (extrait) */
.rapport{background:var(--blanc);border:1px solid var(--trait-fort);border-radius:var(--rayon);box-shadow:0 30px 60px -30px rgba(20,33,58,.45),0 2px 0 rgba(20,33,58,.05);padding:22px 22px 18px}
.rapport-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px solid var(--encre);padding-bottom:12px;margin-bottom:6px}
.rapport-tete p{margin:0;font-family:'Plex Mono',monospace;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gris);line-height:1.5}
.rapport-tete strong{display:block;color:var(--encre);font-family:'Archivo',sans-serif;font-stretch:80%;font-size:1.1rem;letter-spacing:0;text-transform:none}
.dpe{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;background:#C9302C;color:#fff;font-weight:800;font-size:1.4rem;border-radius:var(--rayon)}
.rapport ul{list-style:none;margin:0;padding:0}
.rapport li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--trait-fort);font-size:.97rem;line-height:1.3}
.rapport-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0 8px;font-weight:700;font-stretch:88%}
.rapport-total span:last-child{font-size:1.35rem;text-align:right}
@media (max-width:420px){.rapport-total{flex-direction:column;gap:2px}.rapport-total span:last-child{text-align:left}}
.rapport-note{font-size:.8rem;color:var(--gris);margin:4px 0 0;line-height:1.45}

/* Bande de repères */
.reperes{background:var(--encre);color:var(--blanc);padding:100px 0 34px}
.reperes ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.reperes li{border-left:1px solid rgba(250,250,247,.3);padding-left:16px}
.reperes b{display:block;font-stretch:70%;font-weight:760;font-size:1.6rem;text-transform:uppercase;line-height:1.05;color:var(--ocre)}
.reperes span{font-size:.92rem;color:#C3C9D6}
@media (max-width:900px){.reperes{padding-top:96px}.reperes ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.reperes ul{gap:16px 12px}.reperes li{padding-left:12px}.reperes b{font-size:1.25rem}}
h1,h2,h3{overflow-wrap:break-word;hyphens:manual}

/* ---------- Sections ---------- */
.section{padding:clamp(64px,9vw,128px) 0}
.section--serre{padding:clamp(48px,6vw,80px) 0}
.sombre{background:var(--encre);color:var(--blanc)}
.sombre .etiquette{color:#C3C9D6}
.sombre .chapo{color:#D6DBE5}
.papier2{background:var(--papier-2)}
.decale{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.decale > .col-g{grid-column:1 / span 4}
.decale > .col-d{grid-column:6 / span 7}
.decale > .col-large{grid-column:5 / span 8}
@media (max-width:900px){.decale > *{grid-column:1 / -1 !important}}
.colle-haut{position:sticky;top:calc(var(--nav-h) + 32px);align-self:start}
@media (max-width:900px){.colle-haut{position:static}}

/* Trois étapes : fiches qui s'empilent (planche « Cartes qui s'empilent ») */
.fiches{display:grid;gap:22px;margin-top:2rem}
.fiche{background:var(--blanc);color:var(--encre);border-radius:var(--rayon);padding:clamp(24px,3vw,36px);display:grid;grid-template-columns:180px 1fr;gap:24px;border-top:4px solid var(--ocre)}
.fiche-quand{font-family:'Plex Mono',monospace;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);line-height:1.6}
.fiche-quand b{display:block;font-family:'Archivo',sans-serif;font-stretch:66%;font-weight:820;font-size:2.4rem;letter-spacing:0;color:var(--encre);line-height:1}
.fiche p:last-child{margin-bottom:0}
@media (min-width:901px){
  .fiche{position:sticky;top:calc(var(--nav-h) + 24px + var(--i,0) * 18px)}
}
@media (max-width:600px){.fiche{grid-template-columns:1fr;gap:10px}}

/* Ce que vous recevez */
.recu{list-style:none;margin:0;padding:0;border-top:2px solid var(--encre)}
.recu li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--trait-fort)}
.recu h3{margin:0}
.recu p{margin:0;color:var(--encre-2)}
@media (max-width:700px){.recu li{grid-template-columns:1fr;gap:6px}}

/* Panneaux raccordés : un panneau clair qui mord sur la section sombre */
.raccord{position:relative;z-index:2;margin-top:-96px}
.panneau{background:var(--blanc);border:1px solid var(--trait-fort);border-radius:var(--rayon);padding:clamp(28px,4vw,52px);box-shadow:0 24px 48px -28px rgba(20,33,58,.4)}
.sombre.avec-raccord{padding-bottom:calc(clamp(64px,9vw,128px) + 96px)}

.trois{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:1.6rem}
.deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:1.6rem}
.case{border-top:1px solid var(--trait-fort);padding-top:16px}
.case p{margin:0;color:var(--encre-2)}
.sombre .case{border-top-color:rgba(250,250,247,.3)}
.sombre .case p{color:#D6DBE5}
@media (max-width:900px){.trois,.deux{grid-template-columns:1fr}}

/* Offre de fin d'année */
.offre{display:grid;grid-template-columns:240px 1fr auto;gap:28px;align-items:center;border:1.5px dashed var(--or);border-radius:var(--rayon);padding:clamp(22px,3vw,36px);background:rgba(168,106,18,.07)}
.offre-visuel{position:relative}
.offre-photo{margin:0;background:var(--blanc);padding:8px;box-shadow:0 14px 30px -18px rgba(20,33,58,.6);transform:rotate(-2deg)}
.offre-photo img{width:100%;height:170px;object-fit:cover}
.offre-visuel .tampon{position:absolute;right:-10px;bottom:-12px;background:var(--blanc);color:#7F4F08;transform:rotate(-6deg);font-size:.8rem}
.offre > .tampon{color:#7F4F08;transform:rotate(-4deg);font-size:.8rem;justify-self:start}
.offre h2{margin-bottom:.3em}
.offre p{margin:0;max-width:60ch}
@media (max-width:900px){.offre{grid-template-columns:1fr}}

/* Profil / jalons */
.jalons{list-style:none;margin:0;padding:0}
.jalons li{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--trait-fort)}
.jalons li > span{font-family:'Plex Mono',monospace;font-size:.82rem;letter-spacing:.04em;color:var(--ocre-texte);padding-top:3px}
.jalons p{margin:0;color:var(--encre-2)}
.jalons b{color:var(--encre)}
@media (max-width:600px){.jalons li{grid-template-columns:1fr;gap:4px}}
.citation{font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.35;font-stretch:90%;font-weight:520;border-left:3px solid var(--ocre);padding-left:22px;margin:0 0 1.4rem;max-width:36ch}

/* FAQ : questions visibles */
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.faq-item{padding:22px 0;border-top:1px solid var(--trait-fort)}
.faq-item h3{margin-bottom:.5em}
.faq-item p{margin:0;color:var(--encre-2)}
.faq-item p + p{margin-top:.7em}
@media (max-width:900px){.faq{grid-template-columns:1fr}}

/* Rendez-vous */
.rdv{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:end}
.rdv-coord{font-size:1.05rem;line-height:1.8}
.rdv-coord a{text-decoration:none;border-bottom:1.5px solid rgba(250,250,247,.4)}
@media (hover:hover) and (pointer:fine){.rdv-coord a:hover{border-bottom-color:#E9C88F}}
@media (max-width:900px){.rdv{grid-template-columns:1fr;gap:20px}}

/* ---------- Pages intérieures ---------- */
.page-tete{padding:clamp(44px,6vw,84px) 0 clamp(36px,5vw,60px);border-bottom:1px solid var(--trait-fort)}
.page-tete h1{font-size:clamp(2.2rem,5vw,4.4rem);max-width:18ch}
.page-tete .chapo{margin-top:1.4rem}

.prose{max-width:68ch}
.prose h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:2.2em 0 .6em}
.prose h3{margin:1.6em 0 .4em}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin-bottom:.45em}
.encadre{background:var(--blanc);border-left:4px solid var(--ocre);padding:20px 24px;margin:1.8em 0;border-radius:var(--rayon)}
.encadre p:last-child{margin-bottom:0}
.encadre .etiquette{margin-bottom:.5rem}
.meta-article{font-family:'Plex Mono',monospace;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gris);margin-top:1.4rem}
.chapeau{font-size:1.18rem;line-height:1.55;border-left:3px solid var(--encre);padding-left:20px;margin:0 0 1.6em;color:var(--encre-2)}
.sources{font-size:.9rem;color:var(--gris)}
.sources a{word-break:break-word}

.articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.carte-article{display:flex;flex-direction:column;gap:10px;background:var(--blanc);border:1px solid var(--trait-fort);border-radius:var(--rayon);padding:26px;text-decoration:none;transition:border-color .18s var(--ease-out),transform .18s var(--ease-out)}
.carte-article h3{font-stretch:88%;margin:0}
.carte-article p{margin:0;color:var(--encre-2)}
.carte-article .suite{margin-top:auto;font-weight:650;font-size:.95rem;color:var(--ocre-texte)}
@media (hover:hover) and (pointer:fine){.carte-article:hover{border-color:var(--encre);transform:translateY(-2px)}}
@media (max-width:800px){.articles{grid-template-columns:1fr}}

.postes{columns:2;column-gap:40px;list-style:none;padding:0;margin:1.4rem 0 0}
.postes li{break-inside:avoid;padding:12px 0;border-bottom:1px solid var(--trait-fort)}
.postes b{display:block}
.postes span{color:var(--encre-2);font-size:.97rem}
@media (max-width:700px){.postes{columns:1}}

.prix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:1.4rem}
.prix-carte{background:var(--blanc);border:1px solid var(--trait-fort);border-top:4px solid var(--ocre);border-radius:var(--rayon);padding:28px}
.prix-montant{font-stretch:70%;font-weight:800;font-size:2.6rem;line-height:1;margin:.3em 0 .2em}
.prix-montant small{font-size:.42em;font-stretch:100%;font-weight:500;letter-spacing:.02em}
.prix-carte ul{padding-left:1.1em;margin:1em 0 0;color:var(--encre-2)}
@media (max-width:800px){.prix{grid-template-columns:1fr}}

.departements{display:grid;gap:0}
.dep{display:grid;grid-template-columns:120px minmax(0,1fr) 300px;gap:28px;align-items:start;padding:30px 0;border-top:1px solid var(--trait-fort)}
.cliche--dep{margin:0;transform:rotate(1deg)}
.dep:nth-child(even) .cliche--dep{transform:rotate(-1deg)}
.case--contact{display:flex;flex-direction:column}
.case--contact p{flex:1 0 auto;margin-bottom:18px}
.case--contact .btn{width:100%}
.btn--mail{overflow-wrap:anywhere;font-size:.95rem}
@media (max-width:900px){.dep{grid-template-columns:120px minmax(0,1fr)}.cliche--dep{grid-column:2;max-width:360px}}
.dep-num{font-stretch:62%;font-weight:840;font-size:3.6rem;line-height:.9;color:var(--encre)}
.dep h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:.4em}
.dep p{color:var(--encre-2);max-width:66ch}
@media (max-width:600px){.dep{grid-template-columns:1fr;gap:8px}.dep-num{font-size:2.6rem}.cliche--dep{grid-column:auto;max-width:240px}.cliche--dep img{aspect-ratio:3/2}}

/* ---------- Photos : tirages au cadre blanc, comme collés dans un rapport ---------- */
.cliche{margin:1.6rem 0 0;background:var(--blanc);padding:8px 8px 10px;border:1px solid var(--trait);box-shadow:0 18px 36px -24px rgba(20,33,58,.55)}
.cliche img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cliche figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 4px 0;font-weight:650;font-size:.95rem}
.tete-image{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center}
.cliche--tete{margin:0;transform:rotate(1.5deg)}
.cliche--tete img{aspect-ratio:5/4}
@media (max-width:900px){.tete-image{grid-template-columns:1fr}.cliche--tete{transform:none}}
.hero-photo{margin:0;border:8px solid var(--blanc);box-shadow:0 24px 50px -28px rgba(20,33,58,.6);transform:rotate(-1.5deg)}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-carte .rapport{position:relative;margin:-80px -28px 0 44px;transform:rotate(1.5deg)}
@media (max-width:900px){.hero-photo{transform:none}.hero-carte .rapport{margin:-60px 0 0 24px;transform:none}}
.constats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:1.6rem 0 .6rem}
.constats .cliche{margin:0}
.constats .cliche:nth-child(odd){transform:rotate(-1deg)}
.constats .cliche:nth-child(even){transform:rotate(1deg)}
@media (max-width:900px){.constats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.constats .cliche figcaption{flex-direction:column;align-items:flex-start}}
.portrait-rond{display:block;border-radius:50%;border:3px solid var(--ocre);margin:0 0 18px;object-fit:cover}
@media (prefers-reduced-motion:reduce){.cliche,.hero-photo,.offre-photo,.constats .cliche{transform:none!important}}

.panneau--photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;overflow:hidden}
.panneau-photo{margin:0;min-height:100%}
.panneau-photo img{width:100%;height:100%;min-height:360px;object-fit:cover}
.panneau-texte{padding:clamp(28px,4vw,56px);align-self:center}
@media (max-width:900px){.panneau--photo{grid-template-columns:1fr}.panneau-photo img{min-height:0;aspect-ratio:3/2}}
.grand-point{justify-self:center;font-stretch:62%;font-weight:860;font-size:clamp(9rem,22vw,20rem);line-height:.8;color:var(--ocre);transform:rotate(8deg);text-shadow:10px 10px 0 rgba(20,33,58,.12)}
@media (max-width:900px){.grand-point{display:none}}

.grille-prix{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px;align-items:start}
.tableau-prix{width:100%;border-collapse:collapse;background:var(--blanc);border:1px solid var(--trait-fort);border-top:4px solid var(--ocre)}
.legende-grille{font-family:'Plex Mono',monospace;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);margin:1.4rem 0 10px}
.lecteur-seul{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tableau-prix th,.tableau-prix td{padding:16px 20px;border-bottom:1px dashed var(--trait-fort);text-align:left;font-weight:500}
.tableau-prix thead th{font-family:'Plex Mono',monospace;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);border-bottom:2px solid var(--encre)}
.tableau-prix td{text-align:right;font-stretch:72%;font-weight:800;font-size:1.7rem;white-space:nowrap;color:var(--encre)}
.tableau-prix tbody tr:last-child td{font-size:1.1rem;font-stretch:100%;font-weight:650}
.deplacement{margin-top:20px;background:var(--blanc);border:1px solid var(--trait-fort);border-left:4px solid var(--ocre);padding:22px 24px}
.deplacement h3{margin-bottom:.5em}
.exemples-km{list-style:none;padding:0;margin:.8em 0;display:flex;flex-wrap:wrap;gap:10px 28px}
.exemples-km b{font-weight:700}
@media (max-width:900px){.grille-prix{grid-template-columns:1fr}}
@media (max-width:420px){.tableau-prix th,.tableau-prix td{padding:12px 12px}.tableau-prix td{font-size:1.35rem}}

.a-completer{background:#FFF2C2;outline:1.5px dashed var(--surveiller);padding:0 .25em}

/* ---------- Pied de page ---------- */
.pied{background:#0D1729;color:#D6DBE5;padding:64px 0 28px;font-size:.95rem;border-top:4px solid var(--ocre)}
.pied .wrap{display:grid;grid-template-columns:minmax(0,5fr) repeat(2,minmax(0,3fr));gap:32px}
.pied h3{color:var(--blanc);font-size:1rem;font-stretch:100%;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1em}
.pied-marque b{display:block;color:var(--blanc);font-stretch:64%;font-weight:840;font-size:1.7rem;text-transform:uppercase;line-height:1;margin-bottom:.6em}
.pied nav{display:flex;flex-direction:column;gap:8px}
.pied a{text-decoration:none;color:#D6DBE5;transition:color .15s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.pied a:hover,.pied button:hover{color:var(--blanc)}}
.pied .pied-coord a{border-bottom:1px solid rgba(214,219,229,.35)}
.pied-limites{grid-column:1 / -1;border-top:1px solid rgba(214,219,229,.2);padding-top:18px;font-size:.85rem;color:#AEB6C6}
.pied-bas{display:flex!important;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.85rem;color:#AEB6C6;margin-top:6px}
.pied-bas button{background:none;border:0;padding:0;color:#D6DBE5;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:inherit}
@media (max-width:900px){.pied .wrap{grid-template-columns:1fr}}

/* ---------- Bandeau cookies ---------- */
#cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:640px;margin:0 auto;background:var(--blanc);color:var(--encre);
  border:1px solid var(--trait-fort);border-radius:var(--rayon);padding:18px 20px;box-shadow:0 18px 40px -18px rgba(20,33,58,.5);font-size:.95rem}
#cookie-banner[hidden]{display:none}
#cookie-banner p{margin:0 0 12px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-actions .btn{min-height:44px;flex:1 1 140px}

/* ---------- Apparition au défilement : état final par défaut, animation en enrichissement ---------- */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .revele{animation:revele linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
  }
}
@keyframes revele{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.hero-carte{transform:none}}

@media (max-width:560px){
  .btn{white-space:normal;padding:.7em 1.1em}
  .actions .btn{flex:1 1 100%}
}
