/* Cordazzo Conciergerie — feuille de style commune
   Layout : bandes pleine largeur vert / ivoire / crème, cadres en arc (porte, emblème),
   filets dorés terminés par un losange (repris du logo). Un seul thème, celui du brand book. */
:root{
  --vert:#0D2C1E;
  --nuit:#081E14;
  --creme:#F3ECDE;
  --ivoire:#F7F5F1;
  --or:#C5A161;
  --encre:#13261C;
  --sourd:#52625A;
  --filet:rgba(13,44,30,.15);
  --filet-clair:rgba(247,245,241,.16);
  --ivoire-doux:rgba(247,245,241,.80);
  --ivoire-pale:rgba(247,245,241,.62);
  --serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --sans:"Jost","Futura","Avenir Next","Segoe UI",system-ui,sans-serif;
  --fil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='9' viewBox='0 0 46 9'%3E%3Cpath d='M0 4.5h37' stroke='%23C5A161' stroke-width='1'/%3E%3Cpath d='M41.5 1l3.5 3.5-3.5 3.5-3.5-3.5z' fill='%23C5A161'/%3E%3C/svg%3E");
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ivoire);color:var(--encre);font:400 1.0625rem/1.68 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--vert)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0;max-width:65ch}
ul,ol{margin:0}
:focus-visible{outline:2px solid var(--or);outline-offset:3px}

.wrap{max-width:1200px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.band{padding-block:clamp(4.25rem,9vw,7.5rem)}
.band--vert{background:var(--vert);color:var(--ivoire)}
.band--nuit{background:var(--nuit);color:var(--ivoire)}
.band--creme{background:var(--creme)}
.stack{display:grid;gap:1.4rem;align-content:start}
.stack--lg{gap:2.2rem}

/* ---------- Typographie ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:-.004em;text-wrap:balance;margin:0}
h1{font-size:clamp(2.75rem,5.6vw,5rem)}
h2{font-size:clamp(2.15rem,3.9vw,3.25rem)}
h3{font-size:1.5rem;line-height:1.2;font-weight:600}
h1 em,h2 em{font-style:italic;font-weight:500}
.band--vert h1 em,.band--vert h2 em,.band--nuit h2 em{color:var(--or)}
.eyebrow{display:flex;align-items:center;gap:.8rem;margin:0;font:500 .74rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--vert)}
.eyebrow::before{content:"";flex:none;width:46px;height:9px;background:var(--fil) no-repeat}
.band--vert .eyebrow,.band--nuit .eyebrow{color:var(--or)}
.lead{font-size:clamp(1.12rem,1.55vw,1.3rem);line-height:1.62;max-width:54ch;color:var(--sourd)}
.band--vert .lead,.band--nuit .lead{color:var(--ivoire-doux)}
.muted{color:var(--sourd)}
.band--vert .muted,.band--nuit .muted{color:var(--ivoire-pale)}
.small{font-size:.9rem;line-height:1.6}
.tiny{font-size:.8rem;line-height:1.55}
.num{font-variant-numeric:tabular-nums lining-nums}

/* ---------- Boutons ---------- */
.actions{display:flex;flex-wrap:wrap;gap:.9rem 1.4rem;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:1rem 1.55rem;font:500 .78rem/1.1 var(--sans);letter-spacing:.15em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;text-align:center}
.btn--clair{background:var(--ivoire);color:var(--vert)}
.btn--clair:hover{background:var(--creme)}
.btn--vert{background:var(--vert);color:var(--ivoire)}
.btn--vert:hover{background:var(--nuit)}
.btn--or{border-color:var(--or);color:var(--ivoire);background:transparent}
.btn--or:hover{background:rgba(197,161,97,.14)}
.btn--ligne{border-color:var(--vert);color:var(--vert);background:transparent}
.btn--ligne:hover{background:rgba(13,44,30,.06)}
.lien{font:500 .8rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--or);padding-bottom:.25rem}
.lien:hover{border-color:currentColor}
.btn svg,.lien svg{width:16px;height:16px;flex:none}

