/* Tonkin Débarras : feuille du thème, version 2 (2026-10-15, « modernise, inspire-toi de Mairesia »).
   Grands titres à empattements légers (Gilda Display), texte en Readex Pro, photos en arche,
   cartes photo, pastilles de sur-titre, boutons arrondis, grands ronds pâles en fond.
   Toutes les couleurs passent par les variables de :root : les palettes de /couleur/ les remplacent. */

@font-face{font-family:"Frank Ruhl Libre";src:url("assets/polices/frank-ruhl-libre-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Frank Ruhl Libre";src:url("assets/polices/frank-ruhl-libre-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Readex Pro";src:url("assets/polices/readex-pro-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Readex Pro";src:url("assets/polices/readex-pro-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Readex Pro";src:url("assets/polices/readex-pro-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
	/* Palette par défaut : terracotta et sauge */
	--accent:#B4543A;
	--accent-survol:#9A4430;
	--accent-clair:#F4C9B8;
	--accent-texte:#FFFFFF;
	--encre:#2B2623;
	--encre-2:#3D3632;
	--creme:#FAF7F2;
	--sauge:#E5EAE1;
	--peche:#F4E6DC;
	--bord:#E6DDD1;
	--texte:#2B2623;
	--texte-doux:#615852;
	--rond-1:#F1DCCF;
	--rond-2:#D9E2D5;
	--blanc:#FFFFFF;
	--titres:"Frank Ruhl Libre",Georgia,"Times New Roman",serif;
	--corps:"Readex Pro","Segoe UI",system-ui,sans-serif;
	--shell:1640px;
	--content:1560px;
	--gutter:clamp(20px,5vw,72px);
	--rayon:22px;
	--h2:clamp(32px,3.3vw,50px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:100px}
body{margin:0;background:var(--blanc);color:var(--texte);font-family:var(--corps);font-size:18px;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--accent-survol)}
strong{font-weight:600;color:var(--encre)}
h1,h2,h3{margin:0 0 .5em;color:var(--encre)}
h1,h2{font-family:var(--titres);font-weight:500;line-height:1.08;letter-spacing:-.01em}
h3{font-family:var(--corps);font-weight:600;font-size:clamp(19px,1.5vw,22px);line-height:1.3}
p{margin:0 0 1em}
ul{margin:0 0 1em;padding-left:1.2em}
li{margin-bottom:.35em}

.td-evitement{position:absolute;left:-9999px;top:0;z-index:100;background:var(--encre);color:#fff;padding:12px 18px}
.td-evitement:focus{left:12px;top:12px}
.td-cadre{max-width:var(--content);margin:0 auto;padding:0 var(--gutter)}
.td-cadre--etroit{max-width:1000px}

/* --- Boutons arrondis --------------------------------------------------- */
.td-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:14px 30px;border-radius:999px;border:1.5px solid transparent;font-family:var(--corps);font-weight:500;font-size:17px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.td-btn--accent{background:var(--accent);color:var(--accent-texte);outline:5px solid color-mix(in srgb,var(--accent) 18%,transparent);outline-offset:0}
.td-btn--accent:hover{background:var(--accent-survol);color:var(--accent-texte)}
.td-btn--contour{background:var(--blanc);border-color:var(--bord);color:var(--encre)}
.td-btn--contour:hover{border-color:var(--encre);color:var(--encre)}
.td-boutons{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:30px 0 0}
p+.td-boutons{margin-top:8px}

/* --- En-tête ------------------------------------------------------------ */
.td-entete{position:sticky;top:0;z-index:50;background:var(--creme);border-bottom:1px solid var(--bord)}
.td-entete__in{max-width:var(--shell);margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;gap:28px}
.td-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--encre);flex-shrink:0}
.td-logo__carton{width:38px;height:38px;flex-shrink:0}
.td-logo__carton path{stroke:var(--accent)}
.td-logo__pile{display:flex;flex-direction:column;line-height:1}
.td-logo__nom{font-family:var(--titres);font-size:30px;color:var(--encre)}
.td-logo__lieu{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--texte-doux);margin-top:4px}
.td-nav{margin-left:auto}
.td-nav__liste{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
.td-nav__liste li{margin:0}
.td-nav__liste a{display:flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:999px;color:var(--encre);font-weight:500;font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.td-nav__liste a:hover{background:var(--sauge);color:var(--encre)}
.td-nav__groupe{position:relative}
.td-nav__parent::after{content:"";width:7px;height:7px;margin-left:9px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.td-nav__sous{list-style:none;margin:0;padding:10px;position:absolute;top:100%;left:0;min-width:300px;background:#fff;border:1px solid var(--bord);border-radius:18px;display:none}
.td-nav__sous a{text-transform:none;letter-spacing:0;font-size:16px}
.td-nav__groupe:hover .td-nav__sous,.td-nav__groupe:focus-within .td-nav__sous{display:block}
.td-nav__mobile{display:none}
.td-nav__liste a.td-btn--accent,.td-nav__liste a.td-btn--accent:hover{background:var(--accent);color:var(--accent-texte)}
.td-entete__actions{display:flex;align-items:center;gap:12px}
.td-entete__tel{min-height:48px;padding:10px 22px;outline:none}
.td-burger{display:none;width:52px;height:52px;border:0;border-radius:999px;background:var(--encre);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.td-burger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
.menu-ouvert .td-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-ouvert .td-burger span:nth-child(2){opacity:0}
.menu-ouvert .td-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* --- Fil d'Ariane ------------------------------------------------------- */
.td-fil{background:var(--creme);font-size:14px}
.td-fil .td-cadre{padding-top:14px;padding-bottom:0;display:flex;flex-wrap:wrap;gap:8px;color:var(--texte-doux)}
.td-fil a{color:var(--accent);font-weight:500;text-decoration:none}
.td-fil a:hover{text-decoration:underline}

/* --- Sections et fonds -------------------------------------------------- */
.td-section{padding:clamp(70px,8.5vw,120px) 0;background-repeat:no-repeat}
.td-fond--blanc{background-color:var(--blanc)}
.td-fond--creme{background-color:var(--creme)}
.td-fond--sable{background-color:var(--sauge)}
.td-fond--peche{background-color:var(--peche)}
.td-fond--encre{background-color:var(--encre);color:#E9E2DA}
.td-fond--encre h1,.td-fond--encre h2,.td-fond--encre h3,.td-fond--encre strong{color:#fff}
.td-fond--encre a:not(.td-btn){color:#fff}
.td-fond--encre .td-intro{color:#D8CFC6}
.td-fond--encre .td-btn--contour{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.td-fond--encre .td-btn--contour:hover{border-color:#fff}
/* Grands ronds pâles, à bord net, coupés dans un coin (modèle Tigmi, échelle Mairesia) */
.td-ronds-a{background-image:radial-gradient(circle 340px at right -110px top -120px,var(--rond-1) 99.4%,transparent 100%),radial-gradient(circle 150px at left 4% bottom -90px,var(--rond-2) 99.4%,transparent 100%)}
.td-ronds-b{background-image:radial-gradient(circle 330px at left -130px bottom -140px,var(--rond-2) 99.4%,transparent 100%),radial-gradient(circle 130px at right 6% top -60px,var(--rond-1) 99.4%,transparent 100%)}
.td-fond--sable.td-ronds-a,.td-fond--sable.td-ronds-b{background-image:radial-gradient(circle 340px at right -110px top -120px,color-mix(in srgb,var(--sauge) 70%,#fff) 99.4%,transparent 100%),radial-gradient(circle 150px at left 4% bottom -90px,var(--rond-1) 99.4%,transparent 100%)}
.td-fond--encre.td-ronds-a,.td-fond--encre.td-ronds-b{background-image:radial-gradient(circle 340px at right -110px top -120px,rgba(255,255,255,.05) 99.4%,transparent 100%),radial-gradient(circle 150px at left 4% bottom -90px,rgba(255,255,255,.04) 99.4%,transparent 100%)}

.td-h1{font-size:clamp(42px,5vw,76px);line-height:1.04;margin-bottom:.35em}
.td-main h2,.td-h2{font-size:var(--h2)}
.td-section h2+.td-grille,.td-section h2+.td-etapes,.td-section h2+.td-faqs,.td-section h2+.td-prix,.td-section h2+.td-zone,.td-section h2+.td-prestas,.td-section h2+.td-cas,.td-section h2+.td-cartes-photo{margin-top:44px}
/* Sur-titre en pastille, avec un point */
.td-surtitre{display:inline-flex;align-items:center;gap:9px;margin:0 0 20px;padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--sauge) 75%,#fff);font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--encre)}
.td-surtitre::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}
.td-fond--sable .td-surtitre{background:rgba(255,255,255,.7)}
.td-fond--peche .td-surtitre,.td-fond--creme .td-surtitre{background:#fff}
.td-fond--encre .td-surtitre{background:rgba(255,255,255,.1);color:#fff}
.td-intro{font-size:clamp(17px,1.3vw,19px);color:var(--texte-doux);max-width:60ch}
.td-centre{text-align:center}
.td-centre .td-intro{margin-left:auto;margin-right:auto}
.td-centre .td-boutons{justify-content:center}
.td-tete-centree{text-align:center}

/* --- Photos : vraies <img> en couverture de leur cadre ------------------- */
.td-photo{position:relative;overflow:hidden;border-radius:var(--rayon);background:var(--sauge)}
.td-photo>picture,.td-photo>img,.td-photo picture>img{position:absolute;inset:0;width:100%;height:100%}
.td-photo img{object-fit:cover;transition:transform .6s ease}
.td-photo:hover img{transform:scale(1.03)}

/* --- Bannières ----------------------------------------------------------- */
.td-banniere{padding:clamp(44px,5vw,80px) 0 clamp(56px,6vw,96px);background-repeat:no-repeat;background-image:radial-gradient(circle 380px at right -60px top -140px,var(--rond-1) 99.4%,transparent 100%),radial-gradient(circle 230px at left -80px bottom -120px,var(--rond-2) 99.4%,transparent 100%)}
.td-banniere__grille{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(36px,5vw,90px);align-items:stretch}
.td-banniere__texte{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.td-banniere__texte>*:last-child{margin-bottom:0}
.td-banniere .td-intro{margin-bottom:20px}
/* Photo en arche dans les bannières des pages */
.td-banniere__grille>.td-photo,.td-banniere__grille>.td-avap-cadre{min-height:460px;border-radius:340px 340px var(--rayon) var(--rayon)}
/* Accueil : grande arche + petite arche qui chevauche */
.td-arches{position:relative;min-height:560px}
.td-arche{position:absolute;border-radius:999px 999px var(--rayon) var(--rayon)}
.td-arche--grande{top:0;right:0;bottom:0;width:72%}
.td-arche--petite{left:0;bottom:-22px;width:40%;height:52%;border:8px solid var(--creme);border-radius:999px 999px 26px 26px}
/* Atouts en ligne, icône dans un rond pâle */
.td-atouts{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:14px 28px}
.td-atouts li{display:flex;align-items:center;gap:12px;margin:0;font-size:16px;color:var(--encre)}
.td-atouts__ico{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--peche);color:var(--accent);display:flex;align-items:center;justify-content:center}
.td-coches{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:10px}
.td-coches li{position:relative;padding-left:40px;margin:0;min-height:28px}
.td-coches li::before{content:"";position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--peche);-webkit-mask:none}
.td-coches li::after{content:"";position:absolute;left:9px;top:7px;width:9px;height:5px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.td-fond--encre .td-coches li::before{background:rgba(255,255,255,.12)}
.td-fond--encre .td-coches li::after{border-color:var(--accent-clair)}
.td-mosaique{display:grid;grid-template-columns:1fr 1.2fr;grid-template-rows:1fr 1fr;gap:14px;min-height:420px}
.td-mosaique .td-photo:first-child{grid-row:1 / 3}

/* --- Cartes photo (prestations) ----------------------------------------- */
.td-cartes-photo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.td-carte-photo{position:relative;display:block;aspect-ratio:1/1;border-radius:var(--rayon);overflow:hidden;text-decoration:none;color:#fff;background:var(--encre)}
.td-carte-photo .td-photo{position:absolute;inset:0;border-radius:0}
.td-carte-photo .td-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,16,14,0) 35%,rgba(20,16,14,.82) 100%)}
.td-carte-photo__txt{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:28px 28px 26px}
.td-carte-photo h3{font-family:var(--titres);font-weight:500;font-size:clamp(25px,2vw,31px);color:#fff;margin:0 0 6px}
.td-carte-photo p{margin:0 0 14px;font-size:15.5px;line-height:1.5;color:rgba(255,255,255,.9)}
.td-carte-photo strong{color:#fff}
.td-carte-photo__lien{font-size:14px;font-weight:600;letter-spacing:.08em;color:#fff}
.td-carte-photo:hover{color:#fff}
.td-carte-photo:hover img{transform:scale(1.04)}

/* --- Deux colonnes texte + visuel, même hauteur --------------------------- */
.td-deux{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,90px);align-items:stretch}
.td-deux>.td-photo,.td-deux>.td-compo,.td-deux>.td-avap-cadre{min-height:440px}
.td-deux--inverse>.td-photo,.td-deux--inverse>.td-compo,.td-deux--inverse>.td-avap-cadre{order:2}
.td-deux__texte{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.td-deux__texte>*:last-child{margin-bottom:0}
.td-deux__texte>.td-prestas,.td-deux__texte>p,.td-deux__texte>ul{align-self:stretch}
.td-compo{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:14px}
.td-compo>.td-photo:first-child{grid-row:1 / 3;border-radius:999px 999px var(--rayon) var(--rayon)}

/* --- Avant / après à glisser --------------------------------------------- */
.td-avap-cadre{position:relative;border-radius:var(--rayon);overflow:hidden;background:var(--sauge)}
.td-avap{--p:50%;position:absolute;inset:0;overflow:hidden;cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline-offset:3px}
.td-avap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.td-avap>picture,.td-avap__avant>picture{position:absolute;inset:0}
.td-avap__avant{position:absolute;inset:0;z-index:1;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.td-avap__trait{position:absolute;top:0;bottom:0;left:var(--p);z-index:2;width:3px;margin-left:-1.5px;background:#fff}
.td-avap__poignee{position:absolute;top:50%;left:var(--p);z-index:3;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#fff}
.td-avap__poignee::before,.td-avap__poignee::after{content:"";position:absolute;top:50%;width:0;height:0;margin-top:-6px;border:6px solid transparent}
.td-avap__poignee::before{left:6px;border-right-color:var(--accent)}
.td-avap__poignee::after{right:6px;border-left-color:var(--accent)}
.td-avap__tag{position:absolute;top:16px;z-index:3;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--encre);background:rgba(255,255,255,.9)}
.td-avap__tag--av{left:16px}
.td-avap__tag--ap{right:16px;background:var(--accent);color:var(--accent-texte)}

/* --- Liste des prestations, chaque ligne mène à sa page ------------------- */
.td-prestas{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.td-prestas li{margin:0}
.td-prestas a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:center;padding:20px 24px;border-radius:18px;background:#fff;border:1px solid var(--bord);text-decoration:none;color:var(--texte)}
.td-prestas a:hover{border-color:var(--accent)}
.td-prestas h3{margin:0;font-size:clamp(18px,1.4vw,21px)}
.td-prestas p{margin:0;grid-column:1;color:var(--texte-doux);font-size:15.5px}
.td-prestas a::after{content:"→";grid-column:2;grid-row:1 / 3;width:42px;height:42px;border-radius:50%;background:var(--peche);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px}

/* --- Étapes numérotées, reliées par un pointillé ------------------------- */
.td-etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:22px;counter-reset:etape}
.td-etapes li{position:relative;counter-increment:etape;display:flex;flex-direction:column;background:#fff;border:1px solid var(--bord);border-radius:var(--rayon);padding:30px 26px;margin:0}
.td-etapes li::before{content:"0" counter(etape);display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--peche);color:var(--accent);font-family:var(--titres);font-size:22px;margin-bottom:18px}
.td-etapes h3{margin-bottom:.4em}
.td-etapes p{margin:0;color:var(--texte-doux);font-size:16.5px}
.td-fond--encre .td-etapes li{color:var(--texte)}
.td-fond--encre .td-etapes h3,.td-fond--encre .td-etapes strong{color:var(--encre)}
.td-fond--peche .td-etapes li::before{background:var(--sauge)}

/* --- Prix : lignes arrondies « cas …… prix » ----------------------------- */
.td-prix{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:12px 40px}
.td-prix__groupe h3{font-family:var(--titres);font-weight:500;font-size:clamp(24px,2vw,30px);margin-bottom:16px}
.td-prix ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}
.td-prix li{display:flex;align-items:center;gap:14px;padding:16px 18px 16px 22px;border-radius:16px;background:#fff;border:1px solid var(--bord);margin:0;color:var(--texte)}
.td-prix li span:first-child{flex:1}
.td-prix li span:last-child{font-weight:600;color:var(--accent);white-space:nowrap;padding:6px 14px;border-radius:999px;background:var(--peche)}
.td-fond--encre .td-prix li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#F2ECE5}
.td-fond--encre .td-prix li span:last-child{background:var(--accent);color:var(--accent-texte)}
.td-note{font-size:15.5px;color:var(--texte-doux)}
.td-fond--encre .td-note{color:#CBC1B6}
.td-etapes+p,.td-cas+p,.td-prix+p.td-note{margin-top:24px}

/* --- Cas particuliers : cartes claires ----------------------------------- */
.td-cas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:22px}
.td-cas>div{background:rgba(255,255,255,.75);border:1px solid var(--bord);border-radius:var(--rayon);padding:28px 26px}
.td-fond--blanc .td-cas>div{background:var(--creme)}
.td-fond--encre .td-cas>div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.td-cas>div>*:last-child{margin-bottom:0}
.td-cas h3{margin-bottom:.35em}
.td-cas p{color:var(--texte-doux);font-size:16.5px}
.td-fond--encre .td-cas p{color:#D8CFC6}

/* --- Zone d'intervention : carte + communes ------------------------------ */
.td-zone{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:stretch}
.td-carte__fond{min-height:460px;border-radius:var(--rayon);border:1px solid var(--bord);background:var(--sauge);z-index:0}
.td-zone__texte{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.td-zone__texte>*:last-child{margin-bottom:0}
.td-zone__texte>ul,.td-zone__texte>p{align-self:stretch}
.td-communes{columns:2;column-gap:32px;padding-left:1.1em}
.td-communes li::marker{color:var(--accent)}
.td-carte__point{border-radius:50%;background:var(--encre);border:2px solid #fff}
.td-carte__point--depart{background:var(--accent);border-width:3px}
.leaflet-marker-icon.td-carte__point{display:block}
.leaflet-container .leaflet-control-attribution{font-size:9px;line-height:1.4;padding:0 5px;background:rgba(255,255,255,.55);color:#888}
.leaflet-container .leaflet-control-attribution a{color:inherit;text-decoration:none}

/* --- FAQ ----------------------------------------------------------------- */
.td-faqs{display:grid;gap:12px}
.td-faq{background:#fff;border:1px solid var(--bord);border-radius:18px}
.td-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;outline:none!important;border:0!important;box-shadow:none!important}
.td-faq summary:focus,.td-faq summary:focus-visible{outline:none!important}
.td-faq summary::-webkit-details-marker{display:none}
.td-faq summary h3{margin:0;font-size:clamp(17px,1.35vw,20px);font-weight:500}
.td-faq summary::after{content:"+";flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--peche);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;transition:transform .2s}
.td-faq[open] summary::after{transform:rotate(45deg)}
.td-faq__rep{padding:0 26px 22px}
.td-faq__rep>*:last-child{margin-bottom:0}
.td-fond--encre .td-faq{color:var(--texte)}
.td-fond--encre .td-faq h3,.td-fond--encre .td-faq strong{color:var(--encre)}
.td-fond--encre .td-faq a{color:var(--accent)}

/* --- Appel à l'action ---------------------------------------------------- */
.td-appel{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:28px 48px;align-items:center}
.td-appel h2{margin-bottom:.3em}
.td-appel p{margin-bottom:0}
.td-appel .td-boutons{margin:0;justify-content:flex-end}

/* --- Contact ------------------------------------------------------------- */
.td-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:stretch}
.td-contact__infos{display:flex;flex-direction:column;align-items:flex-start}
.td-contact__infos>*{align-self:stretch}
.td-contact__infos>.td-surtitre{align-self:flex-start}
.td-contact__infos .td-intro{margin-bottom:28px}
.td-contact__photo{flex:1;min-height:220px;margin-top:28px}
.td-contact__boite{background:#fff;border:1px solid var(--bord);border-radius:var(--rayon);padding:clamp(26px,3vw,44px);color:var(--texte)}
.td-contact__boite a{color:var(--accent)}
.td-contact__aide{margin-top:auto;padding-top:28px;border-top:1px solid rgba(255,255,255,.16)}
.td-contact__infos .td-coord{margin-bottom:32px}
.td-contact__aide h3{font-size:19px}
.td-fond--encre .td-contact__aide .td-coches li{color:#EDE6DE}
.td-coord{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.td-coord li{display:flex;align-items:center;gap:16px;margin:0}
.td-coord__ico{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--peche);color:var(--accent);display:flex;align-items:center;justify-content:center}
.td-coord li:first-child .td-coord__ico{background:var(--accent);color:var(--accent-texte)}
.td-coord__txt{display:flex;flex-direction:column;min-width:0;font-size:18px;font-weight:500;color:var(--texte)}
.td-coord__lib{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--texte-doux);margin-bottom:2px}
.td-coord a{color:var(--encre);text-decoration:none;overflow-wrap:anywhere}
.td-coord a:hover{color:var(--accent)}
.td-coord .td-coord__tel{font-family:var(--titres);font-size:clamp(28px,2.6vw,38px);line-height:1.1}
.td-fond--encre .td-coord__txt,.td-fond--encre .td-coord a{color:#fff}
.td-fond--encre .td-coord__lib{color:#CBC1B6}
.td-fond--encre .td-coord__ico{background:var(--encre-2);color:#fff}
.td-form p{margin:0 0 16px}
.td-form__ligne{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.td-form label{display:block;font-weight:500;font-size:15.5px;margin-bottom:6px}
.td-form input,.td-form textarea{width:100%;font:inherit;font-size:17px;padding:13px 16px;border:1.5px solid var(--bord);border-radius:14px;background:var(--creme);color:var(--texte)}
.td-form input:focus,.td-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);background:#fff}
.td-form__piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.td-form__rgpd{font-size:14.5px;color:var(--texte-doux)}
.td-alerte{padding:14px 18px;border-radius:14px;font-weight:500}
.td-alerte--ok{background:var(--sauge);color:var(--encre)}
.td-alerte--erreur{background:var(--peche);color:#7A2A1C}

/* --- Texte long (pages légales) ------------------------------------------ */
.td-prose{max-width:860px;margin:0 auto}
.td-prose h2{margin-top:1.4em}
.td-prose h2:first-child{margin-top:0}
.td-prose h3{margin-top:1.4em}
.td-maj{color:var(--texte-doux);font-size:15.5px}

/* --- 404 ----------------------------------------------------------------- */
.td-introuvable__code{font-family:var(--titres);font-size:clamp(90px,13vw,170px);line-height:1;color:var(--rond-1);margin:0 0 10px}
.td-introuvable__liens{margin-top:28px;columns:2;column-gap:40px}

/* --- Pied de page -------------------------------------------------------- */
.td-pied{background:var(--encre);color:#D8CFC6;font-size:16.5px}
.td-pied a{color:#fff;text-decoration:none}
.td-pied a:hover{color:var(--accent-clair);text-decoration:underline}
.td-pied__grille{max-width:var(--shell);margin:0 auto;padding:70px var(--gutter) 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.td-logo--pied{margin-bottom:18px}
.td-logo--pied .td-logo__nom{color:#fff}
.td-logo--pied .td-logo__lieu{color:#CBC1B6}
.td-logo--pied .td-logo__carton path{stroke:var(--accent-clair)}
.td-pied__intro{max-width:44ch}
.td-pied__titre{font-family:var(--titres);font-size:22px;color:#fff;margin-bottom:14px}
.td-pied__liste{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.td-pied__liste li{margin:0}
.td-pied__liste strong{color:#fff}
.td-pied__fort{font-family:var(--titres);font-size:22px}
.td-carbone{max-width:calc(var(--shell) - 2 * var(--gutter));margin:0 auto 24px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 18px;border:1px solid rgba(255,255,255,.2);border-radius:14px}
.td-pied__carte{max-width:var(--shell);margin:0 auto;padding:0 var(--gutter)}
.td-pied__carte iframe{display:block;width:100%;height:300px;border:0;border-radius:var(--rayon)}
.td-pied__bas{max-width:var(--shell);margin:0 auto;padding:22px var(--gutter) 30px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:14.5px;color:#B9AEA2}

/* --- Choix des couleurs (/couleur/) -------------------------------------- */
.td-palettes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.td-palette{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bord);border-radius:var(--rayon);padding:26px}
.td-palette h3{font-family:var(--titres);font-weight:500;font-size:28px;margin-bottom:6px}
.td-palette p{color:var(--texte-doux);font-size:15.5px}
.td-palette__nuances{display:flex;gap:8px;margin:6px 0 22px}
.td-palette__nuances span{flex:1;height:58px;border-radius:12px;border:1px solid rgba(0,0,0,.08)}
.td-palette .td-boutons{margin-top:auto}
.td-palette--active{border:2px solid var(--accent)}
.td-palettes-barre{position:fixed;left:16px;bottom:calc(16px + var(--mpe-bas, 0px));z-index:60;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid var(--bord);font:500 13px/1 var(--corps);color:var(--encre)}
.td-palettes-barre a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;text-decoration:none;color:var(--encre);background:var(--creme)}
.td-palettes-barre a[aria-current="true"]{background:var(--accent);color:var(--accent-texte)}

/* ========================================================================= */
/*  Écrans moyens et petits : à garder en fin de feuille                     */
/* ========================================================================= */
@media (min-width:1001px){
	.td-etapes{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:44px}
	.td-etapes li:not(:last-child)::after{content:"";position:absolute;top:56px;left:calc(100% + 7px);width:30px;border-top:2px dashed var(--accent)}
}
@media (max-width:1180px){
	.td-nav__liste a{padding:8px 10px;font-size:14px}
	.td-entete__tel span{display:none}
	.td-entete__tel{padding:10px 14px}
	.td-pied__grille{grid-template-columns:1fr 1fr}
	.td-cartes-photo{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1000px){
	.td-burger{display:flex}
	.td-entete__in{gap:14px}
	.td-entete__tel span{display:inline}
	.td-nav{position:absolute;top:100%;left:0;right:0;margin:0;background:var(--creme);border-bottom:1px solid var(--bord);max-height:calc(100vh - 100%);overflow-y:auto;display:none}
	.td-nav.est-ouvert{display:block}
	.td-nav__liste{flex-direction:column;align-items:stretch;gap:0;padding:10px var(--gutter) 22px}
	.td-nav__liste a{min-height:52px;font-size:16px;padding:12px 6px;border-radius:0;border-bottom:1px solid var(--bord)}
	.td-nav__parent::after{display:none}
	.td-nav__sous{display:block;position:static;border:0;padding:0 0 0 16px;min-width:0;background:transparent}
	.td-nav__mobile{display:block;padding-top:16px}
	.td-nav__mobile a{justify-content:center;border-bottom:0;border-radius:999px;color:var(--accent-texte)}
	.td-entete__actions{margin-left:auto}
	.td-etapes{grid-template-columns:1fr}
	.td-etapes li:not(:last-child)::after{content:"";position:absolute;left:52px;top:calc(100% + 4px);height:14px;border-left:2px dashed var(--accent)}
}
@media (max-width:900px){
	.td-banniere__grille,.td-deux,.td-zone,.td-contact,.td-appel{grid-template-columns:1fr}
	.td-banniere__grille>.td-mosaique,.td-banniere__grille>.td-photo,.td-banniere__grille>.td-avap-cadre,.td-banniere__grille>.td-arches{order:-1}
	.td-banniere__grille>.td-photo,.td-banniere__grille>.td-avap-cadre{min-height:0;height:340px;border-radius:200px 200px var(--rayon) var(--rayon)}
	.td-arches{min-height:0;height:380px}
	.td-arche--grande{width:78%}
	.td-arche--petite{width:42%;height:50%;bottom:-14px;border-width:6px}
	.td-mosaique{min-height:0;height:300px;gap:10px}
	.td-deux>.td-photo,.td-deux--inverse>.td-photo,.td-deux>.td-compo,.td-deux--inverse>.td-compo,.td-deux>.td-avap-cadre,.td-deux--inverse>.td-avap-cadre{order:-1;min-height:0;height:300px}
	.td-zone__texte{order:-1}
	.td-appel .td-boutons{justify-content:flex-start}
	.td-carte__fond{min-height:340px}
	.td-contact__photo{display:none}
	.td-contact__aide{margin-top:8px}
	.td-h1{font-size:clamp(38px,9vw,52px)}
	:root{--h2:clamp(30px,7vw,40px)}
	h3{font-size:clamp(18px,3.4vw,21px)}
	.td-banniere{background-image:radial-gradient(circle 220px at right -70px top -90px,var(--rond-1) 99.4%,transparent 100%)}
	.td-ronds-a{background-image:radial-gradient(circle 180px at right -70px top -80px,var(--rond-1) 99.4%,transparent 100%),radial-gradient(circle 80px at left 4% bottom -50px,var(--rond-2) 99.4%,transparent 100%)}
	.td-ronds-b{background-image:radial-gradient(circle 175px at left -80px bottom -90px,var(--rond-2) 99.4%,transparent 100%),radial-gradient(circle 75px at right 5% top -40px,var(--rond-1) 99.4%,transparent 100%)}
	.td-fond--sable.td-ronds-a,.td-fond--sable.td-ronds-b{background-image:radial-gradient(circle 180px at right -70px top -80px,color-mix(in srgb,var(--sauge) 70%,#fff) 99.4%,transparent 100%)}
	.td-fond--encre.td-ronds-a,.td-fond--encre.td-ronds-b{background-image:radial-gradient(circle 180px at right -70px top -80px,rgba(255,255,255,.05) 99.4%,transparent 100%)}
}
@media (max-width:600px){
	body{font-size:17px}
	.td-logo__nom{font-size:25px}
	.td-logo__lieu{font-size:9.5px;letter-spacing:.1em}
	.td-logo__carton{width:32px;height:32px}
	.td-entete__tel{width:52px;height:52px;padding:0}
	.td-entete__tel span{display:none}
	.td-cartes-photo{grid-template-columns:1fr}
	.td-carte-photo{aspect-ratio:4/3.4}
	/* Sur téléphone, jamais deux photos côte à côte */
	.td-compo{grid-template-columns:1fr;grid-template-rows:1fr}
	.td-compo>.td-photo:not(:first-child){display:none}
	.td-compo>.td-photo:first-child{grid-row:auto;border-radius:var(--rayon)}
	.td-mosaique{grid-template-columns:1fr;grid-template-rows:1fr}
	.td-mosaique>.td-photo:not(:first-child){display:none}
	.td-mosaique .td-photo:first-child{grid-row:auto}
	.td-arche--petite{display:none}
	.td-arche--grande{width:100%;left:0}
	.td-atouts{flex-direction:column;gap:12px}
	.td-form__ligne{grid-template-columns:1fr}
	.td-pied__grille{grid-template-columns:1fr}
	.td-communes{columns:1}
	.td-introuvable__liens{columns:1}
	.td-boutons .td-btn{width:100%}
	.td-prix li{flex-wrap:wrap;padding:14px 16px}
	.td-palettes-barre{left:8px;right:8px;justify-content:center;border-radius:20px}
}

/* --- Prestations en grille, photo au-dessus de chaque prestation ---------- */
.td-grille-presta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 30px}
.td-presta{display:flex;flex-direction:column;text-decoration:none;color:var(--texte)}
.td-presta__photo{aspect-ratio:4/3;margin-bottom:22px}
.td-presta h3{font-family:var(--titres);font-weight:500;font-size:clamp(25px,2vw,30px);line-height:1.15;margin:0 0 8px;color:var(--encre)}
.td-presta p{margin:0 0 14px;color:var(--texte-doux);font-size:16.5px}
.td-presta__lien{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--accent)}
.td-presta__lien::after{content:"→";width:34px;height:34px;border-radius:50%;background:var(--peche);display:inline-flex;align-items:center;justify-content:center;transition:transform .2s}
.td-presta:hover{color:var(--texte)}
.td-presta:hover .td-presta__lien::after{transform:translateX(4px)}
.td-presta:hover img{transform:scale(1.04)}
.td-fond--sable .td-presta__lien::after{background:#fff}
.td-section h2+.td-grille-presta{margin-top:48px}
@media (max-width:1000px){.td-grille-presta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.td-grille-presta{grid-template-columns:1fr;gap:36px}}
/* Bannière : titre plus court en hauteur, colonne de texte plus large (ordinateur seulement) */
@media (min-width:901px){.td-banniere__grille{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}
.td-banniere .td-h1{font-size:clamp(40px,4vw,60px)}
.td-arches{min-height:520px}
@media (max-width:900px){.td-banniere .td-h1{font-size:clamp(36px,8.6vw,48px)}}
/* Espace sous les H2 des en-têtes de section centrés (demandé le 2026-10-15) */
.td-tete-centree{margin-bottom:clamp(40px,4vw,56px)}
.td-tete-centree h2{margin-bottom:0}
.td-tete-centree .td-intro{margin-top:16px}

/* --- Retouches du 2026-10-15 après-midi ----------------------------------- */
/* Titres longs : jamais plus larges que l'écran */
.td-banniere__texte,.td-banniere__texte>*{max-width:100%;min-width:0}
.td-h1,.td-main h2{overflow-wrap:break-word}
.td-surtitre{max-width:100%;white-space:normal}
.td-coches li,.td-atouts li{min-width:0;overflow-wrap:anywhere}

/* Prestations : chaque carte dans un bloc blanc, photo en haut */
.td-presta{background:#fff;border-radius:var(--rayon);overflow:hidden;border:1px solid var(--bord)}
.td-presta__photo{border-radius:0;margin:0}
.td-presta h3{margin:24px 26px 8px}
.td-presta p{margin:0 26px 16px}
.td-presta__lien{margin:auto 26px 26px}
.td-fond--sable .td-presta__lien::after{background:var(--peche)}
.td-grille-presta{gap:28px}

/* Contact sur fond clair (pêche), pour se distinguer du pied de page foncé */
.td-fond--peche .td-coord__ico,.td-fond--peche .td-coches li::before,.td-fond--peche .td-atouts__ico{background:#fff}
.td-fond--peche .td-coord li:first-child .td-coord__ico{background:var(--accent)}
.td-fond--peche .td-contact__aide{border-top-color:color-mix(in srgb,var(--accent) 25%,transparent)}
.td-fond--peche .td-contact__boite{border-color:transparent}

/* Avant / après en grille (réalisations) */
.td-grille-avap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.td-grille-avap figure{margin:0;background:#fff;border-radius:var(--rayon);overflow:hidden;border:1px solid var(--bord)}
.td-grille-avap .td-avap-cadre{aspect-ratio:4/3;border-radius:0}
.td-grille-avap figcaption{padding:20px 24px 22px}
.td-grille-avap figcaption strong{display:block;font-family:var(--titres);font-weight:500;font-size:24px;color:var(--encre);margin-bottom:4px}
.td-grille-avap figcaption span{color:var(--texte-doux);font-size:15.5px}

/* Étapes illustrées : photo en tête de chaque carte */
.td-etapes--photos li{padding:0;overflow:hidden}
.td-etapes--photos .td-etape__photo{aspect-ratio:4/3;border-radius:0}
.td-etapes--photos li::before{position:absolute;top:16px;left:16px;z-index:2;margin:0;background:#fff}
.td-etapes--photos h3{margin:22px 24px 8px}
.td-etapes--photos p{margin:0 24px 26px}
@media (min-width:1001px){.td-etapes--photos li:not(:last-child)::after{top:auto;bottom:60px}}

/* FAQ et tarifs à côté d'un visuel : la colonne de texte part du haut */
.td-deux__texte--haut{justify-content:flex-start}
.td-deux__texte .td-faqs,.td-deux__texte .td-prix,.td-deux__texte .td-cas{align-self:stretch;width:100%}
.td-deux__texte .td-prix{grid-template-columns:1fr;margin-top:28px}
.td-deux__texte .td-cas{grid-template-columns:1fr;gap:14px;margin-top:28px}
.td-deux__texte .td-faqs{margin-top:28px}

@media (max-width:1000px){.td-grille-avap{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.td-grille-avap{grid-template-columns:1fr}.td-etapes--photos li::before{top:12px;left:12px}}
/* Titres un peu plus gras (2026-10-15) : logo, numéros et prix en 500 */
.td-logo__nom,.td-etapes li::before,.td-coord .td-coord__tel,.td-pied__titre,.td-pied__fort,.td-introuvable__code{font-weight:500}
/* Photo très haute : cadrage sur le bas de l'image (utilitaire et carton plutôt que l'arbre) */
.td-photo--bas img{object-position:center 82%}
/* Aucun rond en fond (demandé le 2026-10-15 : « retire les ronds du bg ») : sections et bannières unies */
.td-banniere,.td-section,.td-ronds-a,.td-ronds-b{background-image:none!important}
/* H1 de bannière plus gros (demandé le 2026-10-15) */
@media (min-width:901px){.td-banniere .td-h1{font-size:clamp(48px,4.9vw,74px)}}
@media (max-width:900px){.td-banniere .td-h1{font-size:clamp(38px,10vw,56px)}}
/* Étapes illustrées : la carte ne coupe plus ce qui dépasse, les pointillés entre les étapes réapparaissent */
.td-etapes--photos li{overflow:visible}
.td-etapes--photos .td-etape__photo{border-radius:var(--rayon) var(--rayon) 0 0}
@media (min-width:1001px){.td-etapes--photos li:not(:last-child)::after{top:24%;bottom:auto;left:calc(100% + 6px);width:32px;border-top:2.5px dashed var(--accent)}}
@media (max-width:1000px){.td-etapes--photos li:not(:last-child)::after{left:50%;top:calc(100% + 4px);height:14px;border-left:2.5px dashed var(--accent)}}

/* --- Tri : filières avec icône dans un rond, séparées par un filet (2026-10-15) --- */
.td-filieres{list-style:none;margin:30px 0 0;padding:0;align-self:stretch}
.td-filieres li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:22px;align-items:start;margin:0;padding:24px 0;border-top:1px solid var(--bord)}
.td-filieres li:last-child{border-bottom:1px solid var(--bord)}
.td-filieres__ico{width:58px;height:58px;border-radius:50%;background:var(--accent);color:var(--accent-texte);display:flex;align-items:center;justify-content:center}
.td-filieres h3{font-family:var(--titres);font-weight:500;font-size:clamp(22px,1.8vw,27px);margin:4px 0 6px}
.td-filieres p{margin:0;color:var(--texte-doux);font-size:16.5px}

/* --- Coches vertes « validé » ---------------------------------------------- */
.td-coches--vert{margin:4px 0 18px;gap:12px}
.td-coches--vert li::before{background:#2F8A4C}
.td-coches--vert li::after{border-color:#fff}

/* --- Deux photos empilées dans une colonne --------------------------------- */
.td-duo-photos{display:grid;grid-template-rows:1fr 1fr;gap:16px;min-height:440px}
@media (max-width:900px){.td-duo-photos{order:-1;min-height:0;height:300px;grid-template-rows:1fr}.td-duo-photos>.td-photo:last-child{display:none}}

/* Avant / après : légende d'un mot */
.td-grille-avap figcaption{padding:18px 24px}
.td-grille-avap figcaption strong{margin:0;font-size:25px}
/* Communes : une épingle de localisation à la place de la puce (2026-10-15) */
.td-communes{list-style:none;padding-left:0}
.td-communes li{position:relative;padding-left:30px;margin-bottom:10px;break-inside:avoid}
.td-communes li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat}
.td-communes li::marker{content:none}
/* Fonds simplifiés (2026-10-15) : crème #FAF7F2 et blanc, une section sur deux */
.td-contact__aide{border-top-color:var(--bord)}
.td-fond--blanc .td-contact__boite,.td-fond--blanc .td-faq,.td-fond--blanc .td-etapes li,.td-fond--blanc .td-presta,.td-fond--blanc .td-grille-avap figure{border-color:var(--bord)}
.td-fond--blanc .td-coord__ico,.td-fond--blanc .td-atouts__ico{background:var(--peche)}
.td-fond--creme .td-coord__ico{background:#fff}
.td-coord li:first-child .td-coord__ico{background:var(--accent)!important;color:var(--accent-texte)}
/* Sections moins hautes (2026-10-15) : padding haut et bas réduit d'environ 30 % */
.td-section{padding:clamp(48px,6vw,84px) 0}
.td-banniere{padding:clamp(36px,4vw,60px) 0 clamp(44px,4.6vw,72px)}
/* Tri : chaque filière dans une boîte blanche (2026-10-15) */
.td-filieres{display:grid;gap:14px}
.td-filieres li,.td-filieres li:last-child{background:#fff;border:1px solid var(--bord);border-radius:var(--rayon);padding:22px 24px}
.td-fond--blanc .td-filieres li{background:#fff}
@media (max-width:600px){.td-filieres li{grid-template-columns:48px minmax(0,1fr);gap:16px;padding:18px}.td-filieres__ico{width:48px;height:48px}}
/* Moins d'espace sous la liste des communes (2026-10-15) */
.td-communes{margin-bottom:0}
.td-communes li:last-child{margin-bottom:0}
.td-communes+.td-boutons,.td-communes+p{margin-top:18px}
/* Moins d'espace entre un H2 et le bloc qui le suit dans une colonne de texte (2026-10-15) */
.td-section .td-deux__texte h2+.td-faqs,.td-section .td-deux__texte h2+.td-prix,.td-section .td-deux__texte h2+.td-cas,.td-section .td-deux__texte h2+.td-filieres,.td-section .td-deux__texte h2+.td-prestas{margin-top:18px}
/* Bannière d'accueil : deux photos en quinconce, même taille, décalées (2026-10-15) */
.td-arches{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;min-height:540px}
.td-arche{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;border:0!important;border-radius:var(--rayon)!important}
.td-arche--grande{grid-column:2;grid-row:1;margin-bottom:64px}
.td-arche--petite{grid-column:1;grid-row:1;margin-top:64px;display:block!important}
@media (max-width:900px){.td-arches{height:340px;min-height:0;gap:12px}.td-arche--grande{margin-bottom:36px}.td-arche--petite{margin-top:36px}}
@media (max-width:600px){.td-arches{height:280px}}
/* Téléphone : une seule photo dans la bannière (jamais deux côte à côte) */
@media (max-width:600px){.td-arches{display:block;height:280px}.td-arche--petite{display:none!important}.td-arche--grande{height:100%!important;margin:0}}
/* Deux photos en quinconce dans une section à deux colonnes (FAQ de l'accueil, 2026-10-15) */
.td-quinconce{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-height:480px}
.td-quinconce>.td-photo:first-child{margin-top:64px}
.td-quinconce>.td-photo:last-child{margin-bottom:64px}
@media (max-width:900px){.td-quinconce{order:-1;min-height:0;height:300px;gap:12px}.td-quinconce>.td-photo:first-child{margin-top:36px}.td-quinconce>.td-photo:last-child{margin-bottom:36px}}
@media (max-width:600px){.td-quinconce{display:block;height:260px}.td-quinconce>.td-photo{height:100%;margin:0!important}.td-quinconce>.td-photo:last-child{display:none}}
/* Barre des polices : juste au-dessus de celle des couleurs */
.td-palettes-barre--polices{bottom:calc(64px + var(--mpe-bas, 0px))}
@media (max-width:600px){.td-palettes-barre--polices{bottom:calc(112px + var(--mpe-bas, 0px))}}
/* Quinconce de la FAQ : hauteur limitée, centré à côté des questions */
.td-quinconce{align-self:center;min-height:0;height:min(600px,46vw)}
/* Coches : la coche est dessinée au centre du rond (plus de trait décalé) */
.td-coches li::after{content:none!important}
.td-coches li::before{display:block;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B4543A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-8.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:15px}
.td-coches--vert li::before{background-color:#2F8A4C!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-8.5'/%3E%3C/svg%3E")}
.td-coches li{display:flex;align-items:center;min-height:28px;padding-left:40px}
.td-coches li::before{top:50%;margin-top:-14px}
/* Coches : retour à un bloc normal (le flex collait les mots autour du gras) */
.td-coches li{display:block;min-height:28px}
.td-coches li::before{top:.15em;margin-top:0}
/* Bannière : grande photo en paysage + petite qui chevauche en bas à gauche (2026-10-15, le quinconce étroit coupait l'utilitaire) */
.td-arches{display:block!important;position:relative;min-height:0;height:520px;align-self:center}
.td-arche{position:absolute!important;margin:0!important;grid-column:auto!important;grid-row:auto!important}
.td-arche--grande{top:0!important;right:0!important;left:auto!important;bottom:auto!important;width:90%!important;height:80%!important;border-radius:var(--rayon)!important}
.td-arche--petite{display:block!important;left:0!important;bottom:0!important;top:auto!important;right:auto!important;width:46%!important;height:44%!important;border:8px solid var(--creme)!important;border-radius:calc(var(--rayon) + 6px)!important}
.td-arche--grande img{object-position:center 70%}
@media (max-width:900px){.td-arches{height:360px}}
@media (max-width:600px){.td-arches{height:300px}.td-arche--grande{width:100%!important;height:78%!important}.td-arche--petite{width:52%!important;height:42%!important;display:block!important;border-width:6px!important}}
/* Bannière d'accueil : trio camion + avant + après (2026-10-15) */
.td-trio{position:relative;height:560px;align-self:center}
.td-trio__camion{position:absolute!important;top:0;right:0;width:84%;height:72%;border-radius:28px}
.td-trio__camion img{object-position:center 72%}
.td-trio figure{position:absolute;margin:0;padding:8px;background:var(--creme);border-radius:26px}
.td-trio figure .td-photo{position:relative;width:100%;height:100%;border-radius:20px}
.td-trio__avant{left:0;bottom:0;width:44%;height:44%}
.td-trio__apres{left:40%;bottom:-6%;width:44%;height:44%}
.td-trio figcaption{position:absolute;left:22px;bottom:22px;z-index:2;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--encre)}
.td-trio__apres figcaption{background:var(--accent);color:var(--accent-texte)}
.td-trio__avant{z-index:2}.td-trio__apres{z-index:3}
@media (max-width:900px){.td-banniere__grille>.td-trio{order:-1}.td-trio{height:400px;margin-bottom:24px}}
@media (max-width:600px){.td-trio{height:330px}.td-trio__camion{width:100%;height:66%}.td-trio__avant,.td-trio__apres{width:50%;height:42%}.td-trio__apres{left:50%;bottom:0}.td-trio figure{padding:5px}.td-trio figcaption{left:14px;bottom:14px;font-size:10.5px;padding:5px 10px}}
/* Trio : composition plus équilibrée, et une seule petite photo sur téléphone */
.td-trio{height:540px}
.td-trio__camion{width:88%;height:70%}
.td-trio__avant{left:2%;bottom:4%;width:42%;height:42%}
.td-trio__apres{left:42%;bottom:0;width:42%;height:42%}
@media (max-width:600px){.td-trio{height:300px;margin-bottom:12px}.td-trio__camion{width:100%;height:76%}.td-trio__avant{display:none}.td-trio__apres{left:auto;right:6%;bottom:0;width:48%;height:44%}}

/* --- Carte de zone v2 (MapLibre + OpenFreeMap), étiquettes des communes ----- */
.td-carte__fond{overflow:hidden;background:var(--creme)}
.td-carte__etiquette{display:inline-flex;align-items:center;gap:7px;text-decoration:none;cursor:default;white-space:nowrap}
a.td-carte__etiquette{cursor:pointer}
.td-carte__puce{width:12px;height:12px;border-radius:50%;background:var(--encre);border:2.5px solid #fff;flex-shrink:0}
.td-carte__nom{padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid var(--bord);font:500 12.5px/1.3 var(--corps);color:var(--encre)}
.td-carte__etiquette--depart .td-carte__puce{width:16px;height:16px;background:var(--accent);border-width:3px}
.td-carte__etiquette--depart .td-carte__nom{background:var(--accent);border-color:var(--accent);color:var(--accent-texte);font-weight:600;font-size:13.5px}
a.td-carte__etiquette:hover .td-carte__nom{border-color:var(--accent)}
.td-carte__fond .maplibregl-ctrl-group{border-radius:12px;box-shadow:none;border:1px solid var(--bord)}
.td-carte__fond .maplibregl-ctrl-attrib{font-size:10px;background:rgba(255,255,255,.7)}
@media (max-width:600px){.td-carte__nom{font-size:11px;padding:2px 7px}.td-carte__etiquette--depart .td-carte__nom{font-size:12px}}
/* Trio v2 (2026-10-15) : grille nette, plus de chevauchement. Camion en haut sur toute la largeur,
   avant et après dessous, même taille, même espace, mêmes arrondis. */
.td-trio{position:relative;display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:1.25fr 1fr;gap:14px;height:540px!important;align-self:center}
.td-trio__camion,.td-trio figure{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:none!important;border-radius:var(--rayon)!important;display:block!important;z-index:auto!important}
.td-trio__camion{grid-column:1 / 3;grid-row:1;overflow:hidden}
.td-trio__camion img{object-position:center 68%}
.td-trio figure .td-photo{position:absolute!important;inset:0;width:100%;height:100%;border-radius:var(--rayon)!important}
.td-trio figcaption{left:14px!important;bottom:14px!important}
@media (max-width:900px){.td-trio{height:420px!important}}
@media (max-width:600px){.td-trio{height:340px!important;gap:10px}.td-trio__avant{display:block!important}.td-trio figcaption{left:10px!important;bottom:10px!important;font-size:10.5px;padding:5px 10px}}
/* Carte : Villeurbanne au-dessus de son point, communes serrées en point seul */
.td-carte__etiquette--depart{flex-direction:column-reverse;gap:5px}
.td-carte__etiquette--muette .td-carte__nom{display:none}
/* Photo de la benne : cadrée sur le contenu */
img[src*="benne-meubles"]{object-position:center 46%}
/* Duo de couleurs : la 2e couleur (titres, pied) apparaît aussi dans les pastilles de numéro, les icônes du tri et le bouton de menu */
.td-filieres li:nth-child(2) .td-filieres__ico{background:var(--encre);color:#fff}
.td-etapes li:nth-child(even)::before{background:var(--encre);color:#fff}
.td-surtitre::before{background:var(--accent)}
.td-coord__ico{color:var(--encre)}
/* Règle de l'agence : deux colonnes côte à côte = même hauteur, image comprise (rappel du 2026-10-15).
   Les compositions de photos s'étirent à la hauteur du texte, aucune hauteur figée ni centrage. */
@media (min-width:901px){
	.td-banniere__grille{align-items:stretch}
	.td-trio{height:auto!important;min-height:440px;align-self:stretch!important}
	.td-quinconce{height:auto!important;min-height:440px;align-self:stretch!important}
	.td-deux>.td-photo,.td-deux>.td-compo,.td-deux>.td-avap-cadre,.td-deux>.td-duo-photos{align-self:stretch}
}
/* Carte colorée : étiquettes à liseré de la couleur du site */
.td-carte__puce{background:var(--accent)}
.td-carte__etiquette--depart .td-carte__puce{background:var(--encre)}
.td-carte__nom{border-color:var(--accent-clair);color:var(--encre)}
.td-carte__etiquette--depart .td-carte__nom{background:var(--encre);border-color:var(--encre);color:#fff}
.td-carte__etiquette--gauche{flex-direction:row-reverse}
.td-carte__fond{width:100%}
/* Crédits de la carte : seulement « © OpenMapTiles © OpenStreetMap », 9 px gris, sans cadre ni bouton */
.td-carte__fond .maplibregl-ctrl-attrib{background:transparent!important;padding:0 6px!important;font-size:9px!important;line-height:1.4;color:#9A9087}
.td-carte__fond .maplibregl-ctrl-attrib a{color:inherit;text-decoration:none}
.td-carte__fond .maplibregl-ctrl-attrib-button{display:none!important}
.td-carte__fond .maplibregl-ctrl-attrib-inner a[href*="openfreemap"],.td-carte__fond .maplibregl-ctrl-attrib-inner a[href*="maplibre"]{display:none}

/* ========================================================================= */
/*  Choix final du 2026-10-15 : titres Host Grotesk 700, duo terracotta et vert sapin */
/* ========================================================================= */
@font-face{font-family:"Host Grotesk";src:url("assets/polices/host-grotesk-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Host Grotesk";src:url("assets/polices/host-grotesk-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--titres:"Host Grotesk","Segoe UI",system-ui,sans-serif;--accent:#C0583C;--accent-survol:#A54B33;--accent-clair:#E8C4BA;--accent-texte:#FFFFFF;--encre:#1F4A3A;--encre-2:#395F51;--creme:#FAF7F2;--sauge:#E3ECE6;--peche:#F5E5E1;--bord:#E6DDD1;--texte:#2B2623;--texte-doux:#615852;--rond-1:#F2DDD8;--rond-2:#E3ECE6}
h1,h2,.td-presta h3,.td-filieres h3,.td-prix__groupe h3,.td-grille-avap figcaption strong,.td-logo__nom,.td-pied__titre,.td-coord .td-coord__tel{font-weight:700}
h1,h2{letter-spacing:-.02em}
/* Logo « carton ouvert » (2026-10-15) : formes pleines, plus de contour hérité de l'ancien carton au trait */
.td-logo__carton{width:44px;height:40px}
.td-logo__carton path{stroke:none}
.td-logo__carton path:nth-child(2){stroke:var(--creme)}
.td-logo--pied .td-logo__carton path:nth-child(2){stroke:var(--encre)}
.td-logo__nom{color:var(--encre)}
.td-logo__lieu{color:var(--accent)}
.td-logo--pied .td-logo__lieu{color:var(--accent-clair)}
@media (max-width:600px){.td-logo__carton{width:36px;height:33px}}
/* Liens des cartes de prestations : vrais boutons pleins couleur d'accent (2026-10-15) */
.td-presta__lien{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:11px 14px 11px 20px;border-radius:999px;background:var(--accent);color:var(--accent-texte)!important;font-size:15px;font-weight:600;transition:background-color .15s}
.td-presta__lien::after{width:26px;height:26px;background:rgba(255,255,255,.22)!important;color:var(--accent-texte)}
.td-presta:hover .td-presta__lien{background:var(--accent-survol)}
/* Boutons secondaires pleins vert sapin, texte blanc (2026-10-15 : « mets cta bg plein ») */
.td-btn--contour,.td-fond--encre .td-btn--contour{background:var(--encre);border-color:var(--encre);color:#fff}
.td-btn--contour:hover,.td-fond--encre .td-btn--contour:hover{background:var(--encre-2);border-color:var(--encre-2);color:#fff}
.td-btn--contour svg{stroke:currentColor}
.td-presta__lien{white-space:nowrap}
/* Titres en Parkinsans (2026-10-15 : « essaie une font plus proche Bricolage Grotesque ») */
@font-face{font-family:"Parkinsans";src:url("assets/polices/parkinsans-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Parkinsans";src:url("assets/polices/parkinsans-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Parkinsans";src:url("assets/polices/parkinsans-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
:root{--titres:"Parkinsans","Segoe UI",system-ui,sans-serif}
h1,h2{font-weight:700;letter-spacing:-.025em}
.td-presta h3,.td-filieres h3,.td-prix__groupe h3,.td-grille-avap figcaption strong,.td-logo__nom,.td-pied__titre,.td-coord .td-coord__tel{font-weight:700}
/* Prestations sur fond vert sapin : cartes blanches, titres blancs */
#prestations.td-fond--encre .td-surtitre{background:rgba(255,255,255,.12);color:#fff}
#prestations.td-fond--encre .td-presta h3{color:var(--encre)}
/* Formulaire de contact sur photo, voile vert sapin (2026-10-15) */
.td-section--photo{position:relative;overflow:hidden;background:var(--encre);color:#EDE6DE}
.td-fond-photo{position:absolute;inset:0;z-index:0}
.td-fond-photo img,.td-fond-photo picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.td-fond-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(31,74,58,.94) 0%,rgba(31,74,58,.86) 45%,rgba(31,74,58,.6) 100%)}
.td-section--photo>.td-cadre{position:relative;z-index:1}
.td-section--photo h1,.td-section--photo h2,.td-section--photo .td-contact__infos h3,.td-section--photo .td-contact__infos strong{color:#fff}
.td-section--photo .td-intro{color:#E3DCD3}
.td-section--photo .td-surtitre{background:rgba(255,255,255,.14);color:#fff}
.td-section--photo .td-coord__txt,.td-section--photo .td-coord a{color:#fff}
.td-section--photo .td-coord__lib{color:#CFE0D6}
.td-section--photo .td-coord__ico{background:rgba(255,255,255,.14);color:#fff}
.td-section--photo .td-contact__aide{border-top-color:rgba(255,255,255,.2)}
.td-section--photo .td-contact__aide .td-coches li{color:#EDE6DE}
.td-section--photo .td-coches li::before{background-color:rgba(255,255,255,.16)}
.td-section--photo .td-contact__boite{border:0}
/* Logo sans sous-titre (2026-10-15 : « essaie sans texte ») : carton + Tonkin seul */
.td-logo__lieu{display:none}
.td-logo__nom{font-size:31px;font-weight:800;letter-spacing:-.03em}
@media (max-width:600px){.td-logo__nom{font-size:26px}}
/* Liens dans le texte : couleur des titres, trait de la couleur des boutons */
.td-main p a:not(.td-btn),.td-main li a:not(.td-btn){color:var(--encre);text-decoration-color:var(--accent);text-decoration-thickness:2px}
.td-fond--encre p a:not(.td-btn),.td-section--photo p a:not(.td-btn){color:#fff}
.td-fil a{color:var(--encre)}
/* Photos étroites du quinconce : cadrées sur la personne et sur le contenu de la benne */
.td-quinconce img[src*="tri-chambre"]{object-position:82% 60%}
.td-quinconce img[src*="benne-meubles"],.td-quinconce img[src*="benne-floquee"]{object-position:62% 30%}
.td-quinconce img[src*="visite-estimation"]{object-position:30% 40%}
/* Deux photos empilées en paysage, à la hauteur du texte (remplace le quinconce étroit, 2026-10-15) */
.td-duo-photos{display:grid;grid-template-rows:1fr 1fr;gap:16px;min-height:480px;align-self:stretch}
.td-duo-photos>.td-photo{min-height:0}
.td-duo-photos img[src*="tri-chambre"]{object-position:center 62%}
.td-duo-photos img[src*="benne-meubles"],.td-duo-photos img[src*="benne-floquee"]{object-position:center 55%}
@media (max-width:900px){.td-duo-photos{order:-1;min-height:0;height:300px;grid-template-rows:1fr}.td-duo-photos>.td-photo:last-child{display:none}}
/* Logo : « Tonkin Débarras » sur une ligne (2026-10-15) */
.td-logo__nom{white-space:nowrap}
.td-logo__deb{font-weight:600}
@media (max-width:600px){.td-logo__nom{font-size:21px}}
@media (max-width:380px){.td-logo__nom{font-size:18px}}
/* Boutons des cartes : jamais plus larges que la carte (bug tablette du 2026-10-15) */
.td-presta__lien{white-space:normal;max-width:calc(100% - 52px);line-height:1.25}
@media (max-width:1180px){.td-presta h3{margin:20px 20px 8px}.td-presta p{margin:0 20px 14px}.td-presta__lien{margin:auto 20px 20px;max-width:calc(100% - 40px);font-size:14.5px;padding:10px 12px 10px 16px}}
/* Choix final du 2026-10-15 (3e passe, « les couleurs ça va pas ») : retour au duo terracotta + vert sapin
   et aux titres Host Grotesk (A4 + couleurs 2 du nuancier). Le jaune et noir est retiré. */
:root{--titres:"Host Grotesk","Segoe UI",system-ui,sans-serif;--accent:#C0583C;--accent-survol:#A54B33;--accent-clair:#E8C4BA;--accent-texte:#FFFFFF;--encre:#1F4A3A;--encre-2:#395F51;--creme:#FAF7F2;--sauge:#E3ECE6;--peche:#F5E5E1;--bord:#E6DDD1;--texte:#2B2623;--texte-doux:#615852;--rond-1:#F2DDD8;--rond-2:#E3ECE6}
/* Coordonnées du formulaire sur photo : téléphone et liens en blanc (la règle des liens du texte passait devant) */
.td-section--photo .td-coord .td-coord__tel,.td-section--photo .td-coord a{color:#fff!important}
.td-section--photo .td-coord a:hover{color:var(--accent-clair)!important}
/* Parilly Débarras (2026-10-15) : bleu canard et abricot, titres Funnel Display, texte Rethink Sans */
@font-face{font-family:"Funnel Display";src:url("assets/polices/funnel-display-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Funnel Display";src:url("assets/polices/funnel-display-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Rethink Sans";src:url("assets/polices/rethink-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Rethink Sans";src:url("assets/polices/rethink-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Rethink Sans";src:url("assets/polices/rethink-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{--titres:"Funnel Display","Segoe UI",system-ui,sans-serif;--corps:"Rethink Sans","Segoe UI",system-ui,sans-serif;--accent:#D2672F;--accent-survol:#B45828;--accent-clair:#EFCAB6;--accent-texte:#FFFFFF;--encre:#1D5560;--encre-2:#386973;--creme:#FBF6F1;--sauge:#E2EEEE;--peche:#F8E8E0;--bord:#E8DED4;--texte:#24302F;--texte-doux:#56625F;--rond-1:#F6E0D6;--rond-2:#E2EEEE}
.td-fond-photo::after{background:linear-gradient(100deg,rgba(29,85,96,.94) 0%,rgba(29,85,96,.86) 45%,rgba(29,85,96,.6) 100%)}
.td-section--photo .td-coord__lib{color:#CFE3E6}
/* Deux paires avant/après au lieu de trois */
.td-grille-avap{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:600px){.td-grille-avap{grid-template-columns:1fr}}
/* Prix en abricot foncé, plus lisible sur le fond pêche */
.td-prix li span:last-child{color:var(--accent-survol)}
