/* ================================================================
   CHARTE E.F.T. — couleurs reprises de l'affiche A2
   SEUL BLOC À MODIFIER POUR CHANGER L'IDENTITÉ DU SITE
   ================================================================ */
:root{
  --marine:#2A4A7B;      /* bandeau de l'affiche */
  --marine-fonce:#1E2F45;/* titres, texte fort */
  --bleu:#306A9B;        /* accents bleus */
  --bleu-ink:#275970;
  --orange:#E98426;      /* puces, filets */
  --orange-ink:#A9561C;  /* orange assombri pour le petit texte */
  --rouille:#B3541E;     /* accroche de l'affiche */
  --or:#F4C476;          /* pastilles des points */

  --paper:#FFF8F1;       /* fond crème de l'affiche */
  --surface:#FFFFFF;
  --surface-2:#F9E9D3;   /* pêche des encadrés */
  --ink:#1E2F45;
  --ink-soft:#56657A;
  --line:#EBDCC7;
  --rule:#D9C6AC;
  --titre:#1E2F45;
  --shadow:0 1px 2px rgba(30,47,69,.06), 0 10px 28px -16px rgba(30,47,69,.32);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bleu-ink:#86B6DE; --orange-ink:#F2A65E; --rouille:#F09A62;
    --paper:#14181F; --surface:#1B212B; --surface-2:#26231F;
    --ink:#EEE9E1; --ink-soft:#A9B1BC; --line:#2E343D; --rule:#3E4550;
    --titre:#F6F1E9;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -16px rgba(0,0,0,.85);
  }
}
:root[data-theme="dark"]{
  --bleu-ink:#86B6DE; --orange-ink:#F2A65E; --rouille:#F09A62;
  --paper:#14181F; --surface:#1B212B; --surface-2:#26231F;
  --ink:#EEE9E1; --ink-soft:#A9B1BC; --line:#2E343D; --rule:#3E4550;
  --titre:#F6F1E9;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -16px rgba(0,0,0,.85);
}

/* ================================================================
   STRUCTURE
   ================================================================ */
*{box-sizing:border-box}
html{scroll-padding-top:110px;}
body{margin:0; background:var(--paper); color:var(--ink);
  font-family:"Source Sans 3", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:17px; line-height:1.62; -webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:"Fraunces", Georgia, "Times New Roman", serif; font-weight:600; text-wrap:balance; margin:0; line-height:1.15; color:var(--titre);}
h1{font-size:clamp(2.1rem, 5.2vw, 3.4rem); letter-spacing:-.015em;}
h2{font-size:clamp(1.5rem, 3.2vw, 2.1rem); letter-spacing:-.012em;}
h3{font-size:1.12rem;}
p{margin:0}
a{color:inherit}
img{max-width:100%}
strong, b{font-weight:600; color:var(--ink);}

.wrap{width:100%; max-width:1120px; margin-inline:auto; padding-inline:20px;}
.etroit{max-width:72ch;}
.eyebrow{font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-ink);}
.lede{font-size:1.1rem; color:var(--ink-soft); max-width:62ch;}
section{padding-block:clamp(48px,7vw,86px);}
.sec-head{max-width:66ch; margin-bottom:clamp(26px,4vw,40px); display:flex; flex-direction:column; gap:12px;}
.fond-peche{background:var(--surface-2); border-block:1px solid var(--line);}

/* ---------- en-tête ---------- */
.filet{height:4px; background:linear-gradient(90deg, var(--marine) 0 60%, var(--orange) 60% 100%);}
header{position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line);
  background:color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter:blur(10px);}
.bar{display:flex; align-items:center; gap:18px; padding-block:12px; position:relative;}
.brand{display:flex; flex-direction:column; line-height:1.1; text-decoration:none; margin-right:auto;}
.brand b{font-family:"Fraunces",serif; font-size:1.05rem; font-weight:600; letter-spacing:-.005em; color:var(--titre);}
.brand span{font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-soft);}
nav{display:flex; gap:24px;}
nav a{text-decoration:none; font-size:.92rem; font-weight:500; white-space:nowrap; color:var(--ink-soft);
  padding-block:4px; border-bottom:2px solid transparent;}
nav a:hover{color:var(--ink); border-bottom-color:var(--orange);}
nav a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--marine);}
.nav-cta{text-decoration:none; font-size:.9rem; font-weight:600; padding:10px 17px; border-radius:2px; white-space:nowrap;}
.menu-btn{display:none; place-items:center; background:none; border:1.5px solid var(--rule);
  border-radius:3px; width:42px; height:40px; cursor:pointer; padding:0;}