/* ---------- En-tête ---------- */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--vert);color:var(--ivoire);border-bottom:1px solid var(--filet-clair)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:76px}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;flex:none}
.brand .emb{width:40px}
.brand .wm{width:136px}
.nav-principale ul{display:flex;align-items:center;gap:1.7rem;list-style:none;margin:0;padding:0}
.nav-principale a{color:var(--ivoire-doux);text-decoration:none;font-size:.92rem;letter-spacing:.03em;padding-block:.35rem;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nav-principale a:hover{color:var(--ivoire)}
.nav-principale a[aria-current="page"]{color:var(--ivoire);border-bottom-color:var(--or)}
.head-cta{padding:.8rem 1.15rem}
.menu-btn{display:none;align-items:center;gap:.55rem;background:none;border:1px solid var(--filet-clair);color:var(--ivoire);font:500 .75rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:.75rem .9rem;border-radius:2px;cursor:pointer}
.menu-btn span{display:block;width:16px;height:1px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
@media (max-width:1040px){
  .menu-btn{display:inline-flex}
  .head-cta{display:none}
  .nav-principale{display:none;position:absolute;left:0;right:0;top:100%;background:var(--vert);border-bottom:1px solid var(--filet-clair);padding:1rem max(20px,env(safe-area-inset-right,0px)) 1.6rem max(20px,env(safe-area-inset-left,0px))}
  .menu-ouvert .nav-principale{display:block}
  .nav-principale ul{flex-direction:column;align-items:stretch;gap:0}
  .nav-principale li a{display:block;padding:.95rem 0;font-family:var(--serif);font-size:1.45rem;border-bottom:1px solid var(--filet-clair)}
  .nav-principale li a[aria-current="page"]{color:var(--or);border-bottom-color:var(--filet-clair)}
  .nav-principale .nav-cta{margin-top:1.2rem}
  .nav-principale .nav-cta a{display:flex;font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--or);justify-content:center;padding:1rem}
}
@media (min-width:1041px){.nav-principale .nav-cta{display:none}}
@media (max-width:420px){.brand .wm{width:112px}.brand .emb{width:34px}}

/* ---------- Héros ---------- */
.hero{position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;left:-14%;bottom:-30%;width:min(78vw,760px);aspect-ratio:1;background:url("embleme-ivoire.svg") no-repeat center/contain;opacity:.035;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.hero-texte{display:grid;gap:1.6rem;min-width:0}
.hero-texte .actions{margin-top:.6rem}
.reperes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:1.4rem;padding-top:1.6rem;border-top:1px solid var(--filet-clair)}
.reperes div{display:grid;gap:.2rem;min-width:0}
.reperes strong{font:500 1.55rem/1.1 var(--serif);color:var(--ivoire)}
.reperes span{font-size:.86rem;line-height:1.45;color:var(--ivoire-pale)}
@media (max-width:560px){.reperes{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){
  .hero-texte>*,.hero figure{animation:monte .9s cubic-bezier(.2,.7,.2,1) both}
  .hero-texte>*:nth-child(2){animation-delay:.06s}
  .hero-texte>*:nth-child(3){animation-delay:.12s}
  .hero-texte>*:nth-child(4){animation-delay:.18s}
  .hero-texte>*:nth-child(5){animation-delay:.24s}
  .hero figure{animation-delay:.1s}
}
@keyframes monte{from{transform:translateY(14px)}to{transform:none}}

/* ---------- Cadres en arc ---------- */
.arche-fig{margin:0;display:grid;gap:1rem;justify-items:center}
.arche-cadre{padding:10px;border:1px solid var(--or);border-radius:999px 999px 6px 6px;width:100%;max-width:440px}
.arche{border-radius:999px 999px 3px 3px;overflow:hidden;aspect-ratio:2/3;max-width:100%;background:var(--nuit)}
.arche img{width:100%;height:100%;object-fit:cover}
.arche--carre{aspect-ratio:4/5}
.legende{display:grid;gap:.15rem;text-align:center;font-size:.88rem;line-height:1.45}
.legende b{font:600 1.2rem/1.2 var(--serif);letter-spacing:.01em}
.legende span{color:var(--sourd)}
.band--vert .legende span,.band--nuit .legende span{color:var(--ivoire-pale)}
.mention-3d{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sourd)}
.band--vert .mention-3d{color:var(--ivoire-pale)}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr}
  .arche-cadre{max-width:330px}
}

/* ---------- Sections génériques ---------- */
.titre-section{display:grid;gap:1.1rem;max-width:760px;margin-bottom:clamp(2.6rem,5vw,4rem)}
.deux-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.deux-col>*{min-width:0}
@media (max-width:860px){.deux-col{grid-template-columns:1fr}}

.losanges{list-style:none;padding:0;display:grid;gap:.9rem}
.losanges li{position:relative;padding-left:1.65rem}
.losanges li::before{content:"";position:absolute;left:.2rem;top:.66em;width:7px;height:7px;background:var(--or);transform:rotate(45deg)}
.losanges--serre{gap:.55rem}

