@property --a { syntax:'<angle>'; inherits:false; initial-value:0deg; }
:root{--navy:#0a2342;--red:#c81e2e;--line:#e6ebf0;--muted:#5b6b82;--bg:#f5f7fa;--btn-blue:#184c8a}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--navy)}
header{background:#fff;border-bottom:1px solid var(--line);padding:14px 0 0;position:sticky;top:0;z-index:10}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px}
.wrap.head{max-width:none;padding-left:calc(6px + 1cm);padding-right:20px;padding-bottom:14px}
.head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo-left{text-decoration:none;display:flex;align-items:center;cursor:pointer;margin-right:auto;margin-left:0}
.logo-officiel{width:5.4cm;height:auto;object-fit:contain;display:block}
#nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-left:auto}
#nav a{display:inline-block;text-decoration:none;--a:0deg;position:relative;isolation:isolate;border:1px solid var(--btn-blue);background:var(--btn-blue);color:#fff;padding:12px 20px;font-size:15.5px;border-radius:20px;font-weight:700;cursor:pointer;transition:background .45s ease,border-color .45s ease,transform .25s ease,box-shadow .3s ease}
#nav a::before{content:"";position:absolute;inset:-3px;border-radius:23px;padding:2.2px;background:conic-gradient(from var(--a),transparent 0deg,rgba(200,30,46,.15) 40deg,#c81e2e 125deg,#c81e2e 140deg,transparent 141deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:angSpin 4s linear infinite;pointer-events:none}
@keyframes angSpin{to{--a:360deg}}
#nav a:hover,#nav a.active{background:var(--red);border-color:var(--red);transform:scale(1.06);box-shadow:0 6px 18px rgba(200,30,46,.35)}
.tel{background:var(--btn-blue)!important;border-color:var(--btn-blue)!important;color:#fff!important}
.ecg-band{background:linear-gradient(180deg,#1a518f 0%,#184c8a 55%,#133c6f 100%);padding:10px 0;margin:0}
.ecg-inner{display:flex;gap:8px;align-items:center;padding-left:12px;padding-right:0}
.monitor{display:flex;gap:8px;align-items:center;width:100%}
.choc-btn{background:#ff8c00;color:#fff;border:0;border-radius:4px;font-weight:900;font-size:17px;padding:10px 19px;cursor:pointer;animation:blinkOrange 1s infinite;min-width:145px;display:flex;align-items:center;justify-content:center;white-space:nowrap;align-self:center}
@keyframes blinkOrange{0%,100%{box-shadow:0 0 0 0 rgba(255,140,0,.7)}50%{box-shadow:0 0 18px 4px rgba(255,140,0,.9)}}
.ecg-wrap{position:relative;flex:1;display:flex;background:#0e2a52;border-radius:8px 0 0 8px;padding:6px 0 6px 8px;min-height:100%}
#ecgSinus{width:100%;height:100%;min-height:68px;background:transparent;border:0;border-radius:0;display:block}
#flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;border-radius:8px 0 0 8px}
.hero-shot{margin-top:0}
.hero-shot img{width:100%;display:block;border-radius:0}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;margin-top:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.grid3{grid-template-columns:1fr}.ecg-inner{padding-right:0}}
.f-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
.f-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(10,35,66,.14);border-color:var(--red)}
.f-card:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:4px;background:var(--red);border-radius:4px;transform:scaleY(0);transform-origin:top}
.f-card:hover:before{transform:scaleY(1)}
.f-icon{width:54px;height:54px;border-radius:14px;background:#eef4fb;display:flex;align-items:center;justify-content:center;font-size:26px}
.f-duration{color:var(--red);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
footer{background:var(--navy);color:#fff;margin-top:26px;padding:22px 0;text-align:center}
footer a{color:#fff;margin:0 8px}
input,textarea,select{width:100%;padding:10px;border:1px solid var(--line);border-radius:12px;margin:6px 0;font-family:inherit;font-size:14px}
.btn{background:var(--navy);color:#fff;border:0;padding:12px 18px;border-radius:10px;font-weight:700;cursor:pointer}
.btn-red{background:var(--red)}
.back-btn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);border:2px solid var(--navy);color:#fff;font-weight:700;padding:10px 18px;border-radius:12px;cursor:pointer;margin-top:18px}
.back-btn:hover{background:#0d2f5c}
.j-page-title{text-align:center}
.j-page-title h2{font-size:32px;margin:6px 0 8px}
.j-page-title .u{width:60px;height:3px;background:var(--red);margin:0 auto 10px}
.j-page-title p{color:var(--muted);max-width:640px;margin:0 auto}
.two-col{display:grid;grid-template-columns:1fr 1.3fr;gap:18px;margin-top:18px}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}
.coord-row{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-bottom:30px;text-align:left}
.coord-row:last-child{margin-bottom:0}
.coord-icon{width:54px;height:54px;border-radius:50%;background:#fdeceb;color:var(--red);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:25px;text-decoration:none;transition:transform .2s ease,background .2s ease}
.coord-icon:hover{transform:scale(1.08);background:#f9d9d6}
.coord-label{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.coord-value{font-weight:700;color:var(--navy);font-size:18px}
label.f-label{font-weight:700;font-size:13.5px;margin-top:10px;display:block}
.check-row{display:flex;align-items:flex-start;gap:10px;margin-top:14px}
.check-row input[type="checkbox"]{width:auto;margin:2px 0 0 0;flex-shrink:0}
.check-row label{font-size:13.5px;color:var(--navy);font-weight:400;margin:0}
.check-error{color:var(--red);font-size:12.5px;font-weight:700;margin-top:6px;display:none}
.mini-ecg-wrap{background:#fff;overflow:hidden;display:none;border-top:1px solid var(--line)}
body.on-joindre .mini-ecg-wrap,body.on-formations .mini-ecg-wrap,body.on-apropos .mini-ecg-wrap,body.on-liens .mini-ecg-wrap{display:block}
body.on-joindre .ecg-band,body.on-formations .ecg-band,body.on-apropos .ecg-band,body.on-liens .ecg-band{display:none}
.mini-ecg-canvas{width:100%;height:46px;display:block}
.fb-svg{width:26px;height:26px;display:block}
.fp-title{text-align:center}
.fp-title h2{font-size:32px;margin:6px 0 8px}
.fp-title .u{width:60px;height:3px;background:var(--red);margin:0 auto 10px}
.fp-title p{color:var(--muted);max-width:680px;margin:0 auto}
.fp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
@media(max-width:960px){.fp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fp-grid{grid-template-columns:1fr}}
.fp-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:8px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer}
.fp-card:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:4px;background:var(--red);border-radius:4px}
.fp-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(10,35,66,.12);border-color:var(--red)}
.fp-icon{width:48px;height:48px;border-radius:14px;background:#eef4fb;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:4px}
.fp-card h3{margin:0;font-size:18px;color:var(--navy)}
.fp-meta{color:var(--red);font-weight:700;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px}
.fp-desc{color:var(--muted);font-size:13.8px;line-height:1.5;margin:0}
.fp-more{margin-top:10px;align-self:flex-start;background:transparent;border:0;color:var(--btn-blue);font-weight:700;font-size:13.5px;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:5px;transition:color .2s ease}
.fp-more:hover{color:var(--red)}
.modal-overlay{position:fixed;inset:0;background:rgba(10,35,66,.55);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}
.modal-overlay.open{display:flex}
.modal-box{background:#fff;border-radius:20px;max-width:760px;width:100%;padding:36px;position:relative;max-height:90vh;overflow-y:auto}
.modal-close{position:absolute;top:18px;right:20px;background:#eef4fb;border:0;width:36px;height:36px;border-radius:50%;font-size:18px;font-weight:700;color:var(--navy);cursor:pointer}
.modal-close:hover{background:#fdeceb;color:var(--red)}
.modal-box h2{margin:6px 0 4px;font-size:26px;color:var(--navy)}
.modal-tag{color:var(--red);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px;display:block}
.modal-box p{color:var(--navy);line-height:1.6;font-size:15px;margin:10px 0}
.modal-box ul{margin:8px 0 16px 20px;padding:0;color:var(--navy);line-height:1.6;font-size:14.5px}
.modal-box li{margin-bottom:6px}
.modal-photo-placeholder{background:#f0f4f8;border:2px dashed #b9cfe7;border-radius:12px;height:160px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:700;font-size:13.5px;letter-spacing:.03em;margin:16px 0;text-transform:uppercase}
.modal-action-btn{display:block;width:100%;background:var(--red);color:#fff;border:0;padding:14px;border-radius:12px;font-weight:900;font-size:15.5px;text-align:center;cursor:pointer;margin:16px 0;transition:background .2s ease}
.modal-action-btn:hover{background:#a81622}
.cert-box{background:#eef4fb;border-left:4px solid var(--btn-blue);padding:14px 18px;border-radius:0 12px 12px 0;margin:16px 0;font-size:14.5px;line-height:1.55;color:var(--navy)}
.modal-photo-wrap{position:relative;border-radius:12px;overflow:hidden;margin:16px 0;border:1px solid var(--line)}
.modal-photo-wrap img{width:100%;display:block}
.face-blur{position:absolute;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(255,255,255,.18);border-radius:50%}
.fb-womanset{left:32.5%;top:21%;width:7.2%;height:10.5%}
.fb-manset{left:47.8%;top:21.5%;width:6.8%;height:10.5%}
.modal-photo-grid{display:flex;gap:12px;margin:16px 0}
.modal-photo-grid .modal-photo-wrap{flex:1;margin:0;min-width:0}
.p6-fb1{left:5%;top:29%;width:9%;height:8%}
.p6-fb2{left:49%;top:41%;width:10%;height:9%}
.p6-fb3{left:56%;top:49%;width:9%;height:8%}
.p8-fb1{left:20%;top:47%;width:9%;height:6%}
.p8-fb2{left:36%;top:55%;width:9%;height:6%}
.p8-fb3{left:45.5%;top:50.5%;width:9%;height:6%}
.p8-fb4{left:69%;top:57%;width:9%;height:6.5%}
/* --- Ajouts pour la version multipage --- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-shot img{height:auto}
.card h1{font-size:1.5em;margin:.83em 0}
.card.fp-title h1,.card.j-page-title h1{font-size:32px;margin:6px 0 8px}
.two-col .card h2{font-size:1.17em;margin:1em 0}
a.fp-card{text-decoration:none;color:inherit}
.fiche.modal-box{max-height:none;overflow:visible;margin:16px auto 0;border:1px solid var(--line)}
.modal-box h1{margin:6px 0 4px;font-size:26px;color:var(--navy)}
a.modal-action-btn{text-decoration:none;box-sizing:border-box}
a.back-btn{text-decoration:none}
.modal-photo-wrap img{height:auto}
.fiche-nav{max-width:760px;margin:0 auto}
.breadcrumb{max-width:760px;margin:14px auto 0;font-size:13px;color:var(--muted)}
.breadcrumb a{color:var(--btn-blue);text-decoration:none}
.breadcrumb a:hover{color:var(--red)}
.hp-field{display:none}
@media(max-width:640px){.wrap.head{flex-wrap:wrap;padding-left:16px;padding-right:16px}.logo-officiel{width:4.2cm;height:auto}#nav{justify-content:flex-start;margin-left:0;gap:8px}#nav a{padding:10px 14px;font-size:14px}.choc-btn{min-width:0;font-size:15px;padding:8px 12px}}
/* Anneaux animés sur les valeurs de l'image d'accueil */
@property --rv{syntax:'<angle>';inherits:false;initial-value:0deg}
.hero-shot{position:relative}
.hv{position:absolute;top:60.47%;width:7.8%;aspect-ratio:1;max-width:100%;transform:translate(-50%,-50%);border-radius:50%;cursor:pointer}
.hv::before,.hv::after{content:"";position:absolute;inset:0;border-radius:50%;opacity:0;transition:opacity .25s ease;pointer-events:none}
.hv::before{background:#f7f9fb;-webkit-mask:radial-gradient(closest-side,transparent 88%,#000 88.6%);mask:radial-gradient(closest-side,transparent 88%,#000 88.6%)}
.hv::after{--rv:0deg;background:conic-gradient(from var(--rv),transparent 0deg,rgba(200,30,46,.15) 40deg,#c81e2e 125deg,#c81e2e 140deg,transparent 141deg);-webkit-mask:radial-gradient(closest-side,transparent 91.5%,#000 92%);mask:radial-gradient(closest-side,transparent 91.5%,#000 92%);animation:hvSpin 1.3s linear infinite;animation-play-state:paused}
.hv:hover::before,.hv:hover::after{opacity:1}
.hv:hover::after{animation-play-state:running}
@keyframes hvSpin{to{--rv:360deg}}
@media(prefers-reduced-motion:reduce){.hv::after{animation:none}}
.coord-icon{background:#eef4fb;color:var(--btn-blue)}
.coord-icon:hover{background:#dde9f7}
/* Pied de page : liens en pastilles */
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
footer a.foot-pill{margin:0;display:inline-block;border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:8px 16px;font-size:13.5px;text-decoration:none;color:#fff;transition:background .2s ease,border-color .2s ease}
footer a.foot-pill:hover{background:rgba(255,255,255,.12);border-color:#fff}
/* FAQ */
.faq{max-width:860px;margin:18px auto 0;display:grid;gap:12px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;transition:border-color .2s ease,box-shadow .2s ease}
.faq-item:hover,.faq-item[open]{border-color:var(--red);box-shadow:0 10px 24px rgba(10,35,66,.08)}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:700;font-size:16px;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#eef4fb;color:var(--btn-blue);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}
.faq-item[open] summary::after{content:"−";background:#fdeceb;color:var(--red)}
.faq-a{padding:0 22px 20px;color:var(--navy);line-height:1.6;font-size:15px}
.faq-cta{max-width:860px;margin:22px auto 0;text-align:center;color:var(--muted)}
.faq-cta p{margin:0 0 10px}
/* À propos de nous : valeurs */
.sec-title{text-align:center;font-size:24px;letter-spacing:.22em;text-transform:uppercase;margin:4px 0 0;display:flex;align-items:center;justify-content:center;gap:18px}
.sec-title::before,.sec-title::after{content:"";width:80px;height:3px;background:var(--red)}
.valeurs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:28px}
@media(max-width:1100px){.valeurs-grid{grid-template-columns:repeat(6,1fr)}.valeur{grid-column:span 2}.valeur:nth-child(4){grid-column:2/4}.valeur:nth-child(5){grid-column:4/6}}
@media(max-width:640px){.valeurs-grid{grid-template-columns:1fr;gap:30px}.valeur,.valeur:nth-child(4),.valeur:nth-child(5){grid-column:auto}}
.valeur{text-align:center}
.valeur-icon{position:relative;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#1d4478,#0a2342 72%);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 8px 18px rgba(10,35,66,.18);transition:transform .25s ease}
.valeur-icon::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid transparent;border-right-color:var(--red);border-bottom-color:var(--red);transform:rotate(-25deg);pointer-events:none}
.valeur-icon svg{width:50px;height:50px}
.valeur h3{margin:0;font-size:16.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}
.valeur .u{width:44px;height:3px;background:var(--red);margin:10px auto 12px}
.valeur p{margin:0 auto;max-width:260px;color:var(--navy);font-size:14.5px;line-height:1.6}
@media(prefers-reduced-motion:reduce){.valeur-icon{transition:none}}
/* Nos valeurs : fond bleuté avec rythme cardiaque et zoom au survol */
.valeurs{position:relative;overflow:hidden;background:linear-gradient(180deg,#f4f8fd 0%,#e8f0fa 100%);border-color:#dbe6f3}
.valeurs::before{content:"";position:absolute;left:0;right:0;top:84px;height:120px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120' viewBox='0 0 480 120'%3E%3Cpath d='M0 60H150l10-12 10 12h14l9-34 12 70 10-48 8 12h40l12-10 12 10H480' fill='none' stroke='%23184c8a' stroke-opacity='.13' stroke-width='2.5' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x 57px center/480px 120px;pointer-events:none}
.valeurs>*{position:relative;z-index:1}
.valeur{border-radius:18px;padding:18px 10px 20px;transition:transform .3s ease,background .3s ease,box-shadow .3s ease;outline:none}
.valeur:hover,.valeur:focus-visible,.valeur:active{transform:scale(1.07);background:rgba(255,255,255,.85);box-shadow:0 14px 30px rgba(10,35,66,.12);z-index:2}
.valeur:hover .valeur-icon,.valeur:focus-visible .valeur-icon,.valeur:active .valeur-icon{transform:scale(1.12)}
.valeur:focus-visible{box-shadow:0 0 0 3px var(--red),0 14px 30px rgba(10,35,66,.12)}
@media(prefers-reduced-motion:reduce){.valeur{transition:none}}
@media(max-width:640px){.sec-title{font-size:18px;letter-spacing:.14em;gap:10px;white-space:nowrap}.sec-title::before,.sec-title::after{width:24px}}
/* À propos de nous : le fondateur */
.fond-profil{text-align:center}
.fond-photo{position:relative;margin:0 12px 28px 0}
.fond-photo::before{content:"";position:absolute;inset:14px -12px -12px 14px;border:3px solid var(--red);border-radius:20px;z-index:0}
.fond-photo img{position:relative;z-index:1;display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 14px 30px rgba(10,35,66,.22)}
@media(max-width:860px){.fond-profil{max-width:280px;margin:0 auto}}
.fond-grid{display:grid;grid-template-columns:280px 1fr;gap:36px;margin-top:28px;align-items:start}
@media(max-width:860px){.fond-grid{grid-template-columns:1fr;gap:24px}}
.fond-avatar{position:relative;width:104px;height:104px;border-radius:50%;margin:0 auto 14px;background:radial-gradient(circle at 35% 30%,#1d4478,#0a2342 72%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900;letter-spacing:.04em;box-shadow:0 8px 18px rgba(10,35,66,.18)}
.fond-avatar::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid transparent;border-right-color:var(--red);border-bottom-color:var(--red);transform:rotate(-25deg)}
.fond-nom{margin:0;font-weight:900;font-size:19px;color:var(--navy)}
.fond-role{margin:4px 0 18px;color:var(--red);font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.fond-reperes{list-style:none;margin:0 0 18px;padding:0;text-align:left;display:grid;gap:10px}
.fond-reperes li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--navy);line-height:1.35}
.fond-reperes span{flex-shrink:0;background:var(--navy);color:#fff;font-weight:900;font-size:13px;border-radius:10px;padding:6px 9px}
.fond-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.fond-tags li{background:#fff;border:1px solid #c9d8ea;color:var(--btn-blue);font-weight:700;font-size:12.5px;border-radius:20px;padding:6px 12px}
.fond-texte p{margin:0 0 16px;font-size:15.5px;line-height:1.75;color:var(--navy)}
.fond-texte p.fond-lead{font-size:17px}
.fond-texte strong{color:var(--navy);font-weight:800}
.fond-valeurs{justify-content:flex-start;margin-top:-4px}
.fond-valeurs li{background:var(--red);color:#fff;font-weight:900;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:7px 14px}
.fond-citation{position:relative;margin:34px 0 4px;padding:30px 28px 24px 70px;background:linear-gradient(135deg,#0a2342,#184c8a);color:#fff;border-radius:18px;overflow:hidden}
.fond-citation::before{content:"«";position:absolute;left:20px;top:2px;font-size:84px;line-height:1;color:var(--red);font-family:Georgia,serif}
.fond-citation p{margin:0;font-size:21px;line-height:1.5;font-style:italic}
.fond-citation strong{color:#fff;font-weight:900;font-style:normal;border-bottom:3px solid var(--red)}
.fond-citation cite{display:block;margin-top:10px;text-align:right;font-style:normal;font-family:"Great Vibes","Brush Script MT","Segoe Script",cursive;font-size:26px;line-height:1.1;opacity:.9}
.fond-texte strong.val-inline{color:var(--red);text-transform:uppercase;font-size:.9em;letter-spacing:.04em;font-weight:900}
@media(max-width:640px){.fond-citation{padding:52px 20px 20px}.fond-citation::before{left:16px;top:-4px;font-size:70px}.fond-citation p{font-size:18px}.fond-texte p,.fond-texte p.fond-lead{font-size:15.5px}}
/* À propos de nous : la naissance de RéaCœur */
.naissance{margin-top:40px;padding-top:34px;border-top:1px solid var(--line)}
.naissance h3{text-align:center;font-size:26px;margin:0;color:var(--navy)}
.naissance .u{width:60px;height:3px;background:var(--red);margin:10px auto 0}
.naiss-corps{max-width:880px;margin:26px auto 0}
.naiss-corps p{margin:0 0 16px;font-size:15.5px;line-height:1.75;color:var(--navy)}
.naiss-corps strong{font-weight:800}
.naiss-corps strong.val-inline{color:var(--red);text-transform:uppercase;font-size:.9em;letter-spacing:.04em;font-weight:900}
.naiss-corps p.naiss-cle{font-size:18px;font-weight:900;text-align:center;margin:22px 0}
.naiss-accroche{position:relative;text-align:center;margin:0 0 30px;padding:34px 24px 26px;border-radius:20px;background:linear-gradient(180deg,#f5f8fc 0%,#eaf1f9 100%);border:1px solid var(--line);overflow:hidden}
.naiss-corps .naiss-accroche p{margin:0}
.naiss-corps .naiss-l1{font-size:19px;line-height:1.5;font-weight:600;color:var(--muted);max-width:560px;margin:0 auto!important}
.naiss-corps .naiss-l2{font-size:32px;line-height:1.25;font-weight:900;color:var(--navy);margin-top:10px!important}
.naiss-ecg{display:block;width:260px;max-width:80%;height:auto;margin:16px auto 0;color:var(--red)}
.naiss-citation{margin:4px 0 26px}
.naiss-corps .fond-citation p{margin:0;color:#fff;font-size:21px;line-height:1.5;font-style:italic}
@media(max-width:640px){.naiss-corps .fond-citation p{font-size:18px}}
@media(max-width:640px){.naiss-corps .naiss-l1{font-size:16.5px}.naiss-corps .naiss-l2{font-size:25px}}
@media(max-width:640px){.naissance h3{font-size:22px}}
/* Page Liens */
.liens-liste{max-width:1000px;margin:24px auto 0;display:grid}
.lien{display:flex;align-items:center;gap:32px;padding:34px 36px;border-radius:18px;text-decoration:none;transition:background .25s ease}
.lien+.lien{border-top:1px solid var(--line)}
.lien-texte{flex:1;min-width:0}
.lien-titre{display:block;font-size:30px;line-height:1.2;font-weight:800;color:#3d8fd6;transition:color .25s ease}
.lien-desc{display:block;margin-top:18px;max-width:760px;font-size:16.5px;line-height:1.75;color:#6b7686;transition:color .25s ease}
.lien-fleche{flex-shrink:0;width:44px;height:44px;color:#1a237e;transition:transform .3s ease}
.lien:hover .lien-titre,.lien:focus-visible .lien-titre{color:#1f5f9e}
.lien:hover .lien-desc,.lien:focus-visible .lien-desc{color:#2b3441}
.lien:hover .lien-fleche,.lien:focus-visible .lien-fleche{transform:translateX(12px)}
.lien:hover{background:#f5f8fc}
@media(max-width:640px){.lien{padding:22px 14px;gap:14px}.lien-titre{font-size:21px}.lien-desc{font-size:15px;margin-top:10px}.lien-fleche{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.lien-fleche,.lien-titre,.lien-desc{transition:none}}
/* Nous joindre : bandeau d'accueil */
.joindre-hero{margin-top:16px;text-align:center;padding:38px 24px 34px;background:linear-gradient(135deg,#0a2342 0%,#184c8a 100%);border:0;color:#fff;position:relative;overflow:hidden}
.joindre-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.06)}
.jh-bulles{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 18px;position:relative;z-index:1}
.jh-bulle{position:relative;display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--navy);font-weight:900;font-size:21px;padding:14px 22px;border-radius:22px;box-shadow:0 10px 24px rgba(0,0,0,.18);animation:jhPop .6s cubic-bezier(.2,1.4,.4,1) both,jhFlotte 4s ease-in-out infinite}
.jh-bulle::after{content:"";position:absolute;bottom:-9px;left:28px;border:10px solid transparent;border-top-color:#fff;border-bottom:0}
.jh-bulle.b2{background:var(--red);color:#fff}.jh-bulle.b2::after{border-top-color:var(--red);left:auto;right:28px}
.jh-bulle.b1{animation-delay:.05s,.6s}.jh-bulle.b2{animation-delay:.25s,1.4s}.jh-bulle.b3{animation-delay:.45s,2.2s}
.jh-ico{font-size:22px;line-height:1}
.jh-reponse{position:relative;z-index:1;margin:30px 0 0;font-size:20px;font-weight:700;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.jh-coeur{width:26px;height:26px;color:#ff4d5e;animation:jhBat 1.1s ease-in-out infinite}
@keyframes jhPop{from{opacity:0;transform:translateY(14px) scale(.85)}to{opacity:1;transform:none}}
@keyframes jhFlotte{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes jhBat{0%,100%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.18)}}
@media(max-width:640px){.joindre-hero{padding:28px 12px 26px}.jh-bulle{font-size:15.5px;padding:10px 14px;gap:8px;white-space:nowrap}.jh-ico{font-size:18px}.jh-reponse{font-size:17px}}
.jh-nowrap{white-space:nowrap;display:inline-flex;align-items:center;gap:10px}
@media(prefers-reduced-motion:reduce){.jh-bulle,.jh-coeur{animation:none}}
/* Toutes les pages : rythme cardiaque rouge pâle qui défile dans l'en-tête */
.wrap.head{position:relative}
.wrap.head>*{position:relative;z-index:1}
.wrap.head::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='140' viewBox='0 0 600 140'%3E%3Cpath d='M0 70H200l12-14 12 14h16l10-44 14 88 12-60 9 16h50l14-12 14 12H600' fill='none' stroke='%23c81e2e' stroke-opacity='.16' stroke-width='3' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x 0 50%/600px 140px;animation:hdrEcg 15s linear infinite}
.logo-left{mix-blend-mode:multiply}
@keyframes hdrEcg{from{background-position-x:0}to{background-position-x:-600px}}
@media(prefers-reduced-motion:reduce){.wrap.head::before{animation:none}}
/* Moniteur animé dans la photo d'accueil */
.hero-shot{overflow:hidden}
.moniteur-stage{position:absolute;left:0;top:0;width:1600px;height:900px;transform-origin:0 0;pointer-events:none}
.moniteur-ecran{position:absolute;left:0;top:0;transform-origin:0 0;filter:blur(.9px);-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect}
/* FAQ : réponses repliables */
.faq-a p{margin:0 0 10px}.faq-a p:last-child{margin-bottom:0}
.faq-a ul{margin:4px 0 12px 20px;padding:0}.faq-a li{margin-bottom:8px}
.faq-item[open] .faq-a{animation:faqOuvre .25s ease}
@keyframes faqOuvre{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.faq-item summary:hover{color:var(--btn-blue)}
.card.faq-cta{max-width:860px;margin:26px auto 0;text-align:center;background:linear-gradient(135deg,#0a2342,#184c8a);border:0;color:#fff}
.card.faq-cta h2{margin:0 0 10px;font-size:22px;color:#fff}
.card.faq-cta p{margin:0 auto 8px;max-width:640px;color:#dce7f5;line-height:1.6}
.faq-bouton{display:inline-block;margin-top:14px;background:var(--red);color:#fff;border:0;border-radius:12px;padding:13px 22px;font-weight:900;font-size:15px;text-decoration:none;cursor:pointer;transition:background .2s ease,transform .2s ease}
.faq-bouton:hover{background:#a81622;transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.faq-item[open] .faq-a{animation:none}}
/* Page Photos et commentaires */
.sec-intro{text-align:center;color:var(--muted);margin:10px 0 0}
.carrousel{position:relative;margin-top:24px}
.galerie{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 12px;scrollbar-width:none}
.galerie::-webkit-scrollbar{display:none}
.galerie-item{margin:0;flex:0 0 calc((100% - 54px)/4);scroll-snap-align:start}
@media(max-width:1000px){.galerie-item{flex-basis:calc((100% - 36px)/3)}}
@media(max-width:700px){.galerie-item{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:480px){.galerie-item{flex-basis:82%}}
.car-fleche{position:absolute;top:calc(50% - 40px);transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--navy);box-shadow:0 6px 18px rgba(10,35,66,.25);font-size:22px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}
.car-fleche:hover{background:var(--red);color:#fff}
.car-prec{left:-12px}.car-suiv{right:-12px}
.car-points{display:flex;justify-content:center;gap:8px;margin-top:6px}
.car-points button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:#c9d6e6;cursor:pointer;transition:background .2s ease,transform .2s ease}
.car-points button.actif{background:var(--red);transform:scale(1.25)}
@media(max-width:640px){.car-prec{left:-6px}.car-suiv{right:-6px}.car-fleche{width:38px;height:38px;font-size:18px}}
.galerie-btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:14px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 8px 20px rgba(10,35,66,.12)}
.galerie-btn img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.galerie-btn:hover img,.galerie-btn:focus-visible img{transform:scale(1.06)}
.galerie-item figcaption{margin-top:10px;font-size:13.5px;line-height:1.45;color:var(--navy);text-align:center}
.comm-vide{max-width:620px;margin:22px auto 4px;text-align:center;color:var(--muted)}
.comm-vide svg{width:54px;height:54px;color:var(--btn-blue);opacity:.7}
.comm-vide .comm-titre{font-size:17px;font-weight:700;color:var(--navy);margin:8px 0}
.visionneuse{position:fixed;inset:0;z-index:60;background:rgba(6,18,36,.88);display:flex;align-items:center;justify-content:center;padding:24px}
.visionneuse[hidden]{display:none}
.visionneuse figure{margin:0;max-width:min(92vw,1000px);text-align:center}
.visionneuse img{max-width:100%;max-height:80vh;border-radius:12px;display:block;margin:0 auto}
.visionneuse figcaption{color:#fff;margin-top:12px;font-size:15px}
.vis-fermer{position:absolute;top:16px;right:18px;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:18px;font-weight:700;cursor:pointer}
/* Menu plus compact pour que les 7 boutons tiennent sur une ligne */
@media(min-width:641px){nav{gap:5px}nav a,nav button{padding:10px 11px;font-size:13.8px}.wrap.head{padding-left:20px;gap:12px}.logo-officiel{width:4.7cm}}
.visionneuse figcaption{display:none}
.comm-sec{margin-top:16px}
/* Commentaires : code QR */
.comm-intro{font-size:17px;color:var(--navy);font-weight:700;margin:8px 0 0}
.comm-qr{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:22px;text-align:left;flex-wrap:wrap}
.qr-lien{display:block;border-radius:16px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px rgba(10,35,66,.12);transition:transform .25s ease}
.qr-lien:hover{transform:scale(1.04)}
.comm-vide svg.qr-code{display:block;width:200px;height:200px;opacity:1}
.comm-qr-texte{max-width:300px}
.comm-qr-texte p{margin:0 0 6px;color:var(--muted);line-height:1.55}
@media(max-width:640px){.comm-qr{flex-direction:column;text-align:center;gap:16px}}
/* Pied de page : slogan et droits */
.slogan{margin:4px 0 2px;font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;font-size:26px;letter-spacing:.01em;color:#fff;text-wrap:balance}
.slogan::after{content:"";display:block;width:56px;height:2px;background:var(--red);margin:12px auto 0}
.foot-bas{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);text-align:left;font-size:13px;color:rgba(255,255,255,.75)}
@media(max-width:640px){.slogan{font-size:21px}}
/* Boutons du menu : reflet bleu pâle doux (remplace l'anneau rouge qui tournait) */
nav a,nav button{overflow:hidden}
nav a::before,nav button::before{inset:0;padding:0;border-radius:inherit;-webkit-mask:none;mask:none;-webkit-mask-composite:initial;mask-composite:initial;background:linear-gradient(110deg,transparent 30%,rgba(185,215,250,.42) 50%,transparent 70%);background-size:250% 100%;background-position:150% 0;animation:navDoux 8s ease-in-out infinite;z-index:-1}
@keyframes navDoux{0%,55%{background-position:150% 0}100%{background-position:-50% 0}}
nav>:nth-child(1)::before{animation-delay:0.0s}nav>:nth-child(2)::before{animation-delay:0.7s}nav>:nth-child(3)::before{animation-delay:1.4s}nav>:nth-child(4)::before{animation-delay:2.1s}nav>:nth-child(5)::before{animation-delay:2.8s}nav>:nth-child(6)::before{animation-delay:3.5s}nav>:nth-child(7)::before{animation-delay:4.2s}nav>:nth-child(8)::before{animation-delay:4.9s}
@media(prefers-reduced-motion:reduce){nav a::before,nav button::before{animation:none;background:none}}
/* Slogan funky : mots qui battent comme un cœur + tracé ECG qui se dessine */
.slogan{font-family:"Poppins",Arial,sans-serif;font-style:normal;font-weight:600;font-size:24px;letter-spacing:.01em}
.slogan::after{display:none}
.sl-mot{display:inline-block;margin:0 .03em 0 .1em;transform-origin:center 70%;font-weight:800;background:linear-gradient(90deg,#ff5a6a,#ffd0d5 50%,#ff5a6a);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:slReflet 4s linear infinite,slBat 3.6s ease-in-out infinite}
.sl-mot:nth-of-type(2){animation-delay:0s,1.2s}.sl-mot:nth-of-type(3){animation-delay:0s,2.4s}
@keyframes slReflet{to{background-position:-200% 0}}
@keyframes slBat{0%,40%,100%{transform:scale(1)}8%{transform:scale(1.08)}16%{transform:scale(1)}24%{transform:scale(1.05)}}
.sl-ecg{display:block;width:240px;max-width:70%;height:28px;margin:6px auto 0;fill:none;stroke:#ff5a6a;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:slTrace 3.6s linear infinite;filter:drop-shadow(0 0 4px rgba(255,90,106,.6))}
@keyframes slTrace{0%{stroke-dashoffset:100}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-100}}
@media(max-width:640px){.slogan{font-size:19px}}
@media(prefers-reduced-motion:reduce){.sl-mot,.sl-ecg{animation:none}.sl-ecg{stroke-dashoffset:0}}
/* Page Tester vos connaissances : section en construction */
.chantier{position:relative;overflow:hidden;text-align:center;margin-top:16px;padding:40px 24px 54px}
.cones{display:flex;justify-content:center;align-items:flex-end;gap:18px;margin-bottom:14px}
.cone{width:64px;height:80px;animation:coneBalance 2.8s ease-in-out infinite;transform-origin:50% 100%}
.cone.c2{width:86px;height:108px;animation-delay:.4s}.cone.c3{animation-delay:.8s}
@keyframes coneBalance{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.chantier-etiquette{display:inline-block;margin:6px 0 0;background:#ff8c00;color:#fff;font-weight:900;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:7px 16px;border-radius:20px}
.chantier-titre{margin:14px 0 8px;font-size:30px;color:var(--navy)}
.chantier-texte{margin:0 auto;color:var(--muted);font-size:16px;max-width:520px}
.chantier-astuce{margin:14px 0 0;color:var(--navy);font-size:15px}
.chantier-astuce strong{color:#ff8c00}
.ruban{position:absolute;left:0;right:0;bottom:0;height:16px;background:repeating-linear-gradient(-45deg,#ff8c00 0 18px,#1b1b1b 18px 36px);opacity:.9}
@media(prefers-reduced-motion:reduce){.cone{animation:none}}
/* Page Mentions légales */
.legal{max-width:860px;margin:18px auto 0;padding:34px 40px}
.legal h2{margin:0 0 18px;font-size:28px;line-height:1.25;color:var(--navy);max-width:560px}
.legal p{margin:0;font-size:16.5px;line-height:1.8;color:var(--navy)}
.legal .legal-coord{margin-bottom:22px}
.legal a{color:var(--btn-blue);text-decoration:underline;text-underline-offset:3px}
.legal a:hover{color:var(--red)}
@media(max-width:640px){.legal{padding:24px 20px}.legal h2{font-size:22px}}
/* Page Protection des renseignements personnels */
.legal.prp h3{margin:30px 0 10px;font-size:20px;color:var(--navy);padding-top:22px;border-top:1px solid var(--line)}
.legal.prp h4{margin:18px 0 6px;font-size:16px;color:var(--btn-blue)}
.legal.prp p{margin:0 0 12px}
.legal.prp ul{margin:0 0 14px 22px;padding:0;color:var(--navy);font-size:16px;line-height:1.7}
.legal.prp .prp-intro{font-size:18px;font-weight:700}
.prp-contact{background:#eef4fb;border-left:4px solid var(--btn-blue);border-radius:0 14px 14px 0;padding:16px 20px;margin:4px 0 14px}
.prp-contact p{margin:0!important}
.legal.prp .prp-date{margin-top:24px;color:var(--muted);font-size:14px}
/* Carrousel : descriptions sous les photos */
.galerie-item .car-leg{position:relative;display:flex;align-items:flex-start;gap:10px;margin:14px 4px 0;padding:10px 12px 14px;border-radius:12px;background:#f3f7fc;border:1px solid #e1eaf5;text-align:left;transition:background .3s ease,border-color .3s ease,transform .3s ease}
.leg-num{flex-shrink:0;font-weight:900;font-size:12px;letter-spacing:.06em;color:#fff;background:var(--btn-blue);border-radius:8px;padding:3px 7px;margin-top:1px;transition:background .3s ease}
.leg-txt{font-size:14px;line-height:1.45;font-weight:700;color:var(--navy)}
.leg-ecg{position:absolute;left:12px;right:12px;bottom:4px;width:calc(100% - 24px);height:8px;fill:none;stroke:var(--red);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .9s ease}
.galerie-item:hover .car-leg,.galerie-item:focus-within .car-leg{background:#fff;border-color:#f3c3c8;transform:translateY(-3px);box-shadow:0 8px 18px rgba(10,35,66,.08)}
.galerie-item:hover .leg-num,.galerie-item:focus-within .leg-num{background:var(--red)}
.galerie-item:hover .leg-ecg,.galerie-item:focus-within .leg-ecg{stroke-dashoffset:0}
.visionneuse figcaption{display:block}
@media(prefers-reduced-motion:reduce){.car-leg,.leg-ecg{transition:none}}
.galerie-item{display:flex;flex-direction:column}.galerie-item .car-leg{flex:1}
/* Diaporama photos : fondu enchaîné + zoom lent, panneau de description animé */
.diapo{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:26px;margin-top:24px;align-items:stretch}
.diapo-scene{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:#0a2342;box-shadow:0 18px 40px rgba(10,35,66,.22)}
.diapo-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity 1.4s ease,visibility 0s linear 1.4s}
.diapo-slide.actif{opacity:1;visibility:visible;transition:opacity 1.4s ease,visibility 0s}
.diapo-fond{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(24px) brightness(.55) saturate(1.2);transform:scale(1.1)}
.diapo-slide .galerie-btn{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none;background:none;overflow:hidden}
.diapo-slide .galerie-btn img{width:100%;height:100%;object-fit:contain;transform:scale(1.06);transition:transform 7s ease-out}
.diapo-slide.actif .galerie-btn img{transform:scale(1)}
.diapo-slide .galerie-btn:hover img{transform:scale(1)}
.diapo-fleche{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--navy);font-size:24px;font-weight:900;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:.85;transition:opacity .25s ease,background .25s ease,color .25s ease}
.diapo-fleche:hover{opacity:1;background:var(--red);color:#fff}
.diapo-prec{left:14px}.diapo-suiv{right:14px}
.diapo-info{position:relative;display:flex;flex-direction:column;justify-content:center;padding:28px 26px 30px;border-radius:20px;background:linear-gradient(160deg,#f5f8fc 0%,#e7eff9 100%);border:1px solid #dbe6f3;overflow:hidden}
.diapo-compteur{font-weight:900;color:var(--navy);display:flex;align-items:baseline;gap:6px;margin-bottom:14px}
.dc-num{font-size:44px;line-height:1;color:var(--red);font-variant-numeric:tabular-nums}
.dc-sep,.dc-tot{font-size:18px;color:var(--muted)}
.diapo-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #d5e2f1;color:var(--btn-blue);font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-radius:20px;box-shadow:0 4px 10px rgba(10,35,66,.06)}
.dt-ic{font-size:15px}
.diapo-titre{margin:14px 0 8px;font-size:23px;line-height:1.3;color:var(--navy)}
.diapo-fun{margin:0;font-size:15.5px;line-height:1.6;color:#44546b;font-style:italic}
.diapo-ecg{width:100%;max-width:240px;height:22px;margin-top:16px;fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100}
.diapo-info.entre .diapo-ecg{animation:dEcg 1.6s ease forwards .3s}
@keyframes dEcg{to{stroke-dashoffset:0}}
.diapo-info.entre .diapo-tag,.diapo-info.entre .diapo-titre,.diapo-info.entre .diapo-fun,.diapo-info.entre .dc-num{animation:dMonte .8s cubic-bezier(.2,.8,.2,1) both}
.diapo-info.entre .diapo-tag{animation-delay:.05s}.diapo-info.entre .diapo-titre{animation-delay:.15s}.diapo-info.entre .diapo-fun{animation-delay:.28s}
.diapo-info.entre .dt-ic{display:inline-block;animation:dPop .7s cubic-bezier(.3,1.6,.5,1) both .1s}
@keyframes dMonte{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes dPop{0%{transform:scale(.3) rotate(-20deg)}100%{transform:none}}
.diapo-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(10,35,66,.08)}
.diapo-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--btn-blue),var(--red))}
.diapo-vignettes{grid-column:1/-1;display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin;justify-content:center}
.diapo-vignettes button{flex:0 0 auto;width:66px;height:66px;border-radius:12px;padding:0;border:3px solid transparent;cursor:pointer;background-size:cover;background-position:center;opacity:.55;filter:saturate(.7);transition:opacity .3s ease,transform .3s ease,border-color .3s ease,filter .3s ease}
.diapo-vignettes button:hover{opacity:.9;transform:translateY(-2px)}
.diapo-vignettes button.actif{opacity:1;filter:none;border-color:var(--red);transform:translateY(-3px)}
@media(max-width:900px){.diapo{grid-template-columns:1fr;gap:16px}.diapo-info{padding:22px 20px 24px}.diapo-vignettes{justify-content:flex-start}}
@media(max-width:640px){.diapo-scene{aspect-ratio:4/5}.dc-num{font-size:34px}.diapo-titre{font-size:19px}.diapo-fleche{width:38px;height:38px;font-size:20px}.diapo-vignettes button{width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){.diapo-slide,.diapo-slide.actif{transition:none}.diapo-slide .galerie-btn img{transition:none;transform:none}.diapo-info.entre *{animation:none!important}.diapo-ecg{stroke-dashoffset:0}}
/* Diaporama : fondu plus doux (la nouvelle photo apparaît par-dessus l'ancienne) + compteur en haut à gauche */
.diapo-slide{z-index:0;transition:opacity 2.6s cubic-bezier(.45,0,.55,1),visibility 0s linear 2.6s}
.diapo-slide.actif{z-index:2;transition:opacity 2.6s cubic-bezier(.45,0,.55,1),visibility 0s}
.diapo-slide.sortant{z-index:1;opacity:1;visibility:visible;transition:none}
.diapo-slide .galerie-btn img{transform:scale(1.03);transition:transform 9s ease-out}
.diapo-scene .diapo-compteur{position:absolute;top:14px;left:14px;z-index:4;margin:0;gap:3px;align-items:baseline;background:rgba(10,35,66,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:5px 11px;border-radius:20px;color:#fff}
.diapo-scene .dc-num{font-size:15px;color:#fff}
.diapo-scene .dc-sep,.diapo-scene .dc-tot{font-size:12px;color:rgba(255,255,255,.75)}
.diapo-info.entre .diapo-tag,.diapo-info.entre .diapo-titre,.diapo-info.entre .diapo-fun{animation-duration:1.2s}
.diapo-slide{transition:opacity 1.6s cubic-bezier(.45,0,.55,1),visibility 0s linear 1.6s}.diapo-slide.actif{transition:opacity 1.6s cubic-bezier(.45,0,.55,1),visibility 0s}.diapo-slide.sortant{transition:none}
/* Téléphone mis en valeur dans le menu */
nav .tel{display:inline-flex;align-items:center;gap:8px;background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;font-weight:900;font-size:15.5px!important;padding:6px 16px 6px 6px!important;box-shadow:0 6px 16px rgba(200,30,46,.35);margin:0 4px}
nav .tel:hover{background:#a81622!important;border-color:#a81622!important;transform:scale(1.05)}
.tel-rond{width:30px;height:30px;border-radius:50%;background:#fff;color:var(--red);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;animation:telSonne 4s ease-in-out infinite}
.tel-ic{width:17px;height:17px}
.tel-num{letter-spacing:.02em;font-variant-numeric:tabular-nums}
@keyframes telSonne{0%,82%,100%{transform:rotate(0)}85%{transform:rotate(-14deg)}88%{transform:rotate(12deg)}91%{transform:rotate(-10deg)}94%{transform:rotate(8deg)}97%{transform:rotate(0)}}
nav .tel::before{display:none}
@media(prefers-reduced-motion:reduce){.tel-rond{animation:none}}
@media(min-width:641px){nav{gap:4px}nav a,nav button{padding:10px 10px;font-size:13.5px}nav .tel{font-size:14.5px!important;padding:5px 13px 5px 5px!important;margin:0 3px}.tel-rond{width:28px;height:28px}.wrap.head{padding-right:14px}}