.menu-btn span, .menu-btn span::before, .menu-btn span::after{display:block; width:18px; height:2px; background:var(--ink); border-radius:2px; position:relative;}
.menu-btn span::before, .menu-btn span::after{content:""; position:absolute; left:0;}
.menu-btn span::before{top:-6px;} .menu-btn span::after{top:6px;}
.menu-btn[aria-expanded="true"] span{background:transparent;}
.menu-btn[aria-expanded="true"] span::before{top:0; transform:rotate(45deg);}
.menu-btn[aria-expanded="true"] span::after{top:0; transform:rotate(-45deg);}
@media (max-width:1000px){
  .menu-btn{display:grid;}
  nav{display:none; position:absolute; top:100%; left:-20px; right:-20px; flex-direction:column; gap:0;
    background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 14px 30px -18px rgba(0,0,0,.5); padding:8px 20px 16px;}
  nav.ouvert{display:flex;}
  nav a{font-size:1rem; padding:13px 10px; border-bottom:1px solid var(--line); border-left:3px solid transparent;}
  nav a:hover, nav a[aria-current="page"]{border-bottom-color:var(--line); border-left-color:var(--orange);}
}
@media (max-width:600px){ .nav-cta{display:none;} .brand b{font-size:.98rem;} }

/* ---------- boutons : fond marine, texte blanc, clair comme sombre ---------- */
.btn, .nav-cta, button[type=submit]{display:inline-block; text-decoration:none; font:inherit; font-weight:600; font-size:.96rem;
  padding:13px 24px; border-radius:2px; cursor:pointer;
  background:var(--marine); border:1.5px solid var(--marine); color:#FFFFFF;}
.nav-cta{font-size:.9rem; padding:10px 17px;}
.btn:hover, .nav-cta:hover, button[type=submit]:hover{background:var(--marine-fonce); border-color:var(--marine-fonce); color:#FFFFFF;}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn-ghost:hover{background:var(--surface-2); color:var(--ink); border-color:var(--ink);}
.sur-marine .btn-ghost{color:#FFFFFF; border-color:rgba(255,255,255,.7);}
.sur-marine .btn-ghost:hover{background:rgba(255,255,255,.1); color:#FFFFFF;}
.sur-marine .btn:not(.btn-ghost){background:var(--orange); border-color:var(--orange); color:#1E2F45;}
.sur-marine .btn:not(.btn-ghost):hover{background:#F4A04F; border-color:#F4A04F;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:3px solid var(--orange); outline-offset:2px;}
.lien{text-decoration:none; font-weight:700; color:var(--bleu-ink); border-bottom:2px solid var(--orange); padding-bottom:1px;}
.lien:hover{color:var(--ink);}

/* ---------- héros (bandeau marine de l'affiche) ---------- */
.hero{background:var(--marine); color:#FFFFFF; position:relative; overflow:hidden;}
.hero::after{content:""; position:absolute; inset:auto 0 0 0; height:5px; background:var(--orange);}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,5vw,60px); align-items:center; padding-block:clamp(44px,7vw,84px);}
@media (max-width:860px){ .hero-grid{grid-template-columns:1fr;} }
.hero .eyebrow{color:var(--or);}
.hero h1{color:#FFFFFF; font-size:clamp(3rem, 9vw, 5.6rem); font-weight:700; letter-spacing:-.02em; margin-block:10px 4px;}
.hero .nom-long{font-family:"Fraunces",serif; font-size:clamp(1.1rem,2.4vw,1.4rem); color:#FFFFFF; font-weight:600;}
.hero .nom-fr{color:#D7E1EE; font-size:1rem;}
.hero .accroche{font-family:"Fraunces",serif; font-size:clamp(1.25rem,2.8vw,1.65rem); line-height:1.3; color:var(--or); margin-top:26px; max-width:30ch;}
.hero .actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px;}
.hero figure{margin:0;}
.hero img{width:100%; height:auto; display:block; border-radius:4px; box-shadow:0 20px 40px -20px rgba(0,0,0,.6);}
.hero figcaption{font-size:.76rem; color:#C9D4E3; margin-top:8px;}

/* bandeau de page intérieure */
.tete-page{background:var(--marine); color:#FFFFFF; position:relative;}
.tete-page::after{content:""; position:absolute; inset:auto 0 0 0; height:5px; background:var(--orange);}
.tete-page .wrap{padding-block:clamp(40px,6vw,70px);}
.tete-page .eyebrow{color:var(--or);}
.tete-page h1{color:#FFFFFF; margin-block:12px 14px;}
.tete-page p.lede{color:#DCE5F0;}

/* ---------- corps de texte ---------- */
.corps{display:flex; flex-direction:column; gap:16px;}
.corps p{color:var(--ink-soft);}
.corps h2{margin-top:clamp(14px,2.4vw,24px);}
.corps .eyebrow{margin-top:26px;}
.corps .eyebrow:first-child{margin-top:0;}

/* grille deux colonnes texte + aparté */
.duo{display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(24px,4vw,48px); align-items:start;}
@media (max-width:860px){ .duo{grid-template-columns:1fr;} }

/* schéma du principe */
.schema{display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:10px; align-items:center; margin-block:10px;}
@media (max-width:640px){ .schema{grid-template-columns:1fr;} .schema .fl{transform:rotate(90deg); justify-self:center;} }
.schema div{background:var(--surface); border:1px solid var(--line); border-top:4px solid var(--orange);
  border-radius:3px; padding:14px 14px; font-size:.92rem; color:var(--ink); text-align:center; font-weight:600;}
.schema .fl{color:var(--orange); font-size:1.4rem; font-weight:700; text-align:center;}

.figure{margin:8px 0 0;}
.figure img{width:100%; height:auto; display:block; border-radius:4px; box-shadow:var(--shadow);}
.figure figcaption{font-size:.8rem; color:var(--ink-soft); margin-top:8px;}

/* listes à puces orange (comme l'affiche) */
.puces{list-style:none; padding:0; margin:4px 0 0; display:grid; gap:10px;}
.puces li{display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; color:var(--ink);}
.puces li::before{content:""; width:10px; height:10px; margin-top:.52em; border-radius:50%; background:var(--orange);}
.puces li small{display:block; color:var(--ink-soft); font-size:.88rem;}

/* cartes */
.cartes{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px;}
.carte{background:var(--surface); border:1px solid var(--line); border-top:5px solid var(--teinte, var(--marine));
  border-radius:3px; box-shadow:var(--shadow); padding:24px 24px 26px; display:flex; flex-direction:column; gap:10px;}
.carte .kicker{font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--teinte-ink, var(--bleu-ink));}
.carte p{font-size:.96rem; color:var(--ink-soft);}

/* étapes numérotées */
.etapes{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:26px; counter-reset:e;}
.etape{display:flex; flex-direction:column; gap:10px;}
.etape .n{font-family:"Fraunces",serif; font-weight:700; width:44px; height:44px; display:grid; place-items:center;
  background:var(--marine); color:#FFFFFF; border-radius:50%; font-size:1.05rem;}
.etape p{font-size:.95rem; color:var(--ink-soft);}

/* encadrés */
.encadre{background:var(--surface); border:1px solid var(--line); border-left:5px solid var(--orange);
  border-radius:3px; padding:22px 24px; display:flex; flex-direction:column; gap:10px;}
.encadre p{color:var(--ink-soft); font-size:.97rem;}
.encadre.bleu{border-left-color:var(--bleu);}
.encadre.peche{background:var(--surface-2);}
.note{font-size:.9rem; color:var(--ink-soft); background:var(--surface); border:1px solid var(--line);
  border-left:4px solid var(--bleu); border-radius:3px; padding:16px 20px;}

/* références */
.refs{list-style:none; padding:0; margin:6px 0 0; display:grid; gap:9px; font-size:.86rem; color:var(--ink-soft);}
.refs li{padding-left:14px; border-left:2px solid var(--rule);}
.refs a{color:var(--bleu-ink); text-decoration:none; border-bottom:1px solid var(--rule); word-break:break-word;}

/* tarif */
.tarif{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;}
.tarif .prix{font-family:"Fraunces",serif; font-size:clamp(2.6rem,6vw,3.6rem); font-weight:700; color:var(--marine); line-height:1;}
:root[data-theme="dark"] .tarif .prix{color:var(--or);}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .tarif .prix{color:var(--or);} }
.tarif .unite{font-size:1.05rem; color:var(--ink-soft);}

/* avis */
.widget-slot{border:2px dashed var(--rule); border-radius:3px; background:var(--surface); padding:38px 24px; text-align:center;
  display:flex; flex-direction:column; gap:10px; align-items:center;}
.widget-slot .tag{font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:#FFFFFF; background:var(--orange-ink); padding:5px 12px; border-radius:2px;}
.widget-slot small{color:var(--ink-soft); max-width:52ch;}
.badge{display:inline-flex; align-items:center; gap:8px; text-decoration:none; font-size:.86rem; font-weight:600; color:var(--ink);
  border:1.5px solid var(--rule); background:var(--surface); padding:8px 15px; border-radius:2px;}
.badge:hover{border-color:var(--orange);}

/* contact */
.contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(30px,5vw,58px);}
@media (max-width:840px){ .contact-grid{grid-template-columns:1fr;} }
.coord{display:flex; flex-direction:column; gap:20px; margin:0;}
.coord div{display:flex; flex-direction:column; gap:3px;}
.coord dt{font-size:.73rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--orange-ink);}
.coord dd{margin:0; font-size:1.02rem;}
.coord a{text-decoration:none; border-bottom:1px solid var(--rule);}
form{display:grid; gap:16px;}
.row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:560px){ .row{grid-template-columns:1fr;} }
label{display:flex; flex-direction:column; gap:6px; font-size:.79rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft);}
input,textarea,select{font:inherit; font-size:.96rem; font-weight:400; text-transform:none; letter-spacing:0; color:var(--ink);
  padding:12px 14px; background:var(--surface); border:1.5px solid var(--rule); border-radius:2px; width:100%;}
textarea{min-height:124px; resize:vertical;}
button[type=submit]{justify-self:start;}
.form-note{font-size:.82rem; color:var(--ink-soft);}

/* FAQ */
.faq{display:grid; gap:14px;}
.faq article{background:var(--surface); border:1px solid var(--line); border-left:5px solid var(--orange);
  border-radius:3px; padding:20px 24px; display:flex; flex-direction:column; gap:8px;}
.faq article:nth-child(even){border-left-color:var(--bleu);}
.faq p{color:var(--ink-soft); font-size:.98rem;}
.faq-groupe{margin-top:clamp(30px,4vw,44px);}
.faq-groupe:first-child{margin-top:0;}
.faq-groupe > h2{margin-bottom:16px; font-size:clamp(1.25rem,2.6vw,1.6rem);}

/* qui suis-je */
.portrait-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(26px,5vw,56px); align-items:center;}
@media (max-width:800px){ .portrait-grid{grid-template-columns:1fr;} }
.portrait-grid img{width:100%; height:auto; display:block; border-radius:4px; box-shadow:var(--shadow);}
.parcours{list-style:none; padding:0; margin:0; display:grid; gap:12px;}
.parcours li{display:grid; grid-template-columns:120px 1fr; gap:16px; align-items:baseline; padding-bottom:12px; border-bottom:1px solid var(--line);}
@media (max-width:520px){ .parcours li{grid-template-columns:1fr; gap:2px;} }
.parcours .an{font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--orange-ink);}
.parcours em{display:block; font-style:normal; font-size:.9rem; color:var(--ink-soft);}
.sig{font-family:"Caveat",cursive; font-size:1.7rem; color:var(--ink);}

/* appel final */
.appel{background:var(--marine); color:#FFFFFF; border-radius:4px; padding:clamp(26px,4vw,40px); display:flex; flex-direction:column; gap:14px; align-items:flex-start;}
.appel h2{color:#FFFFFF;}
.appel p{color:#DCE5F0; max-width:60ch;}
.appel .eyebrow{color:var(--or);}

/* pied de page */
footer{border-top:1px solid var(--line); background:var(--surface-2); padding-block:34px; font-size:.88rem; color:var(--ink-soft);}
.foot{display:flex; flex-wrap:wrap; gap:14px 34px; align-items:center;}
.foot .sig{font-size:1.55rem;}
.foot a{text-decoration:none; border-bottom:1px solid var(--rule);}
.foot .avert{flex-basis:100%; font-size:.8rem;}

@media (prefers-reduced-motion: reduce){ *{animation:none!important; transition:none!important;} }
.portrait-grid img{box-shadow:none; max-width:380px; justify-self:center;}

/* ================================================================
   PAGE D'ACCUEIL (version 2)
   ================================================================ */
.a-hero{position:relative; overflow:hidden; background:#011849; color:#FFFFFF;
  min-height:clamp(520px, 78vh, 700px); display:flex; align-items:center;}
.a-hero::after{content:""; position:absolute; inset:auto 0 0 0; height:5px; background:var(--orange);}
.a-hero-img{position:absolute; inset:0 0 0 auto; width:min(68%, 980px);
  background:url("eft-energie-hero.jpg") center/cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 38%);
          mask-image:linear-gradient(90deg, transparent 0%, #000 38%);}
.a-hero-texte{position:relative; padding-block:clamp(56px,9vw,110px);}
.a-hero-texte > *{max-width:34rem;}
.a-hero .eyebrow{color:var(--or);}
.a-hero h1{color:#FFFFFF; font-size:clamp(2.3rem,5.4vw,3.8rem); font-weight:700; margin-block:14px 18px;
  text-shadow:0 2px 24px rgba(1,24,73,.8);}
.a-sous{font-size:clamp(1.08rem,2vw,1.25rem); color:#E3EAF4; text-shadow:0 1px 14px rgba(1,24,73,.9);}
.a-hero .actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px;}
.a-infos{margin-top:22px; font-size:.88rem; color:#C9D4E3;}
@media (max-width:820px){
  .a-hero{align-items:flex-end;}
  .a-hero-img{width:100%; opacity:.55; -webkit-mask-image:none; mask-image:none;}
  .a-hero-texte{padding-top:220px;}
}

.a-questions{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; max-width:980px; margin-inline:auto;}
.a-questions p{background:var(--surface); border:1px solid var(--line); border-top:4px solid var(--orange);
  border-radius:3px; box-shadow:var(--shadow); padding:20px 20px; font-family:"Fraunces",serif;
  font-size:1.08rem; line-height:1.35; color:var(--titre);}
.a-questions p:nth-child(even){border-top-color:var(--marine);}
.a-chute{text-align:center; margin:30px auto 0; max-width:52ch; font-size:1.12rem; color:var(--ink-soft);}

.a-technique{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,5vw,60px); align-items:center;}
@media (max-width:820px){ .a-technique{grid-template-columns:1fr;} }
.a-technique img{width:100%; max-width:460px; height:auto; display:block; border-radius:4px; box-shadow:var(--shadow); justify-self:center;}

.a-themes{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px;}
.a-themes a{display:flex; flex-direction:column; gap:4px; text-decoration:none; background:var(--surface);
  border:1px solid var(--line); border-left:6px solid var(--t); border-radius:3px; padding:18px 20px;
  transition:transform .15s ease, box-shadow .15s ease;}
.a-themes a:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
.a-themes b{font-family:"Fraunces",serif; font-size:1.12rem; color:var(--titre);}
.a-themes span{font-size:.92rem; color:var(--ink-soft);}

.a-autonomie{background:var(--marine); color:#FFFFFF;}
.a-autonomie h2{color:#FFFFFF;}
.a-autonomie .eyebrow{color:var(--or);}
.a-autonomie p{color:#DCE5F0; font-size:1.06rem;}
.a-autonomie p + p{margin-top:12px;}
.a-autonomie strong{color:#FFFFFF;}
.a-auto-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(20px,4vw,50px); align-items:start;}
@media (max-width:820px){ .a-auto-grid{grid-template-columns:1fr;} }
.a-auto-grid h2{margin-top:10px;}

.a-qui{display:grid; grid-template-columns:auto 1fr; gap:clamp(24px,4vw,48px); align-items:center; max-width:960px;}
.a-qui img{width:clamp(180px,24vw,260px); height:auto; display:block;}
@media (max-width:640px){ .a-qui{grid-template-columns:1fr;} .a-qui img{justify-self:center;} }

.a-pratique{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:3px; overflow:hidden;}
.a-pratique > div{background:var(--surface); padding:20px 22px; display:flex; flex-direction:column; gap:3px;}
.a-pratique .k{font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--orange-ink);}
.a-pratique b{font-family:"Fraunces",serif; font-size:1.15rem; color:var(--titre);}
.a-pratique small{font-size:.9rem; color:var(--ink-soft);}

@media (max-width:600px){ header .nav-cta{display:none;} }

/* Bandeau d'accueil en photo plein cadre : l'image se règle dans index.html
   (--fond = fichier, --pos = point de l'image à garder visible). */
.a-hero.plein{background:#0F1E33;}
.a-hero.plein .a-hero-img{inset:0; width:100%; -webkit-mask-image:none; mask-image:none; opacity:1;
  background-image:var(--fond); background-size:cover; background-position:var(--pos, center);}
.a-hero.plein .a-hero-img::after{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(12,22,40,.90) 0%, rgba(12,22,40,.78) 18%, rgba(12,22,40,.58) 34%, rgba(12,22,40,.36) 48%, rgba(12,22,40,.18) 62%, rgba(12,22,40,.06) 76%, rgba(12,22,40,0) 90%);}
@media (max-width:820px){
  .a-hero.plein .a-hero-img::after{background:linear-gradient(180deg, rgba(12,22,40,.15) 0%, rgba(12,22,40,.55) 40%, rgba(12,22,40,.85) 100%);}
}

/* Bandeau de la page « Qu'est-ce que l'E.F.T. ? » : méditation, tons chauds */
.tete-energie{background:#3A2617 url("eft-serenite-hero.jpg") right center / auto 100% no-repeat; overflow:hidden; min-height:clamp(380px,32vw,460px); display:flex; align-items:center;}
.tete-energie .wrap{width:100%;}
.tete-energie::before{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, #3A2617 0%, #3A2617 30%, rgba(58,38,23,.82) 44%, rgba(58,38,23,.45) 58%, rgba(58,38,23,.12) 72%, rgba(58,38,23,0) 84%);}
.tete-energie::after{background:var(--or);}
.tete-energie .wrap{position:relative; padding-block:clamp(56px,8vw,96px);}
.tete-energie .wrap > *{max-width:36rem;}
.tete-energie .eyebrow{color:var(--or);}
.tete-energie p.lede{color:#F3E6D3;}
@media (max-width:820px){
  .tete-energie{background-size:100% auto; background-position:center top; display:block; min-height:0;}
  .tete-energie::before{background:linear-gradient(180deg, rgba(58,38,23,0) 0, rgba(58,38,23,0) 34vw, #3A2617 48.5vw, #3A2617 100%);}
  .tete-energie .wrap{padding-top:calc(48.5vw + 18px); padding-bottom:40px;}
}

/* Page Tarifs : le texte d'abord, le tarif en encadré discret */
.duo-tarif{display:grid; grid-template-columns:1fr 260px; gap:clamp(24px,4vw,56px); align-items:start;}
@media (max-width:760px){ .duo-tarif{grid-template-columns:1fr;} }
.texte-fort p:not(.eyebrow){font-size:1.1rem; line-height:1.7; color:var(--ink);}
.tarif-carte{gap:8px; padding:20px 22px;}
.tarif-carte .prix{font-size:clamp(1.6rem,3vw,1.9rem);}
.tarif-carte .unite{font-size:.95rem;}
.tarif-carte p{font-size:.9rem;}

/* Pages légales */
.legal h2{margin-top:26px; font-size:clamp(1.2rem,2.4vw,1.45rem);}
.legal h2:first-child{margin-top:0;}
.fiche{display:grid; grid-template-columns:minmax(150px,220px) 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:3px; overflow:hidden; margin:0;}
.fiche dt, .fiche dd{background:var(--surface); margin:0; padding:12px 16px; font-size:.95rem;}
.fiche dt{font-weight:700;}
.fiche dd{color:var(--ink-soft);}
@media (max-width:560px){ .fiche{grid-template-columns:1fr;} }
.a-completer{background:#FFF1C9; color:#7A4E00; border:1px dashed #E0A200; border-radius:2px; padding:1px 6px; font-weight:600;}
.maj{font-size:.85rem;}
.recap{background:var(--surface); border:1px solid var(--line); border-left:5px solid var(--orange); border-radius:3px; padding:22px 24px;}
.recap dl{display:grid; grid-template-columns:auto 1fr; gap:6px 14px; margin:12px 0 0;}
.recap dt{font-weight:700; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);} .recap dd{margin:0; white-space:pre-wrap;}
.recap-titre{font-family:"Fraunces",serif; font-size:1.25rem; font-weight:600; color:var(--titre);}
.recap-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;}
.recap-actions .btn{font-size:.9rem; padding:10px 16px;}
.recap-note{margin-top:14px; font-size:.84rem; color:var(--ink-soft);}
@media print{ header, footer, .tete-page, .duo-tarif, .coord, .recap-actions, .recap-note, .filet{display:none !important;} body{background:#fff;} .recap{border:none;} }