/* Promesse */
.barre{font:500 clamp(2.7rem,6.4vw,5.2rem)/1 var(--serif);color:var(--sourd);text-decoration:line-through;text-decoration-color:var(--or);text-decoration-thickness:.055em;margin:0}

/* Services */
.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.service{display:grid;gap:1.1rem;align-content:start;padding:0 1.6rem;border-left:1px solid var(--filet);min-width:0}
.service:first-child{padding-left:0;border-left:0}
.service .no{font:italic 500 1rem/1 var(--serif);color:var(--sourd);letter-spacing:.04em}
.service h3{font-size:1.55rem}
.service ul{padding:0;list-style:none;display:grid;gap:.7rem;font-size:.97rem;line-height:1.55}
.service li{padding-top:.7rem;border-top:1px solid var(--filet)}
.service li.plus{color:var(--sourd);font-style:italic}
@media (max-width:1040px){
  .services{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:3rem}
  .service:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:620px){
  .services{grid-template-columns:1fr}
  .service{padding-left:0;border-left:0}
}

/* Méthode (parcours en 9 étapes) */
.etapes{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2.5rem;border-top:1px solid var(--filet)}
.etapes li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.2rem 1rem;padding-block:1.6rem;border-bottom:1px solid var(--filet)}
.etapes .n{grid-row:span 2;font:italic 500 2.3rem/1 var(--serif);color:var(--vert);font-variant-numeric:lining-nums}
.etapes h3{font-size:1.3rem}
.etapes p{font-size:.95rem;line-height:1.55;color:var(--sourd)}
.etapes li.cle h3::after{content:"Votre décision";margin-left:.6rem;font:500 .62rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--vert);border:1px solid var(--or);padding:.3rem .45rem;vertical-align:middle;white-space:nowrap}
@media (max-width:980px){.etapes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.etapes{grid-template-columns:1fr}}

/* Formule */
.formule{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.formule>*{min-width:0}
.taux{font:500 clamp(5.4rem,15vw,11rem)/.86 var(--serif);letter-spacing:-.02em;margin:0;font-variant-numeric:lining-nums}
.taux small{font-size:.32em;letter-spacing:.06em;color:var(--or);margin-left:.15em}
.taux-legende{margin-top:1.2rem;font-size:1.05rem;color:var(--ivoire-doux);max-width:30ch}
.couts{border-top:1px solid var(--filet-clair);padding-top:1.4rem;display:grid;gap:.9rem}
@media (max-width:860px){.formule{grid-template-columns:1fr}}

/* Engagements */
.engagements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.engagement{display:grid;gap:.6rem;align-content:start;border-top:1px solid var(--vert);padding-top:1.4rem;min-width:0}
.engagement strong{font:500 clamp(2.4rem,4vw,3.2rem)/1 var(--serif);color:var(--vert);font-variant-numeric:lining-nums}
.engagement p{font-size:.97rem;line-height:1.55;color:var(--sourd)}
.engagement p b{color:var(--encre);font-weight:500}
@media (max-width:980px){.engagements{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.engagements{grid-template-columns:1fr}}

/* Quartiers */
.quartiers{list-style:none;padding:0;columns:2;column-gap:2.5rem}
.quartiers li{break-inside:avoid;font:500 1.5rem/1.2 var(--serif);padding-block:.75rem;border-bottom:1px solid var(--filet)}
@media (max-width:440px){.quartiers{columns:1}}

/* Encadré prescripteurs */
.encadre{border:1px solid var(--or);padding:clamp(1.8rem,4vw,2.8rem);display:grid;gap:1.2rem;background:var(--ivoire)}

/* Citation finale */
.citation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,6vw,5rem);align-items:center}
.citation blockquote{margin:0;font:italic 500 clamp(2rem,4.2vw,3.4rem)/1.12 var(--serif);max-width:20ch}
.citation blockquote em{color:var(--or)}
.citation .emb-grand{width:clamp(140px,20vw,230px);opacity:.92}
.signature{display:flex;align-items:center;gap:1rem;margin-top:1.6rem}
.signature img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:50% 22%;border:1px solid var(--or)}
.signature b{display:block;font:600 1.2rem/1.2 var(--serif)}
.signature span{font-size:.88rem;color:var(--ivoire-pale)}
@media (max-width:700px){.citation{grid-template-columns:1fr}.citation .emb-grand{display:none}}

/* ---------- Pages intérieures ---------- */
.page-hero .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.page-hero .arche-cadre{max-width:340px}
@media (max-width:860px){.page-hero .wrap{grid-template-columns:1fr}.page-hero .arche-cadre{max-width:280px}}

