
/* Mise en page : un héros photo plein cadre dont la lumière suit l'heure, puis des bandeaux alternés sombres et clairs, cartes photo pour les formations. */
:root{
  --noir:#010101; --nuit:#07111F; --nuit2:#0F1A2B; --rouge:#EF1B2D; --rouge-fonce:#C41222; --jaune:#F6C400; --vert:#0A8F48;
  --font:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  /* ambiance après-midi par défaut */
  --fond:#FFFFFF; --fond2:#F4F5F3; --texte:#07111F; --texte2:#465264; --trait:#E1E4E8; --carte:#FFFFFF;
  --accent:#EF1B2D; --voile:linear-gradient(90deg,rgba(7,17,31,.86) 0%,rgba(7,17,31,.55) 45%,rgba(7,17,31,.05) 80%);
  --teinte:transparent; --teinte-mode:normal; --filtre:saturate(1.05) contrast(1.02);
  color-scheme:light;
}
:root[data-ambiance="matin"]{
  --fond:#FFFFFF; --fond2:#F7F2EA; --texte:#07111F; --texte2:#465264; --trait:#E8DFD1; --carte:#FFFFFF;
  --accent:#138A87; --teinte:linear-gradient(180deg,rgba(170,215,235,.28),rgba(255,236,205,.18)); --teinte-mode:soft-light; --filtre:saturate(.92) brightness(1.06);
}
:root[data-ambiance="fin-apres-midi"]{
  --fond:#FBF6EE; --fond2:#F3E7D5; --texte:#07111F; --texte2:#4A4F5C; --trait:#E6D5BC; --carte:#FFFDF9;
  --accent:#C2560B; --teinte:linear-gradient(200deg,rgba(242,138,46,.55),rgba(120,40,30,.25)); --teinte-mode:soft-light; --filtre:saturate(1.15) contrast(1.04);
}
:root[data-ambiance="soir"]{
  --fond:#07111F; --fond2:#0F1A2B; --texte:#EEF1F5; --texte2:#AFBACA; --trait:#23334B; --carte:#0F1A2B;
  --accent:#F6C400; --voile:linear-gradient(90deg,rgba(3,8,18,.92) 0%,rgba(3,8,18,.7) 45%,rgba(3,8,18,.25) 85%);
  --teinte:linear-gradient(180deg,rgba(20,45,110,.55),rgba(5,10,30,.45)); --teinte-mode:multiply; --filtre:saturate(.85) brightness(.72) contrast(1.08);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--fond);color:var(--texte);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .8s,color .8s}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--nuit)}
