/* =========================================================
   Désamiantage Strasbourg - feuille de style du site
   Famille "Local" : chaleureux, proximité, rondeurs, vagues.
   Écrite mobile-first : le style de base décrit le rendu
   téléphone, les media queries min-width enrichissent.
   ========================================================= */

@font-face{
  font-family:'Nunito';
  src:url('/assets/fonts/nunito-variable.woff2') format('woff2-variations');
  font-weight:200 1000;
  font-style:normal;
  font-display:swap;
}

:root{
  --encre:#33261c;
  --encre-2:#4a3729;
  --miel:#d9932b;
  --miel-f:#b7761a;
  --miel-pale:#f7e6c6;
  --vigne:#7a2f3d;
  --olive:#6d7a46;
  --olive-f:#576336;
  --creme:#fbf6ec;
  --torchis:#f4e7d3;
  --brume:#eef1e6;
  --brun:#7d6a58;
  --ligne:#e8dcc8;
  --blanc:#fffdf9;
  --arrondi:18px;
  --arrondi-s:12px;
  --pilule:999px;
  --cadre:1120px;
  --ombre:0 3px 16px rgba(51,38,28,.09);
  --ombre-h:0 10px 30px rgba(51,38,28,.14);
  --police:'Nunito','Trebuchet MS',Verdana,system-ui,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--police);
  font-size:17px;
  line-height:1.65;
  color:var(--encre);
  background:var(--creme);
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
img,iframe,video,table{max-width:100%}
img{height:auto;display:block}
a{color:var(--miel-f);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}
p{margin:0 0 1em}
ul{margin:0 0 1em;padding-left:1.2em}
[id]{scroll-margin-top:86px}

.rhn-cadre{width:100%;max-width:var(--cadre);margin:0 auto;padding:0 18px}
main{display:flex;flex-direction:column}