.regles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.6rem}
.regle{display:grid;gap:.6rem;align-content:start;min-width:0;padding-top:1.2rem;border-top:1px solid var(--filet)}
.regle b{font:600 1.22rem/1.25 var(--serif)}
.regle p{font-size:.94rem;line-height:1.55;color:var(--sourd)}
@media (max-width:1040px){.regles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.regles{grid-template-columns:1fr}}

.tableau-wrap{overflow-x:auto}
.tableau{width:100%;border-collapse:collapse;font-size:.97rem;min-width:520px}
.tableau th,.tableau td{text-align:left;padding:1.05rem 1.2rem 1.05rem 0;border-bottom:1px solid var(--filet);vertical-align:top}
.tableau th{font:500 .72rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sourd)}
.tableau td:first-child{font:600 1.15rem/1.3 var(--serif);width:34%}

/* Estimateur */
.estim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--filet);background:var(--ivoire)}
.estim>*{min-width:0;padding:clamp(1.6rem,4vw,2.6rem)}
.estim form{display:grid;gap:1.3rem;align-content:start}
.champ{display:grid;gap:.45rem}
.champ label{font:500 .74rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sourd)}
.champ .aide{font-size:.82rem;color:var(--sourd)}
.saisie{position:relative}
.saisie input{width:100%;padding:.95rem 4.2rem .95rem 1rem}
.saisie i{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-style:normal;font-size:.85rem;color:var(--sourd);pointer-events:none}
input,select,textarea{font:400 1.05rem/1.4 var(--sans);color:var(--encre);background:#FFFDF9;border:1px solid var(--filet);border-radius:2px;padding:.9rem 1rem;width:100%;font-variant-numeric:tabular-nums}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--vert);box-shadow:0 0 0 3px rgba(197,161,97,.28)}
textarea{min-height:130px;resize:vertical}
.btn-texte{background:none;border:0;padding:0;font:500 .8rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--vert);border-bottom:1px solid var(--or);cursor:pointer;justify-self:start}
.resultats{background:var(--vert);color:var(--ivoire);display:grid;gap:1rem;align-content:start}
.resultats dl{margin:0;display:grid}
.resultats .ligne{display:flex;justify-content:space-between;gap:1rem;padding-block:.8rem;border-bottom:1px solid var(--filet-clair);font-size:.98rem}
.resultats dt{color:var(--ivoire-doux)}
.resultats dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.resultats .net{padding-top:1.2rem;border-bottom:0;align-items:baseline}
.resultats .net dt{color:var(--ivoire)}
.resultats .net dd{font:500 clamp(2rem,4vw,2.7rem)/1 var(--serif);color:var(--or)}
.estim-msg{font-size:.85rem;color:var(--ivoire-pale);min-height:1.3em}
.promesse-non{font:italic 500 1.3rem/1.3 var(--serif);color:var(--ivoire);border-top:1px solid var(--or);padding-top:1rem}
@media (max-width:860px){.estim{grid-template-columns:1fr}}