a{color:inherit}
:focus-visible{outline:3px solid var(--jaune);outline-offset:3px;border-radius:6px}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
.g{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.w{max-width:1180px;margin-inline:auto}

.test{background:var(--jaune);color:var(--nuit);font-size:13px;font-weight:700;text-align:center;padding-block:7px}

/* En-tête */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(7,17,31,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#FFFFFF;border-bottom:1px solid rgba(255,255,255,.08)}
.top .w{display:flex;align-items:center;gap:22px;min-height:66px}
.marque{display:flex;align-items:center;gap:10px;text-decoration:none}
.marque img{height:46px;width:auto}
.marque b{font-size:16px;font-weight:800;line-height:1.05;letter-spacing:.01em}
.marque small{display:block;font-size:11px;font-weight:600;opacity:.7;letter-spacing:.03em}
.nav{display:flex;gap:24px;margin-left:auto;font-size:14px;font-weight:600}
.nav a{text-decoration:none;opacity:.85;padding-block:8px;border-bottom:2px solid transparent}
.nav a:hover{opacity:1;border-color:var(--rouge)}
@media (max-width:900px){.nav{display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--rouge);color:#FFFFFF;font:800 16px var(--font);text-decoration:none;border:0;border-radius:12px;padding:15px 22px;cursor:pointer;box-shadow:0 10px 26px rgba(239,27,45,.35);transition:transform .15s,box-shadow .15s,background-color .15s}
.btn:hover{background:var(--rouge-fonce);transform:translateY(-1px);box-shadow:0 14px 30px rgba(239,27,45,.42)}
.btn svg{width:18px;height:18px;flex:none}
.btn.sm{padding:10px 16px;font-size:14px;box-shadow:none;margin-left:auto}
.nav + .btn.sm{margin-left:0}
.btn.ghost{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 2px rgba(255,255,255,.85);backdrop-filter:blur(4px)}
.btn.ghost:hover{background:rgba(255,255,255,.18)}

/* Héros */
.hero{position:relative;overflow:hidden;color:#FFFFFF;background:var(--nuit);min-height:clamp(560px,78vh,760px);display:flex;align-items:flex-end}
.photos{position:absolute;inset:0;overflow:hidden}
.photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 72%;opacity:0;filter:var(--filtre);transition:opacity 1.6s ease,filter 1.6s ease;transform:scale(1.06)}
.photos img.on{opacity:1}
.photos::before{content:"";position:absolute;inset:0;background:var(--teinte);mix-blend-mode:var(--teinte-mode);z-index:1;transition:background 1.6s}
.photos::after{content:"";position:absolute;inset:0;background:var(--voile),linear-gradient(0deg,rgba(7,17,31,.75) 0%,transparent 45%);z-index:2}
.etoiles{position:absolute;inset:0 0 45% 0;z-index:2;opacity:0;transition:opacity 1.6s;background-image:radial-gradient(1.2px 1.2px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 28% 8%,#fff,transparent),radial-gradient(1.4px 1.4px at 46% 22%,#fff,transparent),radial-gradient(1px 1px at 63% 12%,#fff,transparent),radial-gradient(1.3px 1.3px at 81% 26%,#fff,transparent),radial-gradient(1px 1px at 91% 9%,#fff,transparent),radial-gradient(1px 1px at 37% 30%,#fff,transparent),radial-gradient(1.2px 1.2px at 72% 34%,#fff,transparent)}
.hero .w{position:relative;z-index:3;width:100%;padding-block:64px 44px}
.lieu{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;font-style:italic;color:#FFE9A8}
.lieu svg{width:16px;height:16px;color:var(--rouge)}
.slogan{font-size:clamp(42px,7.2vw,86px);font-weight:900;line-height:.98;letter-spacing:-.03em;margin-top:14px;max-width:12ch;text-shadow:0 4px 28px rgba(0,0,0,.35)}
.slogan span{display:block}
.slogan .r{color:var(--rouge)}
.sous{font-size:clamp(17px,2vw,20px);font-weight:500;margin-top:18px;max-width:34ch;color:#E6ECF3}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.note{font-size:13px;color:#CBD5E1;margin-top:14px;max-width:46ch}
.amb{position:absolute;z-index:4;right:max(16px,env(safe-area-inset-right,0px));top:18px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.amb-btns{display:flex;gap:3px;background:rgba(7,17,31,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px}
.amb-btns button{font:700 12px var(--font);color:#FFFFFF;background:transparent;border:0;border-radius:999px;padding:6px 10px;cursor:pointer;opacity:.75}
.amb-btns button[aria-pressed="true"]{background:#FFFFFF;color:var(--nuit);opacity:1}
.amb small{font-size:11px;font-weight:600;color:#DDE5EE;opacity:.85}
.credit{position:absolute;z-index:4;right:max(16px,env(safe-area-inset-right,0px));bottom:10px;font-size:11px;color:#C9D3DF;opacity:.7}
@media (max-width:700px){
  .hero{min-height:auto;align-items:stretch}
  .photos{bottom:auto;height:560px}
  .photos img[data-amb="matin"]{object-position:22% 60%}
  .photos img[data-amb="apres-midi"]{object-position:48% 55%}
  .photos img[data-amb="fin-apres-midi"]{object-position:78% 70%}
  .photos img[data-amb="soir"]{object-position:72% 60%}
  .hero{background:var(--nuit)}
  .photos::after{background:linear-gradient(180deg,rgba(7,17,31,.1) 0%,rgba(7,17,31,.2) 40%,rgba(7,17,31,.85) 78%,#07111F 100%)}
  .hero .w{padding-block:300px 34px}
  .amb{left:max(16px,env(safe-area-inset-left,0px));right:auto;align-items:flex-start}
  .actions .btn{flex:1 1 100%}
}


/* ===== Ambiances vivantes ===== */
.fx{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.fx span{position:absolute;opacity:0;transition:opacity 1.8s ease}
#ciel{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.brume{width:70%;height:55%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.55),rgba(255,255,255,0));filter:blur(8px)}
.b1{left:-10%;top:30%}.b2{right:-15%;top:10%}
.rayons{inset:-20% -10% auto auto;width:90%;height:120%;background:repeating-conic-gradient(from 200deg at 100% 0%,rgba(255,244,214,.22) 0deg 3deg,transparent 3deg 9deg);mask-image:radial-gradient(circle at 100% 0%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(circle at 100% 0%,#000 0%,transparent 70%)}
.eclat{right:8%;top:6%;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,250,220,.5) 18%,rgba(255,240,200,0) 62%)}
.soleil{right:6%;bottom:18%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,214,140,.95) 0%,rgba(255,150,60,.55) 22%,rgba(242,90,46,.18) 45%,rgba(242,90,46,0) 68%);mix-blend-mode:screen}
.phares{left:-40%;bottom:6%;width:40%;height:28%;background:radial-gradient(ellipse at center,rgba(255,246,200,.55),rgba(255,246,200,0) 70%);filter:blur(6px)}
.horloge{font-size:12px;font-weight:800;color:#FFFFFF;background:rgba(239,27,45,.9);border-radius:999px;padding:3px 10px;font-variant-numeric:tabular-nums}

/* matin : brume fraîche, rayons doux, image claire et un peu bleutée */
:root[data-ambiance="matin"]{--teinte:linear-gradient(180deg,rgba(150,205,235,.45),rgba(255,240,215,.25));--teinte-mode:soft-light;--filtre:saturate(.8) brightness(1.1) contrast(.95) hue-rotate(-8deg);
  --voile:linear-gradient(90deg,rgba(7,30,48,.80) 0%,rgba(7,30,48,.45) 45%,rgba(7,30,48,0) 80%)}
:root[data-ambiance="matin"] .brume,:root[data-ambiance="matin"] .rayons{opacity:1}
/* midi : plein soleil, net et contrasté, éclat en haut à droite */
:root[data-ambiance="apres-midi"]{--teinte:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0));--teinte-mode:overlay;--filtre:saturate(1.2) contrast(1.1) brightness(1.04)}
:root[data-ambiance="apres-midi"] .eclat{opacity:1}
/* soleil couchant : ciel orangé, gros soleil bas, poussières dorées */
:root[data-ambiance="fin-apres-midi"]{--teinte:linear-gradient(195deg,rgba(255,120,40,.75) 0%,rgba(230,70,90,.45) 45%,rgba(60,20,60,.35) 100%);--teinte-mode:soft-light;--filtre:saturate(1.3) contrast(1.08) sepia(.18);
  --voile:linear-gradient(90deg,rgba(40,12,20,.86) 0%,rgba(40,12,20,.5) 45%,rgba(40,12,20,0) 82%)}
:root[data-ambiance="fin-apres-midi"] .soleil{opacity:1}
/* nuit : bleu profond, étoiles, lumières de ville, phares qui balayent */
:root[data-ambiance="soir"]{--teinte:linear-gradient(180deg,rgba(25,50,130,.7),rgba(10,20,60,.45));--teinte-mode:multiply;--filtre:saturate(.8) brightness(.85) contrast(1.12) hue-rotate(8deg)}
:root[data-ambiance="soir"] .phares{opacity:1}

/* la page entière change aussi */
:root[data-ambiance="matin"] .confiance{background:#0E2F45}
:root[data-ambiance="fin-apres-midi"] .confiance{background:linear-gradient(90deg,#3A1220,#5B1E1A)}
:root[data-ambiance="fin-apres-midi"] .titre::after{background:linear-gradient(90deg,#F28A2E,#EF1B2D)}
:root[data-ambiance="matin"] .titre::after{background:linear-gradient(90deg,#22B8B5,#EF1B2D)}
:root[data-ambiance="soir"] .titre::after{background:linear-gradient(90deg,#F6C400,#EF1B2D)}
:root[data-ambiance="soir"] .carte{box-shadow:0 12px 30px rgba(0,0,0,.4)}
:root[data-ambiance="soir"] .prix i{background:#07111F;color:#F6C400}
.voile-transition{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:0;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.9),rgba(255,255,255,0) 60%)}
.voile-transition.go{animation:flash 1.1s ease}
@keyframes flash{0%{opacity:0}25%{opacity:.85}100%{opacity:0}}

@media (prefers-reduced-motion:no-preference){
  :root[data-ambiance="matin"] .b1{animation:derive 26s ease-in-out infinite alternate}
  :root[data-ambiance="matin"] .b2{animation:derive 32s ease-in-out infinite alternate-reverse}
  :root[data-ambiance="matin"] .rayons{animation:pulse 7s ease-in-out infinite}
  :root[data-ambiance="apres-midi"] .eclat{animation:pulse 5s ease-in-out infinite}
  :root[data-ambiance="fin-apres-midi"] .soleil{animation:couche 40s ease-in-out infinite alternate}
  :root[data-ambiance="soir"] .phares{animation:balaye 9s ease-in-out infinite}
}
@keyframes derive{from{transform:translateX(-6%)}to{transform:translateX(10%)}}
@keyframes pulse{0%,100%{opacity:.65}50%{opacity:1}}
@keyframes couche{from{transform:translateY(-4%) scale(1)}to{transform:translateY(6%) scale(1.08)}}
@keyframes balaye{0%{transform:translateX(0);opacity:0}15%{opacity:1}55%{transform:translateX(330%);opacity:.9}70%,100%{transform:translateX(330%);opacity:0}}
@media (max-width:700px){.soleil{width:260px;height:260px;right:-10%;bottom:30%}.eclat{width:140px;height:140px}}

/* Bandeau confiance */
.confiance{background:var(--nuit);color:#FFFFFF}
.confiance .w{display:grid;grid-template-columns:repeat(4,1fr);padding-block:22px}
.conf{display:flex;align-items:center;gap:14px;padding-inline:18px;border-left:1px solid rgba(255,255,255,.14);min-width:0}
.conf:first-child{border-left:0;padding-left:0}
.conf svg{width:34px;height:34px;flex:none;color:#FFFFFF}
.conf b{display:block;font-size:15px;font-weight:700;line-height:1.25}
.conf span{font-size:13px;opacity:.72;line-height:1.35;display:block}
@media (max-width:900px){.confiance .w{grid-template-columns:1fr 1fr;row-gap:18px}.conf:nth-child(3){border-left:0;padding-left:0}}
@media (max-width:480px){.confiance .w{grid-template-columns:1fr}.conf{border-left:0;padding-left:0}}

/* Sections */
.sec{padding-block:80px}
.sec.alt{background:var(--fond2);transition:background-color .8s}
.titre{font-size:clamp(28px,4vw,42px);font-weight:900;letter-spacing:-.02em;line-height:1.08;position:relative;padding-bottom:14px}
.titre::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;border-radius:2px;background:var(--rouge)}
.chapo{font-size:18px;color:var(--texte2);margin-top:16px;max-width:60ch}
.tete{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.lien{font-weight:700;color:var(--rouge);text-decoration:none;display:inline-flex;gap:6px;align-items:center}
:root[data-ambiance="soir"] .lien{color:var(--jaune)}
.lien:hover{text-decoration:underline;text-underline-offset:5px}

/* Formations : cartes photo */
.cartes{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}
.carte{display:flex;flex-direction:column;background:var(--carte);border:1px solid var(--trait);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 12px 30px rgba(7,17,31,.08);transition:transform .25s,box-shadow .25s,background-color .8s;min-width:0}
.carte:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(7,17,31,.16)}
.carte figure{margin:0;aspect-ratio:16/10;overflow:hidden;position:relative;max-width:100%}
.carte figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter 1.6s;filter:var(--filtre)}
.carte:hover figure img{transform:scale(1.05)}
.badge{position:absolute;left:12px;top:12px;background:var(--vert);color:#FFFFFF;font-size:12px;font-weight:800;padding:4px 9px;border-radius:6px}
.corps-wrap{display:flex;flex-direction:column;flex:1;min-width:0}
.carte .corps{padding:16px 16px 0;flex:1}
.carte h3{font-size:18px;font-weight:800;line-height:1.2}
.carte p{font-size:14px;color:var(--texte2);margin-top:6px;line-height:1.45}
.prix{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px;background:var(--jaune);color:var(--nuit);border-radius:10px;padding:10px 12px;font-weight:900;font-size:20px;font-variant-numeric:tabular-nums}
.prix small{font-size:12px;font-weight:700;margin-right:4px}
.prix i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#FFFFFF;flex:none}
.prix i svg{width:16px;height:16px}
.mention{font-size:13px;color:var(--texte2);margin-top:22px}
@media (max-width:1000px){.cartes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cartes{grid-template-columns:1fr}.carte{flex-direction:row;align-items:stretch}.carte figure{aspect-ratio:auto;width:38%;flex:none}.carte .corps{padding:12px 12px 0}.carte h3{font-size:16px}.carte p{font-size:13px}.prix{margin:10px 12px 12px;font-size:17px;padding:7px 10px}.corps-wrap{display:flex;flex-direction:column;min-width:0;flex:1}}

/* Parcours */
.etapes{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.etapes::before{content:"";position:absolute;left:30px;right:30px;top:29px;height:4px;background:repeating-linear-gradient(90deg,var(--texte) 0 24px,transparent 24px 40px);opacity:.22}
.etape{position:relative;padding-right:16px;min-width:0}
.etape b{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--fond);border:3px solid var(--rouge);color:var(--rouge);font-size:22px;font-weight:900;position:relative;z-index:1;transition:background-color .8s}
.etape:first-child b{background:var(--rouge);color:#FFFFFF}
.etape h3{font-size:17px;font-weight:800;margin-top:14px}
.etape p{font-size:14px;color:var(--texte2);margin-top:4px}
.etape em{display:inline-block;font-style:normal;margin-top:8px;background:var(--jaune);color:var(--nuit);font-weight:800;font-size:13px;border-radius:6px;padding:2px 8px}
@media (max-width:820px){
  .etapes{grid-template-columns:1fr;gap:22px}
  .etapes::before{left:28px;right:auto;top:10px;bottom:10px;width:4px;height:auto;background:repeating-linear-gradient(180deg,var(--texte) 0 18px,transparent 18px 30px)}
  .etape{display:grid;grid-template-columns:60px 1fr;column-gap:16px;padding-right:0}
  .etape b{grid-row:span 3}
  .etape h3{margin-top:4px}
  .etape em{justify-self:start}
}

/* Engagement */
.engage{position:relative;overflow:hidden;background:var(--noir);color:#FFFFFF}
.engage .fondphoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;filter:grayscale(.3)}
.engage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,1,1,.92) 30%,rgba(1,1,1,.6))}
.engage .w{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;padding-block:88px}
.devise{font-size:clamp(42px,6.6vw,80px);font-weight:900;line-height:.98;letter-spacing:-.03em}
.devise span{display:block;color:var(--rouge)}
.engage p{font-size:18px;color:#DCE3EC;max-width:46ch}
.engage p + p{margin-top:12px}
@media (max-width:820px){.engage .w{grid-template-columns:1fr;gap:20px;padding-block:64px}}

/* Qualité */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}
.bloc{background:var(--carte);border:1px solid var(--trait);border-radius:16px;padding:24px;min-width:0;transition:background-color .8s}
.bloc .ico{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(239,27,45,.1);color:var(--rouge)}
.bloc .ico svg{width:26px;height:26px}
.bloc h3{font-size:18px;font-weight:800;margin-top:14px}
.bloc p{color:var(--texte2);margin-top:8px;font-size:15px}
@media (max-width:820px){.trio{grid-template-columns:1fr}}

/* Évaluation */
.eval .w{display:grid;grid-template-columns:1fr minmax(0,450px);gap:56px;align-items:start}
.eval figure{margin:26px 0 0;border-radius:16px;overflow:hidden;aspect-ratio:16/9;max-width:100%}
.eval figure img{width:100%;height:100%;object-fit:cover;filter:var(--filtre)}
.insc-etapes{list-style:none;display:flex;gap:6px;padding:0;margin:14px 0 4px;counter-reset:e}
.insc-etapes li{flex:1;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--texte2);border-top:3px solid var(--trait);padding-top:8px}
.insc-etapes li b,.insc-t b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--rouge);color:#fff;font-size:12px}
.insc-t{margin:22px 0 0;font-weight:900;font-size:15px;display:flex;gap:8px;align-items:center;border-top:1px solid var(--trait);padding-top:14px}
.insc-aide{font-size:14px;color:var(--texte2);margin:6px 0 12px}
.badges-vrais{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.badges-vrais a{display:inline-block;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;border:1px solid var(--trait);color:var(--texte);text-decoration:none}
.coches{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.coches li{display:flex;gap:12px;color:var(--texte2)}
.coches svg{width:22px;height:22px;flex:none;color:var(--vert);margin-top:2px}
.form{background:var(--carte);border:1px solid var(--trait);border-radius:20px;padding:28px;box-shadow:0 24px 60px rgba(7,17,31,.14);position:sticky;top:90px;transition:background-color .8s}
.form .haut{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.form h3{font-size:20px;font-weight:800}
.montant{font-size:42px;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.precision{font-size:13px;color:var(--texte2)}
.desc{font-size:13px;color:var(--texte2);margin-top:12px;line-height:1.55}
.form label{display:block;font-weight:700;font-size:14px;margin:16px 0 6px}
.form input[type=text],.form input[type=email],.form select{width:100%;padding:13px 14px;border-radius:10px;border:1.5px solid var(--trait);background:var(--fond);color:var(--texte);font:500 16px var(--font)}
.form input:focus,.form select:focus{outline:none;border-color:var(--rouge);box-shadow:0 0 0 3px rgba(239,27,45,.2)}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:13px;line-height:1.5;color:var(--texte2)}
.form .check input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--rouge)}
.form .btn{width:100%;margin-top:18px}
.form .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.status{font-size:14px;font-weight:600;min-height:22px;margin-top:10px;color:var(--accent)}
.secu{font-size:12px;color:var(--texte2);text-align:center;display:flex;gap:6px;justify-content:center;align-items:center}
.secu svg{width:14px;height:14px}
@media (max-width:900px){.eval .w{grid-template-columns:1fr;gap:30px}.form{position:static;padding:22px}}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:34px}
.contact > div{min-width:0}
.ligne{display:flex;justify-content:space-between;gap:16px;padding-block:14px;border-bottom:1px solid var(--trait)}
.ligne span:first-child{color:var(--texte2)}
.ligne span:last-child{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:820px){.contact{grid-template-columns:1fr;gap:8px}}

/* Pied */
.pied{background:var(--nuit);color:#FFFFFF;font-size:13px}
.pied .w{padding-block:46px 120px;display:grid;gap:18px}
.pied img{height:60px;width:auto}
.pied p{opacity:.7;max-width:92ch}
.pied nav{display:flex;flex-wrap:wrap;gap:8px 20px;font-weight:600}

/* Barre téléphone */
.barre{display:none}
@media (max-width:900px){
  .barre{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:35;gap:10px;align-items:center;background:rgba(7,17,31,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#FFFFFF;
    padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));transition:transform .3s}
  .barre.cache{transform:translateY(110%)}
  .barre .btn{flex:1;padding:13px 12px;font-size:15px}
  .barre span{font-size:12px;line-height:1.25;font-weight:600;opacity:.85}
}

/* Mouvement : une entrée orchestrée et une photo qui respire */
@media (prefers-reduced-motion:no-preference){
  .photos img.on{animation:respire 22s ease-in-out infinite alternate}
  .slogan span{animation:monte .9s cubic-bezier(.2,.8,.2,1) both}
  .slogan span:nth-child(2){animation-delay:.12s}
  .slogan span:nth-child(3){animation-delay:.24s}
  .sous,.actions,.note,.lieu{animation:monte .9s .34s cubic-bezier(.2,.8,.2,1) both}
}
@keyframes respire{from{transform:scale(1.06) translate(0,0)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
@keyframes monte{from{opacity:.001;transform:translateY(20px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ===== Menu téléphone ===== */
.menu-btn{display:none;margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.3);color:#FFFFFF;border-radius:10px;width:44px;height:44px;cursor:pointer}
.menu-btn svg{width:22px;height:22px}
.menu{background:var(--nuit);border-top:1px solid rgba(255,255,255,.1)}
.menu nav{display:grid;padding-block:8px 16px}
.menu a{color:#FFFFFF;text-decoration:none;font-weight:700;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.nav a[aria-current="page"]{opacity:1;border-color:var(--rouge)}
@media (max-width:900px){.menu-btn{display:grid;place-items:center}.top .btn.sm{margin-left:0}}

/* ===== Bandeau des pages intérieures ===== */
.bandeau{position:relative;overflow:hidden;color:#FFFFFF;background:var(--nuit)}
.bandeau .photos{position:absolute;inset:0;overflow:hidden}
.bandeau .photos img{opacity:1;object-position:60% 40%}
.bandeau .w{position:relative;z-index:3;padding-block:76px 56px}
.fil{font-size:13px;font-weight:600;color:#CBD5E1}
.fil a{color:#FFFFFF}
.bandeau h1{font-size:clamp(36px,6vw,64px);font-weight:900;line-height:1.02;letter-spacing:-.025em;margin-top:12px;max-width:16ch}
.bandeau h1 span{color:var(--rouge)}
.bandeau .sous{max-width:46ch}
.bandeau .actions{margin-top:24px}
@media (max-width:700px){.bandeau .w{padding-block:56px 40px}.bandeau .photos{height:auto;bottom:0}}

/* ===== Fiches formation (neuf rubriques) ===== */
.fiches{display:grid;gap:18px;margin-top:36px}
.fiche{background:var(--carte);border:1px solid var(--trait);border-radius:16px;overflow:hidden;transition:background-color .8s}
.fiche summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center;padding:14px 18px 14px 14px}
.fiche summary::-webkit-details-marker{display:none}
.fiche summary img{width:120px;height:80px;object-fit:cover;border-radius:10px;filter:var(--filtre)}
.fiche summary h2{font-size:20px;font-weight:800;line-height:1.2}
.fiche summary p{font-size:14px;color:var(--texte2);margin-top:4px}
.fiche .prix{margin:0;min-width:150px}
.fiche .prix i{transition:transform .25s}
.fiche[open] .prix i{transform:rotate(90deg)}
.rubriques{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--trait)}
.rub{padding:16px 18px;border-right:1px solid var(--trait);border-bottom:1px solid var(--trait);min-width:0}
.rub:nth-child(3n){border-right:0}
.rub h3{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.rub p,.rub li{font-size:14px;color:var(--texte);margin-top:6px}
.rub ul{margin:0;padding-left:18px}
.fiche .cta{display:flex;flex-wrap:wrap;gap:12px;padding:16px 18px;background:var(--fond2)}
@media (max-width:820px){.rubriques{grid-template-columns:1fr 1fr}.rub:nth-child(3n){border-right:1px solid var(--trait)}.rub:nth-child(2n){border-right:0}}
@media (max-width:560px){.fiche summary{grid-template-columns:72px 1fr;gap:12px}.fiche summary img{width:72px;height:72px}.fiche .prix{grid-column:1 / -1;min-width:0}.rubriques{grid-template-columns:1fr}.rub{border-right:0!important}}

/* ===== Tableau des prestations ===== */
.grille{margin-top:30px;border-top:2px solid var(--texte)}
.ligne-prix{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-block:14px;border-bottom:1px solid var(--trait)}
.ligne-prix span:first-child{min-width:0}
.ligne-prix small{display:block;color:var(--texte2);font-size:13px}
.ligne-prix b{font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--jaune);color:var(--nuit);padding:2px 9px;border-radius:6px}

/* ===== Blocs de contenu ===== */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:36px}
.duo > *{min-width:0}
.duo figure{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/3;max-width:100%}
.duo figure img{width:100%;height:100%;object-fit:cover;filter:var(--filtre)}
.texte p{color:var(--texte2);font-size:17px}
.texte p + p{margin-top:12px}
.texte h3{font-size:20px;font-weight:800;margin-top:22px}
.encadre{background:var(--carte);border:1px solid var(--trait);border-left:5px solid var(--vert);border-radius:14px;padding:20px 22px;margin-top:22px}
.encadre.rouge{border-left-color:var(--rouge)}
.encadre h3{font-size:17px;font-weight:800;margin:0}
.encadre p{margin-top:8px;color:var(--texte2)}
.vert{color:var(--vert);font-weight:800}
@media (max-width:820px){.duo{grid-template-columns:1fr;gap:24px}}

/* Semaine type */
.semaine{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:30px}
.jour{background:var(--carte);border:1px solid var(--trait);border-radius:14px;padding:16px;min-width:0;transition:background-color .8s}
.jour b{display:block;font-size:13px;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}
.jour p{font-size:14px;margin-top:6px;color:var(--texte2)}
@media (max-width:820px){.semaine{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.semaine{grid-template-columns:1fr}}

/* Offre étudiante */
.offre{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.offre .carte{padding-top:18px}
.offre .carte .corps{padding-top:0}
.ruban{display:inline-block;background:var(--rouge);color:#FFFFFF;font-size:12px;font-weight:800;border-radius:6px;padding:3px 9px;margin:0 16px 10px}
@media (max-width:900px){.offre{grid-template-columns:1fr}}

/* FAQ */
.faq{margin-top:28px;border-top:1px solid var(--trait)}
.faq details{border-bottom:1px solid var(--trait);padding-block:16px}
.faq summary{cursor:pointer;font-weight:800;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--rouge)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--texte2);margin-top:10px;max-width:70ch}

/* lisibilité du titre sur photo */
.bandeau .photos::after{background:linear-gradient(90deg,rgba(7,17,31,.92) 0%,rgba(7,17,31,.7) 50%,rgba(7,17,31,.25) 100%)!important}
.bandeau h1,.bandeau .sous{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.bandeau h1 span{color:#FF4D5E}
.top .btn.sm{white-space:nowrap}
@media (max-width:380px){.top .btn.sm{display:none}}

/* cartes-boutons (choix d'édition) */
button.carte{font:inherit;color:inherit;text-align:left;cursor:pointer;padding:18px 0 0;width:100%}
.carte.option.on{outline:3px solid var(--rouge);outline-offset:-3px}
.carte.option:not(.on) .prix i{opacity:.25}
.nav{gap:18px}
/* sans JS : seuil fixe ; avec JS (.mesure), jc.js mesure la place et range les liens dans « Plus » ou bascule en burger (.replie) */
@media (max-width:1180px){.top:not(.mesure) .nav{display:none}.top:not(.mesure) .menu-btn{display:grid;place-items:center}}
.top.replie .nav{display:none}
.top.replie .menu-btn{display:grid;place-items:center}
.top.replie .langue{margin-left:auto}
.nav-plus{position:relative}
.nav-plus summary{list-style:none;cursor:pointer;opacity:.85;padding-block:8px;border-bottom:2px solid transparent;white-space:nowrap}
.nav-plus summary::-webkit-details-marker{display:none}
.nav-plus summary::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.nav-plus[open] summary::after{transform:translateY(0) rotate(-135deg)}
.nav-plus summary:hover,.nav-plus[open] summary,.nav-plus.actif summary{opacity:1;border-color:var(--rouge)}
.nav-plus-liste{position:absolute;right:0;top:calc(100% + 12px);min-width:220px;display:grid;padding:8px;background:var(--nuit);border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.nav .nav-plus-liste a{opacity:.9;padding:10px 12px;border-bottom:0;border-radius:8px}
.nav .nav-plus-liste a:hover{opacity:1;background:rgba(255,255,255,.08)}
.nav .nav-plus-liste a[aria-current="page"]{opacity:1;box-shadow:inset 3px 0 0 var(--rouge)}

/* champs sans type, cartes d'offre en colonne, en-tête téléphone */
.form input:not([type=checkbox]){width:100%;padding:13px 14px;border-radius:10px;border:1.5px solid var(--trait);background:var(--fond);color:var(--texte);font:500 16px var(--font)}
.form input:not([type=checkbox]):focus{outline:none;border-color:var(--rouge);box-shadow:0 0 0 3px rgba(239,27,45,.2)}
.offre .carte{flex-direction:column!important}
.offre .carte .corps{padding:0 16px}
@media (max-width:440px){.marque small{display:none}.marque b{font-size:15px}}
.ruban{align-self:flex-start}

/* ===== Espaces privés ===== */
.bandeau-court .w{padding-block:56px 40px}
.connexion{display:grid;grid-template-columns:minmax(0,440px) 1fr;gap:48px;align-items:start}
.connexion .form .titre{margin-bottom:8px}
.connexion form .btn{width:100%;margin-top:16px}
.qr-totp{margin:12px 0;width:220px;max-width:100%;padding:0;border-radius:8px;overflow:hidden;background:#fff}
.qr-totp svg{display:block;width:100%;height:auto}
.qr-cle{margin:8px 0 12px}.qr-cle summary{cursor:pointer}.qr-cle code{overflow-wrap:anywhere}
.lien-btn{background:none;border:0;color:var(--accent);font:700 14px var(--font);cursor:pointer;padding:12px 0 0;text-decoration:underline;text-underline-offset:4px}
.status.erreur{color:var(--rouge)}
.esp-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.esp-role{font-size:13px;font-weight:800;color:var(--accent)}
.ghost-sombre{background:transparent;color:var(--texte);box-shadow:inset 0 0 0 2px var(--trait)}
.ghost-sombre:hover{background:var(--fond2)}
.onglets{display:flex;gap:6px;overflow-x:auto;margin-top:26px;border-bottom:1px solid var(--trait);scrollbar-width:none}
.onglets button{font:700 14px var(--font);color:var(--texte2);background:none;border:0;border-bottom:3px solid transparent;padding:12px 14px;cursor:pointer;white-space:nowrap}
.onglets button[aria-selected="true"]{color:var(--texte);border-color:var(--rouge)}
.panneau{padding-top:26px;min-height:200px}
.chargement,.vide p{color:var(--texte2)}
.vide{border:2px dashed var(--trait);border-radius:14px;padding:28px;text-align:center}
.tuiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tuile{background:var(--carte);border:1px solid var(--trait);border-radius:16px;padding:18px;min-width:0}
.tuile b{display:block;font-size:34px;font-weight:900;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tuile span{display:block;font-weight:700}
.tuile small{color:var(--texte2)}
.sous-titre{font-size:18px;font-weight:800;margin:28px 0 12px}
.barres,.dims{display:grid;gap:8px;max-width:640px}
.barre-l{display:grid;grid-template-columns:160px 1fr 56px;align-items:center;gap:12px;font-size:14px}
.barre-l i{display:block;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--rouge) calc(var(--v)*100%),var(--fond2) 0)}
.barre-l b{text-align:right;font-variant-numeric:tabular-nums}
.tab-wrap{overflow-x:auto;border:1px solid var(--trait);border-radius:14px;background:var(--carte)}
.tab{width:100%;border-collapse:collapse;font-size:14px}
.tab th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--texte2);padding:12px 14px;border-bottom:1px solid var(--trait)}
.tab td{padding:12px 14px;border-bottom:1px solid var(--trait);vertical-align:top}
.tab tr:last-child td{border-bottom:0}
.tab td small{display:block;color:var(--texte2)}
.tab tr.inactif{opacity:.55}
.tab select,.ligne-form select,.form-mini select{padding:8px 10px;border-radius:8px;border:1.5px solid var(--trait);background:var(--fond);color:var(--texte);font:600 14px var(--font)}
.btn.danger{background:transparent;color:var(--rouge);box-shadow:inset 0 0 0 2px var(--rouge)}
.filtre{width:100%;max-width:360px;padding:11px 14px;border-radius:10px;border:1.5px solid var(--trait);background:var(--fond);color:var(--texte);font:500 15px var(--font);margin-bottom:14px}
.puce{display:inline-block;background:var(--jaune);color:var(--nuit);font-weight:800;font-size:12px;border-radius:999px;padding:3px 10px}
.grille-form{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;max-width:760px;position:static}
.grille-form .plein{grid-column:1 / -1}
.grille-form textarea,.form-mini textarea{width:100%;padding:12px;border-radius:10px;border:1.5px solid var(--trait);background:var(--fond);color:var(--texte);font:500 15px var(--font)}
.grille-form select{width:100%;padding:13px;border-radius:10px;border:1.5px solid var(--trait);background:var(--fond);color:var(--texte);font:500 16px var(--font)}
.form-mini{display:grid;gap:10px;margin-top:12px;background:var(--fond2);padding:14px;border-radius:12px}
.ligne-form{display:flex;align-items:center;gap:12px;margin:12px 0;font-weight:700}
.liste{padding-left:18px;margin:0}
.liste li{margin:4px 0;color:var(--texte2)}
.avert{border-left:4px solid var(--rouge);padding-left:10px;color:var(--texte2);font-size:14px}
.modale{position:fixed;inset:0;z-index:60;background:rgba(3,8,18,.7);display:grid;place-items:center;padding:16px}
.modale-in{position:relative;background:var(--fond);color:var(--texte);border-radius:18px;width:min(760px,100%);max-height:88vh;overflow:auto;padding:28px}
.modale-in h2{font-size:26px;font-weight:900}
.fermer{position:absolute;right:12px;top:10px;background:none;border:0;font-size:30px;line-height:1;color:var(--texte2);cursor:pointer}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--nuit);color:#fff;padding:12px 18px;border-radius:12px;z-index:70;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.3)}
@media (max-width:860px){.connexion{grid-template-columns:1fr;gap:28px}.tuiles{grid-template-columns:1fr 1fr}.grille-form{grid-template-columns:1fr}.barre-l{grid-template-columns:110px 1fr 48px}}
.lien-espace{color:#fff;font-weight:700;font-size:14px;text-decoration:none;padding:9px 12px;border-radius:10px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4);white-space:nowrap}
.lien-espace:hover{background:rgba(255,255,255,.1)}
@media (max-width:520px){.lien-espace{display:none}}

[hidden]{display:none!important}

/* ===== Cadrage des photos : les visages ne passent jamais sous le texte ===== */
@media (min-width:821px){
  .bandeau{min-height:440px;display:flex;align-items:center}
  .bandeau .photos{left:38%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}
  .bandeau .photos::after{background:linear-gradient(0deg,rgba(7,17,31,.35),rgba(7,17,31,0) 40%)!important}
  .bandeau .w{width:100%}
  .bandeau h1,.bandeau .sous{max-width:min(46ch,52%)}
  .bandeau h1{max-width:min(14ch,50%)}
  .hero .photos{left:34%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20%);mask-image:linear-gradient(90deg,transparent 0,#000 20%)}
  .hero .photos::after{background:linear-gradient(0deg,rgba(7,17,31,.55),rgba(7,17,31,0) 45%)!important}
  .hero .slogan,.hero .sous,.hero .note{max-width:min(13ch,48%)}
  .hero .sous,.hero .note{max-width:min(34ch,40%)}
  .credit{right:max(16px,env(safe-area-inset-right,0px))}
}
@media (max-width:820px){
  .bandeau{display:flex;flex-direction:column}
  .bandeau .photos{position:relative;inset:auto;height:auto;aspect-ratio:16/10;max-width:100%;margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)))}
  .bandeau .photos img{position:absolute;inset:0}
  .bandeau .photos::after{background:linear-gradient(0deg,#07111F 0,rgba(7,17,31,0) 35%)!important}
  .bandeau .w{padding-block:18px 36px}
  .bandeau .fx,.bandeau #ciel{bottom:auto;height:calc(100vw * .625)}
  .bandeau .credit{top:calc(100vw * .625 - 26px);bottom:auto}
}
@media (max-width:820px){
  .bandeau .photos{max-width:none;width:calc(100% + 2*max(16px,env(safe-area-inset-left,0px)))}
}
@media (min-width:821px){
  .hero .photos{left:44%}
  .hero .slogan{max-width:9.5ch}
  .hero .sous,.hero .note{max-width:min(34ch,40%)}
}
@media (max-width:700px){
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero .photos{position:relative;inset:auto;height:auto;aspect-ratio:4/3;width:calc(100% + 32px);margin-inline:-16px;max-width:none}
  .hero .photos img{position:absolute;inset:0}
  .hero .photos::after{background:linear-gradient(0deg,#07111F 0,rgba(7,17,31,0) 40%)!important}
  .hero .w{padding-block:8px 34px}
  .hero .fx,.hero #ciel{height:calc(100vw * .75);bottom:auto}
  .hero .amb{top:12px}
  .hero .credit{top:calc(100vw * .75 - 24px);bottom:auto}
}

/* ===== Infos du moment, réseaux, fondatrice ===== */
.infos-jour{padding-block:56px}
.infos-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:28px}
.info{position:relative;background:var(--carte);border:1px solid var(--trait);border-radius:16px;padding:20px;overflow:hidden;min-width:0;transition:background-color .8s}
.info::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--rouge)}
.info-offre::before{background:var(--jaune)}.info-info::before{background:var(--turquoise)}.info-evenement::before{background:var(--sunset)}.info-international::before{background:var(--vert)}
.info-type{display:inline-block;font-size:12px;font-weight:800;background:var(--fond2);color:var(--texte);border-radius:999px;padding:3px 10px}
.info h3{font-size:19px;font-weight:800;margin-top:10px}
.info p{color:var(--texte2);margin-top:6px}
.info small{display:block;color:var(--texte2);margin-top:8px;font-weight:600}
.info .lien{display:inline-block;margin-top:10px}
@media (prefers-reduced-motion:no-preference){.info-examen::after{content:"";position:absolute;right:16px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--rouge);box-shadow:0 0 0 0 rgba(239,27,45,.6);animation:bip 1.8s infinite}}
@keyframes bip{70%{box-shadow:0 0 0 12px rgba(239,27,45,0)}100%{box-shadow:0 0 0 0 rgba(239,27,45,0)}}
.reseaux{display:flex;flex-wrap:wrap;gap:8px}
.reseau{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-weight:700;font-size:14px;text-decoration:none;color:#fff;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.reseau::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.reseau:hover{background:rgba(255,255,255,.2)}
.reseaux.grand{margin-top:22px}
.reseaux.grand .reseau{color:var(--texte);background:var(--carte);box-shadow:inset 0 0 0 1.5px var(--trait);padding:12px 18px;font-size:15px}
.r-instagram::before{background:#E1306C}.r-facebook::before{background:#1877F2}.r-tiktok::before,.r-tiktok2::before,.r-tiktok_perso::before{background:#25F4EE}.r-snapchat::before{background:#FFFC00}.r-linkedin::before{background:#0A66C2}.r-youtube::before{background:#FF0000}.r-google::before{background:#34A853}
.pied .reseaux{margin-bottom:4px}
.duo-suivre{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.duo-suivre > *{min-width:0}
.carte-fondatrice{display:block;text-decoration:none;color:#fff;background:linear-gradient(135deg,#07111F,#2A0E14);border-radius:20px;padding:28px;box-shadow:0 24px 50px rgba(7,17,31,.25)}
.carte-fondatrice .ruban{margin:0 0 12px}
.carte-fondatrice h3{font-size:24px;font-weight:900}
.carte-fondatrice p{color:#D3DBE6;margin-top:8px}
.carte-fondatrice .lien{color:var(--jaune);display:inline-block;margin-top:14px;font-weight:800}
.portrait-vide{aspect-ratio:4/5;max-width:100%;border-radius:20px;background:linear-gradient(160deg,#07111F,#3A1220);display:grid;place-content:center;text-align:center;color:#fff}
.portrait-vide span{font-size:72px;font-weight:900;letter-spacing:-.04em}
.portrait-vide small{opacity:.7;font-weight:700}
@media (max-width:820px){.duo-suivre{grid-template-columns:1fr;gap:24px}}
.nav a{white-space:nowrap}
@media (min-width:821px) and (max-width:1360px){.nav{gap:14px}.nav a{font-size:13px}}

/* ===== Pilotage gérance ===== */
.a-faire{list-style:none;padding:0;margin:8px 0 24px;display:grid;gap:8px}
.a-faire button{width:100%;text-align:left;background:var(--carte);border:1px solid var(--trait);border-left:5px solid var(--jaune);border-radius:12px;padding:14px 16px;font:inherit;font-weight:700;color:var(--texte);cursor:pointer}
.a-faire .urgent button{border-left-color:var(--rouge)}
.a-faire button:hover{background:var(--fond2)}
.a-faire-ok{font-weight:700;color:var(--vert);margin:8px 0 24px}
.tuile.cle{background:linear-gradient(135deg,#07111F,#2A0E14);color:#fff;border-color:transparent}
.tuile.cle span,.tuile.cle small{color:#D3DBE6}
.tend{display:block;font-style:normal;font-size:12px;font-weight:800;margin-top:6px}
.tend.up{color:var(--vert)}.tend.down{color:var(--rouge)}
.tuile.cle .tend.up{color:#5BE39A}.tuile.cle .tend.down{color:#FF8A94}
.graph-ca{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;height:200px;padding:12px;background:var(--carte);border:1px solid var(--trait);border-radius:16px;margin-bottom:24px}
.graph-ca .col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.graph-ca i{display:block;width:70%;max-width:34px;height:calc(var(--v) * 130px);min-height:3px;border-radius:6px 6px 2px 2px;background:var(--turquoise,#16A3A3);transition:height .6s}
.graph-ca .en-cours i{background:var(--rouge)}
.graph-ca small{font-size:10px;font-weight:700;color:var(--texte2);white-space:nowrap;margin-bottom:4px;overflow:hidden;max-width:100%}
.graph-ca span{font-size:11px;font-weight:700;color:var(--texte2);margin-top:6px}
.pilote-duo{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pilote-duo>*{min-width:0}
@media (max-width:820px){.pilote-duo{grid-template-columns:1fr}.graph-ca small{display:none}.graph-ca{gap:3px;padding:10px 6px}}

/* ===== Langue et pages anglaises ===== */
.langue{color:#fff;font-weight:800;font-size:13px;text-decoration:none;border:1.5px solid rgba(255,255,255,.35);border-radius:8px;padding:6px 9px;margin-left:8px;letter-spacing:.04em}
.langue:hover{background:rgba(255,255,255,.12)}
@media (max-width:1180px){.top:not(.mesure) .langue{margin-left:auto}}
@media (max-width:900px){.top .langue{margin-left:auto}}
.cta-en{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.liste-en{margin:16px 0;padding-left:20px;display:grid;gap:10px;color:var(--texte2)}
.liste-en b{color:var(--texte)}
.bloc .lien{display:inline-block;margin-top:10px}
@media (max-width:640px){.top .langue{display:none}}

/* ===== Pages réglementaires ===== */
.tab-horaires{width:100%;border-collapse:collapse;margin:10px 0 16px;background:var(--carte);border-radius:12px;overflow:hidden}
.tab-horaires th,.tab-horaires td{padding:12px 14px;border-bottom:1px solid var(--trait);text-align:left;vertical-align:top;font-size:15px}
.tab-horaires th{width:34%;font-weight:800;color:var(--texte)}
.tab-horaires td{color:var(--texte2)}
.texte-long{max-width:820px}
.texte-long h2{font-size:22px;font-weight:900;margin:32px 0 10px}
.texte-long h3{font-size:17px;font-weight:800;margin:18px 0 6px}
.texte-long p{color:var(--texte2);line-height:1.65;margin:0 0 12px}
.docs-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:20px}
.docs-liste a{display:block;background:var(--carte);border:1px solid var(--trait);border-radius:14px;padding:16px 18px;font-weight:800;color:var(--texte);text-decoration:none}
.docs-liste a:hover{border-color:var(--rouge)}
@media print{
  .top,.menu,.barre,.fx,#ciel,.amb-btns,.photos,.credit,.cta-en,.pied .reseaux,[data-reseaux],.bandeau-test,#voile,.menu-btn{display:none!important}
  html,body{background:#fff!important;color:#000!important}
  *{box-shadow:none!important;text-shadow:none!important;animation:none!important}
  .bandeau,.sec,.alt{background:#fff!important;color:#000!important;padding:12px 0!important;min-height:0!important}
  .bandeau h1,.bandeau .sous,.bandeau .fil,.titre,h2,h3,p,td,th,li,small,b{color:#000!important}
  .bloc,.encadre,.fiche,.info,.carte,.tuile,.docs-liste a{border:1px solid #999!important;background:#fff!important;break-inside:avoid}
  a{color:#000!important}
  .pied{background:#fff!important;color:#000!important}
  .pied p{color:#000!important}
}
@page{margin:14mm}

/* ===== Bandeau court (pages sans photo) ===== */
.bandeau.court{min-height:0!important;padding:120px 0 40px!important}

.tab-scroll{overflow-x:auto}
.tab-rgpd th{width:30%}

/* ===== Pages fonctionnelles (paiement, ateliers, suivi) ===== */
.boutique{padding-top:120px!important;min-height:70vh}
.boutique .w{max-width:900px}
.boutique h1{font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1.15;margin:8px 0 14px}
.boutique h2{font-size:22px;font-weight:800;margin:26px 0 10px}
.boutique p,.boutique li{line-height:1.65;color:var(--texte2)}
.boutique .kicker,.boutique small{color:var(--rouge);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.boutique .lead{font-size:17px}
.boutique .panel,.boutique .card,.boutique section[id]{background:var(--carte);border:1px solid var(--trait);border-radius:16px;padding:20px;margin:14px 0}
.boutique .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.boutique .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.boutique .grid>*{min-width:0}
.boutique .flex{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.boutique .muted{color:var(--texte2)}
.boutique .action,.boutique button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--rouge);color:#fff;border:0;border-radius:12px;padding:13px 20px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}
.boutique .action.secondary{background:transparent;color:var(--texte);box-shadow:inset 0 0 0 1.5px var(--trait)}
.boutique .action.yellow{background:var(--jaune);color:#07111F}
.boutique button:disabled{opacity:.5;cursor:default}
.boutique input,.boutique select,.boutique textarea{width:100%;font:inherit;padding:12px 14px;border-radius:10px;border:1.5px solid var(--trait);background:var(--fond);color:var(--texte);margin:6px 0 12px}
.boutique textarea{min-height:150px;resize:vertical}
.boutique label{font-weight:700;display:block}
.boutique table{width:100%;border-collapse:collapse}
.boutique td,.boutique th{padding:10px;border-bottom:1px solid var(--trait);text-align:left}
@media (max-width:820px){.boutique .grid,.boutique .grid.two{grid-template-columns:1fr}.boutique{padding-top:96px!important}}
.boutique input[type=checkbox],.boutique input[type=radio]{width:auto;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--rouge)}
.boutique label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:8px}

/* ===== Lisibilité (WCAG AA) : rouge un cran plus soutenu pour le petit texte et les boutons ===== */
:root{--rouge-lisible:#D91A2A}
.btn:not(.ghost):not(.danger):not(.sm-clair){background:var(--rouge-lisible)}
.btn:not(.ghost):not(.danger):hover{background:var(--rouge-fonce)}
.lien,.status.erreur,.tend.down,.btn.danger,.boutique .kicker,.boutique small,.fil a:hover{color:var(--rouge-lisible)}
.btn.danger{box-shadow:inset 0 0 0 2px var(--rouge-lisible)}
.boutique .action:not(.secondary):not(.yellow),.boutique button{background:var(--rouge-lisible)}
.ruban{background:var(--rouge-lisible)}
:root{--accent-txt:#0E6E6B;--vert-txt:#077038}
[data-ambiance="soir"]{--accent-txt:#5FD3CF;--vert-txt:#4FD08A}
.jour b,.lien-btn,.esp-role,.rub h3,.status:not(.erreur),.a-faire-ok{color:var(--accent-txt)}
.vert,.tend.up{color:var(--vert-txt)}
.a-faire-ok{color:var(--vert-txt)}
.ruban.vert,.carte .ruban[class*=vert]{background:#077038!important;color:#fff!important}
.ruban.vert-fond,.badge{background:#077038}
.lien,a.lien,.texte-long a,.chapo a,.mention a{color:var(--rouge-fonce)}
[data-ambiance="soir"] .lien,[data-ambiance="soir"] .texte-long a,[data-ambiance="soir"] .chapo a{color:#FF6B78}
[data-ambiance="soir"] .boutique .kicker,[data-ambiance="soir"] .boutique small,[data-ambiance="soir"] .status.erreur{color:#FF6B78}

/* ===== Boutique ===== */
.boutique-hero{background:radial-gradient(ellipse at 70% 0%,#2A0E14,#07111F 70%)!important}
.bq-etat{display:inline-block;margin-top:16px;background:var(--jaune);color:#07111F;font-weight:800;border-radius:999px;padding:8px 16px}
.bq-tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px}
.bq-filtres{display:flex;gap:8px;flex-wrap:wrap}
.bq-filtres button{font:inherit;font-weight:700;border:1.5px solid var(--trait);background:var(--carte);color:var(--texte);border-radius:999px;padding:8px 16px;cursor:pointer}
.bq-filtres button[aria-pressed="true"]{background:var(--texte);color:var(--fond);border-color:var(--texte)}
.bq-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin:24px 0}
.bq-carte{background:var(--carte);border:1px solid var(--trait);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}
.bq-carte:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(7,17,31,.14)}
.bq-visuel{position:relative;aspect-ratio:4/3;background:linear-gradient(150deg,#07111F,#1B2A44 60%,#3A1220);color:#fff;display:grid;place-items:center}
.bq-visuel svg{width:46%;height:auto;opacity:.92}
.bq-mono{position:absolute;right:14px;bottom:10px;font-weight:900;font-size:22px;letter-spacing:-.03em;color:var(--jaune)}
.bq-visuel small{position:absolute;left:14px;bottom:12px;font-size:11px;font-weight:700;opacity:.75;text-transform:uppercase;letter-spacing:.08em}
.bq-corps{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.bq-corps h3{font-size:19px;font-weight:800}
.bq-corps p{color:var(--texte2);font-size:14px}
.bq-badge{align-self:flex-start;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#07111F;background:var(--jaune);border-radius:6px;padding:3px 8px}
.bq-choix{display:flex;gap:8px;flex-wrap:wrap}
.bq-choix select{font:inherit;font-size:14px;padding:8px 10px;border-radius:10px;border:1.5px solid var(--trait);background:var(--fond);color:var(--texte)}
.bq-bas{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:8px}
.bq-prix{font-size:20px;font-weight:900}
.bq-bas .btn:disabled{background:var(--fond2)!important;color:var(--texte2);box-shadow:none;cursor:default}
.bq-panier-btn{position:fixed;right:16px;bottom:88px;z-index:60;font:inherit;font-weight:800;background:#07111F;color:#fff;border:0;border-radius:999px;padding:14px 20px;box-shadow:0 12px 30px rgba(0,0,0,.3);cursor:pointer}
.bq-panier-btn b{background:var(--jaune);color:#07111F;border-radius:999px;padding:2px 8px;margin-left:6px}
.bq-panier{position:fixed;inset:0;z-index:80;background:rgba(7,17,31,.55);display:flex;justify-content:flex-end}
.bq-panier-in{width:min(440px,100%);height:100%;overflow:auto;background:var(--fond);color:var(--texte);padding:24px;box-shadow:-20px 0 40px rgba(0,0,0,.25)}
.bq-panier-tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.bq-panier-tete h2{font-size:22px;font-weight:900}
.bq-ligne{display:grid;grid-template-columns:1fr 64px auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--trait)}
.bq-ligne small{display:block;color:var(--texte2)}
.bq-ligne input{width:64px;padding:8px;border-radius:8px;border:1.5px solid var(--trait);background:var(--carte);color:var(--texte);font:inherit}
.bq-ligne .lien-btn{grid-column:1/-1;justify-self:start;padding:0}
.bq-totaux{margin:14px 0}
.bq-totaux p{display:flex;justify-content:space-between}
.bq-totaux small{display:block;color:var(--texte2);margin-top:6px}
.bq-total{font-size:18px;border-top:2px solid var(--texte);padding-top:8px;margin-top:8px}
.carte-produit{border:1px solid var(--trait);border-radius:14px;padding:16px;margin:12px 0}
@media (max-width:820px){.bq-panier-btn{bottom:84px}}
/* En-tête : le nom ne se tasse plus contre le menu */
.marque{flex-shrink:0;white-space:nowrap}
/* Photos de bandeau : visages jamais coupés en haut */
.bandeau .photos img{object-position:50% 18%}
.bandeau .photos img.miroir{transform:scaleX(-1)}
/* Champ mot de passe avec œil */
.mdp-zone{position:relative;display:block}
.mdp-zone input{width:100%;padding-right:52px!important}
.mdp-oeil{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;background:transparent;color:inherit;opacity:.75;cursor:pointer;display:grid;place-items:center;border-radius:10px}
.mdp-oeil:hover,.mdp-oeil[aria-pressed="true"]{opacity:1}
.mdp-oeil:focus-visible{outline:2px solid var(--rouge-lisible,#D91A2A);outline-offset:1px}
.mdp-oeil svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ===== Moins de mots, plus de visuel ===== */
/* Tuiles pictogrammes */
.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:26px}
.tuile{background:var(--carte,rgba(255,255,255,.04));border:1px solid var(--trait,rgba(255,255,255,.12));border-radius:18px;padding:20px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.tuile svg{width:34px;height:34px;color:var(--rouge-lisible,#D91A2A)}
.tuile b{font-size:17px;font-weight:800;line-height:1.2}
.tuile small{font-size:14px;color:var(--texte2);line-height:1.35}
.engage .tuile,.g .engage .tuile{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.engage .tuile svg{color:#F6C400}.engage .tuile small{color:#C9D3DE}
/* Chiffre clé animé */
.cle-chiffre{font-size:clamp(34px,6vw,54px);font-weight:900;line-height:1;letter-spacing:-.02em}
/* Pour en savoir plus */
details.plus{margin-top:16px;border-top:1px solid var(--trait,rgba(255,255,255,.12));padding-top:12px}
details.plus summary{cursor:pointer;font-weight:700;list-style:none;display:inline-flex;align-items:center;gap:8px;color:var(--rouge-fonce,#B3121F)}
details.plus summary::-webkit-details-marker{display:none}
details.plus summary::after{content:"+";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;font-size:15px;line-height:1;transition:transform .25s}
details.plus[open] summary::after{transform:rotate(45deg)}
details.plus > *:not(summary){margin-top:10px}
/* Apparition au défilement (seulement si JS actif et mouvement autorisé) */
@media (prefers-reduced-motion:no-preference){
  .js-rv .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0ms)}
  .js-rv .rv.vu{opacity:1;transform:none}
  /* Parcours : la route se dessine et la voiture avance */
  .js-rv .etapes::after{content:"";position:absolute;left:30px;top:29px;height:4px;width:0;background:linear-gradient(90deg,var(--rouge),#F6C400);border-radius:4px;transition:width 2.4s cubic-bezier(.4,0,.2,1) .2s;z-index:0}
  .js-rv .etapes.vu::after{width:calc(100% - 60px)}
  .js-rv .etape b{transform:scale(.6);transition:transform .5s cubic-bezier(.3,1.6,.5,1),background .3s,color .3s;transition-delay:calc(var(--rd,0ms) + 300ms)}
  .js-rv .etapes.vu .etape b{transform:none;background:var(--rouge);color:#fff}
  .tuile svg{transition:transform .35s}.tuile:hover svg{transform:translateY(-3px) rotate(-6deg)}
}
@media (prefers-reduced-motion:no-preference) and (max-width:820px){
  .js-rv .etapes::after{left:28px;top:10px;width:4px;height:0;transition:height 2.4s cubic-bezier(.4,0,.2,1) .2s}
  .js-rv .etapes.vu::after{width:4px;height:calc(100% - 20px)}
}
.etape .pic{display:block;margin-top:12px;color:var(--rouge-lisible,#D91A2A)}
.etape .pic svg{width:28px;height:28px}
@media (max-width:820px){.etape em{grid-column:2;justify-self:start}}
@media (prefers-reduced-motion:no-preference) and (min-width:821px){.js-rv .etapes.vu::after{width:80%}}
@media (max-width:560px){.tuiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tuile{padding:14px 10px;gap:6px}.tuile svg{width:28px;height:28px}.tuile b{font-size:14px}.tuile small{font-size:12px}}
.tuiles.chiffres{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.tuiles.chiffres .cle-chiffre{color:var(--rouge-lisible,#D91A2A)}
.tuile .oui,.tuile .non{margin-top:auto;font-weight:800;font-size:14px;padding:3px 10px;border-radius:99px}
.tuile .oui{background:rgba(10,143,72,.14);color:var(--vert-txt,#0A7A3E)}
.tuile .non{background:rgba(217,26,42,.12);color:var(--rouge-fonce,#B3121F)}
@media (max-width:560px){.tuiles.chiffres,.tuiles.paie{grid-template-columns:1fr 1fr}.tuiles.chiffres .cle-chiffre{font-size:30px}}
.cle-chiffre{white-space:nowrap}
.duo .tuiles.chiffres{grid-template-columns:repeat(3,minmax(0,1fr))}
.duo .tuiles.chiffres .cle-chiffre{font-size:clamp(26px,2.6vw,38px)}
@media (max-width:560px){.duo .tuiles.chiffres{grid-template-columns:repeat(3,minmax(0,1fr))}.duo .tuiles.chiffres .cle-chiffre{font-size:24px}.duo .tuiles.chiffres .tuile{padding:12px 8px}}
.cle-chiffre span,[data-compte]{display:inline!important}
.rub > h3{display:flex;align-items:center;gap:8px}
.rub-ico{width:22px;height:22px;flex:none;color:var(--rouge-lisible,#D91A2A)}
details.fiche[open] .rub{animation:jcRub .45s ease both}
details.fiche[open] .rub:nth-child(2){animation-delay:.05s}details.fiche[open] .rub:nth-child(3){animation-delay:.1s}details.fiche[open] .rub:nth-child(4){animation-delay:.15s}details.fiche[open] .rub:nth-child(5){animation-delay:.2s}details.fiche[open] .rub:nth-child(6){animation-delay:.25s}details.fiche[open] .rub:nth-child(7){animation-delay:.3s}details.fiche[open] .rub:nth-child(8){animation-delay:.35s}details.fiche[open] .rub:nth-child(9){animation-delay:.4s}
@keyframes jcRub{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){details.fiche[open] .rub{animation:none}}
/* Planning animé du code à distance */
.planning{display:grid;grid-template-columns:auto repeat(4,1fr);gap:8px;margin-top:30px;max-width:640px;align-items:center}
.pl-t{font-weight:800;font-size:13px;text-align:center;color:var(--texte2);text-transform:uppercase;letter-spacing:.06em}
.pl-s{font-weight:700;font-size:13px;color:var(--texte2);padding-right:6px}
.jr{display:grid;place-items:center;height:48px;border-radius:12px;background:var(--rouge-lisible,#D91A2A);color:#fff;font-weight:800;font-size:14px}
.jr.exam{grid-column:span 4;display:flex;gap:10px;justify-content:center;background:#F6C400;color:#111}
.jr.exam svg{width:24px;height:24px}
@media (prefers-reduced-motion:no-preference){.js-rv .jr.rv{transform:scale(.6)}.js-rv .jr.rv.vu{transform:none}}
.sous-titre + .tuiles{margin-top:12px}.tuiles + .sous-titre{margin-top:26px}
.duo-suivre .cle-chiffre{font-size:clamp(28px,3vw,42px)}
details.plus summary{color:inherit}
details.plus summary::after{color:var(--rouge-lisible,#D91A2A)}
.g .tuile .non,.tuile .non{color:#FF8A94;background:rgba(255,138,148,.12)}.tuile .oui{color:#4BE08F;background:rgba(75,224,143,.12)}
.trio:has(> .bloc:nth-child(4)){grid-template-columns:repeat(2,1fr)}@media (min-width:1100px){.trio:has(> .bloc:nth-child(4)){grid-template-columns:repeat(4,1fr)}}@media (max-width:820px){.trio:has(> .bloc:nth-child(4)){grid-template-columns:1fr}}
/* Illustrations animées (à la place des photos en double) */
.illu{position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(120% 90% at 20% 10%,var(--i1),var(--i2));color:#fff;isolation:isolate}
.illu svg{width:38%;max-width:120px;height:auto;aspect-ratio:1;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));z-index:1}
.illu::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(255,255,255,.18) 80%,transparent 90%);z-index:0}
.illu-route{position:absolute;left:0;right:0;bottom:16%;height:6px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 26px,transparent 26px 46px);opacity:.55;z-index:0}
.illu.c1{--i1:#EF1B2D;--i2:#5A0710}.illu.c2{--i1:#F6C400;--i2:#7A4A00}.illu.c3{--i1:#2BB6A3;--i2:#08403A}.illu.c4{--i1:#4D7CFF;--i2:#0E1F5C}
.illu.c5{--i1:#9B5CFF;--i2:#2E1066}.illu.c6{--i1:#FF7A3D;--i2:#6B1E00}.illu.c7{--i1:#2FA84F;--i2:#0B3A18}.illu.c8{--i1:#FF4F8B;--i2:#5C0628}
.illu.mini{width:120px;height:80px;border-radius:10px}.illu.mini svg{width:42px}.illu.mini .illu-route{bottom:12%;height:4px}
.illu.grand{border-radius:16px;aspect-ratio:4/3;margin:0}.illu.grand svg{width:30%;max-width:160px}
@media (max-width:560px){.illu.mini{width:72px;height:72px}.illu.mini svg{width:34px}}
@media (prefers-reduced-motion:no-preference){
  .illu::before{animation:jcTourne 9s linear infinite}
  .illu svg{animation:jcFlotte 4.5s ease-in-out infinite}
  .illu-route{animation:jcRoute 1.6s linear infinite}
}
@keyframes jcTourne{to{transform:rotate(360deg)}}
@keyframes jcFlotte{50%{transform:translateY(-8px) rotate(-4deg)}}
@keyframes jcRoute{to{background-position:-46px 0}}
.portrait-jb{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:3/4;max-width:420px;box-shadow:0 24px 50px rgba(0,0,0,.35)}
.portrait-jb img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.photo-haut{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/3}
.photo-haut img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.duo figure.portrait-jb{aspect-ratio:3/4;max-width:400px;justify-self:center;width:100%}.duo figure.photo-haut{aspect-ratio:4/3}
/* ===== Fil conducteur : la route ===== */
.voyage{display:flex;flex-direction:column;gap:8px;margin:0 0 16px;max-width:420px}
.voyage-txt{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.voyage-txt b{color:#F6C400;font-size:15px}
.voyage-route{position:relative;display:flex;justify-content:space-between;align-items:center;height:22px}
.voyage-route::before{content:"";position:absolute;left:5px;right:5px;top:50%;height:3px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 10px,transparent 10px 18px)}
.voyage-route::after{content:"";position:absolute;left:5px;top:50%;height:3px;transform:translateY(-50%);width:calc((100% - 10px) * (var(--pos) - 1) / 7);background:linear-gradient(90deg,#EF1B2D,#F6C400);border-radius:3px}
.voyage-route i{position:relative;z-index:1;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35)}
.voyage-route i.fait{background:#EF1B2D}.voyage-route i.ici{background:#F6C400;box-shadow:0 0 0 5px rgba(246,196,0,.25)}
.voyage-auto{position:absolute;z-index:2;top:-14px;width:22px;height:22px;color:#F6C400;left:calc((100% - 10px) * (var(--pos) - 1) / 7 - 6px)}
.sec .voyage-txt{color:var(--texte2)}.sec .voyage-route::before{background:repeating-linear-gradient(90deg,var(--trait,rgba(0,0,0,.25)) 0 10px,transparent 10px 18px)}.sec .voyage-route i{background:var(--trait,rgba(0,0,0,.2))}
.sec .voyage-route i.fait{background:#EF1B2D}.sec .voyage-route i.ici{background:#F6C400}.sec .voyage-auto{color:var(--rouge-lisible,#D91A2A)}
.histoire{font-style:italic}
@media (prefers-reduced-motion:no-preference){
  .voyage-route::after{animation:jcTrace 1.6s cubic-bezier(.4,0,.2,1) .3s both}
  .voyage-auto{animation:jcRoule 1.6s cubic-bezier(.4,0,.2,1) .3s both}
  .voyage-route i.ici{animation:jcPouls 2s ease-in-out 1.9s infinite}
}
@keyframes jcTrace{from{width:0}}
@keyframes jcRoule{from{left:-6px}}
@keyframes jcPouls{50%{box-shadow:0 0 0 9px rgba(246,196,0,.1)}}
/* Prochaine étape */
.prochaine-sec{padding-block:40px!important}
.prochaine{display:flex;align-items:center;gap:22px;text-decoration:none;color:inherit;padding:22px 26px;border-radius:20px;background:linear-gradient(120deg,#07111F,#15294A);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 40px rgba(0,0,0,.25);transition:transform .25s}
.prochaine:hover{transform:translateY(-3px)}
.p-num{flex:none;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#EF1B2D;font-weight:900;font-size:14px;text-align:center;line-height:1.1;padding:6px}
.p-corps{flex:1;display:flex;flex-direction:column;gap:3px}.p-corps small{text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:12px;color:#F6C400}
.p-corps b{font-size:26px;font-weight:900}.p-corps em{font-style:normal;opacity:.85}
.p-fleche svg{width:34px;height:34px;color:#F6C400;transition:transform .25s}.prochaine:hover .p-fleche svg{transform:translateX(6px)}
@media (max-width:560px){.prochaine{gap:14px;padding:18px}.p-num{width:58px;height:58px;font-size:12px}.p-corps b{font-size:20px}}
.p-num{background:#D91A2A;color:#fff}
.voyage.guide .voyage-txt b{color:#F6C400}

/* ===================== PROFONDEUR, COULEUR, AUTHENTICITÉ ===================== */
/* Accent manuscrit (charte : ponctuel, jamais pour un prix ni une donnée) */
.manuscrit{font-family:"Caveat",cursive;font-weight:700;font-size:clamp(26px,3vw,34px);line-height:1.1;color:#F28A2E;transform:rotate(-3deg);transform-origin:left;margin:0 0 6px;letter-spacing:.01em}
.m-hero{color:#F6C400;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.m-parc{color:#EF1B2D;margin-top:6px}

/* Rythme de couleurs : les sections « alt » deviennent sable chaud, même la nuit */
.sec.alt,:root[data-ambiance] .sec.alt{--fond:#F6EEE2;--fond2:#F6EEE2;--texte:#07111F;--texte2:#4A4F5C;--trait:#E2D3BD;--carte:#FFFDF9;background:#F6EEE2!important;color:#07111F;position:relative;overflow:hidden}
.sec.alt .titre,.sec.alt h2,.sec.alt h3{color:#07111F}
.sec.alt::before{content:"";position:absolute;right:-60px;top:-40px;width:340px;height:340px;opacity:.09;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='%2307111F'%3E%3Cpath d='M100 100 C70 60 30 50 5 55 C40 45 75 55 100 100Z'/%3E%3Cpath d='M100 100 C80 50 60 20 30 5 C65 15 90 45 100 100Z'/%3E%3Cpath d='M100 100 C105 55 120 20 150 5 C125 30 112 60 100 100Z'/%3E%3Cpath d='M100 100 C130 60 165 50 195 60 C160 55 125 70 100 100Z'/%3E%3Cpath d='M100 100 C140 85 175 100 195 125 C165 105 130 100 100 100Z'/%3E%3Cpath d='M98 100 L104 100 L112 200 L92 200Z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain}
/* Sections sombres : grain et halo de couleur pour la profondeur */
.sec:not(.alt){position:relative}
:root[data-ambiance="soir"] .sec:not(.alt):not(.prochaine-sec)::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:radial-gradient(60% 50% at 0% 0%,rgba(34,184,181,.10),transparent 70%),radial-gradient(50% 60% at 100% 100%,rgba(242,138,46,.10),transparent 70%)}
:root[data-ambiance="soir"] .sec:not(.alt) > .w{position:relative;z-index:1}
/* Frise géométrique (racines : rouge, or, vert, indigo) entre les grandes parties */
.engage,.vrai,.prochaine-sec{border-top:6px solid transparent;border-image:repeating-linear-gradient(90deg,#EF1B2D 0 34px,#F6C400 34px 52px,#0A8F48 52px 76px,#214E9A 76px 92px,#F28A2E 92px 110px) 6}

/* Cartes de formation : chacune sa couleur, ombres en couches */
.cartes .carte{box-shadow:0 1px 2px rgba(0,0,0,.08),0 10px 24px rgba(7,17,31,.12),0 28px 60px rgba(7,17,31,.10);border-top:5px solid var(--acc,#EF1B2D)}
.cartes .carte:nth-child(8n+1){--acc:#EF1B2D}.cartes .carte:nth-child(8n+2){--acc:#F28A2E}.cartes .carte:nth-child(8n+3){--acc:#F6C400}.cartes .carte:nth-child(8n+4){--acc:#22B8B5}
.cartes .carte:nth-child(8n+5){--acc:#0A8F48}.cartes .carte:nth-child(8n+6){--acc:#214E9A}.cartes .carte:nth-child(8n+7){--acc:#9B2D5C}.cartes .carte:nth-child(8n+8){--acc:#E8D7BC}
.cartes .carte .corps h3{position:relative;padding-left:14px}
.cartes .carte .corps h3::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:4px;border-radius:2px;background:var(--acc)}
.trio .bloc{box-shadow:0 10px 30px rgba(7,17,31,.12);border-top:4px solid var(--acc,#22B8B5)}
.trio .bloc:nth-child(1){--acc:#F6C400}.trio .bloc:nth-child(2){--acc:#22B8B5}.trio .bloc:nth-child(3){--acc:#F28A2E}.trio .bloc:nth-child(4){--acc:#0A8F48}
.trio .bloc .ico{background:color-mix(in srgb,var(--acc) 18%,transparent)!important;color:var(--acc)!important}

/* Parcours : chaque étape sa couleur */
.etape:nth-child(1){--acc:#EF1B2D}.etape:nth-child(2){--acc:#F28A2E}.etape:nth-child(3){--acc:#22B8B5}.etape:nth-child(4){--acc:#214E9A}.etape:nth-child(5){--acc:#0A8F48}
.etape b{border-color:var(--acc)!important;color:var(--acc)!important}
.js-rv .etapes.vu .etape b,.etape:first-child b{background:var(--acc)!important;color:#fff!important}

/* L'agence, en vrai */
.vrai{background:linear-gradient(160deg,#0B1A2E 0%,#07111F 55%,#1B0E14 100%)!important;color:#fff;overflow:hidden}
.vrai .titre,.vrai h2{color:#fff}.vrai .chapo{color:#C9D3DE}
.vrai-grille{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.mot{margin:26px 0 0;padding:22px 24px;border-left:4px solid #F6C400;background:rgba(255,255,255,.05);border-radius:0 16px 16px 0;font-size:19px;line-height:1.55;font-style:italic;color:#EEF1F5}
.mot cite{display:flex;align-items:baseline;gap:12px;margin-top:12px;font-style:normal;font-size:14px;color:#AFBACA}
.mot .sig{font-size:36px;color:#F6C400;transform:rotate(-4deg);display:inline-block;margin:0}
.vrai-photos{position:relative;min-height:440px}
.vp{position:absolute;margin:0;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.55),0 0 0 6px #fff;background:#fff}
.vp img{display:block;width:100%;height:100%;object-fit:cover}
.vp figcaption{position:absolute;left:12px;bottom:10px;font-family:"Caveat",cursive;font-weight:700;font-size:26px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8)}
.vp1{width:74%;aspect-ratio:16/10;left:0;top:0;transform:rotate(-3deg);z-index:2}
.vp2{width:62%;aspect-ratio:16/10;right:0;bottom:0;transform:rotate(4deg);z-index:1}
.palme{position:absolute;right:-30px;top:-50px;width:220px;height:220px;opacity:.16;z-index:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='%23F6C400'%3E%3Cpath d='M100 100 C70 60 30 50 5 55 C40 45 75 55 100 100Z'/%3E%3Cpath d='M100 100 C80 50 60 20 30 5 C65 15 90 45 100 100Z'/%3E%3Cpath d='M100 100 C105 55 120 20 150 5 C125 30 112 60 100 100Z'/%3E%3Cpath d='M100 100 C130 60 165 50 195 60 C160 55 125 70 100 100Z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain}
@media (prefers-reduced-motion:no-preference){.vp{transition:transform .5s}.vrai-photos:hover .vp1{transform:rotate(-1deg) translateY(-6px)}.vrai-photos:hover .vp2{transform:rotate(2deg) translateY(6px)}}
@media (max-width:860px){.vrai-grille{grid-template-columns:1fr;gap:34px}.vrai-photos{min-height:300px}.vp1{width:80%}.vp2{width:66%}}
@media (max-width:480px){.vrai-photos{min-height:240px}.manuscrit{font-size:24px}}

/* Pages intérieures : alternance automatique sombre / sable, plus de vide monochrome */
main > section.sec:nth-of-type(odd):not(.prochaine-sec):not(.vrai):not(.racines){--fond:#F6EEE2;--fond2:#F6EEE2;--texte:#07111F;--texte2:#4A4F5C;--trait:#E2D3BD;--carte:#FFFDF9;background:#F6EEE2!important;color:#07111F}
main > section.sec:nth-of-type(odd):not(.prochaine-sec):not(.vrai):not(.racines) :is(.titre,h2,h3,b,strong){color:#07111F}
main > section.sec:nth-of-type(odd):not(.prochaine-sec):not(.vrai):not(.racines) .mention{color:#4A4F5C}
section[aria-label="Information sur le crédit"]{padding-block:26px!important}
section[aria-label="Information sur le crédit"] .mention{font-size:13px;max-width:none}
.prochaine-sec{background:linear-gradient(90deg,#EF1B2D 0%,#F28A2E 50%,#F6C400 100%)!important;padding-block:34px!important}
.prochaine{background:#07111F}

/* ===== Plus compact : moins de défilement ===== */
.sec{padding-block:56px}
@media (max-width:700px){.sec{padding-block:40px}}
.bandeau.g:not(.court){min-height:0}
.bandeau .w{padding-block:96px 44px}
@media (max-width:700px){.bandeau .w{padding-block:28px 28px}}
/* Formations en grille de tuiles (2 à 3 par ligne), la fiche ouverte prend toute la largeur */
.fiches{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.fiche{margin:0!important}
.fiche[open]{grid-column:1/-1}
.fiche summary{grid-template-columns:64px 1fr!important;gap:12px!important;padding:14px!important;align-items:center}
.fiche summary .illu.mini{width:64px!important;height:64px!important;border-radius:14px}
.fiche summary .illu.mini svg{width:30px}
.fiche summary h2{font-size:17px!important;line-height:1.2}
.fiche summary p{font-size:13px!important;margin-top:2px}
.fiche summary .prix{grid-column:1/-1!important;justify-self:start;margin-top:4px}
@media (max-width:560px){.fiches{grid-template-columns:1fr 1fr;gap:10px}.fiche summary{grid-template-columns:1fr!important;text-align:left}.fiche summary .illu.mini{width:100%!important;height:70px!important}.fiche summary p{display:none}.fiche summary h2{font-size:15px!important}}
/* Mouvement : légère respiration des tuiles et des chiffres */
@media (prefers-reduced-motion:no-preference){
  .fiche:not([open]) summary .illu.mini{animation:jcVit 3.2s ease-in-out infinite}
  .fiche:nth-child(2n) summary .illu.mini{animation-delay:-1.1s}.fiche:nth-child(3n) summary .illu.mini{animation-delay:-2.2s}
  .fiche summary .prix{transition:transform .25s}.fiche summary:hover .prix{transform:scale(1.06)}
}
@keyframes jcVit{50%{transform:translateY(-4px) rotate(-2deg)}}
/* Contraste des badges sur fond sable */
main > section.sec:nth-of-type(odd) .tuile .oui{color:#0A6B36;background:rgba(10,143,72,.14)}
main > section.sec:nth-of-type(odd) .tuile .non{color:#A0101D;background:rgba(217,26,42,.12)}
@media (min-width:561px){.fiche summary{grid-template-columns:56px 1fr auto!important}.fiche summary .illu.mini{width:56px!important;height:56px!important}.fiche summary .prix{grid-column:auto!important;margin:0;min-width:0!important;font-size:15px;padding:8px 10px!important}.fiche summary .prix i{width:24px;height:24px}}
.tuile .oui,main section .tuile .oui{background:#0A7A3E!important;color:#fff!important}.tuile .non,main section .tuile .non{background:#B3121F!important;color:#fff!important}
/* Page International */
.inter-hero{background:radial-gradient(80% 90% at 85% 40%,#15294A 0%,#07111F 60%)}
.inter-grille{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}
.carte-route{width:100%;max-width:420px;justify-self:center}
.carte-route .lbl{fill:#fff;font:700 15px Montserrat,sans-serif;letter-spacing:.04em}
@media (prefers-reduced-motion:no-preference){
  .carte-route .arc{animation:jcDefile 1.2s linear infinite}
  .carte-route .onde{transform-box:fill-box;transform-origin:center;animation:jcOnde 2.4s ease-out infinite}.carte-route .o2{animation-delay:1.2s}
}
@media (prefers-reduced-motion:reduce){.carte-route .mobile{display:none}}
@keyframes jcDefile{to{stroke-dashoffset:-32}}
@keyframes jcOnde{from{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}
@media (max-width:820px){.inter-grille{grid-template-columns:1fr}.carte-route{max-width:300px}}
@media (min-width:821px) and (max-width:1440px){.nav{gap:12px!important}.nav a{font-size:12.5px!important}.nav a[href="index.html#contact"]{display:none}.marque small{display:none}.lien-espace{padding-inline:12px!important}}
main > section.sec:nth-of-type(odd):not(.vrai) .manuscrit:not(.m-hero){color:#B4470C}
.inter-hero .bandeau h1,.inter-hero h1{max-width:none}
.manuscrit{color:#B4470C}:root[data-ambiance="soir"] .manuscrit,.vrai .manuscrit{color:#F28A2E}.m-hero{color:#F6C400!important}
/* Cartes sombres posées sur un fond sable : texte toujours clair */
.carte-fondatrice h3,.carte-fondatrice p,.sec.alt .carte-fondatrice h3,main > section.sec .carte-fondatrice h3{color:#fff!important}
.carte-fondatrice p{color:#DCE3EC!important}
.encadre.rouge h3,.encadre.rouge p{color:#fff!important}
.encadre.rouge{background:#B3121F!important;border-color:#B3121F!important}
.vp video{display:block;width:100%;height:100%;object-fit:cover}
/* Héros : la fondatrice */
.hero{position:relative}
.hero-jb{position:absolute;z-index:2;right:4%;bottom:0;width:min(30vw,400px);margin:0;pointer-events:none}
.hero-jb img{display:block;width:100%;border-radius:22px 22px 0 0;box-shadow:0 30px 60px rgba(0,0,0,.5);-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent);mask-image:linear-gradient(180deg,#000 75%,transparent)}
.hero-jb figcaption{position:absolute;left:-30px;top:24px;transform:rotate(-8deg);text-align:left}
.hero-jb .manuscrit{font-size:44px;color:#F6C400;text-shadow:0 2px 10px rgba(0,0,0,.6);margin:0}
.hero-jb small{display:block;color:#fff;font-weight:700;font-size:13px;text-shadow:0 2px 8px rgba(0,0,0,.8)}
@media (max-width:1000px){.hero-jb{display:none}}
/* Avis */
.conf.avis{text-decoration:none;color:inherit}.etoiles-g{color:#F6C400;font-size:18px;letter-spacing:1px;flex:none}
.confiance .w{grid-template-columns:repeat(5,minmax(0,1fr))!important}
@media (max-width:1100px){.confiance .w{grid-template-columns:1fr 1fr!important}}
@media (max-width:480px){.confiance .w{grid-template-columns:1fr!important}}
.pied-sig{color:#F6C400!important;font-size:30px;margin:6px 0 10px}
/* Nous trouver : actions directes */
#contact{background:linear-gradient(160deg,#07111F,#15294A 60%,#2A0E14)!important;color:#fff}
#contact .titre{color:#fff}
.contact-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:22px}
.ca{display:flex;flex-direction:column;gap:6px;padding:22px 18px;border-radius:20px;text-decoration:none;color:#fff;background:var(--c);box-shadow:0 18px 40px rgba(0,0,0,.35);transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}
.ca::after{content:"→";position:absolute;right:16px;bottom:14px;font-size:22px;font-weight:900;opacity:.8;transition:transform .25s}
.ca:hover{transform:translateY(-4px);box-shadow:0 26px 50px rgba(0,0,0,.45)}.ca:hover::after{transform:translateX(4px)}
.ca b{font-size:18px;font-weight:900;line-height:1.2}.ca small{font-size:13px;opacity:.92;padding-right:24px}
.ca-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.18);font-size:24px;margin-bottom:6px}
.ca-ico svg{width:26px;height:26px;color:#fff}
.ca-tel{--c:linear-gradient(140deg,#D91A2A,#8E0F1A)}.ca-wa{--c:linear-gradient(140deg,#0A7A3E,#064A26)}.ca-mail{--c:linear-gradient(140deg,#214E9A,#122C5A)}
.ca-map{--c:linear-gradient(140deg,#B4470C,#6E2A06)}.ca-avis{--c:linear-gradient(140deg,#F6C400,#C79A00);color:#07111F}.ca-avis .ca-ico{background:rgba(7,17,31,.12);color:#07111F}
.horaires{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:12px}
.hj{display:flex;flex-direction:column;gap:4px;padding:14px 12px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.hj b{color:#F6C400;font-size:14px;text-transform:uppercase;letter-spacing:.06em}.hj span{font-weight:800}.hj em{font-style:normal;font-weight:800}
.hj.ferme{opacity:.6}.hj.auj{background:#D91A2A;border-color:#D91A2A}.hj.auj b{color:#fff}
#contact .sous-titre{color:#fff;margin-top:30px}
@media (max-width:1100px){.contact-actions{grid-template-columns:repeat(2,1fr)}.ca-avis{grid-column:span 2}.horaires{grid-template-columns:repeat(4,1fr)}}
@media (max-width:560px){.horaires{grid-template-columns:repeat(2,1fr)}}
.hero-jb{width:min(26vw,340px)}
#contact .manuscrit{color:#F28A2E!important}.ca-mail .ca-ico svg{display:none}.ca-mail .ca-ico::before{content:"✉";font-size:26px}
.avatar-jb{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:3px solid #F6C400;flex:none}
.mot cite{align-items:center}.mot cite small{display:block;font-size:13px;color:#AFBACA}

/* ===== Palette resserrée : bleu nuit, rouge, jaune (+ sable en fond) ===== */
.cartes .carte{--acc:#EF1B2D!important}
.cartes .carte:nth-child(n){--acc:#EF1B2D}
.trio .bloc:nth-child(n){--acc:#EF1B2D}
.trio .bloc .ico{background:rgba(239,27,45,.12)!important;color:#D91A2A!important}
.etape:nth-child(n){--acc:#EF1B2D}
.engage,.vrai,.prochaine-sec{border-image:none!important;border-top:4px solid #EF1B2D!important}
.prochaine-sec{background:#07111F!important}
.prochaine{background:linear-gradient(120deg,#07111F,#15294A)!important;border:1px solid rgba(255,255,255,.14)}
.illu{--i1:#15294A!important;--i2:#07111F!important}
.illu svg{color:#F6C400}
.ca{--c:linear-gradient(140deg,#15294A,#07111F)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)}
.ca .ca-ico{background:#D91A2A!important;color:#fff!important}
.ca-avis .ca-ico{background:#F6C400!important;color:#07111F!important}
.ca::after{color:#F6C400}
.manuscrit{color:#D91A2A}:root[data-ambiance="soir"] .manuscrit,.vrai .manuscrit,#contact .manuscrit{color:#F6C400!important}
.sec.alt::before{opacity:.05}
.tuile svg{color:#D91A2A}

/* ===================== DIRECTION PREMIUM ===================== */
/* --- Heure dorée (accueil, formations) --- */
.hero .photos img{filter:var(--filtre) saturate(1.08) contrast(1.05)}
.cartes .carte{border-radius:20px;overflow:hidden;border:1px solid rgba(7,17,31,.08);border-top:3px solid #EF1B2D}
.cartes .carte figure img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.cartes .carte:hover figure img{transform:scale(1.07)}
.cartes .carte figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,17,31,.35))}
.prix{border-radius:12px!important;box-shadow:0 6px 16px rgba(246,196,0,.35)}
.confiance{background:linear-gradient(90deg,#07111F,#15294A 50%,#07111F)!important;border-top:1px solid rgba(246,196,0,.35);border-bottom:1px solid rgba(246,196,0,.35)}
.confiance .conf svg{color:#F6C400}

/* --- Racines & horizons (agence, international, qui suis-je) --- */
.racines{position:relative;overflow:hidden;background:
  radial-gradient(50% 60% at 85% 15%,rgba(246,196,0,.18),transparent 70%),
  radial-gradient(45% 55% at 10% 90%,rgba(239,27,45,.16),transparent 70%),
  linear-gradient(180deg,#0A1730 0%,#07111F 60%,#120A12 100%)!important;color:#fff!important}
.racines :is(.titre,h1,h2,h3,b){color:#fff}
.racines .chapo,.racines p{color:#D6DEE8}
.racines .titre::after{background:linear-gradient(90deg,#F6C400,#EF1B2D)!important}
.racines .manuscrit{color:#F6C400!important}
.racines > .w{position:relative;z-index:2}
/* cartes en verre, liseré or */
.racines .bloc,.racines .tuile,.racines .mot,.racines .carte-fondatrice{background:rgba(255,255,255,.06)!important;backdrop-filter:blur(6px);border:1px solid rgba(246,196,0,.35)!important;border-radius:18px;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 20px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08)}
.racines .bloc .ico{background:rgba(246,196,0,.15)!important;color:#F6C400!important;box-shadow:0 0 18px rgba(246,196,0,.35)}
.racines .tuile svg{color:#F6C400}.racines .tuile small{color:#C9D3DE}
.racines .cle-chiffre{color:#F6C400!important;text-shadow:0 0 24px rgba(246,196,0,.35)}
.racines .encadre{background:linear-gradient(120deg,rgba(239,27,45,.85),rgba(140,15,26,.85))!important;border:1px solid rgba(246,196,0,.4)!important}
.racines .mention{color:#AFBACA!important}
/* palmes et hibiscus en silhouettes */
.deco-palme{position:absolute;z-index:1;width:340px;height:420px;pointer-events:none;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 250'%3E%3Cg fill='%23020810'%3E%3Cpath d='M100 90 C70 55 30 45 0 52 C38 38 75 50 100 90Z'/%3E%3Cpath d='M100 90 C82 45 60 15 28 0 C66 10 92 40 100 90Z'/%3E%3Cpath d='M100 90 C106 48 122 15 152 0 C127 26 113 56 100 90Z'/%3E%3Cpath d='M100 90 C132 52 168 44 200 55 C162 50 128 64 100 90Z'/%3E%3Cpath d='M100 90 C142 78 178 96 198 122 C166 100 132 96 100 90Z'/%3E%3Cpath d='M100 90 C60 82 25 100 5 128 C36 104 70 96 100 90Z'/%3E%3Cpath d='M96 90 Q92 170 80 250 L94 250 Q104 170 104 90Z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain}
.deco-palme.g{left:-90px;top:-40px;transform:rotate(-12deg)}
.deco-palme.d{right:-110px;bottom:-60px;transform:scaleX(-1) rotate(-8deg);opacity:.45}
.deco-hibiscus{position:absolute;z-index:1;right:4%;top:18px;width:120px;height:120px;opacity:.85;pointer-events:none;filter:drop-shadow(0 6px 18px rgba(239,27,45,.45));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg transform='translate(50 50)'%3E%3Cg fill='%23D91A2A'%3E%3Cpath d='M0 0 C-12 -20 -8 -42 0 -46 C8 -42 12 -20 0 0Z'/%3E%3Cpath d='M0 0 C-12 -20 -8 -42 0 -46 C8 -42 12 -20 0 0Z' transform='rotate(72)'/%3E%3Cpath d='M0 0 C-12 -20 -8 -42 0 -46 C8 -42 12 -20 0 0Z' transform='rotate(144)'/%3E%3Cpath d='M0 0 C-12 -20 -8 -42 0 -46 C8 -42 12 -20 0 0Z' transform='rotate(216)'/%3E%3Cpath d='M0 0 C-12 -20 -8 -42 0 -46 C8 -42 12 -20 0 0Z' transform='rotate(288)'/%3E%3C/g%3E%3Ccircle r='6' fill='%23F6C400'/%3E%3Cpath d='M0 0 L22 -26' stroke='%23F6C400' stroke-width='2'/%3E%3Ccircle cx='22' cy='-26' r='3' fill='%23F6C400'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain}
@media (prefers-reduced-motion:no-preference){.deco-palme.g{animation:jcBrise 9s ease-in-out infinite;transform-origin:50% 40%}.deco-hibiscus{animation:jcFlotte 6s ease-in-out infinite}}
@keyframes jcBrise{50%{transform:rotate(-8deg)}}
/* panneau bois des destinations */
.panneau{display:flex;flex-direction:column;align-items:flex-start;gap:6px;position:relative;padding-left:10px;margin:0 auto 18px}
.panneau .pm{position:absolute;left:0;top:-6px;bottom:-14px;width:8px;border-radius:4px;background:linear-gradient(90deg,#5A3A1E,#8B5E34)}
.panneau b{display:inline-block;background:linear-gradient(180deg,#B07A45,#8B5E34);color:#FFF5E6!important;font-weight:900;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px 6px 12px;clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%);box-shadow:0 4px 10px rgba(0,0,0,.4);text-shadow:0 1px 1px rgba(0,0,0,.5)}
.panneau b:nth-child(odd){transform:rotate(-2deg)}.panneau b:nth-child(even){transform:rotate(1.5deg)}
.inter-grille > .panneau{display:none}
.inter-hero .inter-grille{grid-template-columns:1.2fr .8fr}
@media (max-width:820px){.deco-palme{width:200px;height:250px;opacity:.35}.deco-hibiscus{width:70px;height:70px}}
.inter-droite{display:flex;gap:18px;align-items:center;justify-content:center}.inter-droite .carte-route{max-width:320px}@media (max-width:820px){.inter-droite{flex-direction:column}}
.racines .bloc p,.racines .bloc h3{color:#EEF2F7!important}.racines .bloc{background:rgba(10,20,40,.72)!important}
main > section.sec.racines:nth-of-type(n){background:radial-gradient(50% 60% at 85% 15%,rgba(246,196,0,.18),transparent 70%),radial-gradient(45% 55% at 10% 90%,rgba(239,27,45,.16),transparent 70%),linear-gradient(180deg,#0A1730 0%,#07111F 60%,#120A12 100%)!important;color:#fff!important;--texte:#fff;--texte2:#D6DEE8;--carte:rgba(255,255,255,.06);--trait:rgba(246,196,0,.35)}
main > section.sec.racines:nth-of-type(n) :is(.titre,h2,h3,b,strong){color:#fff!important}
main > section.sec.racines:nth-of-type(n) :is(p,.chapo){color:#D6DEE8!important}
main > section.sec.racines:nth-of-type(n) .carte-fondatrice p{color:#DCE3EC!important}
.racines .lien{color:#F6C400!important}

/* ===== Pages profondes : Qui suis-je / International ===== */
.ph-grille{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.portrait-or{margin:0;position:relative;justify-self:center;width:min(100%,380px)}
.portrait-or img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:200px 200px 24px 24px;border:3px solid #F6C400;box-shadow:0 0 0 10px rgba(246,196,0,.12),0 40px 80px rgba(0,0,0,.55)}
.portrait-or figcaption{position:absolute;right:-6px;bottom:28px;transform:rotate(-8deg)}
.portrait-or .manuscrit{font-size:54px;color:#F6C400!important;text-shadow:0 3px 12px rgba(0,0,0,.7)}
@media (max-width:860px){.ph-grille{grid-template-columns:1fr}.portrait-or{width:min(80%,300px)}}
.manifeste{text-align:center}
.grande-citation{margin:10px auto 0;max-width:900px;font-size:clamp(22px,3vw,34px);line-height:1.4;font-weight:700;font-style:italic;position:relative}
.grande-citation::before{content:"“";position:absolute;left:-10px;top:-50px;font-size:120px;color:#EF1B2D;opacity:.25;font-style:normal}
.signature-cit .manuscrit{font-size:40px;color:#D91A2A}
.manifeste .titre{margin-inline:auto}.manifeste .titre::after{margin-inline:auto}
/* frise */
.frise{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;position:relative}
.frise::before{content:"";position:absolute;left:0;right:0;top:20px;height:3px;background:repeating-linear-gradient(90deg,#F6C400 0 14px,transparent 14px 24px);opacity:.6}
.frise li{position:relative;padding:44px 18px 18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(246,196,0,.3);backdrop-filter:blur(6px)}
.frise li::before{content:"";position:absolute;left:18px;top:12px;width:18px;height:18px;border-radius:50%;background:#EF1B2D;box-shadow:0 0 0 5px rgba(239,27,45,.25)}
.frise li:last-child::before{background:#F6C400;box-shadow:0 0 0 5px rgba(246,196,0,.3)}
.f-an{display:block;font-family:"Caveat",cursive;font-size:26px;color:#F6C400;line-height:1}
.frise h3{font-size:18px;margin:6px 0 6px;color:#fff}.frise p{font-size:14.5px;line-height:1.55;color:#D6DEE8}
.or{color:#F6C400}
/* valeurs */
.valeurs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}
.valeurs.trois{grid-template-columns:repeat(3,minmax(0,1fr));text-align:left;margin-top:40px}
.valeur{padding:24px 20px;border-radius:20px;background:var(--carte,#fff);box-shadow:0 14px 34px rgba(7,17,31,.12);border-top:3px solid #EF1B2D}
.v-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#07111F;margin-bottom:12px}.v-ico svg{width:26px;height:26px;color:#F6C400}
.valeur h3{font-size:19px;margin-bottom:6px}.valeur p{font-size:15px;line-height:1.55}
@media (max-width:980px){.valeurs,.valeurs.trois{grid-template-columns:1fr 1fr}}@media (max-width:560px){.valeurs,.valeurs.trois{grid-template-columns:1fr}}
/* lettre */
.lettre{max-width:720px;margin:0 auto;padding:40px 44px;border-radius:24px;background:#FBF6EE;color:#1B1B1B;box-shadow:0 30px 70px rgba(0,0,0,.5);transform:rotate(-.6deg);position:relative}
.lettre::after{content:"";position:absolute;right:28px;top:-14px;width:90px;height:28px;background:rgba(246,196,0,.65);transform:rotate(6deg)}
main > section.sec.racines .lettre p{color:#2A2A2A!important;font-size:17px;line-height:1.7}
.l-titre{font-size:44px!important;color:#D91A2A!important;margin-bottom:14px!important}
.l-sign{display:flex;flex-direction:column;align-items:flex-end;margin-top:14px}.l-sign .manuscrit{font-size:48px;color:#D91A2A!important}
main > section.sec.racines .lettre .l-sign small{color:#555!important;font-weight:700}
/* zones, pays */
.zones{margin:24px 0 8px}.zones h3{font-size:16px;margin-bottom:10px}
.z-liste{display:flex;flex-wrap:wrap;gap:10px}.z-liste span{padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(246,196,0,.35);font-size:14px;color:#D6DEE8}.z-liste b{color:#F6C400;margin-right:6px}
.pays{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.pays span{padding:9px 16px;border-radius:999px;background:#07111F;color:#fff;font-weight:800;font-size:14px;border:1px solid #F6C400}
.racines-duo .panneau{justify-self:center;transform:scale(1.25)}
main > section.sec.racines:nth-of-type(n) .lettre p,main > section.sec.racines:nth-of-type(n) .lettre :is(h2,.l-titre){color:#2A2A2A!important}
main > section.sec.racines:nth-of-type(n) .lettre .l-titre{color:#B3121F!important}
main > section.sec.racines:nth-of-type(n) .lettre .l-sign .manuscrit{color:#B3121F!important}
.monde{display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px auto 22px;max-width:640px}
.monde b{font-size:clamp(44px,7vw,80px);font-weight:900;color:#D91A2A;line-height:1}
.monde span{font-size:15px;color:var(--texte2)}

/* Bande réseaux sociaux (toutes les pages, juste avant le pied) */
.bande-rs{background:var(--jaune);color:var(--nuit);overflow:hidden;position:relative}
.rs-defile{background:var(--nuit2);color:var(--jaune);font:800 13px var(--font);letter-spacing:.14em;text-transform:uppercase;overflow:hidden;white-space:nowrap;padding-block:9px}
.rs-defile>div{display:inline-flex;gap:22px;padding-left:22px}
.rs-defile i{font-style:normal;color:var(--rouge)}
.rs-in{display:flex;align-items:center;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;padding-block:22px}
.rs-t{font:900 clamp(24px,3.2vw,34px)/1.05 var(--font);display:grid;gap:6px}
.rs-t small{font:600 14px/1.35 var(--font);opacity:.85}
.rs-icos{display:flex;flex-wrap:wrap;gap:10px}
.rs-ico{display:inline-flex;align-items:center;gap:9px;background:var(--nuit);color:#fff;text-decoration:none;border-radius:999px;padding:8px 16px 8px 8px;font:800 14px var(--font);box-shadow:0 6px 16px rgba(7,17,31,.22);transition:transform .18s,background-color .18s}
.rs-ico svg{width:36px;height:36px;padding:7px;border-radius:50%;background:rgba(255,255,255,.12);fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.rs-ico:hover,.rs-ico:focus-visible{background:var(--rouge);transform:translateY(-3px)}
.rs-ico:focus-visible{outline-color:var(--nuit)}
@media (max-width:560px){.rs-in{padding-inline:16px}.rs-icos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px;width:100%}.rs-ico{flex-direction:column;gap:6px;background:none;box-shadow:none;padding:0;color:var(--nuit);font-size:11px;line-height:1.15;text-align:center}.rs-ico svg{width:48px;height:48px;padding:11px;background:var(--nuit);color:#fff;box-shadow:0 6px 16px rgba(7,17,31,.22)}.rs-ico:hover,.rs-ico:focus-visible{background:none}.rs-ico:hover svg{background:var(--rouge)}}
@media (prefers-reduced-motion:no-preference){.rs-defile>div{animation:rs-defile 38s linear infinite}.rs-ico:hover svg{animation:rs-pop .5s ease}}
@keyframes rs-defile{to{transform:translateX(-50%)}}
@keyframes rs-pop{40%{transform:scale(1.18) rotate(-8deg)}}
@media print{.bande-rs{display:none!important}}
.fiche summary .pourqui{font-size:14.5px;color:var(--texte);margin-top:6px;line-height:1.4}
.pourqui b{display:inline-block;background:var(--rouge-fonce);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 7px;display:table;margin:0 0 4px}
.fiche .prix>span{white-space:nowrap}
@media (max-width:560px){.fiche summary p.pourqui{display:block;font-size:12.5px;line-height:1.35}.fiche summary .illu.mini{height:56px!important}}
.pourqui .acc{display:block;font:800 17px/1.3 var(--font);color:var(--texte);letter-spacing:-.01em}
.pourqui mark{background:linear-gradient(transparent 55%,var(--jaune) 55%);color:inherit;padding:0 2px}
@media (max-width:560px){.fiche summary p.pourqui .acc{font-size:14px}}
@media (min-width:561px){.rs-in{flex-direction:column;align-items:flex-start;gap:14px}.rs-t{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.rs-icos{gap:8px}.rs-ico{font-size:13px;padding:6px 13px 6px 6px;gap:7px}.rs-ico svg{width:30px;height:30px;padding:6px}}

/* Demande d'avis Google (même message pour tous les élèves) */
.avis-w{padding-block:8px 34px}
.avis-cta{display:grid;grid-template-columns:auto 1fr auto;gap:10px 22px;align-items:center;background:var(--nuit);color:#fff;border-radius:18px;padding:20px 24px;box-shadow:0 14px 34px rgba(7,17,31,.22)}
.avis-etoiles{color:var(--jaune);font-size:24px;letter-spacing:2px}
.avis-txt h2{font:900 22px/1.15 var(--font);color:#fff;margin:0}
.avis-txt p{margin:4px 0 0;color:rgba(255,255,255,.85);font-size:15px}
.avis-souci{grid-column:1 / -1;margin:0;font-size:13.5px;color:rgba(255,255,255,.8)}
.avis-souci a{color:var(--jaune);font-weight:700}
@media (max-width:640px){.avis-cta{grid-template-columns:1fr;text-align:left}.avis-cta .btn{width:100%}}
@media (prefers-reduced-motion:no-preference){.avis-etoiles{animation:avis-brille 2.8s ease-in-out infinite}}
@keyframes avis-brille{50%{text-shadow:0 0 14px rgba(246,196,0,.8)}}

/* ===== Compact V2 (23/10) : moins de défilement ===== */
@media (min-width:701px){.sec{padding-block:48px}}
.pied .w{padding-block:34px 40px;gap:14px}
@media (max-width:700px){.pied .w{padding-block:30px 110px}}
.engage .w{padding-block:52px}
#qualite{padding-block:30px}
#qualite .trio{margin-top:18px;gap:14px}
#qualite .bloc{padding:14px 16px;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center}
#qualite .bloc .ico{grid-row:span 2;margin:0}
#qualite .bloc h3{margin:0;font-size:16px}
#qualite .bloc p{margin:0;font-size:13.5px}
.carte figure{aspect-ratio:16/8}
.manifeste .grand-chiffre,.manifeste .chiffre-geant{margin-block:6px}
.frise{margin-top:22px;gap:12px}
.carte figure{aspect-ratio:16/6}
@media (min-width:901px){#histoire .frise{grid-template-columns:repeat(3,1fr)}}
.grande-citation{font-size:clamp(19px,2vw,24px)!important;line-height:1.4!important;margin-block:10px!important}
.prochaine-sec{padding-block:22px!important}
#evaluation .form label{margin-top:8px}
#evaluation .form .desc{font-size:13px}
.duo-seul{display:block}.duo-seul>*{max-width:860px}
a.conf{text-decoration:none;color:inherit}a.conf:hover b{color:var(--jaune)}

/* Formations de l'accueil en carrousel sur téléphone */
.glisse{display:none}
@media (max-width:700px){
  .glisse{display:block;margin:14px 0 0;font-size:13px;font-weight:700;color:var(--texte2)}
  .glisse span{display:inline-block;color:var(--rouge)}
  #formations .cartes{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:12px -16px 0;padding:6px 16px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #formations .cartes::-webkit-scrollbar{display:none}
  #formations .carte{flex:0 0 76%;scroll-snap-align:start;flex-direction:column!important}
  #formations .carte figure{width:100%!important;aspect-ratio:16/8!important}
  #formations .carte .corps{padding:12px 14px 0}
}
@media (max-width:700px) and (prefers-reduced-motion:no-preference){.glisse span{animation:glisse 1.4s ease-in-out infinite}}
@keyframes glisse{50%{transform:translateX(6px)}}

/* ===== Téléphone : carrousels qu'on fait glisser, moins de défilement (23/10) ===== */
@media (max-width:700px){
  #parcours .etapes, main .frise, main .valeurs, main .trio, .tuiles.chiffres, .horaires{
    display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;
    margin-inline:-16px!important;padding:6px 16px 16px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #parcours .etapes::-webkit-scrollbar, main .frise::-webkit-scrollbar, main .valeurs::-webkit-scrollbar, main .trio::-webkit-scrollbar, .tuiles.chiffres::-webkit-scrollbar, .horaires::-webkit-scrollbar{display:none}
  #parcours .etapes > *, main .frise > *, main .valeurs > *, main .trio > *{flex:0 0 78%!important;scroll-snap-align:start;max-width:none!important}
  .tuiles.chiffres > *{flex:0 0 62%!important;scroll-snap-align:start}
  .horaires > *{flex:0 0 38%!important;scroll-snap-align:start}
  main .frise::before, #parcours .etapes::before{display:none!important}
  .contact-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
  .contact-actions .ca{padding:14px 12px!important;min-height:0!important}
  .contact-actions .ca small{font-size:12px}
  .contact-actions .ca-avis{grid-column:1 / -1}
  #evaluation figure{display:none}
  .glisse-info{display:block;font-size:13px;font-weight:700;color:var(--texte2);margin:4px 0 0}
}

/* Page Location examen VTC */
.vtc-hero{background:radial-gradient(120% 90% at 85% 20%,rgba(246,196,0,.18),transparent 55%),linear-gradient(160deg,#0F1A2B,#07111F 70%)}
.pourqui-page{font:700 17px/1.4 var(--font);margin:6px 0 18px}
.pourqui-page b{display:inline-block;background:var(--rouge-fonce);color:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 7px;margin-right:10px;vertical-align:2px}
.vtc-tuiles .cle-chiffre{font-size:clamp(20px,2.2vw,26px)!important}
.vtc-contact{margin:18px 0}
.vtc-contact{display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px}
.vtc-contact .ca{color:#fff;background:var(--nuit)}
.vtc-contact .ca b{color:#fff!important}
.vtc-contact .ca small{color:rgba(255,255,255,.8);overflow-wrap:anywhere}
@media (max-width:700px){.vtc-contact{grid-template-columns:1fr 1fr}}
.vtc-dates{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}
.vtc-aide{font-size:13.5px;margin:12px 0 0;opacity:.85}
#conditions{margin-top:16px}#conditions p{font-size:14px;margin:6px 0}
.vtc-etapes{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:14px 0;counter-reset:e}
.vtc-etapes li{counter-increment:e;font-weight:700;font-size:14px;padding:6px 12px;border-radius:999px;background:rgba(7,17,31,.08)}
.vtc-etapes li::before{content:counter(e) ". "}
.vtc-etapes li.fait{background:var(--vert);color:#fff}
.vtc-etapes li.fait::before{content:"✓ "}
.creneaux{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:10px 0}
.creneaux .creneau{padding:12px;font-size:16px}

/* Lisibilité d'abord (23/10) : le texte n'est plus jamais caché en attendant l'animation d'apparition.
   Sur certains téléphones l'animation ne se déclenchait pas et des blocs restaient invisibles. */
.rv,.rv.vu{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:no-preference){.rv.vu{animation:rv-pop .6s cubic-bezier(.2,.7,.2,1) both}}
@keyframes rv-pop{from{transform:translateY(10px)}to{transform:none}}

/* Mon espace : documents */
.docs-jauge{display:flex;align-items:baseline;gap:10px;margin:6px 0 4px}
.docs-jauge strong{font:900 30px var(--font);color:var(--rouge)}
.doc-ligne{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--trait)}
.doc-ligne > div{display:grid;gap:3px;min-width:0}
.doc-ligne.oblig .doc-titre::after{content:" *";color:var(--rouge)}
.doc-etat{font-weight:700}
.doc-etat.ok{color:var(--vert)}.doc-etat.ko{color:var(--rouge-fonce)}.doc-etat.attente{color:#9a6b00}
.doc-actions{display:flex;gap:6px;flex-wrap:wrap}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.doc-titre{font-weight:800;font-size:15px}.docs-jauge span{font-weight:600}

/* Bandes photo en milieu de page + animations douces (désactivées si l'utilisateur réduit les animations) */
.bande-photo-sec{padding-top:8px!important;padding-bottom:8px!important}
.bande-photo{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#07111f;box-shadow:0 20px 50px rgba(0,0,0,.28)}
.bande-photo img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover;object-position:50% 40%}
.bande-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px clamp(18px,3vw,36px) 20px;background:linear-gradient(0deg,rgba(7,17,31,.92),rgba(7,17,31,0));color:#fff;font-weight:700;font-size:clamp(16px,2vw,22px);line-height:1.35}
main > .bande-photo{max-width:980px;margin:24px auto}
@media(max-width:700px){.bande-photo{border-radius:16px}.bande-photo img{aspect-ratio:4/3}.bande-photo figcaption{font-size:16px;padding-top:40px}}
@media(prefers-reduced-motion:no-preference){
.bandeau:not(.hero) .photos img{animation:jcKen 24s ease-in-out infinite alternate;transform-origin:60% 45%}
@keyframes jcKen{from{transform:scale(1)}to{transform:scale(1.08)}}
.anim-ok .bande-photo img{transform:scale(1.12);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.anim-ok .bande-photo.vu img{transform:scale(1)}
.anim-ok .bande-photo figcaption{opacity:0;transform:translateY(18px);transition:opacity .9s ease .35s,transform .9s ease .35s}
.anim-ok .bande-photo.vu figcaption{opacity:1;transform:none}
.anim-ok .bande-photo:hover img{transform:scale(1.03)}
}

/* ===== V24-10 soir : cartes en scènes animées premium, photos de cartes, fonds enrichis, retour en haut ===== */
html{overflow-x:clip}body{overflow-x:clip!important}
.barre span a{color:inherit;text-decoration:none}
/* Cartes avec photo */
.illu.photo{background:#07111F!important;display:block}
.illu.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.illu.photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,17,31,0) 45%,rgba(7,17,31,.55));animation:none!important;transform:none!important}
.illu.photo::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;z-index:2;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg)}
/* Scène animée : route de nuit, phares, traînées de lumière (remplace le simple symbole) */
.illu:not(.photo){background:radial-gradient(70% 55% at 50% 118%,rgba(239,27,45,.45),transparent 70%),radial-gradient(60% 45% at 80% -5%,rgba(246,196,0,.22),transparent 65%),radial-gradient(50% 40% at 12% 8%,rgba(77,124,255,.22),transparent 65%),linear-gradient(180deg,#0E1A2C 0%,#07111F 58%,#03070F 100%)!important}
.illu:not(.photo)::before{content:"";position:absolute;inset:auto -10% 0 -10%;height:58%;z-index:0;animation:none;background:linear-gradient(180deg,#16202E,#0A111C);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);transform:none;opacity:.95}
.illu:not(.photo)::after{content:"";position:absolute;left:-30%;right:-30%;top:38%;height:2px;z-index:0;background:linear-gradient(90deg,transparent,rgba(239,27,45,.9) 30%,rgba(255,255,255,.9) 50%,rgba(239,27,45,.9) 70%,transparent);filter:blur(.6px);opacity:.75}
.illu:not(.photo) .illu-route{left:50%;right:auto;bottom:0;width:6px;height:58%;transform:translateX(-50%);clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);background:repeating-linear-gradient(0deg,#F6C400 0 16px,transparent 16px 34px);opacity:.9;z-index:0}
.illu:not(.photo) svg{position:relative;z-index:2;width:30%;max-width:84px;padding:4%;border-radius:50%;box-sizing:content-box;background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 34px rgba(246,196,0,.35),inset 0 0 20px rgba(255,255,255,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#F6C400;margin-bottom:22%}
.illu.mini:not(.photo) svg{width:26px;padding:7px;margin-bottom:18%}
.illu.grand:not(.photo) svg{max-width:96px}
@media (prefers-reduced-motion:no-preference){
 .illu:not(.photo) .illu-route{animation:jcRouteV .9s linear infinite!important}
 .illu:not(.photo)::after{animation:jcTrainee 3.2s ease-in-out infinite}
 .illu:not(.photo) svg{animation:jcFlotte 4.5s ease-in-out infinite}
 .illu.photo img{animation:jcKen 18s ease-in-out infinite alternate}
 .illu.photo::after{animation:jcBalaye 5s ease-in-out infinite}
}
@keyframes jcRouteV{to{background-position:0 -34px}}
@keyframes jcTrainee{0%{transform:translateX(-35%) scaleX(.6);opacity:0}30%{opacity:.85}70%{opacity:.85}100%{transform:translateX(35%) scaleX(1.1);opacity:0}}
@keyframes jcBalaye{0%,55%{left:-60%}100%{left:130%}}
/* Fonds plus riches (lisibilité conservée) */
.sec.alt,:root[data-ambiance] .sec.alt{background:radial-gradient(900px 420px at 0% 0%,rgba(239,27,45,.07),transparent 60%),radial-gradient(800px 420px at 100% 100%,rgba(246,196,0,.13),transparent 60%),linear-gradient(180deg,#F8F1E6,#F2E7D6)!important}
.sec.alt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:repeating-linear-gradient(90deg,rgba(7,17,31,.18) 0 22px,transparent 22px 40px);pointer-events:none}
.sec:not(.alt):not(.prochaine-sec):not(.bande-photo-sec):not(.vrai){background-image:radial-gradient(700px 360px at 100% 0%,rgba(77,124,255,.06),transparent 60%),radial-gradient(700px 360px at 0% 100%,rgba(239,27,45,.05),transparent 60%)}
/* Bouton retour en haut */
.haut-btn{position:fixed;right:16px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:60;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#07111F;color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,0,0,.35);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s;cursor:pointer}
.haut-btn.on{opacity:1;transform:none;pointer-events:auto}
.haut-btn svg{width:22px;height:22px}
.haut-btn:focus-visible{outline:3px solid #F6C400;outline-offset:3px}
.fiche summary .illu.mini:not(.photo),.illu.mini:not(.photo){height:92px!important}
.illu.mini:not(.photo) svg{width:24px!important;padding:9px;margin:0 0 14px 0}
.illu.mini:not(.photo)::after{top:30%}

/* Agence : scènes animées à la place des vraies photos (en attendant les visuels inspirés de l'agence) */
.vp-scene{background:#07111F!important;box-shadow:0 30px 60px rgba(0,0,0,.55),0 0 0 2px rgba(246,196,0,.55)!important}
.vp-scene .illu{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;margin:0}
.vp-scene figcaption{z-index:3}

/* ===== V24-10 « site vivant », juste milieu : lumière selon l'heure, route de lecture, cartes qui arrivent. Jamais sur les pages de paiement, de signature ni l'espace. ===== */
.bandeau .photos::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;transition:background 2.5s ease,opacity 2.5s ease;mix-blend-mode:soft-light;opacity:.9}
:root[data-ambiance="matin"] .bandeau .photos::before{background:radial-gradient(70% 60% at 85% 10%,rgba(200,230,255,.75),transparent 60%),linear-gradient(180deg,rgba(170,210,255,.35),transparent)}
:root[data-ambiance="apres-midi"] .bandeau .photos::before{background:radial-gradient(60% 60% at 70% 0%,rgba(255,250,235,.7),transparent 60%)}
:root[data-ambiance="fin-apres-midi"] .bandeau .photos::before{background:radial-gradient(70% 70% at 95% 70%,rgba(255,140,40,.85),transparent 60%),linear-gradient(0deg,rgba(255,90,40,.35),transparent 70%)}
:root[data-ambiance="soir"] .bandeau .photos::before{mix-blend-mode:multiply;background:linear-gradient(180deg,rgba(20,40,110,.55),rgba(7,17,31,.35));opacity:1}
.bandeau .photos img{z-index:0}
.jc-bokeh{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.jc-bokeh i{position:absolute;border-radius:50%;filter:blur(2px);opacity:0;background:radial-gradient(circle,rgba(255,230,170,.55),rgba(255,230,170,0) 70%);animation:jcBokeh 14s ease-in-out infinite;opacity:0}
:root[data-ambiance="soir"] .jc-bokeh{opacity:.5}
:root[data-ambiance="soir"] .jc-bokeh i{background:radial-gradient(circle,rgba(255,80,95,.5),rgba(255,80,95,0) 70%)}
:root[data-ambiance="soir"] .jc-bokeh i:nth-child(even){background:radial-gradient(circle,rgba(255,235,200,.55),rgba(255,235,200,0) 70%)}
:root[data-ambiance="matin"] .jc-bokeh i{background:radial-gradient(circle,rgba(255,255,255,.5),rgba(255,255,255,0) 70%)}
@keyframes jcBokeh{0%{opacity:0;transform:translate3d(0,20px,0) scale(.8)}25%{opacity:.9}70%{opacity:.6}100%{opacity:0;transform:translate3d(-30px,-60px,0) scale(1.1)}}
.jc-route-lecture{position:fixed;top:0;left:0;right:0;height:5px;z-index:999;pointer-events:none;background:#0B1626;
  background-image:linear-gradient(90deg,rgba(246,196,0,.55) 50%,transparent 0);background-size:22px 1px;background-repeat:repeat-x;background-position:0 2px}
.jc-route-lecture b{position:absolute;inset:0 auto 0 0;width:var(--lu,0%);background:linear-gradient(90deg,#B3101F,#EF1B2D);box-shadow:0 0 10px rgba(239,27,45,.7)}
.jc-route-lecture b::after{content:"";position:absolute;right:-5px;top:-2px;width:9px;height:9px;border-radius:50%;background:#FFE9A8;box-shadow:0 0 12px 4px rgba(255,220,120,.85)}
.jc-st{opacity:0;transform:translateY(22px) scale(.985);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.jc-st.jc-st-on{opacity:1;transform:none}
.fiche,.carte,.vp,.illu{--mx:50%;--my:50%}
.jc-lueur::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(260px circle at var(--mx) var(--my),rgba(255,214,120,.16),transparent 60%)}
.jc-lueur:hover::after{opacity:1}
@media (prefers-reduced-motion:reduce){.jc-bokeh{display:none}.jc-st{opacity:1;transform:none;transition:none}.bandeau .photos::before{transition:none}}
@media print{.jc-route-lecture,.jc-bokeh{display:none!important}}
/* V24-10 : photo du haut différente le matin, à midi, en fin d'après-midi et le soir */
.bandeau .photos-amb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0!important;transition:opacity 1.8s ease}
.bandeau .photos-amb img.on{opacity:1!important}
/* Photos par moment de la journée : la photo porte déjà la lumière, on allège les effets */
.bandeau .photos-amb::before{opacity:.3!important}
.bandeau .photos-amb .jc-bokeh{opacity:.35}
:root[data-ambiance="soir"] .bandeau .photos-amb .jc-bokeh{display:none}
.fiche summary .illu.photo img{object-position:50% 35%}
.bandeau:has(.photos-amb) .fx{opacity:.2}
:root[data-ambiance="soir"] .bandeau:has(.photos-amb) .fx{display:none}
.bandeau:has(.photos-amb) canvas{opacity:.25}:root[data-ambiance="soir"] .bandeau:has(.photos-amb) canvas{display:none}
/* V24-10 : mini animations sur les photos du haut, selon le moment de la journée */
.amb-fx{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.amb-fx i{position:absolute;display:block;pointer-events:none;opacity:0;transition:opacity 1.5s}
/* matin : rayons de soleil qui respirent */
:root[data-ambiance="matin"] .amb-fx .r{opacity:1;inset:-20% -10% 30% 30%;background:conic-gradient(from 200deg at 85% 0%,transparent 0deg,rgba(255,250,225,.28) 12deg,transparent 22deg,rgba(255,250,225,.2) 34deg,transparent 46deg,rgba(255,250,225,.16) 58deg,transparent 70deg);mix-blend-mode:screen;animation:jcRayons 9s ease-in-out infinite alternate}
/* midi : reflet qui glisse sur la scène */
:root[data-ambiance="apres-midi"] .amb-fx .g{opacity:1;top:0;bottom:0;width:30%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-16deg);animation:jcGlisse 11s ease-in-out infinite}
/* fin d'après-midi : halo de soleil qui flotte */
:root[data-ambiance="fin-apres-midi"] .amb-fx .s{opacity:1;width:46%;aspect-ratio:1;right:-8%;top:-14%;border-radius:50%;background:radial-gradient(circle,rgba(255,190,90,.55),rgba(255,120,40,.18) 45%,transparent 70%);mix-blend-mode:screen;animation:jcHalo 12s ease-in-out infinite alternate}
/* nuit : phares d'une voiture qui passe + lampadaires qui scintillent */
:root[data-ambiance="soir"] .amb-fx .p{opacity:1;bottom:6%;height:22%;width:45%;left:-50%;background:radial-gradient(ellipse at center,rgba(255,240,200,.45),rgba(255,240,200,.08) 45%,transparent 70%);mix-blend-mode:screen;filter:blur(6px);animation:jcPhares 9s ease-in infinite}
:root[data-ambiance="soir"] .amb-fx .t{opacity:1;inset:0 0 55% 0;background:radial-gradient(circle at 20% 30%,rgba(255,220,150,.5) 0 2px,transparent 3px),radial-gradient(circle at 62% 18%,rgba(255,220,150,.45) 0 2px,transparent 3px),radial-gradient(circle at 84% 40%,rgba(255,255,255,.4) 0 1.5px,transparent 3px);animation:jcScintille 3.5s ease-in-out infinite alternate}
@keyframes jcRayons{from{opacity:.45;transform:rotate(-2deg)}to{opacity:1;transform:rotate(2deg)}}
@keyframes jcGlisse{0%,55%{left:-40%}100%{left:130%}}
@keyframes jcHalo{from{transform:translate(0,0) scale(1);opacity:.75}to{transform:translate(-6%,8%) scale(1.12);opacity:1}}
@keyframes jcPhares{0%{left:-50%;opacity:0}15%{opacity:1}70%{opacity:1}100%{left:110%;opacity:0}}
@keyframes jcScintille{from{opacity:.35}to{opacity:1}}
/* cartes et vignettes : la photo vit doucement */
@media (prefers-reduced-motion:no-preference){
  .carte figure img,.fiche summary .illu.photo img{animation:jcRespire 14s ease-in-out infinite alternate}
  .fiche:nth-child(2n) summary .illu.photo img,.carte:nth-child(2n) figure img{animation-delay:-5s}
  .fiche:nth-child(3n) summary .illu.photo img,.carte:nth-child(3n) figure img{animation-delay:-9s}
}
@keyframes jcRespire{from{transform:scale(1)}to{transform:scale(1.06) translate(-1%,-1%)}}
@media (prefers-reduced-motion:reduce){.amb-fx{display:none}}
/* ===== V24-10 : fonds plus modernes (maillage de couleurs, trame fine, route stylisée) ===== */
.sec.g:not(.alt):not(.bande-photo-sec):not(.prochaine-sec):not(.bandeau):not(.racines){
  background:
    radial-gradient(700px 380px at 100% 0%,rgba(239,27,45,.07),transparent 65%),
    radial-gradient(640px 360px at 0% 100%,rgba(64,110,255,.06),transparent 65%),
    radial-gradient(circle,rgba(7,17,31,.07) 1px,transparent 1.4px) 0 0/22px 22px,
    linear-gradient(180deg,#FFFFFF,#F6F7FA)!important}
.sec.alt,:root[data-ambiance] .sec.alt{
  background:
    radial-gradient(760px 420px at 0% 0%,rgba(239,27,45,.09),transparent 62%),
    radial-gradient(700px 420px at 100% 100%,rgba(246,196,0,.12),transparent 62%),
    repeating-linear-gradient(135deg,rgba(7,17,31,.028) 0 1px,transparent 1px 20px),
    linear-gradient(180deg,#F3F5F9,#EAEDF3)!important}
/* la palme laisse la place à une route stylisée */
.sec.alt::before{right:-40px!important;top:-30px!important;width:420px!important;height:420px!important;opacity:.10!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M20 200 C60 140 150 150 180 0' fill='none' stroke='%2307111F' stroke-width='34' stroke-linecap='round'/%3E%3Cpath d='M20 200 C60 140 150 150 180 0' fill='none' stroke='%23F6C400' stroke-width='3' stroke-dasharray='10 9'/%3E%3C/svg%3E") no-repeat center/contain!important}

/* cartes : verre dépoli et liseré de couleur */
.sec .carte,.sec .fiche,.sec .sol,.sec .tuile{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
@media (prefers-reduced-motion:no-preference){
  .sec.alt{background-size:auto,auto,auto,auto}
  .sec.alt::before{animation:jcRouteFlotte 14s ease-in-out infinite alternate}
}
@keyframes jcRouteFlotte{from{transform:translateY(0) rotate(0)}to{transform:translateY(14px) rotate(-3deg)}}
main > section.sec.alt:not(.prochaine-sec),main > section.sec:nth-of-type(odd):not(.prochaine-sec):not(.vrai):not(.racines):not(.bande-photo-sec):not(.bandeau),:root[data-ambiance] main > section.sec.alt{
  --fond:#EEF1F6;--fond2:#EEF1F6;--trait:#DCE1EA;--carte:#FFFFFF;
  background:
    radial-gradient(760px 420px at 0% 0%,rgba(239,27,45,.09),transparent 62%),
    radial-gradient(700px 420px at 100% 100%,rgba(246,196,0,.12),transparent 62%),
    repeating-linear-gradient(135deg,rgba(7,17,31,.028) 0 1px,transparent 1px 20px),
    linear-gradient(180deg,#F3F5F9,#EAEDF3)!important}
main > section.sec.bande-photo-sec{background:radial-gradient(700px 380px at 50% 0%,rgba(239,27,45,.06),transparent 65%),linear-gradient(180deg,#F6F7FA,#EEF1F6)!important}
/* ===== V24-10 : touche afro-caribéenne discrète (palme, madras) — présente sans être mise en avant ===== */
.sec.alt::before{width:460px!important;height:460px!important;opacity:.11!important;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='%2307111F'%3E%3Cpath d='M100 100 C70 60 30 50 5 55 C40 45 75 55 100 100Z'/%3E%3Cpath d='M100 100 C80 50 60 20 30 5 C65 15 90 45 100 100Z'/%3E%3Cpath d='M100 100 C105 55 120 20 150 5 C125 30 112 60 100 100Z'/%3E%3Cpath d='M100 100 C130 60 165 50 195 60 C160 55 125 70 100 100Z'/%3E%3Cpath d='M100 100 C140 85 175 100 195 125 C165 105 130 100 100 100Z'/%3E%3Cpath d='M98 100 L104 100 L112 200 L92 200Z'/%3E%3C/g%3E%3C/svg%3E") no-repeat 100% 0/62% auto,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M20 200 C60 140 150 150 180 0' fill='none' stroke='%2307111F' stroke-width='34' stroke-linecap='round'/%3E%3Cpath d='M20 200 C60 140 150 150 180 0' fill='none' stroke='%23F6C400' stroke-width='3' stroke-dasharray='10 9'/%3E%3C/svg%3E") no-repeat 0 100%/70% auto!important}
/* madras : fine bande à carreaux rouge, or, vert et orange */
.pied{position:relative}
.pied::before,.bandeau::after{content:"";position:absolute;left:0;right:0;height:5px;pointer-events:none;z-index:4;
  background:
    repeating-linear-gradient(90deg,rgba(239,27,45,.95) 0 14px,rgba(246,196,0,.95) 14px 22px,rgba(239,27,45,.95) 22px 30px,rgba(0,140,80,.9) 30px 36px,rgba(242,138,46,.95) 36px 48px,rgba(246,196,0,.95) 48px 54px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.25) 0 1px,transparent 1px 3px);
  background-blend-mode:overlay}
.pied::before{top:0}
.bandeau::after{bottom:0}
.titre::after{box-shadow:6px 0 0 -1px rgba(246,196,0,.9),12px 0 0 -1px rgba(0,140,80,.7)}

/* ===== 26/10/2026 : vitesse sur téléphone — pas d'effets coûteux, contenu visible tout de suite ===== */
@media (max-width:900px),(hover:none){
  *,*::before,*::after{animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .jc-bokeh,.amb-fx,.brume,.phares,.rayons,.eclat,.soleil,#ciel,#voile{display:none!important}
  .photos img,.illu.photo img,.carte figure img{transform:none!important}
  .top,.barre{background:rgba(7,17,31,.96)!important}
}
.deco-palme,.deco-hibiscus{display:none!important}

/* --- pages du 29/10/2026 : test CPF, blog, auteur, étapes courtes --- */
.offre:has(> .carte:nth-child(4)){grid-template-columns:repeat(2,1fr)}
@media (max-width:820px){.offre:has(> .carte:nth-child(4)){grid-template-columns:1fr}}
.test-cpf{margin-top:24px;display:grid;gap:14px;max-width:760px}
.test-cpf fieldset{border:1px solid var(--trait);border-radius:14px;padding:14px 16px;background:var(--carte);margin:0}
.test-cpf legend{font-weight:800;padding:0 6px}
.test-cpf label{display:flex;gap:10px;align-items:center;padding:7px 0;font-size:15px;cursor:pointer}
.test-cpf input[type=radio]{width:20px;height:20px;accent-color:var(--rouge);flex:none}
.test-cpf .btn{justify-self:start}
.test-res{border:2px solid var(--rouge);border-radius:14px;padding:16px 18px;background:var(--carte)}
.test-res h3{font-size:19px;font-weight:900}
.test-res ul{list-style:none;padding:0;margin:10px 0;display:grid;gap:8px}
.test-res li{padding-left:28px;position:relative;font-size:15px}
.test-res li::before{position:absolute;left:0;top:0;font-weight:900}
.test-res li.oui::before{content:"✓";color:var(--vert)}
.test-res li.a-faire::before{content:"→";color:#C98A00}
.test-res li.non::before{content:"✕";color:var(--rouge)}
.auteur{display:flex;gap:14px;align-items:center;margin:8px 0 18px}
.auteur img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 40%;flex:none;border:3px solid var(--jaune,#F6C400)}
.auteur p{margin:0;font-size:14px;color:var(--texte2)}
.auteur b{color:var(--texte);font-size:16px}
.article h2{font-size:22px;font-weight:900;margin:26px 0 8px}
.article p{line-height:1.65}
.brouillon{display:inline-block;background:var(--jaune,#F6C400);color:#07111F;font-weight:800;font-size:13px;border-radius:8px;padding:5px 10px;margin:0 0 6px}
.etapes.etapes-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:820px){.etapes.etapes-3{grid-template-columns:1fr;gap:18px}}