/* ---------- Sections ---------- */
.rhn-bloc{padding:52px 0;background:var(--blanc)}
.rhn-bloc--creme{background:var(--creme)}
.rhn-bloc--torchis{background:var(--torchis)}
.rhn-bloc--brume{background:var(--brume)}
.rhn-bloc--sombre{background:linear-gradient(155deg,var(--encre),var(--encre-2));color:#f6ece0}
.rhn-bloc--sombre h2,.rhn-bloc--sombre h3{color:#fff}
.rhn-bloc--sombre a{color:var(--miel)}

.rhn-surtitre{
  display:inline-block;margin:0 0 10px;padding:5px 15px;
  background:var(--miel-pale);color:#8a5a10;
  border-radius:var(--pilule);font-size:.75rem;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;
}
.rhn-bloc--sombre .rhn-surtitre{background:rgba(217,147,43,.2);color:#f0c076}
.rhn-titre{font-size:clamp(1.45rem,5.4vw,2.15rem);margin:0 0 14px}
.rhn-titre em{font-style:normal;color:var(--miel-f)}
.rhn-bloc--sombre .rhn-titre em{color:var(--miel)}
.rhn-amorce{color:var(--brun);font-size:1.05rem;margin:0 0 26px;max-width:66ch}
.rhn-bloc--sombre .rhn-amorce{color:#ddcdb9}

/* Règle utilisateur : titres, intros, CTA autonomes centrés sur l'accueil
   et les pages villes. L'intérieur des composants reste aligné à gauche. */
body.rhn-centre .rhn-bloc>.rhn-cadre>.rhn-surtitre,
body.rhn-centre .rhn-bloc>.rhn-cadre>.rhn-titre,
body.rhn-centre .rhn-bloc>.rhn-cadre>.rhn-amorce,
body.rhn-centre .rhn-bloc>.rhn-cadre>.rhn-central{margin-left:auto;margin-right:auto;text-align:center}
.rhn-central{text-align:center;margin:26px 0 0}

/* Vagues de séparation (signature Local) */
.rhn-vague{display:block;width:100%;height:38px}

/* ---------- Boutons ---------- */
.rhn-bouton{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:13px 26px;
  border:2px solid transparent;border-radius:var(--pilule);
  font-family:inherit;font-size:1rem;font-weight:800;line-height:1.2;
  cursor:pointer;text-decoration:none;text-align:center;
  transition:transform .15s ease,background .15s ease;
}
.rhn-bouton:hover{text-decoration:none;transform:translateY(-1px)}
.rhn-bouton--miel{background:var(--miel);color:var(--encre);box-shadow:0 4px 14px rgba(217,147,43,.35)}
.rhn-bouton--miel:hover{background:var(--miel-f);color:#fff}
.rhn-bouton--olive{background:var(--olive);color:#fbf7ee}
.rhn-bouton--olive:hover{background:var(--olive-f)}
.rhn-bouton--contour{background:transparent;color:var(--encre);border-color:var(--encre)}
.rhn-bouton--contour:hover{background:var(--encre);color:var(--creme)}
.rhn-bouton--clair{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.5)}
.rhn-bouton--clair:hover{background:#fff;color:var(--encre)}
.rhn-bouton--pleine{width:100%}

.rhn-etiquette{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--brume);color:var(--olive-f);
  border-radius:var(--pilule);padding:6px 14px;
  font-size:.82rem;font-weight:700;
}
.rhn-etiquette--chaude{background:var(--miel-pale);color:#8a5a10}
.rhn-etiquettes{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px;padding:0;list-style:none}

/* ---------- Bandeau + en-tête ---------- */
.rhn-bandeau{
  background:var(--olive-f);color:#f2eee2;
  font-size:.82rem;font-weight:600;
  padding:7px 0;text-align:center;
}
.rhn-bandeau a{color:#fff;text-decoration:underline}

.rhn-tete{
  position:sticky;top:0;z-index:60;
  background:var(--blanc);
  border-bottom:1px solid var(--ligne);
}
.rhn-tete--posee{box-shadow:0 3px 14px rgba(51,38,28,.12)}
.rhn-tete-in{display:flex;align-items:center;gap:12px;min-height:62px}
.rhn-marque{display:flex;align-items:center;gap:10px;color:var(--encre);font-weight:800;font-size:1.02rem;flex:1;min-width:0}
.rhn-marque:hover{text-decoration:none}
.rhn-marque span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rhn-embleme{flex:0 0 auto;width:38px;height:38px;border-radius:50%}
.rhn-tete-tel{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-width:48px;min-height:48px;padding:0 12px;
  background:var(--olive);color:#fbf7ee;border-radius:var(--pilule);
  font-weight:800;font-size:.95rem;
}
.rhn-tete-tel:hover{background:var(--olive-f);text-decoration:none}
.rhn-tete-tel b{display:none}
.rhn-tete-devis{display:none}
.rhn-hamburger{
  width:48px;height:48px;flex:0 0 auto;
  border:2px solid var(--ligne);border-radius:14px;background:var(--creme);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.rhn-hamburger span{display:block;width:20px;height:2px;background:var(--encre);position:relative}
.rhn-hamburger span::before,.rhn-hamburger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--encre)}
.rhn-hamburger span::before{top:-6px}
.rhn-hamburger span::after{top:6px}

.rhn-nav{display:none}
.rhn-nav-liste{list-style:none;margin:0;padding:0}

/* Tiroir mobile : tél + CTA en tête, puis la navigation */
.rhn-tiroir{
  position:fixed;inset:0;z-index:90;
  background:rgba(51,38,28,.55);
  display:none;
}
.rhn-tiroir.rhn-ouvert{display:block}
.rhn-tiroir-panneau{
  position:absolute;top:0;right:0;bottom:0;width:min(340px,88vw);
  background:var(--creme);padding:18px 18px calc(18px + env(safe-area-inset-bottom));
  overflow-y:auto;box-shadow:-8px 0 30px rgba(51,38,28,.28);
}
.rhn-tiroir-x{
  width:48px;height:48px;border:none;background:transparent;
  font-size:1.9rem;line-height:1;color:var(--brun);cursor:pointer;
  margin-left:auto;display:block;
}
.rhn-tiroir-actions{display:flex;flex-direction:column;gap:10px;margin:6px 0 20px}
.rhn-tiroir-liste{list-style:none;margin:0;padding:0;border-top:1px solid var(--ligne)}
.rhn-tiroir-liste li{border-bottom:1px solid var(--ligne)}
.rhn-tiroir-liste a{
  display:flex;align-items:center;min-height:50px;
  color:var(--encre);font-weight:700;
}
.rhn-tiroir-liste .rhn-tiroir-fille a{font-weight:600;font-size:.94rem;color:var(--brun);padding-left:14px;min-height:46px}
.rhn-tiroir-groupe{
  display:block;padding-top:14px;color:var(--brun);
  font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}

/* ---------- Héros (2 colonnes inversées en desktop) ---------- */
.rhn-heros{
  background:linear-gradient(180deg,var(--torchis),var(--creme));
  padding:30px 0 42px;
}
.rhn-heros-duo{display:flex;flex-direction:column;gap:26px}
.rhn-heros-texte{order:1}
.rhn-heros-encart{order:2}
.rhn-heros h1{font-size:clamp(1.7rem,6.6vw,2.9rem);margin:0 0 14px}
.rhn-heros h1 em{font-style:normal;color:var(--miel-f)}
.rhn-heros-chapo{font-size:1.06rem;color:var(--encre-2);margin:0 0 20px}
.rhn-heros-actions{display:flex;flex-direction:column;gap:11px;margin:0 0 18px}
.rhn-heros-photo{
  border-radius:var(--arrondi);overflow:hidden;
  box-shadow:var(--ombre-h);margin:0 0 20px;
}
.rhn-heros-note{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--brun);font-weight:700}
.rhn-etoiles{color:var(--miel-f);letter-spacing:.08em}

.rhn-encart-devis{
  background:var(--blanc);
  border:2px solid var(--ligne);
  border-radius:22px;
  padding:20px 18px;
  box-shadow:var(--ombre);
}
.rhn-encart-devis h2{font-size:1.18rem;margin:0 0 4px}
.rhn-encart-sous{font-size:.9rem;color:var(--brun);margin:0 0 14px}

/* ---------- Bande de gages ---------- */
.rhn-gages{background:var(--encre);color:#f6ece0;padding:22px 0}
.rhn-gages-rang{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px}
.rhn-gage{text-align:center}
.rhn-gage b{display:block;font-size:1.32rem;color:var(--miel);line-height:1.15}
.rhn-gage span{display:block;font-size:.82rem;color:#e2d3c0;line-height:1.3}

/* ---------- Fiches prestations ---------- */
.rhn-fiches{display:grid;grid-template-columns:1fr;gap:20px}
.rhn-fiche{
  background:var(--blanc);border:1px solid var(--ligne);
  border-radius:var(--arrondi);overflow:hidden;
  box-shadow:var(--ombre);display:flex;flex-direction:column;
}
.rhn-fiche-media{position:relative}
.rhn-fiche-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rhn-fiche-prix{
  position:absolute;left:12px;bottom:12px;
  background:var(--miel);color:var(--encre);
  border-radius:var(--pilule);padding:6px 15px;
  font-size:.84rem;font-weight:800;box-shadow:0 3px 10px rgba(0,0,0,.2);
}
.rhn-fiche-corps{padding:18px;display:flex;flex-direction:column;flex:1}
.rhn-fiche-corps h3{font-size:1.1rem;margin:0 0 8px}
.rhn-fiche-corps h3 a{color:var(--encre)}
.rhn-fiche-corps h3 a:hover{color:var(--miel-f)}
.rhn-fiche-desc{font-size:.95rem;color:var(--brun);margin:0 0 14px}
.rhn-coches{list-style:none;margin:0;padding:0;font-size:.9rem}
.rhn-coches li{position:relative;padding-left:24px;margin-bottom:6px;color:var(--encre-2)}
.rhn-coches li::before{
  content:"✓";position:absolute;left:0;top:0;
  color:var(--olive);font-weight:900;
}

/* ---------- Pourquoi nous choisir ---------- */
.rhn-choix-duo{display:grid;grid-template-columns:1fr;gap:24px}
.rhn-qualite{display:flex;gap:14px;margin-bottom:20px;text-align:left}
.rhn-qualite-ico{
  flex:0 0 auto;width:46px;height:46px;border-radius:50%;
  background:var(--miel-pale);color:#8a5a10;
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;
}
.rhn-qualite h3{font-size:1.02rem;margin:0 0 4px}
.rhn-qualite p{font-size:.94rem;color:var(--brun);margin:0}
.rhn-carre{
  background:linear-gradient(155deg,var(--encre),var(--encre-2));
  color:#f6ece0;border-radius:22px;padding:26px 22px;text-align:center;
}
.rhn-carre-note{font-size:.9rem;color:#e2d3c0;margin:0 0 18px}
.rhn-carre-ligne{border-top:1px solid rgba(255,255,255,.14);padding:13px 0}
.rhn-carre-ligne b{display:block;font-size:1.55rem;color:var(--miel);line-height:1.15}
.rhn-carre-ligne span{font-size:.85rem;color:#e2d3c0}
.rhn-carre .rhn-bouton{margin-top:16px;width:100%}

/* ---------- Zone d'intervention ---------- */
.rhn-secteur-duo{display:grid;grid-template-columns:1fr;gap:22px}
.rhn-pastilles{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0 0 16px;padding:0}
.rhn-pastilles a{
  display:inline-flex;align-items:center;min-height:40px;
  background:var(--blanc);border:1px solid var(--ligne);
  border-radius:var(--pilule);padding:6px 15px;
  color:var(--encre);font-size:.9rem;font-weight:700;
}
.rhn-pastilles a:hover{background:var(--miel);border-color:var(--miel);text-decoration:none}
.rhn-catchall{font-size:.92rem;color:var(--brun)}
.rhn-plan{border-radius:var(--arrondi);overflow:hidden;box-shadow:var(--ombre);border:1px solid var(--ligne)}
.rhn-plan iframe{display:block;width:100%;height:320px;border:0}

/* ---------- Avis en bulles ---------- */
.rhn-note-globale{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  margin:0 0 24px;font-weight:800;
}
.rhn-note-globale b{font-size:2rem;color:var(--miel-f);line-height:1}
.rhn-note-globale span{font-size:.9rem;color:var(--brun);font-weight:600}
.rhn-paroles{display:grid;grid-template-columns:1fr;gap:18px}
.rhn-parole{
  background:var(--blanc);border:1px solid var(--ligne);
  border-radius:22px 22px 22px 6px;
  padding:20px 18px;box-shadow:var(--ombre);text-align:left;
}
.rhn-parole-tete{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.rhn-rond{
  flex:0 0 auto;width:44px;height:44px;border-radius:50%;
  background:var(--olive);color:#fbf7ee;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.95rem;
}
.rhn-rond--miel{background:var(--miel);color:var(--encre)}
.rhn-rond--vigne{background:var(--vigne);color:#fbf7ee}
.rhn-parole-qui{font-weight:800;font-size:.98rem;line-height:1.25}
.rhn-parole-qui span{display:block;font-weight:600;font-size:.82rem;color:var(--brun)}
.rhn-parole p{font-size:.96rem;margin:0 0 10px;color:var(--encre-2)}
.rhn-parole footer{font-size:.8rem;color:var(--brun)}
.rhn-parole--repli{display:none}
.rhn-paroles.rhn-deplie .rhn-parole--repli{display:block}

/* ---------- Équipe ---------- */
.rhn-visages{display:grid;grid-template-columns:1fr;gap:22px}
.rhn-visage{text-align:center}
.rhn-visage img{
  width:150px;height:150px;border-radius:50%;object-fit:cover;
  margin:0 auto 14px;border:5px solid var(--blanc);box-shadow:var(--ombre-h);
}
.rhn-visage h3{font-size:1.06rem;margin:0 0 2px}
.rhn-visage-poste{color:var(--miel-f);font-weight:800;font-size:.88rem;margin:0 0 8px}
.rhn-visage p{font-size:.94rem;color:var(--brun);margin:0;max-width:34ch;margin-left:auto;margin-right:auto}

/* ---------- Prix ---------- */
.rhn-tarifs{width:100%;border-collapse:collapse;background:var(--blanc);border-radius:var(--arrondi);overflow:hidden;box-shadow:var(--ombre);font-size:.94rem}
.rhn-tarifs th,.rhn-tarifs td{padding:12px 13px;text-align:left;border-bottom:1px solid var(--ligne)}
.rhn-tarifs thead th{background:var(--encre);color:#f6ece0;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.rhn-tarifs td:last-child{font-weight:800;color:var(--miel-f);white-space:nowrap}
.rhn-tarifs tr:last-child td{border-bottom:none}
.rhn-tarifs-note{font-size:.88rem;color:var(--brun);margin:14px 0 0;text-align:left}

/* ---------- Simulateur ---------- */
.rhn-estim{
  background:var(--blanc);border:2px solid var(--ligne);
  border-radius:22px;padding:20px 18px;box-shadow:var(--ombre);text-align:left;
}
.rhn-estim-grille{display:grid;grid-template-columns:1fr;gap:14px}
.rhn-estim-sortie{
  margin-top:18px;background:linear-gradient(150deg,var(--encre),var(--encre-2));
  color:#f6ece0;border-radius:var(--arrondi);padding:20px;text-align:center;
}
.rhn-estim-sortie small{display:block;font-size:.82rem;color:#ddcdb9;margin-bottom:4px}
.rhn-estim-sortie b{display:block;font-size:1.85rem;color:var(--miel);line-height:1.15;margin-bottom:14px}
.rhn-estim-avert{font-size:.84rem;color:var(--brun);margin:12px 0 0}

/* ---------- Jalons (process) ---------- */
.rhn-jalons{display:grid;grid-template-columns:1fr;gap:20px;counter-reset:jalon}
.rhn-jalon{position:relative;padding-left:60px;text-align:left}
.rhn-jalon::before{
  counter-increment:jalon;content:counter(jalon);
  position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;
  background:var(--miel);color:var(--encre);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:1.1rem;
}
.rhn-jalon h3{font-size:1.04rem;margin:0 0 5px}
.rhn-jalon p{font-size:.94rem;color:var(--brun);margin:0}

/* ---------- Réalisations ---------- */
.rhn-oeuvres{display:grid;grid-template-columns:1fr;gap:20px}
.rhn-oeuvre{
  background:var(--blanc);border:1px solid var(--ligne);
  border-radius:var(--arrondi);overflow:hidden;box-shadow:var(--ombre);text-align:left;
}
.rhn-oeuvre img{width:100%;aspect-ratio:16/9;object-fit:cover}
.rhn-oeuvre-corps{padding:17px}
.rhn-oeuvre-lieu{color:var(--olive-f);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;margin:0 0 5px}
.rhn-oeuvre h3{font-size:1.02rem;margin:0 0 8px}
.rhn-oeuvre p{font-size:.93rem;color:var(--brun);margin:0 0 10px}
.rhn-oeuvre-meta{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}
.rhn-oeuvre-meta li{background:var(--brume);color:var(--olive-f);border-radius:var(--pilule);padding:4px 11px;font-size:.78rem;font-weight:700}

/* Étude de cas pleine largeur (pages villes et prestations) */
.rhn-etude{
  display:grid;grid-template-columns:1fr;gap:0;
  background:var(--blanc);border:1px solid var(--ligne);
  border-radius:22px;overflow:hidden;box-shadow:var(--ombre);text-align:left;
}
.rhn-etude img{width:100%;aspect-ratio:16/9;object-fit:cover}
.rhn-etude-corps{padding:22px 20px}
.rhn-etude-corps h3{font-size:1.16rem;margin:0 0 10px}

/* ---------- FAQ ---------- */
.rhn-questions{max-width:820px;margin:0 auto;text-align:left}
.rhn-question{
  background:var(--blanc);border:1px solid var(--ligne);
  border-radius:var(--arrondi-s);margin-bottom:12px;overflow:hidden;
}
.rhn-question summary{
  cursor:pointer;list-style:none;padding:16px 44px 16px 17px;
  font-weight:800;font-size:1rem;position:relative;min-height:48px;
}
.rhn-question summary::-webkit-details-marker{display:none}
.rhn-question summary::after{
  content:"+";position:absolute;right:16px;top:14px;
  font-size:1.5rem;font-weight:400;color:var(--miel-f);line-height:1;
}
.rhn-question[open] summary::after{content:"-"}
.rhn-question-rep{padding:0 17px 17px;font-size:.96rem;color:var(--encre-2)}
.rhn-question-rep p:last-child{margin-bottom:0}

/* ---------- Bande CTA ---------- */
.rhn-ruban{background:var(--olive-f);color:#f6f2e6;padding:36px 0;text-align:center}
.rhn-ruban h2{font-size:clamp(1.3rem,4.6vw,1.8rem);color:#fff;margin:0 0 10px}
.rhn-ruban p{color:#e6e2d2;margin:0 0 20px}
.rhn-ruban-actions{display:flex;flex-direction:column;gap:11px;align-items:center}
.rhn-ruban-actions .rhn-bouton{width:100%;max-width:320px}

/* ---------- Formulaire de devis ---------- */
.rhn-devis-duo{display:grid;grid-template-columns:1fr;gap:26px}
.rhn-coordonnees{list-style:none;margin:0 0 20px;padding:0}
.rhn-coordonnees li{display:flex;gap:12px;margin-bottom:14px;align-items:flex-start}
.rhn-coord-ico{
  flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  background:var(--miel-pale);color:var(--miel-f);
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;
}
.rhn-coordonnees b{display:block;font-size:.98rem;margin-bottom:2px;color:var(--encre)}
.rhn-coordonnees span{font-size:.9rem;color:var(--brun)}
/* Sur fond sombre, la même liste passe en teintes claires. */
.rhn-bloc--sombre .rhn-coord-ico{background:rgba(217,147,43,.2);color:var(--miel)}
.rhn-bloc--sombre .rhn-coordonnees b{color:#fff}
.rhn-bloc--sombre .rhn-coordonnees span{color:#ddcdb9}
.rhn-bloc--sombre .rhn-coordonnees a{color:#fff}
/* Chaque information de contact tient sur sa propre ligne : sans cela,
   le numéro et ses horaires se collent en une seule phrase illisible. */
.rhn-coordonnees li>span:last-child{display:block;flex:1;min-width:0}
.rhn-coordonnees li>span:last-child>a,
.rhn-coordonnees li>span:last-child>span{display:block;line-height:1.45}
.rhn-coordonnees a{color:var(--miel-f);font-weight:700;overflow-wrap:anywhere}

.rhn-form{
  background:var(--blanc);border-radius:22px;
  padding:20px 18px;box-shadow:var(--ombre-h);color:var(--encre);text-align:left;
}
.rhn-form-grille{display:grid;grid-template-columns:1fr;gap:13px;margin:0 0 16px}
.rhn-champ label{display:block;font-size:.85rem;font-weight:800;margin:0 0 5px}
.rhn-champ input,.rhn-champ select,.rhn-champ textarea{
  width:100%;font-family:inherit;font-size:16px;color:var(--encre);
  background:var(--creme);border:2px solid var(--ligne);border-radius:14px;
  padding:12px 14px;min-height:48px;outline:none;
}
.rhn-champ textarea{min-height:92px;resize:vertical}
.rhn-champ input:focus,.rhn-champ select:focus,.rhn-champ textarea:focus{border-color:var(--olive);background:var(--blanc)}
.rhn-form-avert{font-size:.82rem;color:var(--brun);margin:12px 0 0}
.rhn-piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ---------- Bloc éditorial SEO (affiché en bas, premier dans le DOM) ---------- */
.rhn-edito{order:99;background:var(--creme);padding:48px 0}
.rhn-edito-texte{max-width:78ch;font-size:1rem;color:var(--encre-2)}
.rhn-edito-texte h3{font-size:1.1rem;margin:24px 0 8px}

/* ---------- Corps d'article ---------- */
.rhn-article{padding:32px 0 48px;background:var(--blanc)}
.rhn-article-cadre{max-width:820px;margin:0 auto;padding:0 18px}
.rhn-article h1{font-size:clamp(1.6rem,5.6vw,2.4rem);margin:0 0 14px}
.rhn-article-meta{font-size:.88rem;color:var(--brun);margin:0 0 20px}
.rhn-article-photo{border-radius:var(--arrondi);overflow:hidden;margin:0 0 26px;box-shadow:var(--ombre)}
.rhn-corps{font-size:1.03rem}
.rhn-corps h2{font-size:clamp(1.28rem,4.4vw,1.7rem);margin:34px 0 12px}
.rhn-corps h3{font-size:1.1rem;margin:24px 0 8px}
.rhn-corps ul{padding-left:1.3em}
.rhn-corps li{margin-bottom:7px}
.rhn-sommaire{background:var(--brume);border-radius:var(--arrondi);padding:18px 20px;margin:0 0 26px}
.rhn-sommaire p{font-weight:800;margin:0 0 8px;font-size:.92rem;text-transform:uppercase;letter-spacing:.06em;color:var(--olive-f)}
.rhn-sommaire ol{margin:0;padding-left:1.2em;font-size:.96rem}
.rhn-sommaire li{margin-bottom:5px}
.rhn-encart{
  background:var(--miel-pale);border-left:5px solid var(--miel);
  border-radius:var(--arrondi-s);padding:18px 20px;margin:26px 0;
}
.rhn-encart p{margin:0 0 12px;font-weight:700}
.rhn-plume{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--creme);border:1px solid var(--ligne);
  border-radius:var(--arrondi);padding:18px;margin:34px 0 0;
}
.rhn-plume img{width:74px;height:74px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.rhn-plume h3{font-size:1rem;margin:0 0 2px}
.rhn-plume-poste{color:var(--miel-f);font-weight:800;font-size:.85rem;margin:0 0 6px}
.rhn-plume p{font-size:.92rem;color:var(--brun);margin:0}

/* Fiches artisans du comparatif */
.rhn-artisan{
  background:var(--creme);border:1px solid var(--ligne);
  border-radius:var(--arrondi);padding:18px;margin:0 0 22px;
}
.rhn-artisan dl{margin:0;font-size:.94rem}
.rhn-artisan dt{font-weight:800;color:var(--olive-f);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-top:11px}
.rhn-artisan dd{margin:2px 0 0}
.rhn-artisan-cle{
  margin-top:16px;background:var(--blanc);border-left:4px solid var(--olive);
  border-radius:var(--arrondi-s);padding:12px 14px;font-size:.94rem;
}
.rhn-compare{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--blanc);box-shadow:var(--ombre);border-radius:var(--arrondi);overflow:hidden}
.rhn-compare th,.rhn-compare td{padding:11px 12px;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:top}
.rhn-compare thead th{background:var(--encre);color:#f6ece0;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.rhn-compare tbody tr:first-child{background:var(--miel-pale)}
.rhn-defile{overflow-x:auto;margin:0 0 12px}

/* Cartes d'aides financières */
.rhn-aides{display:grid;grid-template-columns:1fr;gap:16px;margin:0 0 20px}
.rhn-aide{
  background:var(--blanc);border:1px solid var(--ligne);
  border-radius:var(--arrondi);padding:18px;box-shadow:var(--ombre);
}
.rhn-aide-ico{font-size:1.5rem;margin:0 0 8px}
.rhn-aide-tag{
  display:inline-block;background:var(--brume);color:var(--olive-f);
  border-radius:var(--pilule);padding:3px 11px;font-size:.75rem;font-weight:800;margin:0 0 8px;
}
.rhn-aide h3{font-size:1rem;margin:0 0 6px}
.rhn-aide p{font-size:.92rem;color:var(--brun);margin:0}

/* Cartes de la page Nos conseils */
.rhn-conseils{display:grid;grid-template-columns:1fr;gap:22px}
.rhn-conseil{
  background:var(--blanc);border:1px solid var(--ligne);
  border-radius:var(--arrondi);overflow:hidden;box-shadow:var(--ombre);text-align:left;
}
.rhn-conseil img{width:100%;aspect-ratio:16/9;object-fit:cover}
.rhn-conseil-corps{padding:18px}
.rhn-conseil h2{font-size:1.08rem;margin:0 0 8px}
.rhn-conseil h2 a{color:var(--encre)}
.rhn-conseil p{font-size:.94rem;color:var(--brun);margin:0}

/* Plan de site */
.rhn-plan-liste{list-style:none;margin:0 0 26px;padding:0;columns:1}
.rhn-plan-liste li{margin-bottom:8px;break-inside:avoid}

/* ---------- Pied de page ---------- */
.rhn-pied{background:var(--encre);color:#dfd2c2;padding:40px 0 0;font-size:.94rem}
.rhn-pied a{color:#dfd2c2}
.rhn-pied a:hover{color:var(--miel)}
.rhn-pied h4{color:#fff;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;margin:0 0 12px}
.rhn-pied-grille{display:grid;grid-template-columns:1fr;gap:28px}
.rhn-pied-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:1.05rem;margin:0 0 12px}
.rhn-pied-col a{display:block;margin-bottom:8px}
.rhn-pied-contact{margin-top:14px}
.rhn-pied-contact a,.rhn-pied-contact span{display:block;margin-bottom:7px}
.rhn-pied-adresse{color:#bfae9a}
.rhn-pied-bas{
  border-top:1px solid rgba(255,255,255,.12);margin-top:32px;
  padding:16px 0 calc(78px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:9px;
  font-size:.85rem;color:#bfae9a;
}
.rhn-pied-bas nav{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Barre de conversion mobile ---------- */
.rhn-appel{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  display:flex;gap:9px;
  padding:9px 12px calc(9px + env(safe-area-inset-bottom));
  background:var(--blanc);border-top:1px solid var(--ligne);
  box-shadow:0 -4px 18px rgba(51,38,28,.16);
  transform:translateY(120%);transition:transform .25s ease;
}
.rhn-appel.rhn-appel--vue{transform:translateY(0)}
.rhn-appel.rhn-appel--muet{transform:translateY(120%)}
.rhn-appel .rhn-bouton{flex:1;min-height:52px;font-size:.98rem;padding:12px 10px}

/* ---------- Popup de sortie ---------- */
.rhn-sortie{
  position:fixed;inset:0;z-index:100;
  background:rgba(51,38,28,.68);
  display:none;align-items:center;justify-content:center;padding:16px;
}
.rhn-sortie.rhn-sortie--vue{display:flex}
.rhn-sortie-carte{
  background:var(--blanc);max-width:440px;width:100%;
  border-radius:24px;padding:26px 20px;position:relative;text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.34);max-height:92vh;overflow-y:auto;
}
.rhn-sortie-x{
  position:absolute;top:6px;right:8px;width:46px;height:46px;
  border:none;background:transparent;font-size:1.8rem;line-height:1;
  color:var(--brun);cursor:pointer;
}
.rhn-sortie-carte h2{font-size:1.3rem;margin:0 0 8px}
.rhn-sortie-carte>p{color:var(--brun);font-size:.95rem;margin:0 0 16px}
.rhn-sortie-form{display:flex;flex-direction:column;gap:11px;text-align:left}
.rhn-sortie-form label{font-size:.85rem;font-weight:800;display:flex;flex-direction:column;gap:5px}
.rhn-sortie-form input{
  font-family:inherit;font-size:16px;min-height:48px;
  padding:11px 14px;border:2px solid var(--ligne);border-radius:14px;background:var(--creme);
}
.rhn-sortie-tel{display:block;margin-top:14px;font-weight:800;color:var(--miel-f)}
.rhn-sortie-non{
  background:none;border:none;color:var(--brun);font-family:inherit;
  font-size:.85rem;text-decoration:underline;cursor:pointer;margin-top:10px;min-height:44px;
}

/* =========================================================
   Enrichissements grand écran (mobile-first : min-width)
   ========================================================= */
@media (min-width:600px){
  .rhn-fiches{grid-template-columns:repeat(2,1fr)}
  .rhn-paroles{grid-template-columns:repeat(2,1fr)}
  .rhn-visages{grid-template-columns:repeat(3,1fr)}
  .rhn-oeuvres{grid-template-columns:repeat(2,1fr)}
  .rhn-gages-rang{grid-template-columns:repeat(4,1fr)}
  .rhn-heros-actions{flex-direction:row;flex-wrap:wrap}
  .rhn-heros-actions .rhn-bouton{flex:1;min-width:210px}
  .rhn-ruban-actions{flex-direction:row;justify-content:center}
  .rhn-ruban-actions .rhn-bouton{width:auto}
  .rhn-estim-grille{grid-template-columns:repeat(2,1fr)}
  .rhn-aides{grid-template-columns:repeat(2,1fr)}
  .rhn-conseils{grid-template-columns:repeat(2,1fr)}
  .rhn-jalons{grid-template-columns:repeat(2,1fr)}
  .rhn-plan-liste{columns:2}
}

@media (min-width:920px){
  body{font-size:17px}
  .rhn-cadre{padding:0 26px}
  .rhn-bloc{padding:74px 0}
  [id]{scroll-margin-top:104px}

  .rhn-tete-in{min-height:76px;gap:20px}
  .rhn-marque{flex:0 0 auto;font-size:1.12rem}
  .rhn-embleme{width:44px;height:44px}
  .rhn-hamburger{display:none}
  .rhn-nav{display:block;flex:1}
  .rhn-nav-liste{display:flex;align-items:center;gap:22px;justify-content:flex-end}
  .rhn-nav-liste>li{position:relative}
  .rhn-nav-liste>li>a{color:var(--encre);font-weight:700;font-size:.97rem;display:block;padding:8px 0}
  .rhn-nav-liste>li>a:hover{color:var(--miel-f);text-decoration:none}
  .rhn-deroule-menu{
    position:absolute;top:100%;left:-16px;min-width:290px;
    background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--arrondi);
    box-shadow:var(--ombre-h);padding:9px;list-style:none;margin:0;
    opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s ease;
  }
  .rhn-deroule:hover .rhn-deroule-menu,.rhn-deroule:focus-within .rhn-deroule-menu{opacity:1;visibility:visible;transform:translateY(0)}
  .rhn-deroule-menu a{display:block;padding:9px 12px;border-radius:var(--arrondi-s);color:var(--encre);font-size:.93rem;font-weight:600}
  .rhn-deroule-menu a:hover{background:var(--creme);color:var(--miel-f);text-decoration:none}
  .rhn-tete-tel b{display:inline}
  .rhn-tete-devis{display:inline-flex}

  .rhn-heros{padding:56px 0 72px}
  .rhn-heros-duo{flex-direction:row;align-items:center;gap:46px}
  .rhn-heros-texte{order:2;flex:1.05}
  .rhn-heros-encart{order:1;flex:.95}
  .rhn-encart-devis{padding:26px 24px}
  .rhn-heros-photo{margin:0 0 24px}

  .rhn-fiches{grid-template-columns:repeat(3,1fr)}
  .rhn-paroles{grid-template-columns:repeat(3,1fr)}
  .rhn-oeuvres{grid-template-columns:repeat(3,1fr)}
  .rhn-jalons{grid-template-columns:repeat(4,1fr)}
  .rhn-choix-duo{grid-template-columns:1.25fr .75fr;gap:44px;align-items:start}
  .rhn-secteur-duo{grid-template-columns:1.05fr .95fr;gap:40px;align-items:stretch}
  .rhn-plan iframe{height:100%;min-height:410px}
  .rhn-devis-duo{grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}
  .rhn-form{padding:28px 26px}
  .rhn-form-grille{grid-template-columns:repeat(2,1fr)}
  .rhn-champ--large{grid-column:1/-1}
  .rhn-etude{grid-template-columns:.95fr 1.05fr}
  .rhn-etude img{height:100%}
  .rhn-etude-corps{padding:30px 28px}
  .rhn-aides{grid-template-columns:repeat(3,1fr)}
  .rhn-conseils{grid-template-columns:repeat(3,1fr)}
  .rhn-pied-grille{grid-template-columns:1.25fr 1fr 1fr;gap:40px}
  .rhn-pied-bas{flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:20px}
  .rhn-plan-liste{columns:3}
  .rhn-appel{display:none}
  .rhn-note-globale{flex-direction:row;align-items:baseline;gap:10px;justify-content:center}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ---------- Héros des pages villes et prestations ----------
   Mise en page volontairement DIFFÉRENTE de l'accueil : fond
   clair, contenu centré, aucun formulaire (règle du skill). */
.rhn-heros-ville{
  background:linear-gradient(180deg,var(--brume),var(--creme));
  padding:34px 0 40px;text-align:center;
}
.rhn-heros-ville h1{font-size:clamp(1.6rem,6vw,2.5rem);margin:0 0 14px}
.rhn-heros-ville .rhn-heros-chapo{max-width:62ch;margin:0 auto 20px}
.rhn-heros-ville .rhn-heros-actions{align-items:center}
.rhn-heros-ville .rhn-etiquettes{justify-content:center}

/* Héros des pages prestations : sombre, 2 colonnes, illustration à droite */
.rhn-heros-presta{
  background:linear-gradient(155deg,var(--encre),var(--encre-2));
  color:#f6ece0;padding:34px 0 40px;
}
.rhn-heros-presta h1{font-size:clamp(1.6rem,6vw,2.5rem);margin:0 0 14px;color:#fff}
.rhn-heros-presta h1 em{font-style:normal;color:var(--miel)}
.rhn-heros-presta .rhn-heros-chapo{color:#ddcdb9}
.rhn-heros-presta .rhn-etiquette{background:rgba(255,255,255,.12);color:#f0dcc2}
.rhn-heros-presta .rhn-etiquette--chaude{background:rgba(217,147,43,.24);color:#f0c076}
.rhn-heros-presta-duo{display:flex;flex-direction:column;gap:24px}
.rhn-heros-presta-vignette{
  border-radius:var(--arrondi);overflow:hidden;
  border:6px solid rgba(255,255,255,.1);
}

/* Fil d'ariane (pages prestations et articles uniquement) */
.rhn-fil{font-size:.84rem;color:var(--brun);padding:12px 0 0}
.rhn-fil ol{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0}
.rhn-fil li::after{content:"›";margin-left:7px;color:var(--ligne)}
.rhn-fil li:last-child::after{content:""}
.rhn-heros-presta .rhn-fil,.rhn-heros-presta .rhn-fil a{color:#c9b8a4}

@media (min-width:920px){
  .rhn-heros-ville{padding:52px 0 62px}
  .rhn-heros-presta{padding:44px 0 60px}
  .rhn-heros-presta-duo{flex-direction:row;align-items:center;gap:44px}
  .rhn-heros-presta-duo>div:first-child{flex:1.1}
  .rhn-heros-presta-vignette{flex:.9}
  .rhn-heros-ville .rhn-heros-actions{flex-direction:row;justify-content:center}
  .rhn-heros-ville .rhn-heros-actions .rhn-bouton{flex:0 0 auto}
}
