
/* Polices — AUCUN appel a un service tiers (Google Fonts transfere l adresse IP du visiteur,
   ce que la CNIL a deja sanctionne). Depose les .woff2 dans assets/fonts/ puis decommente. */
/*
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url("fonts/barlow-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url("fonts/barlow-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-400.woff2") format("woff2");font-weight:400;font-display:swap}
*/
:root{--creme:#f7f4ee;--creme2:#efeade;--creme3:#e0d9c9;--vert:#24402f;--vert2:#1a2b20;
--brun:#a4682f;--brun2:#8d5827;--sable:#e0b385;--gris:#5f6a60;--gris2:#b8c3b8;--encre:#1d241f}
*{box-sizing:border-box}
body{margin:0;background:var(--creme);color:var(--encre);font-family:Barlow,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:var(--vert);text-decoration:none}a:hover{color:var(--brun)}
h1,h2,h3,h4{margin:0;font-weight:400;font-family:"Instrument Serif",Georgia,"Times New Roman",serif;line-height:1.12}
p{margin:0 0 1em;text-wrap:pretty}ul{margin:0;padding:0;list-style:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.mono{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
.bandeau{background:var(--vert2);color:#cfd8cf;font-size:13px}
.bandeau .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
header{position:sticky;top:0;z-index:30;background:var(--vert);color:var(--creme);box-shadow:0 1px 0 rgba(0,0,0,.15)}
header a{color:var(--creme)}
header a:hover{color:var(--sable)}
header .wrap{display:flex;align-items:center;gap:28px;padding-top:13px;padding-bottom:13px;flex-wrap:wrap}
.logo{display:flex;flex-direction:column;line-height:1}
.logo b{font-family:"Instrument Serif",Georgia,serif;font-size:25px;font-weight:400;letter-spacing:.01em}
.logo span{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;opacity:.65;margin-top:4px}
nav{margin-left:auto;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
nav a{color:#dbe2db;font-size:14.5px}nav a:hover{color:var(--sable)}
.cta{background:var(--brun);color:#fff !important;padding:11px 20px;font-weight:600;font-size:14px}
.cta:hover{background:var(--brun2);color:#fff !important}
.hero{background:var(--vert);color:#f2efe7;position:relative;z-index:20}
/* Le hero ne rogne pas son contenu : la liste de suggestions du moteur de
   recherche en depasse par le bas et doit rester lisible. Ce qui doit etre
   rogne l est chez lui — la photo par .hero-fond, les cernes par leur cadrage. */
.hero:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(115deg,rgba(164,104,47,.13) 0 3px,transparent 3px 26px)}
.hero .wrap{position:relative;z-index:3;padding:64px 24px 72px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(34px,4.4vw,56px)}
.hero p{font-size:18px;color:#d5ddd5;max-width:58ch}
/* --- hero photographique : l image occupe tout le bandeau, le texte passe dessus --- */
.hero-img .hero-fond{position:absolute;inset:0;z-index:0;margin:0}
.hero-img .hero-fond img{width:100%;height:100%;object-fit:cover;display:block}
.hero-img:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
background:linear-gradient(96deg,rgba(20,34,25,.92) 0%,rgba(20,34,25,.85) 40%,rgba(20,34,25,.56) 70%,rgba(20,34,25,.3) 100%)}
.hero-img .wrap{padding-top:78px;padding-bottom:84px}
/* --- hero d un guide : une colonne, titre et chapo par-dessus la photo --- */
.hero-art .wrap{grid-template-columns:1fr}
.hero-art-txt{max-width:800px}
.hero-art h1{font-size:clamp(31px,3.8vw,47px);margin-bottom:0}
.hero-art .art-meta{color:var(--sable);margin-bottom:14px}
.hero-chapo{font-size:19.5px;line-height:1.6;color:#dbe3db;margin:18px 0 0;max-width:66ch}
.hero-chiffre{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.14em;
text-transform:uppercase;color:var(--sable);margin:22px 0 0;padding-top:16px;
border-top:1px solid rgba(224,179,133,.3);display:inline-block}
/* --- bandeau photo intercalaire, sur toute la largeur --- */
.bande{position:relative;margin:0;overflow:hidden}
.bande img{width:100%;height:clamp(220px,26vw,360px);object-fit:cover;display:block}
.bande figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 24px 18px;color:#eef2ee;
font-size:13px;font-family:"IBM Plex Mono",monospace;letter-spacing:.04em;
background:linear-gradient(to top,rgba(20,34,25,.85),transparent)}
.bande figcaption span{max-width:1132px;margin:0 auto;display:block}
.kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#d8ab7d;display:block;margin-bottom:18px}
.form{background:var(--creme);color:var(--encre);padding:28px;border-top:5px solid var(--brun);box-shadow:0 20px 44px rgba(0,0,0,.26)}
.form h2{font-size:26px}
.form label{display:grid;gap:6px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);margin-top:12px;font-family:"IBM Plex Mono",monospace}
.form input,.form select,.form textarea{padding:12px;border:1px solid #cfc9bb;background:#fff;font-family:inherit;font-size:15px;width:100%}
.form button{margin-top:16px;width:100%;background:var(--vert);color:var(--creme);border:0;padding:15px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer}
.form button:hover{background:var(--vert2)}
.form .legal{font-size:11.5px;color:#7d857c;margin-top:10px;line-height:1.5}
.form .form-pro{font-size:13px;line-height:1.5;color:var(--vert);background:var(--creme2);
border-left:3px solid var(--brun);padding:9px 12px;margin:14px 0 0}
.form .form-pro:empty{display:none}
.form .form-msg{font-size:13px;line-height:1.5;margin:12px 0 0;padding:10px 13px}
.form .form-msg:empty{display:none}
.form .form-msg[data-etat="ko"]{background:#f6e7e1;border-left:3px solid #a63d22;color:#7d2f19}
.form .form-msg[data-etat="ok"]{background:#e7efe7;border-left:3px solid var(--vert);color:#1f3a2a}
.form button[disabled]{opacity:.6;cursor:progress}
.form label.coche{display:flex;align-items:flex-start;gap:10px;margin-top:16px;
font-size:12.5px;line-height:1.5;letter-spacing:0;text-transform:none;color:#4a534b;
font-family:inherit;cursor:pointer}
.form label.coche input{width:17px;height:17px;flex:none;margin-top:1px;accent-color:var(--brun);padding:0}
.form label i.fac{font-style:normal;color:var(--gris2);text-transform:none;letter-spacing:0;
font-size:10.5px;margin-left:6px}
section{padding:56px 0}
.alt{background:var(--creme2);border-top:1px solid var(--creme3);border-bottom:1px solid var(--creme3)}
h2.sec{font-size:clamp(26px,3vw,36px);margin-bottom:8px}
.sub{color:var(--gris);margin-bottom:26px;max-width:78ch}
table.rep{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--creme3)}
table.rep th,table.rep td{text-align:left;padding:11px 14px;border-bottom:1px solid #eee7d8;font-size:15px}
table.rep th{width:56%;font-weight:500;color:#404a41}
table.rep td{font-weight:600;font-family:"IBM Plex Mono",monospace}
table.rep tr:last-child th,table.rep tr:last-child td{border-bottom:0}
.grid{display:grid;gap:16px}
.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.g6{grid-template-columns:repeat(6,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
.grid.g2>table.rep{align-self:start}
.card{background:#fff;border:1px solid #e2dbcb;padding:18px;display:flex;flex-direction:column;gap:7px}
.carte-pro{position:relative;transition:border-color .14s,box-shadow .14s,transform .14s}
.carte-pro:hover{border-color:var(--brun);box-shadow:0 6px 20px rgba(29,36,31,.09);transform:translateY(-2px)}
.carte-pro[data-on]{border-color:var(--brun);box-shadow:inset 3px 0 0 var(--brun)}
.carte-pro h3 a{color:var(--encre)}
.carte-pro:hover h3 a{color:var(--brun)}
.carte-couvre{position:absolute;inset:0;z-index:1}
.carte-pied{margin-top:auto;padding-top:12px;border-top:1px solid var(--creme2);
display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;position:relative;z-index:2}
.carte-devis{font:inherit;font-size:12.5px;font-weight:600;font-family:"IBM Plex Mono",monospace;
color:#fff;background:var(--brun);border:0;padding:8px 13px;cursor:pointer;line-height:1.2}
.carte-devis:hover{background:var(--brun2)}
.carte-ext{font-size:12.5px;color:var(--gris);font-family:"IBM Plex Mono",monospace;
text-decoration:underline;text-underline-offset:3px}
.carte-ext:hover{color:var(--vert)}
.card h3{font-size:18px}
.card .meta{font-size:12.5px;color:var(--gris);font-family:"IBM Plex Mono",monospace}
.card .adr{font-size:13.5px;color:#4a534b}
.note{color:var(--brun);font-weight:600;font-family:"IBM Plex Mono",monospace;font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--creme2);border:1px solid var(--creme3);padding:8px 13px;font-size:14px}
.chip:hover{background:var(--vert);color:var(--creme)}
.tuile{background:#fff;border:1px solid var(--creme3);padding:26px 28px;display:flex;
flex-direction:column;gap:9px;transition:border-color .12s,box-shadow .12s,transform .12s}
.tuile:hover{border-color:var(--brun);box-shadow:0 8px 26px rgba(29,36,31,.09);transform:translateY(-2px)}
.tuile-k{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--brun);
font-family:"IBM Plex Mono",monospace}
.tuile b{font-family:"Instrument Serif",Georgia,serif;font-size:25px;font-weight:400;
color:var(--encre);line-height:1.2}
.tuile-d{font-size:15px;line-height:1.6;color:#4a534b}
ol.pas{list-style:none;counter-reset:p;margin:0 0 8px;padding:0}
ol.pas li{counter-increment:p;position:relative;padding:0 0 20px 46px;font-size:16.5px;line-height:1.65;color:#39423a}
ol.pas li:before{content:counter(p,decimal-leading-zero);position:absolute;left:0;top:1px;
font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--brun);border:1px solid var(--creme3);
width:32px;height:32px;display:grid;place-items:center;background:#fff}
ol.pas b{font-weight:600}
.dept{background:#fff;border:1px solid #e2dbcb;padding:10px 12px;font-size:13.5px;display:flex;gap:8px;align-items:baseline}
.dept:hover{border-color:var(--brun);background:var(--creme2)}
.dept .c{font-size:11px;color:var(--brun);font-family:"IBM Plex Mono",monospace}
.src{font-size:12.5px;color:#7d857c;margin-top:14px;line-height:1.55}
.bandeau-cta{background:var(--brun);color:#fff}
.bandeau-cta .wrap{padding:48px 24px;display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap}
.bandeau-cta h2{font-size:32px}.bandeau-cta a{background:var(--vert2);color:var(--creme);padding:16px 28px;font-weight:600}
footer{background:var(--vert2);color:var(--gris2)}
footer .wrap{padding:48px 24px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
footer h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sable);font-family:"IBM Plex Mono",monospace;margin-bottom:12px}
footer a{color:var(--gris2);display:block;margin-bottom:7px;font-size:14px}footer a:hover{color:var(--sable)}
.copy{border-top:1px solid rgba(255,255,255,.09);font-size:11.5px;color:#7d8a7d;font-family:"IBM Plex Mono",monospace}
.copy .wrap{padding:16px 24px}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip{position:absolute;left:-9999px;background:var(--vert);color:var(--creme);padding:12px 18px;z-index:99}
.skip:focus{left:8px;top:8px;color:var(--creme)}
:focus-visible{outline:3px solid var(--brun);outline-offset:2px}
.pag{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.pag a,.pag span{padding:10px 16px;border:1px solid var(--creme3);background:#fff;font-family:"IBM Plex Mono",monospace;font-size:14px}
.pag .on{background:var(--vert);color:var(--creme);border-color:var(--vert)}
.fil{font-size:11.5px;letter-spacing:.06em;color:#7d857c;padding:16px 0;font-family:"IBM Plex Mono",monospace}
.prose p{font-size:16.5px;line-height:1.72;color:#39423a;max-width:74ch}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:34px}.g3,.g2{grid-template-columns:1fr}
.g6{grid-template-columns:repeat(3,1fr)}.g5{grid-template-columns:repeat(2,1fr)}footer .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.g6{grid-template-columns:repeat(2,1fr)}footer .wrap{grid-template-columns:1fr}}
/* --- selecteur de commune ---------------------------------------------
   Le champ libre laissait passer « 64 » ou « pres de Pau ». Sans commune
   reconnue, pas de coordonnees, donc pas de classement par distance, donc
   pas de transmission ciblee : tout le reste de la chaine en depend. */
.form .lieu-ch{position:relative}
.form .lieu-aide{font-size:10.5px;letter-spacing:0;text-transform:none;color:var(--gris2);
margin-top:3px;display:block;font-family:inherit}
.form .lieu-ch.ok .lieu-aide{color:var(--vert)}
.form .lieu-ch.ko input{border-color:#a63d22;background:#fdf6f3}
.form .lieu-ch.ko .lieu-aide{color:#a63d22}
.form .lieu-liste{position:absolute;z-index:40;left:0;right:0;top:100%;margin:2px 0 0;
background:#fff;border:1px solid #cfc9bb;box-shadow:0 14px 30px rgba(0,0,0,.14);
max-height:242px;overflow:auto;list-style:none;padding:0}
.form .lieu-liste li{padding:9px 12px;cursor:pointer;font-size:14.5px;display:flex;
justify-content:space-between;gap:10px;align-items:baseline}
.form .lieu-liste li:hover,.form .lieu-liste li[aria-selected="true"]{background:var(--creme2)}
.form .lieu-liste li b{font-weight:500}
.form .lieu-liste li span{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--gris)}
.form .form-diff{font-size:13px;line-height:1.5;color:var(--vert);background:var(--creme2);
border-left:3px solid var(--brun);padding:10px 12px;margin:14px 0 0}


.fig{margin:0 0 8px}
.fig figcaption h3{font-family:"Instrument Serif",Georgia,serif;font-size:23px;font-weight:400;color:var(--encre);margin:0 0 4px}
.fig figcaption p{font-size:14px;color:var(--gris);margin:0 0 14px;max-width:78ch;line-height:1.55}
.cw{position:relative;background:#fff;border:1px solid var(--creme3);padding:18px 14px 10px;overflow-x:auto}
.cw svg{display:block;width:100%;height:auto;min-width:520px}
.ct{font-family:"IBM Plex Mono",monospace;font-size:11px;fill:#5f6a60}
.cv{font-family:"IBM Plex Mono",monospace;font-size:12px;fill:#1d241f;font-weight:600}
.hb{cursor:default}.hb:hover{opacity:.82}
.leg{display:flex;gap:20px;margin:0 0 12px;font-size:13px;color:var(--gris);flex-wrap:wrap}
.leg span{display:flex;align-items:center;gap:7px}
.leg i{width:12px;height:12px;border-radius:3px;display:inline-block}
.tt{position:absolute;pointer-events:none;background:var(--encre);color:#f7f4ee;padding:8px 11px;font-size:12.5px;
line-height:1.45;border-radius:4px;z-index:5;white-space:nowrap;transform:translate(-50%,-118%);box-shadow:0 4px 16px rgba(0,0,0,.22)}
.tt b{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--sable);font-weight:500;margin-bottom:2px}
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--creme3);border:1px solid var(--creme3);margin:0 0 40px}
.chiffres div{background:#fff;padding:22px 18px}
.chiffres b{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:40px;line-height:1;color:var(--vert)}
.chiffres span{display:block;font-size:13px;color:var(--gris);margin-top:8px;line-height:1.45}
.tbl{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.tbl th,.tbl td{padding:9px 12px;border-bottom:1px solid var(--creme3);text-align:right}
.tbl th:first-child,.tbl td:first-child,.tbl th:nth-child(2),.tbl td:nth-child(2){text-align:left}
.tbl thead th{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
color:var(--gris);border-bottom:2px solid var(--creme3);position:sticky;top:0;background:#fff}
.tbl tbody tr:hover{background:var(--creme)}
.tw{max-height:520px;overflow:auto;border:1px solid var(--creme3)}
.encadre{background:var(--creme2);border-left:3px solid var(--brun);padding:20px 24px;margin:32px 0;font-size:15px;line-height:1.65;color:#39423a}
.encadre strong{color:var(--encre)}
.det{margin:10px 0 0;border:1px solid var(--creme3);border-top:0;background:#fff}
.det summary{cursor:pointer;padding:11px 16px;font-family:"IBM Plex Mono",monospace;font-size:12px;
letter-spacing:.05em;color:var(--gris)}
.det summary:hover{color:var(--brun2)}
.det .tbl{border-top:1px solid var(--creme3)}
@media(max-width:900px){.chiffres{grid-template-columns:repeat(2,1fr)}}

.aut-tete{display:grid;grid-template-columns:150px 1fr;gap:32px;align-items:start}
.aut-photo{width:150px;height:150px;border-radius:50%;object-fit:cover;background:var(--creme3);
display:flex;align-items:center;justify-content:center;font-family:"Instrument Serif",Georgia,serif;
font-size:46px;color:var(--vert);border:1px solid var(--creme3)}
img.aut-photo{display:block}
.aut-mini{width:56px;height:56px;border-radius:50%;object-fit:cover;float:left;margin:0 14px 6px 0;border:1px solid var(--creme3)}
.aut-faits{list-style:none;margin:18px 0 0;padding:0}
.aut-faits li{font-size:15px;color:#39423a;padding:7px 0 7px 20px;position:relative;line-height:1.5}
.aut-faits li:before{content:"";position:absolute;left:0;top:15px;width:9px;height:1px;background:var(--brun)}
.aut-liste{list-style:none;margin:0;padding:0}
.aut-liste li{font-size:15.5px;line-height:1.65;color:#39423a;padding:0 0 12px 20px;position:relative}
.aut-liste li:before{content:"";position:absolute;left:0;top:11px;width:9px;height:1px;background:var(--brun)}
.aut-card{background:#fff;border:1px solid var(--creme3);padding:26px 28px}
.aut-card h3{font-family:"Instrument Serif",Georgia,serif;font-size:21px;font-weight:400;margin:0 0 14px;color:var(--encre)}
.aut-vide{background:var(--creme2);border:1px dashed var(--creme3);padding:22px 24px;font-size:15px;color:var(--gris);line-height:1.6}
.aut-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--creme3);border:1px solid var(--creme3)}
.aut-grille a{background:#fff;padding:22px;display:block}
.aut-grille b{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:22px;font-weight:400;color:var(--encre)}
.aut-grille span{display:block;font-size:14px;color:var(--gris);margin-top:6px;line-height:1.5}
.aut-disc{font-size:13.5px;line-height:1.65;color:var(--gris);border-top:1px solid var(--creme3);padding-top:20px;margin-top:36px}
@media(max-width:700px){.aut-tete{grid-template-columns:1fr}.aut-grille{grid-template-columns:1fr}}

.art{max-width:none}
.art-2col{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.art.prose{max-width:800px}
.art.prose p{max-width:none}
.art-side{position:sticky;top:96px;display:grid;gap:14px}
.side-b{background:#fff;border:1px solid var(--creme3);padding:20px 22px}
.side-b h2{font-family:"Instrument Serif",Georgia,serif;font-size:20px;font-weight:400;margin:0 0 12px}
.side-som ol{margin:0;padding:0;list-style:none;counter-reset:s}
.side-som li{counter-increment:s;font-size:14.5px;line-height:1.45;padding:7px 0 7px 26px;
position:relative;border-bottom:1px solid var(--creme2)}
.side-som li:last-child{border-bottom:0}
.side-som li:before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:8px;
font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--brun)}
.side-som a{color:#39423a}
.side-som a:hover{color:var(--brun)}
.side-cta{background:var(--vert);border-color:var(--vert);color:#e7ede7}
.side-cta h2{color:#f4f1e9}
.side-cta p{font-size:14px;line-height:1.55;color:#c3cec3;margin:0 0 16px}
.side-cta .cta{display:block;text-align:center;padding:13px}
.art-side .mc{border-color:var(--creme3)}
.art-side .mc-grille{grid-template-columns:1fr}
.art-side .mc-in{grid-template-columns:1fr}
.art-side .mc summary b{font-size:17px}
@media(max-width:1080px){.art-2col{grid-template-columns:1fr;gap:34px}
.art-side{position:static;grid-template-columns:1fr 1fr;display:grid}
.side-som{grid-column:1/-1}}
@media(max-width:700px){.art-side{grid-template-columns:1fr}}
.art h2.sec{margin-top:46px;scroll-margin-top:96px}
.hero .signature.signature-hero{border-top:1px solid rgba(224,179,133,.3);border-bottom:0;
margin:26px 0 0;padding:18px 0 0}
.hero .signature-hero b{color:#f2efe7}
.hero .signature-hero span{color:#b7c4b7}
.hero .signature-hero a{color:var(--sable)}
.art h3{font-family:"Instrument Serif",Georgia,serif;font-size:21px;font-weight:400;color:var(--encre);margin:30px 0 10px}
.art p{font-size:17.5px;line-height:1.78;color:#39423a;margin:0 0 22px}
.art .aut-liste li{font-size:17px;line-height:1.7;padding-bottom:14px}
.art blockquote{margin:30px 0}
.signature{display:flex;align-items:center;gap:16px;padding:22px 0;border-top:1px solid var(--creme3);
border-bottom:1px solid var(--creme3);margin:0 0 34px}
.signature img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--creme3)}
.signature b{display:block;font-size:15px;color:var(--encre)}
.signature span{display:block;font-size:13.5px;color:var(--gris);line-height:1.5;margin-top:2px}
.art-pied{background:var(--creme2);border-left:3px solid var(--brun);padding:22px 26px;margin:44px 0 0;
font-size:15px;line-height:1.65;color:#39423a}
.art-pied img{width:64px;height:64px;border-radius:50%;object-fit:cover;float:left;margin:0 18px 10px 0}
.art .art-pied .ap-nom{margin:0 0 6px;font-family:"Instrument Serif",Georgia,serif;font-size:20px;
font-weight:400;color:var(--encre)}
.art .art-pied .ap-nom strong{font-weight:400}
.art .art-pied .ap-bio{margin:0 0 10px;font-size:15.5px;line-height:1.6;color:#39423a}
.art .art-pied .ap-rouge{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--gris)}
.art-pied .ap-lien{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:12.5px;
letter-spacing:.06em;color:var(--brun);text-decoration:underline;text-underline-offset:4px}
.art-pied:after{content:"";display:block;clear:both}
.suite{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--creme3);
border:1px solid var(--creme3);margin-top:16px}
.suite a{background:#fff;padding:20px;display:block}
.suite b{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:19px;font-weight:400;color:var(--encre);line-height:1.3}
.suite em{display:block;margin-top:10px;font-style:normal;font-family:"IBM Plex Mono",monospace;
font-size:11.5px;letter-spacing:.06em;color:var(--brun)}
.suite span{display:block;font-size:13px;color:var(--gris);margin-top:8px;line-height:1.5}
.axe{padding:0;margin:0 0 18px}
.axe+.axe{margin-top:64px;padding-top:52px;border-top:1px solid var(--creme3)}
.axe-tete{margin-bottom:26px}
.axe-tete h2.sec{margin:0 0 6px}
.axe-sub{margin:0;color:var(--gris);font-size:14.5px;font-family:"IBM Plex Mono",monospace}
.cg-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cg{display:flex;flex-direction:column;background:#fff;border:1px solid var(--creme3);
overflow:hidden;transition:border-color .16s,box-shadow .16s,transform .16s}
.cg:hover{border-color:var(--brun);box-shadow:0 12px 30px rgba(29,36,31,.11);transform:translateY(-3px)}
.cg-img{display:block;overflow:hidden;background:var(--creme2);aspect-ratio:16/10}
.cg-img figure{margin:0;height:100%}
.cg-img img{width:100%;height:100%;object-fit:cover;display:block;
transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.cg:hover .cg-img img{transform:scale(1.055)}
.cg-txt{display:flex;flex-direction:column;gap:9px;padding:19px 20px 21px;flex:1}
.cg-txt b{font-family:"Instrument Serif",Georgia,serif;font-size:20.5px;font-weight:400;
line-height:1.24;color:var(--encre)}
.cg:hover .cg-txt b{color:var(--brun)}
.cg-ch{font-size:14px;line-height:1.55;color:#5b645c}
.cg-lire{margin-top:auto;padding-top:8px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;
letter-spacing:.1em;text-transform:uppercase;color:var(--brun);display:flex;
justify-content:space-between;align-items:baseline;gap:12px}
.cg-lire i{font-style:normal;color:var(--gris2);letter-spacing:.04em;text-transform:none}
@media(max-width:980px){.cg-grille{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cg-grille{grid-template-columns:1fr}.axe+.axe{margin-top:46px;padding-top:38px}}
.art-meta{font-size:12.5px;letter-spacing:.05em;color:var(--gris);font-family:"IBM Plex Mono",monospace;margin-bottom:10px}
@media(max-width:760px){.suite{grid-template-columns:1fr}}

.calc{background:#fff;border:1px solid var(--creme3);padding:0;margin:34px 0}
.calc-in{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--creme3)}
.calc-in label{background:#fff;padding:15px 18px;display:block}
.calc-in span{display:block;font-size:13px;color:var(--gris);margin-bottom:7px;line-height:1.35}
.calc-in input{width:100%;padding:9px 11px;font-size:16px;font-family:"IBM Plex Mono",monospace;
color:var(--encre);background:var(--creme);border:1px solid var(--creme3);outline:none}
.calc-in input:focus{border-color:var(--brun);background:#fff}
.calc-in i{font-style:normal;color:var(--gris2);font-size:12px;margin-left:5px}
.calc-out{border-top:1px solid var(--creme3)}
.calc-out table{width:100%;border-collapse:collapse}
.calc-out td{padding:12px 18px;border-bottom:1px solid var(--creme2);font-size:15px;vertical-align:baseline}
.calc-out tr:last-child td{border-bottom:0}
.calc-out td:first-child{color:#39423a;width:38%}
.calc-out td:nth-child(2){font-family:"IBM Plex Mono",monospace;font-size:17px;color:var(--vert);
font-weight:600;white-space:nowrap;width:22%}
.calc-out td:last-child{font-size:13px;color:var(--gris);line-height:1.45}
.calc-note{background:var(--creme2);padding:14px 18px;font-size:13px;color:var(--gris);line-height:1.5;
border-top:1px solid var(--creme3)}
@media(max-width:640px){.calc-in{grid-template-columns:1fr}
.calc-out td{display:block;padding:6px 18px}.calc-out td:first-child{padding-top:13px;width:auto}
.calc-out td:nth-child(2){width:auto}.calc-out tr{display:block;border-bottom:1px solid var(--creme2)}}

.mc-grille{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:start}
.mc{background:#fff;border:1px solid var(--creme3)}
.mc[open]{border-color:var(--brun)}
.mc summary{cursor:pointer;padding:14px 16px;display:flex;flex-direction:column;gap:3px;
list-style:none;position:relative;padding-right:42px}
.mc summary::-webkit-details-marker{display:none}
.mc summary:after{content:"+";position:absolute;right:16px;top:12px;font-family:"IBM Plex Mono",monospace;
font-size:19px;color:var(--brun);line-height:1}
.mc[open] summary:after{content:"–"}
.mc summary b{font-family:"Instrument Serif",Georgia,serif;font-size:19px;font-weight:400;line-height:1.2}
.mc summary span{font-size:12.5px;color:var(--gris);line-height:1.4}
.mc summary:hover{background:var(--creme2)}
.mc-corps{border-top:1px solid var(--creme3)}
.mc-in{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--creme3)}
.mc-in label{background:#fff;padding:9px 12px;display:block}
.mc-in input[type=hidden]{display:none}
.mc-in span{display:block;font-size:11.5px;color:var(--gris);line-height:1.3;margin-bottom:5px}
.mc-in i{font-style:normal;color:var(--gris2);font-size:10.5px}
.mc-in input{width:100%;padding:6px 8px;font-size:14.5px;font-family:"IBM Plex Mono",monospace;
color:var(--encre);background:var(--creme);border:1px solid var(--creme3);outline:none}
.mc-in input:focus{border-color:var(--brun);background:#fff}
.mc-out table{width:100%;border-collapse:collapse}
.mc-out td{padding:7px 12px;border-bottom:1px solid var(--creme2);font-size:13.5px}
.mc-out td:first-child{color:#39423a}
.mc-out td:last-child{font-family:"IBM Plex Mono",monospace;color:var(--vert);font-weight:600;
text-align:right;white-space:nowrap}
.mc-out tr:last-child td{border-bottom:0}
.mc-plus{display:block;padding:11px 14px;font-size:12.5px;background:var(--creme2);
border-top:1px solid var(--creme3);font-family:"IBM Plex Mono",monospace}
@media(max-width:760px){.mc-grille,.mc-in{grid-template-columns:1fr}}

.rech{position:relative;margin:26px 0 0;max-width:560px}
.rech label{display:block;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;
text-transform:uppercase;color:var(--sable);margin-bottom:9px}
.rech-ligne{display:grid;grid-template-columns:1fr 118px auto;gap:8px}
.rech input{width:100%;padding:17px 20px;font-size:17px;font-family:inherit;color:var(--encre);
background:#fff;border:1px solid var(--creme3);border-radius:0;outline:none}
.rech select{padding:17px 10px;font-size:14px;font-family:"IBM Plex Mono",monospace;
color:var(--encre);background:#fff;border:1px solid var(--creme3);outline:none;cursor:pointer}
.rech-geo{display:flex;align-items:center;gap:8px;background:var(--brun);color:#fff;border:0;
padding:0 17px;font-family:"IBM Plex Mono",monospace;font-size:12.5px;cursor:pointer;white-space:nowrap}
.rech-geo:hover{background:var(--brun2)}
.rech-geo[data-etat="attente"]{opacity:.6;cursor:progress}
@media(max-width:760px){.rech-ligne{grid-template-columns:1fr}.rech-geo{padding:14px 17px;justify-content:center}}
.rech input:focus{border-color:var(--brun);box-shadow:0 0 0 3px rgba(164,104,47,.18)}
.rech input::placeholder{color:#8d968c}
.rech{z-index:40}
/* le hero rogne ce qui deborde (parallaxe oblige) : la liste de suggestions
   doit donc rester DANS le hero, et elle passe au-dessus de tout le reste. */
.rech-res{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--creme3);
box-shadow:0 18px 44px rgba(29,36,31,.3);max-height:min(52vh,420px);overflow-y:auto;z-index:60;display:none;
overscroll-behavior:contain}
.rech-res.on{display:block}
.rech-res h4{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
color:var(--gris);padding:13px 18px 6px;margin:0;background:var(--creme);position:sticky;top:0}
.rech-res a{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 18px;
border-bottom:1px solid var(--creme2);color:var(--encre);font-size:15.5px;text-decoration:none}
.rech-res a:last-child{border-bottom:0}
.rech-res a b{font-weight:400}
.rech-res a span{font-size:12.5px;color:var(--gris);font-family:"IBM Plex Mono",monospace;white-space:nowrap}
.rech-res a:hover,.rech-res a.sel{background:var(--creme2)}
.rech-res a:hover span,.rech-res a.sel span{color:var(--brun2)}
.rech-vide{padding:16px 18px;font-size:14.5px;color:var(--gris);line-height:1.55}
.rech-aide{font-size:13px;color:var(--gris2);margin-top:9px}
@media(max-width:700px){.rech{max-width:none}}

.ill{margin:0 0 34px}
.ill img{width:100%;height:auto;display:block;background:var(--creme2)}
.ill-hero{margin:0}
.ill-hero img{width:100%;height:auto;display:block}
.ill-carte img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
figure.ill{max-width:100%}

/* --- fonds decoratifs : cernes de croissance, tres discrets --- */
.cernes{position:relative;isolation:isolate}
.cernes:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22480%22%20height%3D%22480%22%20viewBox%3D%220%200%20480%20480%22%20opacity%3D%22.085%22%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%2238%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%2262%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%2279%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22101%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22116%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22140%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22152%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22178%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22193%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22215%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22231%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22258%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22272%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22300%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22317%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22344%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22362%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22390%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22408%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22437%22%20fill%3D%22none%22%20stroke%3D%22%23a4682f%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:right -230px center;
background-size:840px 840px}
.cernes-g:after{background-position:left -260px 82%;background-size:960px 960px}
.veine{position:relative;isolation:isolate}
.veine:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%22120%22%20viewBox%3D%220%200%20240%20120%22%20opacity%3D%22.05%22%3E%3Cpath%20d%3D%22M0%206%20Q%2040%203%2080%206%20T%20160%209%20T%20240%206%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M0%2015%20Q%2040%2011%2080%2015%20T%20160%2019%20T%20240%2015%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M0%2024%20Q%2040%2019%2080%2024%20T%20160%2029%20T%20240%2024%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M0%2033%20Q%2040%2027%2080%2033%20T%20160%2039%20T%20240%2033%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M0%2042%20Q%2040%2039%2080%2042%20T%20160%2045%20T%20240%2042%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M0%2051%20Q%2040%2047%2080%2051%20T%20160%2055%20T%20240%2051%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M0%2060%20Q%2040%2055%2080%2060%20T%20160%2065%20T%20240%2060%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M0%2069%20Q%2040%2063%2080%2069%20T%20160%2075%20T%20240%2069%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M0%2078%20Q%2040%2075%2080%2078%20T%20160%2081%20T%20240%2078%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M0%2087%20Q%2040%2083%2080%2087%20T%20160%2091%20T%20240%2087%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M0%2096%20Q%2040%2091%2080%2096%20T%20160%20101%20T%20240%2096%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M0%20105%20Q%2040%2099%2080%20105%20T%20160%20111%20T%20240%20105%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M0%20114%20Q%2040%20111%2080%20114%20T%20160%20117%20T%20240%20114%22%20fill%3D%22none%22%20stroke%3D%22%2324402f%22%20stroke-width%3D%221.4%22%2F%3E%3C%2Fsvg%3E");background-repeat:repeat;background-size:240px 120px}
/* Les cernes tiennent dans le cadre du hero : c est leur image de fond qui
   deborde, pas l element. Le hero peut ainsi laisser sortir la liste de
   suggestions du moteur de recherche sans laisser fuir le decor. */
.hero .deco-cernes{position:absolute;z-index:1;pointer-events:none;inset:0;overflow:hidden;
background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22480%22%20height%3D%22480%22%20viewBox%3D%220%200%20480%20480%22%20opacity%3D%22.16%22%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%2238%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%2262%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%2279%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22101%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22116%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22140%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22152%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22178%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22193%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22215%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22231%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22258%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22272%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22300%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22317%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22344%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22362%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22390%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22408%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22240%22%20r%3D%22437%22%20fill%3D%22none%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:780px 780px;
background-position:right -200px center}
.hero .deco-rayons{position:absolute;z-index:1;pointer-events:none;inset:0;overflow:hidden;
background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22480%22%20height%3D%22480%22%20viewBox%3D%220%200%20480%20480%22%20opacity%3D%22.13%22%3E%3Cline%20x1%3D%220%22%20y1%3D%22240%22%20x2%3D%22477%22%20y2%3D%22190%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%22.8%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%22240%22%20x2%3D%22459%22%20y2%3D%22100%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%22.8%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%22240%22%20x2%3D%22420%22%20y2%3D%227%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%22.8%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%22240%22%20x2%3D%22362%22%20y2%3D%22-75%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%22.8%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%22240%22%20x2%3D%22289%22%20y2%3D%22-143%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%22.8%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%22240%22%20x2%3D%22195%22%20y2%3D%22-199%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%22.8%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%22240%22%20x2%3D%22100%22%20y2%3D%22-230%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%22.8%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%22240%22%20x2%3D%2250%22%20y2%3D%22-237%22%20stroke%3D%22%23e0b385%22%20stroke-width%3D%22.8%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:780px 780px;
background-position:right -200px center}
@media(max-width:900px){.hero .deco-cernes,.hero .deco-rayons{display:none}
.cernes:after{background-size:520px 520px;background-position:right -180px top}
.cernes-g:after{background-size:560px 560px;background-position:left -200px bottom}}
/* --- noeud de bois : puce et separateur --- */
.sep{display:flex;align-items:center;gap:16px;color:var(--creme3);margin:44px 0}
.sep span{flex:1;height:1px;background:var(--creme3)}
.sep .noeud{color:var(--brun);opacity:.55;flex:none}
h2.sec{position:relative}
h2.sec:before{content:"";position:absolute;left:-18px;top:.44em;width:7px;height:7px;
border-radius:50%;border:1.5px solid var(--brun);opacity:.6}
@media(max-width:1240px){h2.sec:before{display:none}}

.qz{background:var(--vert);color:#eef2ee;padding:34px 36px;margin:48px 0 0;position:relative;overflow:hidden}
.qz:before{content:"";position:absolute;inset:0;
background:repeating-linear-gradient(115deg,rgba(224,179,133,.09) 0 2px,transparent 2px 22px);pointer-events:none}
.qz>*{position:relative}
.qz-tete{margin-bottom:22px}
.qz .qz-k{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--sable);
display:block;margin-bottom:9px;font-family:"IBM Plex Mono",monospace}
.qz .qz-tete h2{font-size:27px;color:#f4f1e9;font-family:"Instrument Serif",Georgia,serif;font-weight:400}
.qz .qz-liste{counter-reset:none;display:grid;gap:26px}
.qz .qz-q{list-style:none}
.qz .qz-e{font-size:16.5px;line-height:1.5;color:#e6ece6;margin:0 0 12px}
.qz .qz-e b{color:var(--sable);font-family:"IBM Plex Mono",monospace;font-size:14px;margin-right:4px}
.qz .qz-reps{display:grid;gap:7px}
.qz .qz-r{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;cursor:pointer;
background:rgba(255,255,255,.055);border:1px solid rgba(224,179,133,.24);color:#e9eee9;
padding:12px 15px;font-family:inherit;font-size:15.5px;line-height:1.45;transition:background .12s}
.qz-r:hover{background:rgba(255,255,255,.11)}
.qz .qz-l{flex:none;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--sable);
border:1px solid rgba(224,179,133,.4);width:22px;height:22px;display:grid;place-items:center;margin-top:1px}
.qz-r[data-etat="bon"]{background:rgba(146,196,140,.2);border-color:#8fc389;color:#eaf5e8}
.qz-r[data-etat="bon"] .qz-l{border-color:#8fc389;color:#a8d6a2}
.qz-r[data-etat="rate"]{background:rgba(214,124,96,.17);border-color:#d67c60;color:#f6e6e0}
.qz-r[data-etat="rate"] .qz-l{border-color:#d67c60;color:#e79c84}
.qz-r[disabled]{cursor:default}
.qz .qz-exp{margin:11px 0 0;padding-left:14px;border-left:2px solid var(--sable);
font-size:14.5px;line-height:1.6;color:#cdd8cd}
.qz .qz-score{margin:24px 0 0;font-family:"IBM Plex Mono",monospace;font-size:14px;color:var(--sable);min-height:1em}
.qz .qz-pied{margin:8px 0 0;font-size:12.5px;color:#93a293;line-height:1.5}
.qz-compact{padding:26px 24px;margin:0}
.qz.qz-compact .qz-tete h2{font-size:22px}
.qz.qz-compact .qz-e{font-size:15px}
.qz.qz-compact .qz-r{font-size:14.5px;padding:10px 13px}
@media(max-width:620px){.qz{padding:26px 20px}}

.dv{margin:0;background:#fff;border:1px solid var(--creme3);padding:22px 20px 16px}
.dv svg{width:100%;height:auto;display:block;overflow:visible}
.dv-lbl{font-family:Barlow,system-ui,sans-serif;font-size:14px;fill:#39423a}
.dv-val{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:14px;fill:#1d241f;font-weight:600}
.dv-ax{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11.5px;fill:#5f6a60}
.dv-ax2{font-size:8.5px;baseline-shift:super}
.dv figcaption{font-size:12.5px;color:#7d857c;line-height:1.5;margin-top:14px;
padding-top:12px;border-top:1px solid var(--creme2)}
.dv-jauge svg{max-height:80px}
.dv-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.dv-duo{grid-template-columns:1fr}}

.film{position:relative;overflow:hidden;background:var(--vert2)}
.film-v{width:100%;height:clamp(320px,42vw,560px);object-fit:cover;display:block}
.film-txt{position:absolute;inset:0;display:flex;align-items:flex-end;pointer-events:none;
background:linear-gradient(to top,rgba(20,34,25,.9) 0%,rgba(20,34,25,.42) 46%,rgba(20,34,25,.1) 100%)}
.film-txt .wrap{padding-bottom:46px;pointer-events:auto}
.film-txt p{color:#e9eee9;font-size:clamp(19px,2.1vw,27px);line-height:1.42;max-width:34ch;
font-family:"Instrument Serif",Georgia,serif;margin:0 0 22px}
.film-txt .cta{display:inline-block}
@media(prefers-reduced-motion:reduce){.film-v{animation:none}}
@media(max-width:640px){.film-txt .wrap{padding-bottom:28px}}

/* ---------- parallaxe : l image derive plus lentement que la page ---------- */
.hero-img .hero-fond{overflow:hidden}
.hero-img .hero-fond img{position:absolute;top:-14%;left:0;width:100%;height:128%;
object-fit:cover;will-change:transform;backface-visibility:hidden}
.bande{position:relative;overflow:hidden;height:clamp(230px,27vw,380px)}
.bande picture{display:block;position:absolute;inset:0}
.bande img{position:absolute;top:-16%;left:0;width:100%;height:132%;object-fit:cover;
will-change:transform;backface-visibility:hidden}
.bande figcaption{z-index:2}

/* ---------- l en-tete se pose sur la photo tant qu on n a pas defile ------- */
body.hh .bandeau{background:rgba(16,28,20,.5);position:relative;z-index:31;
transition:background .28s ease}
body.hh header{background:transparent;box-shadow:none;transition:background .28s ease,box-shadow .28s ease}
body.hh header.pose{background:var(--vert);box-shadow:0 1px 0 rgba(0,0,0,.15)}
body.hh .bandeau.pose{background:var(--vert2)}
body.hh .hero-img{margin-top:calc(-1 * var(--haut-entete, 98px))}
body.hh .hero-img>.wrap{padding-top:calc(var(--haut-entete, 98px) + 62px)}
/* le fil d Ariane remonte dans le hero pour ne pas couper la photo */
.hero .fil-hero{font-size:11.5px;letter-spacing:.06em;color:#a9bcac;margin:0 0 16px;
font-family:"IBM Plex Mono",monospace}
.hero .fil-hero a{color:#c9d6c9}
.hero .fil-hero a:hover{color:var(--sable)}

/* ---------- apparition au defilement ---------- */
.js .rev{opacity:0;transform:translateY(20px)}
.js .rev.vu{opacity:1;transform:none;
transition:opacity .66s cubic-bezier(.2,.6,.2,1),transform .66s cubic-bezier(.2,.6,.2,1)}
.js .rev-d1.vu{transition-delay:.07s}
.js .rev-d2.vu{transition-delay:.14s}
.js .rev-d3.vu{transition-delay:.21s}

@media (prefers-reduced-motion: reduce){
 .js .rev{opacity:1;transform:none;transition:none}
 .hero-img .hero-fond img,.bande img{transform:none !important}
}

.bref{background:var(--creme2);border-left:3px solid var(--brun);padding:22px 26px 24px;
margin:0 0 34px}
.bref .bref-t{margin:0 0 12px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;
text-transform:uppercase;color:var(--brun)}
.art .bref ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.art .bref li{position:relative;padding-left:22px;font-size:16px;line-height:1.6;color:#39423a}
.art .bref li:before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;
border-radius:50%;border:1.5px solid var(--brun);opacity:.75}
@media(max-width:620px){.bref{padding:18px 20px 20px}}

.ia{border:1px solid var(--creme3);background:#fff;margin:44px 0 0;padding:0}
/* .ia est un <section> : sans ce padding a zero il herite des 56px de section */
.ia .ia-h{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 22px}
.ia .ia-t{margin:0;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.1em;
text-transform:uppercase;color:var(--gris);white-space:nowrap}
.ia .ia-l{display:flex;gap:8px;flex-wrap:wrap}
.ia .ia-b{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--creme3);
padding:8px 13px;font-size:14px;color:var(--encre);background:var(--creme);line-height:1.2;
transition:border-color .14s,background .14s,transform .14s}
.ia .ia-b:hover{border-color:var(--brun);background:#fff;transform:translateY(-1px);color:var(--encre)}
.ia .ia-p{width:9px;height:9px;border-radius:50%;flex:none}
.ia .ia-f{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:13px 22px;
border-top:1px solid var(--creme2);background:var(--creme)}
.ia .ia-c{font:inherit;font-family:"IBM Plex Mono",monospace;font-size:12px;background:none;
border:1px solid var(--creme3);padding:7px 12px;cursor:pointer;color:var(--vert)}
.ia .ia-c:hover{border-color:var(--brun);color:var(--brun)}
.ia .ia-c[data-ok]{border-color:var(--vert);color:var(--vert)}
.ia .ia-md{font-family:"IBM Plex Mono",monospace;font-size:12px;text-decoration:underline;
text-underline-offset:3px}
.ia .ia-n{font-size:12px;color:var(--gris2);line-height:1.5}
@media(max-width:620px){.ia .ia-t{white-space:normal}}

.prox{padding:56px 0}
.prox-f{background:#fff;border:1px solid var(--creme3);padding:22px 24px 24px;position:relative}
.prox-champs{display:grid;grid-template-columns:1fr 180px auto;gap:12px;align-items:end}
.prox-l{display:block}
.prox-l>span{display:block;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;
text-transform:uppercase;color:var(--gris);margin-bottom:7px}
.prox-l input,.prox-l select{width:100%;padding:13px 15px;font-size:16px;font-family:inherit;
color:var(--encre);background:var(--creme);border:1px solid var(--creme3);outline:none}
.prox-l input:focus,.prox-l select:focus{border-color:var(--brun);background:#fff}
.prox-geo{display:flex;align-items:center;gap:9px;background:var(--vert);color:var(--creme);
border:0;padding:14px 18px;font-family:"IBM Plex Mono",monospace;font-size:12.5px;cursor:pointer;
white-space:nowrap;line-height:1}
.prox-geo:hover{background:var(--vert2)}
.prox-geo[data-etat="attente"]{opacity:.6;cursor:progress}
.prox-sug{position:absolute;left:24px;right:24px;top:96px;background:#fff;border:1px solid var(--creme3);
box-shadow:0 16px 38px rgba(29,36,31,.22);max-height:300px;overflow-y:auto;z-index:20;display:none}
.prox-sug.on{display:block}
.prox-sug button{display:flex;justify-content:space-between;gap:14px;width:100%;text-align:left;
background:#fff;border:0;border-bottom:1px solid var(--creme2);padding:11px 16px;font:inherit;
font-size:15px;color:var(--encre);cursor:pointer}
.prox-sug button:hover,.prox-sug button.sel{background:var(--creme2)}
.prox-sug button i{font-style:normal;color:var(--gris);font-family:"IBM Plex Mono",monospace;font-size:12px}
.prox-aide{font-size:12.5px;color:var(--gris2);margin:12px 0 0;line-height:1.5}
.prox-res{margin-top:22px}
.prox-tete{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;
padding:13px 0;border-top:1px solid var(--creme3);border-bottom:1px solid var(--creme3);margin-bottom:18px}
.prox-tete b{font-family:"Instrument Serif",Georgia,serif;font-size:21px;font-weight:400}
.prox-tete span{font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--gris)}
.prox-vide{padding:18px 20px;background:var(--creme2);border-left:3px solid var(--brun);
font-size:15px;line-height:1.6;color:#39423a}
.prox-vide button{background:none;border:0;padding:0;font:inherit;color:var(--brun);
text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.km{font-family:"IBM Plex Mono",monospace;font-size:12px;color:#fff;background:var(--brun);
padding:3px 8px;align-self:flex-start}
@media(max-width:820px){.prox-champs{grid-template-columns:1fr}
.prox-sug{left:24px;right:24px;top:auto;bottom:auto;position:static;margin-top:10px;box-shadow:none}}

/* pastille de distance sur la fiche — la seule information que les annuaires
   generalistes ne donnent pas, donc celle qui doit se voir en premier */
.carte-pro .km{float:right;margin:-2px 0 0 10px;background:var(--vert);color:var(--sable);
font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.06em;padding:4px 9px;
border-radius:2px;white-space:nowrap}
.v-bassin{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
background:var(--creme3);border:1px solid var(--creme3);margin:0 0 26px}
.v-bassin div{background:var(--creme);padding:16px 18px}
.v-bassin b{display:block;font-family:"IBM Plex Mono",monospace;font-size:27px;
color:var(--brun2);line-height:1.1}
.v-bassin span{display:block;font-size:12.5px;color:var(--gris);margin-top:5px;line-height:1.35}
.v-liens{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
/* Le texte du bassin et ses reperes cote a cote : une colonne de prose seule
   sur un ecran large laisse la moitie droite vide, et le lecteur perd les
   chiffres de vue des qu il descend. */
.v-tete{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:44px;align-items:start}
.v-aside{position:sticky;top:96px}
.v-aside h3{font-size:19px;margin-bottom:8px}
.v-aside .chips{margin-top:10px}
.v-carte{background:#fff;border:1px solid var(--creme3);border-top:4px solid var(--brun);padding:20px 22px}
.v-carte + .v-carte{margin-top:16px}
.v-carte p{font-size:13.5px;color:var(--gris);margin:0 0 4px}
@media(max-width:940px){.v-tete{grid-template-columns:1fr;gap:30px}.v-aside{position:static}}
@media(max-width:700px){.v-bassin b{font-size:23px}}