/* FAQ */
.faq-groupe{display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);padding-block:2.6rem;border-top:1px solid var(--filet)}
.faq-groupe>*{min-width:0}
.faq-groupe h2{font-size:clamp(1.6rem,2.6vw,2.1rem)}
details{border-bottom:1px solid var(--filet)}
details:first-of-type{border-top:1px solid var(--filet)}
summary{list-style:none;cursor:pointer;padding:1.3rem 2.6rem 1.3rem 0;font:600 1.28rem/1.3 var(--serif);position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:.4rem;top:50%;width:9px;height:9px;border-right:1px solid var(--vert);border-bottom:1px solid var(--vert);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.reponse{padding:0 0 1.5rem;display:grid;gap:.8rem;color:var(--sourd)}
.reponse p{max-width:68ch}
@media (max-width:760px){.faq-groupe{grid-template-columns:1fr}}

/* Contact */
.contact-grille{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.contact-grille>*{min-width:0}
.formulaire{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.formulaire .plein{grid-column:1/-1}
@media (max-width:620px){.formulaire{grid-template-columns:1fr}}
@media (max-width:900px){.contact-grille{grid-template-columns:1fr}}
.coordonnees{display:grid;gap:0;border-top:1px solid var(--filet)}
.coord{display:grid;gap:.35rem;padding-block:1.25rem;border-bottom:1px solid var(--filet)}
.coord .lbl{font:500 .72rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sourd)}
.coord .val{font:600 1.3rem/1.3 var(--serif);overflow-wrap:anywhere;user-select:all}
.coord .act{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:.3rem}
.pret{border:1px solid var(--or);background:var(--creme);padding:1.6rem;display:grid;gap:1rem}
.pret pre{margin:0;white-space:pre-wrap;font:400 .95rem/1.6 var(--sans);background:var(--ivoire);border:1px solid var(--filet);padding:1rem;max-height:320px;overflow:auto}

/* Voyageurs */
.kit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem}
.kit>div{display:grid;gap:.8rem;align-content:start;min-width:0}
@media (max-width:900px){.kit{grid-template-columns:1fr}}
.parcours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem}
.parcours article{display:grid;gap:.8rem;align-content:start;padding-top:1.2rem;border-top:1px solid var(--filet-clair);min-width:0}
.parcours h3{font-size:1.35rem}
.parcours ol{padding-left:1.1rem;display:grid;gap:.35rem;color:var(--ivoire-doux);font-size:.96rem}
@media (max-width:980px){.parcours{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.parcours{grid-template-columns:1fr}}

.valeurs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.valeurs>div{display:grid;gap:.7rem;align-content:start;padding-top:1.2rem;border-top:1px solid var(--vert);min-width:0}
.valeurs p{font-size:.97rem;color:var(--sourd)}
@media (max-width:980px){.valeurs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.valeurs{grid-template-columns:1fr}}

.illus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.illus figure{margin:0;display:grid;gap:.6rem}
.illus img{aspect-ratio:1;object-fit:cover;width:100%}

/* ---------- Pied de page ---------- */
.site-foot{background:var(--nuit);color:var(--ivoire);padding-block:clamp(3.5rem,7vw,5.5rem) 2.2rem}
.foot-grille{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,1.1fr);gap:2.5rem}
.foot-grille>*{min-width:0}
.foot-logo{width:170px}
.site-foot h4{margin:0 0 1rem;font:500 .72rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
.site-foot ul{list-style:none;padding:0;display:grid;gap:.55rem;font-size:.95rem}
.site-foot a{text-decoration:none;color:var(--ivoire-doux)}
.site-foot a:hover{color:var(--ivoire)}
.foot-coord li{display:grid;gap:.1rem}
.foot-coord small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivoire-pale)}
.foot-coord span{overflow-wrap:anywhere;user-select:all}
.foot-mentions{font-size:.84rem;line-height:1.6;color:var(--ivoire-pale);display:grid;gap:.6rem}
.foot-bas{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--filet-clair);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;font-size:.8rem;color:var(--ivoire-pale)}
.a-completer{color:var(--or)}
@media (max-width:980px){.foot-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.foot-grille{grid-template-columns:1fr}}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Compléments */
.head-droite{display:flex;align-items:center;gap:.8rem}
.sr-focus:focus{position:fixed;left:max(16px,env(safe-area-inset-left,0px));top:calc(env(safe-area-inset-top,0px) + 12px);width:auto;height:auto;clip:auto;z-index:100;background:var(--ivoire);color:var(--vert);padding:.7rem 1rem;text-decoration:none}
.page-hero--simple .wrap{grid-template-columns:minmax(0,1fr)}
.page-hero--simple h1{max-width:20ch}
.erreur{color:#8B3A2B;font-size:.92rem;margin:0;min-height:0}
.erreur:empty{display:none}
.signature--clair{margin-top:0}
.signature--clair span{color:var(--sourd)}

/* Barre du haut : réseaux et WhatsApp */
.topbar{background:var(--nuit);color:var(--ivoire-doux);font-size:.78rem;letter-spacing:.08em}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:38px}
.topbar-txt{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;color:var(--or)}
.reseaux{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:0}
.reseaux li+li::before{content:"";display:inline-block;width:4px;height:4px;margin-inline:1rem;background:var(--or);transform:rotate(45deg);vertical-align:middle}
.reseaux a{color:var(--ivoire);text-decoration:none;text-transform:uppercase;font-weight:500;padding-block:.5rem;border-bottom:1px solid transparent}
.reseaux a:hover{border-bottom-color:var(--or)}
.reseaux .tel{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--ivoire-doux);text-transform:none}
@media (max-width:720px){.topbar-txt{display:none}.topbar .wrap{justify-content:center}}
@media (max-width:420px){.reseaux .tel{display:none}.reseaux li+li::before{margin-inline:.8rem}}

/* Phrase de promesse */
.phrase{font:italic 500 clamp(1.7rem,3vw,2.3rem)/1.2 var(--serif);color:var(--vert);border-top:1px solid var(--or);padding-top:1.2rem;max-width:22ch}
