/* Espace PsychoSanté — composants (direction « Illustrée et douce »), version 2 : site complet.
   Toutes les couleurs viennent des jetons (tokens.css) : changer data-theme sur <html> change tout le site.
   Mise en ligne : data-theme="sauge" le jour, data-theme="nuit" la nuit (voir composant ModeToggle). */

/* Teintes dérivées des jetons, recalculées dans chaque thème (pastels des schémas, fonds des fiches) */
.eps,[data-theme]{--pastel-vif:color-mix(in srgb,var(--accent-vif) 42%,var(--blanc));--pastel-feuille:color-mix(in srgb,var(--ill-feuille) 38%,var(--blanc));--pastel-moyen:color-mix(in srgb,var(--ill-moyen) 30%,var(--blanc));--pastel-clair:color-mix(in srgb,var(--ill-clair) 35%,var(--blanc))}
[data-theme="nuit"]{color-scheme:dark}

/* Base */
.eps, .eps *{box-sizing:border-box}
.eps{margin:0;background:var(--fond);color:var(--encre);font-family:var(--font-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.eps :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote){margin:0;padding:0}
.eps :where(ul,ol){list-style:none}
:where(.eps a){color:inherit;text-decoration:none}
.eps svg{max-width:100%}
.eps img{max-width:100%;height:auto}
.eps :focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.eps-skip{position:absolute;left:-9999px}
.eps-skip:focus{left:12px;top:12px;background:var(--encre);color:var(--blanc);padding:10px 14px;z-index:90}
.eps-wrap{max-width:1440px;margin:0 auto;padding:0 clamp(20px,5vw,96px)}
.eps-section{padding:clamp(56px,7vw,110px) 0}
.eps-section--blanc{background:var(--blanc)}
.eps-section--panneau{background:var(--panneau)}
.eps-section--suite{padding-top:0}
.eps-center{text-align:center;max-width:44em;margin:0 auto 44px}
.eps-center p{color:var(--encre-douce);margin-top:12px}
.eps-shead{max-width:46em;margin-bottom:var(--espace-7)}
.eps-shead p{color:var(--encre-douce);margin-top:12px}
.eps [id]{scroll-margin-top:110px}
.eps-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Typographie */
.eps-h1{font-weight:700;font-size:clamp(33px,4.1vw,60px);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.eps-h1--page{font-size:clamp(32px,3.4vw,46px);line-height:1.12}
.eps-h2{font-weight:700;font-size:clamp(28px,3.2vw,46px);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.eps-h2--s{font-size:clamp(24px,2.4vw,32px)}
.eps-h3{font-weight:700;font-size:clamp(20px,1.6vw,24px);line-height:1.25}
.eps-lead{font-size:clamp(17px,1.35vw,19px);line-height:1.55}
.eps-kicker{display:inline-block;font-weight:600;font-size:15px;color:var(--accent);margin-bottom:10px}
.eps-muted{color:var(--encre-douce)}
.eps-tbc,.eps mark.tbc{background:var(--a-confirmer);color:var(--sur-a-confirmer);padding:0 .3em;border-radius:4px;font-weight:600;font-size:.9em}

/* Icônes (IconSet) */
.eps-ico{display:inline-block;flex:none;width:32px;height:32px;vertical-align:middle}
.eps-ico--s{width:22px;height:22px}

/* Boutons et liens */
.eps-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--bouton);padding:0 26px;border-radius:var(--rayon-pilule);border:0;font:600 16px/1.2 var(--font-sans);white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color .2s}
.eps-btn--primary{background:var(--accent);color:var(--sur-accent);min-height:var(--bouton-principal);padding:0 30px;font-size:17px}
.eps-btn--primary:hover{background:var(--accent-fonce)}
.eps-btn--secondary{background:var(--encre);color:var(--blanc)}
.eps-btn--secondary:hover{opacity:.88}
.eps-btn--light{background:var(--blanc);color:var(--accent)}
.eps-btn--light:hover{background:var(--surface)}
.eps-btn--compact{min-height:var(--cible-min);padding:0 18px;font-size:15px}
.eps-btn[disabled],.eps-btn[aria-disabled="true"]{background:var(--filet);color:var(--encre-douce);cursor:not-allowed}
.eps-btn[aria-busy="true"]::before{content:"";width:16px;height:16px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:eps-spin .8s linear infinite}
@keyframes eps-spin{to{transform:rotate(1turn)}}
.eps-btn .ext,.eps-link .ext{font-size:.85em;opacity:.85}
.eps-link{display:inline-block;font-weight:600;border-bottom:2px solid var(--accent-vif);padding:10px 0}
.eps-link:hover{color:var(--accent)}

/* Barre utilitaire */
.eps-util{background:var(--panneau);font-size:14px;color:var(--encre-douce)}
.eps-util .eps-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--espace-5);min-height:40px}
.eps-util p{display:flex;align-items:center;gap:8px}
.eps-util ul{display:flex;align-items:center;gap:var(--espace-5)}
.eps-util a{display:inline-block;padding:10px 0;color:var(--encre)}
.eps-util a:hover{color:var(--accent)}

/* Bascule jour / nuit (ModeToggle) */
.eps-mode{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px 0 8px;border-radius:var(--rayon-pilule);border:1px solid var(--filet);background:var(--blanc);color:var(--encre);font:600 14px var(--font-sans);cursor:pointer}
.eps-mode svg{width:20px;height:20px}
.eps-mode .sun{display:none}
[data-theme="nuit"] .eps-mode .sun{display:block}
[data-theme="nuit"] .eps-mode .moon{display:none}

/* En-tête */
.eps-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--fond) 94%,transparent);backdrop-filter:blur(6px)}
.eps-header .eps-wrap{display:flex;align-items:center;justify-content:space-between;height:88px;gap:24px}
.eps-logo{display:flex;align-items:center;gap:12px;line-height:1.15;flex:none}
.eps-logo b{display:block;font-size:19px;font-weight:700;white-space:nowrap}
.eps-logo em{font-style:normal;font-size:14px;color:var(--encre-douce);white-space:nowrap}
.eps-nav{display:flex;gap:2px;padding:5px;border:1px solid var(--filet);border-radius:var(--rayon-pilule);background:var(--blanc);font-size:15px}
.eps-nav > li{position:relative}
.eps-nav a,.eps-nav__btn{display:flex;align-items:center;gap:4px;min-height:40px;padding:0 13px;border-radius:var(--rayon-pilule);border:0;background:none;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}
.eps-nav a:hover,.eps-nav__btn:hover,.eps-nav [aria-current="page"],.eps-nav__btn[data-current]{background:var(--surface)}
.eps-nav__btn::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:4px;transition:transform .2s}
.eps-nav__btn[aria-expanded="true"]::after{transform:translateY(2px) rotate(-135deg)}
.eps-sub{position:absolute;top:calc(100% + 10px);left:0;z-index:50;min-width:290px;padding:10px;background:var(--blanc);border:1px solid var(--filet);border-radius:22px;display:grid;gap:2px}
.eps-sub[hidden]{display:none}
.eps-sub a{display:grid;gap:2px;padding:10px 14px;border-radius:14px;white-space:normal;min-height:0}
.eps-sub a small{font-size:13.5px;color:var(--encre-douce)}
.eps-sub a:hover,.eps-sub a[aria-current="page"]{background:var(--surface)}
.eps-header__right{display:flex;align-items:center;gap:12px}
.eps-org{font-weight:500;padding:12px 0}
.eps-org:hover{color:var(--accent)}
.eps-menu-btn{display:none;align-items:center;gap:8px;min-height:var(--cible-min);padding:0 18px;border-radius:var(--rayon-pilule);background:var(--encre);color:var(--blanc);border:0;font:600 15px var(--font-sans);cursor:pointer}
.eps-drawer{display:none}

/* Menu mobile (MobileMenu) */
.eps-drawer .top{display:flex;justify-content:space-between;align-items:center;min-height:56px}
.eps-drawer__publics{display:grid;gap:8px;margin-top:var(--espace-5)}
.eps-drawer__publics a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:20px;font-weight:700;font-size:18px;background:var(--carte-1)}
.eps-drawer__publics a:nth-child(2){background:var(--carte-2)}
.eps-drawer__publics a:nth-child(3){background:var(--carte-3)}
.eps-drawer__publics small{display:block;font-weight:500;font-size:14px;color:var(--encre-douce)}
.eps-drawer__list{margin-top:var(--espace-5);border-top:1px solid var(--filet)}
.eps-drawer__list > li{border-bottom:1px solid var(--filet)}
.eps-drawer__list a,.eps-drawer__list summary{display:flex;justify-content:space-between;align-items:center;min-height:56px;font-size:20px;font-weight:600;cursor:pointer;list-style:none}
.eps-drawer__list summary::-webkit-details-marker{display:none}
.eps-drawer__list summary::after{content:"+";color:var(--accent);font-size:26px}
.eps-drawer__list details[open] summary::after{content:"–"}
.eps-drawer__list details ul{padding:0 0 12px 12px}
.eps-drawer__list details a{font-size:17px;font-weight:500;min-height:var(--cible-min)}
.eps-drawer address{margin-top:var(--espace-6);font-style:normal;color:var(--encre-douce);font-size:15px}
.eps-drawer .eps-btn--primary{width:100%;margin-top:var(--espace-5)}

/* Héros de l'accueil */
.eps-hero{padding:24px 0 0}
.eps-hero > .eps-wrap{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px}
.eps-who{display:flex;align-items:center;gap:14px;margin:26px 0 30px;max-width:31em}
.eps-avatar{flex:none;width:66px;height:66px;border-radius:50%;background:var(--surface);border:2px dashed var(--champ-bord);display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--encre-douce);text-align:center;line-height:1.1}
.eps-ctas{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.eps-note{margin-top:14px;font-size:14.5px;color:var(--encre-douce)}
.eps-scene{width:100%;max-width:600px;justify-self:center;height:auto}
.eps-hero--home .eps-scene{max-width:500px}
.eps-hero .eps-band{margin-top:40px}
.eps-hero__doors{margin-top:var(--espace-6)}
.eps-hero--home > .eps-wrap{grid-template-columns:1.15fr .85fr}

/* Héros des pages intérieures (PageHero) */
.eps-phero{padding:var(--espace-6) 0 var(--espace-8)}
.eps-phero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--espace-7);align-items:center}
.eps-phero .eps-lead{margin-top:var(--espace-4);max-width:36em}
.eps-phero .eps-ctas{margin-top:var(--espace-6)}
.eps-phero__ill{justify-self:center;width:100%;max-width:440px}
.eps-phero__ill svg{display:block;width:100%;height:auto}
.eps-phero--public{border-radius:0 0 var(--rayon-panneau) var(--rayon-panneau)}
.eps-phero--c1{background:var(--carte-1)}.eps-phero--c2{background:var(--carte-2)}.eps-phero--c3{background:var(--carte-3)}
.eps-phero--edito .eps-phero__in,.eps-phero--pratique .eps-phero__in{grid-template-columns:1fr}
.eps-phero--edito{padding-bottom:var(--espace-7);border-bottom:1px solid var(--filet)}
.eps-phero--edito .eps-phero__text{max-width:52em}
.eps-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:var(--espace-5);font-size:15px;color:var(--encre-douce)}
.eps-meta span{display:inline-flex;align-items:center;gap:6px}
.eps-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--espace-4);margin-top:var(--espace-6)}
.eps-facts li{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:20px;padding:16px 18px}
.eps-facts b{display:block;font-size:18px;line-height:1.25}
.eps-facts small{display:block;font-size:14.5px;color:var(--encre-douce)}

/* Fil d'Ariane (Breadcrumb) */
.eps-crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:15px;color:var(--encre-douce);margin-bottom:var(--espace-5)}
.eps-crumbs li{display:flex;align-items:center;gap:8px}
.eps-crumbs li + li::before{content:"";width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.eps-crumbs a{display:inline-block;padding:6px 0;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--champ-bord)}
.eps-crumbs a:hover{color:var(--accent)}
.eps-crumbs [aria-current]{color:var(--encre)}

/* Bandeau d'infos */
.eps-band{background:var(--surface)}
.eps-band ul{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding-top:28px;padding-bottom:28px}
.eps-band b{display:block;font-weight:700;font-size:28px;line-height:1.2}
.eps-band span{font-size:15px;color:var(--encre-douce)}

/* Portes d'entrée (DoorCards) */
.eps-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.eps-door{display:flex;flex-direction:column;gap:8px;padding:32px;border-radius:var(--rayon-carte);background:var(--carte-1);transition:transform .2s}
.eps-door--c2,.eps-doors > .eps-door:nth-child(2):not(.eps-door--c1):not(.eps-door--c3){background:var(--carte-2)}
.eps-door--c3,.eps-doors > .eps-door:nth-child(3):not(.eps-door--c1):not(.eps-door--c2){background:var(--carte-3)}
.eps-door--c1{background:var(--carte-1)}
.eps-door:hover{transform:translateY(-4px)}
.eps-door .ic svg{width:52px;height:52px}
.eps-door small{font-weight:600;font-size:14.5px;color:var(--encre-douce)}
.eps-door b{font-size:26px;letter-spacing:-.01em}
.eps-door .t{color:var(--encre-douce);font-size:16px}
.eps-door .go{margin-top:auto;padding-top:10px;font-weight:600}
.eps-door .go i{font-style:normal;display:inline-block;transition:transform .2s}
.eps-door:hover .go i{transform:translateX(5px)}
.eps-doors--compact{gap:var(--espace-4)}
.eps-doors--compact .eps-door{flex-direction:row;align-items:center;gap:16px;padding:18px 22px;border-radius:24px}
.eps-doors--compact .eps-door .ic svg{width:40px;height:40px}
.eps-doors--compact .eps-door b{font-size:19px;display:block;line-height:1.2}
.eps-doors--compact .eps-door small{display:block;font-weight:500;font-size:14.5px}
.eps-doors--compact .eps-door .go{margin:0 0 0 auto;padding:0;font-size:20px}
.eps-doors--two{grid-template-columns:repeat(2,1fr)}

/* Étapes */
.eps-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.eps-steps--3{grid-template-columns:repeat(3,1fr)}
.eps-steps::before{content:"";position:absolute;left:5%;right:5%;top:30px;border-top:3px dashed var(--accent-vif);opacity:.45}
.eps-steps li{position:relative}
.eps-steps .n{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--accent-vif);color:var(--sur-vif);font-weight:700;font-size:24px;margin-bottom:16px;position:relative}
.eps-steps b{display:block;font-size:20px;margin-bottom:6px}
.eps-steps p{color:var(--encre-douce);font-size:16px}

/* Colonnes texte + illustration */
.eps-split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.eps-split--rev{grid-template-columns:.95fr 1.05fr}
.eps-split p{margin-top:16px}
.eps-ill{max-width:520px;justify-self:center;width:100%}
.eps-ill svg{display:block;width:100%;height:auto}
.eps-ticks{margin:22px 0 28px;display:grid;gap:10px}
.eps-ticks li{position:relative;padding-left:36px;font-weight:500;min-height:24px}
.eps-ticks li::before{content:"";position:absolute;left:0;top:.18em;width:24px;height:24px;border-radius:50%;background:var(--accent)}
.eps-ticks li::after{content:"";position:absolute;left:0;top:.18em;width:24px;height:24px;background:var(--sur-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.2l3.4 3.4L17.2 9' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.2l3.4 3.4L17.2 9' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px no-repeat}

/* Cartes d'information (InfoCards) */
.eps-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--espace-5)}
.eps-cards--2{grid-template-columns:repeat(2,1fr)}
.eps-card{background:var(--blanc);border-radius:var(--rayon-carte);padding:var(--espace-6);display:grid;gap:10px;align-content:start}
.eps-card--tint{background:var(--panneau)}
.eps-card h3{font-size:20px;line-height:1.3}
.eps-card p{color:var(--encre-douce);font-size:16px}
.eps-card a.eps-link{justify-self:start}
.eps-card--link{transition:transform .2s}
.eps-card--link:hover{transform:translateY(-3px)}

/* Pastilles de méthodes */
.eps-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.eps-chips--left{justify-content:flex-start}
.eps-chips li{padding:10px 18px;border-radius:var(--rayon-pilule);font-weight:600;font-size:15.5px;background:var(--carte-1)}
.eps-chips li:nth-child(4n+2){background:var(--carte-2)}
.eps-chips li:nth-child(4n+3){background:var(--carte-3)}
.eps-chips li:nth-child(4n){background:var(--surface)}

/* Filtres de ressources */
.eps-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--espace-6)}
.eps-filter button{min-height:var(--cible-min);padding:0 18px;border-radius:var(--rayon-pilule);border:1.5px solid var(--champ-bord);background:var(--blanc);color:var(--encre);font:600 15px var(--font-sans);cursor:pointer}
.eps-filter button[aria-pressed="true"]{background:var(--encre);border-color:var(--encre);color:var(--blanc)}

/* Grand panneau arrondi */
.eps-panel{background:var(--panneau);border-radius:var(--rayon-panneau);margin:0 clamp(12px,5vw,96px);padding:clamp(32px,5vw,72px)}

/* Formulaire et états (Form, Notice) */
.eps-form{background:var(--blanc);border-radius:var(--rayon-carte);padding:28px;display:grid;gap:14px}
.eps-form label{display:grid;gap:6px;font-weight:600;font-size:15px}
.eps-form label small{font-weight:400;color:var(--encre-douce)}
.eps-form input,.eps-form textarea,.eps-form select{font:400 16px/1.4 var(--font-sans);color:var(--encre);padding:12px 14px;border:1.5px solid var(--champ-bord);border-radius:var(--rayon-champ);background:var(--blanc);min-height:48px;width:100%}
.eps-form input:focus-visible,.eps-form textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.eps-form [aria-invalid="true"]{border-color:var(--accent);border-width:2px}
.eps-form .err{font-size:14px;font-weight:600;color:var(--accent)}
.eps-form .eps-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14.5px;color:var(--encre-douce)}
.eps-form .eps-check input{width:22px;height:22px;min-height:0;flex:none;margin-top:2px;accent-color:var(--accent)}
.eps-form button{justify-self:start}
.eps-form .msg{font-weight:600;color:var(--encre)}
.eps-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.eps-notice{display:flex;gap:12px;align-items:flex-start;border-radius:20px;padding:16px 18px;font-size:15.5px}
.eps-notice[hidden]{display:none}
.eps-notice b{display:block}
.eps-notice--success{background:var(--carte-3)}
.eps-notice--error{background:var(--blanc);border:2px solid var(--accent)}
.eps-notice--loading{background:var(--surface)}
.eps-notice ul{margin-top:6px;display:grid;gap:4px}
.eps-notice a{text-decoration:underline;text-underline-offset:3px}

/* Fiches ressources (ResourceCards) */
.eps-res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.eps-res .fig{border-radius:var(--rayon-carte);padding:20px;margin-bottom:16px;background:color-mix(in srgb,var(--carte-1) 45%,var(--blanc))}
.eps-res:nth-child(3n+2) .fig{background:color-mix(in srgb,var(--carte-2) 45%,var(--blanc))}
.eps-res:nth-child(3n) .fig{background:color-mix(in srgb,var(--carte-3) 45%,var(--blanc))}
.eps-res .fig svg{display:block;width:100%;height:auto}
.eps-res .fig--txt{display:grid;place-content:center;justify-items:center;gap:12px;aspect-ratio:400/260;font-weight:700;font-size:22px;text-align:center;padding:24px;line-height:1.25}
.eps-res .fig .eps-ico--xl{width:64px;height:64px;display:block}
.eps-res small{font-weight:600;color:var(--accent);font-size:14px}
.eps-res h3{font-size:21px;line-height:1.25;margin:4px 0 6px}
.eps-res p{color:var(--encre-douce);font-size:16px;margin-bottom:4px}
.eps-res[hidden]{display:none}

/* Emplacement photo */
.eps-portrait{aspect-ratio:1/1;max-width:440px;width:100%;justify-self:center;background:var(--surface);border-radius:46% 54% 42% 58%/52% 44% 56% 48%;display:grid;place-items:center;text-align:center;padding:40px;color:var(--encre-douce);font-weight:500;border:2px dashed var(--champ-bord)}
.eps-portrait b{display:block;color:var(--encre);font-size:20px}
.eps-photo{aspect-ratio:4/3;border-radius:var(--rayon-carte);background:var(--surface);border:2px dashed var(--champ-bord);display:grid;place-items:center;text-align:center;padding:24px;color:var(--encre-douce);font-size:15px}
.eps-photo b{display:block;color:var(--encre);font-size:17px}
.eps-photos{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--espace-4);align-items:start}
.eps-photos > *,.eps-split > *,.eps-cards > *,.eps-res-grid > *,.eps-info-faq > *,.eps-access > *{min-width:0}
.eps-tag{display:inline-block;font-size:13.5px;font-weight:600;background:var(--carte-2);padding:3px 10px;border-radius:var(--rayon-pilule);margin-top:12px}
.eps-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:26px}
.eps-cols h3{font-size:17px;margin-bottom:8px}
.eps-cols li{font-size:15.5px;padding:5px 0;border-bottom:1px solid var(--filet)}
.eps-reperes{display:grid;gap:12px;margin-top:var(--espace-5)}
.eps-reperes li{display:grid;grid-template-columns:150px 1fr;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--filet);font-size:16px}
.eps-reperes b{font-weight:700}

/* Infos pratiques + FAQ */
.eps-info-faq{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.eps-infos{background:var(--blanc);border-radius:var(--rayon-carte);padding:12px 28px}
.eps-infos div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--filet)}
.eps-infos div:last-child{border:0}
.eps-infos dt{font-weight:700}
.eps-infos dd{color:var(--encre-douce)}
.eps-faq details{background:var(--blanc);border-radius:var(--rayon-faq);margin-bottom:12px;padding:0 22px}
.eps-faq summary{cursor:pointer;font-weight:600;padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.eps-faq summary::-webkit-details-marker{display:none}
.eps-faq summary::after{content:"+";color:var(--accent);font-size:24px;line-height:1}
.eps-faq details[open] summary::after{content:"–"}
.eps-faq details p{padding:0 0 18px;color:var(--encre-douce)}
.eps-faq summary:focus-visible{border-radius:12px}
.eps-faq--wide{max-width:52em}

/* Encarts (Callout) */
.eps-callout{border-radius:24px;padding:var(--espace-5) var(--espace-6);display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:start}
.eps-callout .eps-ico{grid-row:span 2}
.eps-callout b{font-size:17px}
.eps-callout p{color:var(--encre);font-size:16px}
.eps-callout--retenir{background:var(--surface)}
.eps-callout--savoir{background:var(--carte-2)}
.eps-callout--important{background:var(--blanc);border:2px solid var(--accent)}

/* Bloc de prise de rendez-vous (BookingBlock) */
.eps-book{background:var(--blanc);border-radius:var(--rayon-panneau);padding:clamp(28px,4vw,56px);display:grid;grid-template-columns:1fr auto;gap:var(--espace-6);align-items:center;border:1px solid var(--filet)}
.eps-book ol{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--espace-4);margin-top:var(--espace-5);counter-reset:b}
.eps-book ol li{counter-increment:b;font-size:15.5px;color:var(--encre-douce);display:grid;gap:4px}
.eps-book ol li::before{content:counter(b);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-vif);color:var(--sur-vif);font-weight:700}
.eps-book ol b{color:var(--encre)}
.eps-book__act{display:grid;gap:10px;justify-items:center;text-align:center}
.eps-book__act small{font-size:14px;color:var(--encre-douce)}

/* Tarifs (PriceList) */
.eps-prices{display:grid;gap:12px}
.eps-prices > div{display:grid;grid-template-columns:1fr auto;gap:8px 24px;align-items:center;background:var(--blanc);border-radius:24px;padding:20px 26px}
.eps-prices dt{font-weight:700;font-size:18px}
.eps-prices dt small{display:block;font-weight:400;font-size:15px;color:var(--encre-douce)}
.eps-prices dd{font-weight:700;font-size:28px;text-align:right;line-height:1.1}
.eps-prices dd small{display:block;font-size:14px;font-weight:500;color:var(--encre-douce)}

/* Accès au cabinet (AccessBlock) */
.eps-access{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--espace-6);align-items:stretch}
.eps-access__map{border-radius:var(--rayon-carte);overflow:hidden;background:var(--panneau);min-height:320px;position:relative}
.eps-access__map svg{display:block;width:100%;height:100%}
.eps-access__list{display:grid;gap:12px;align-content:start}
.eps-access__list li{display:flex;gap:14px;align-items:flex-start;background:var(--blanc);border-radius:20px;padding:16px 18px}
.eps-access__list b{display:block}
.eps-access__list span{color:var(--encre-douce);font-size:15.5px}

/* Texte long (Prose) et sommaire (TableOfContents) */
.eps-article{display:grid;grid-template-columns:240px minmax(0,var(--mesure));gap:var(--espace-8);justify-content:center;align-items:start}
.eps-article--solo{grid-template-columns:minmax(0,var(--mesure))}
.eps-toc{position:sticky;top:120px;font-size:15px}
.eps-toc summary{font-weight:700;cursor:pointer;list-style:none;min-height:var(--cible-min);display:flex;align-items:center;justify-content:space-between}
.eps-toc summary::-webkit-details-marker{display:none}
.eps-toc ol{display:grid;gap:2px;border-left:2px solid var(--filet);margin-top:8px}
.eps-toc a{display:block;padding:7px 0 7px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--encre-douce)}
.eps-toc a:hover,.eps-toc a[aria-current="true"]{color:var(--encre);border-left-color:var(--accent)}
.eps-prose{font-size:18px;line-height:1.7;max-width:var(--mesure)}
.eps-prose > * + *{margin-top:1.1em}
.eps-prose h2{font-size:clamp(24px,2.2vw,30px);line-height:1.2;letter-spacing:-.01em;margin-top:2em;scroll-margin-top:120px}
.eps-prose h2:first-child{margin-top:0}
.eps-prose h3{font-size:21px;line-height:1.3;margin-top:1.6em}
.eps-prose ul,.eps-prose ol{display:grid;gap:.45em;padding-left:1.4em}
.eps-prose ul li{position:relative}
.eps-prose ul li::before{content:"";position:absolute;left:-1.1em;top:.68em;width:8px;height:8px;border-radius:50%;background:var(--accent-vif)}
.eps-prose ol{list-style:decimal}
.eps-prose ol li::marker{color:var(--accent);font-weight:700}
.eps-prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:var(--accent-vif);font-weight:500}
.eps-prose a:hover{color:var(--accent)}
.eps-prose blockquote{background:var(--surface);border-radius:24px;padding:var(--espace-5) var(--espace-6);font-size:19px;line-height:1.55}
.eps-prose blockquote cite{display:block;margin-top:8px;font-style:normal;font-size:15px;color:var(--encre-douce)}
.eps-prose figure{margin-top:1.6em}
.eps-prose figure .fig{border-radius:var(--rayon-carte);padding:20px;background:color-mix(in srgb,var(--carte-2) 45%,var(--blanc))}
.eps-prose figure svg{display:block;width:100%;height:auto}
.eps-prose figcaption{font-size:15px;color:var(--encre-douce);margin-top:8px}
.eps-prose .eps-callout{margin-top:1.4em}
.eps-prose sup{font-size:.7em;line-height:0}
.eps-notes{margin-top:2.4em;padding-top:1.2em;border-top:1px solid var(--filet);font-size:15px;line-height:1.55;color:var(--encre-douce)}
.eps-notes h2{font-size:17px;margin:0 0 .6em;color:var(--encre)}
.eps-notes ol{display:grid;gap:.5em;padding-left:1.2em;list-style:decimal}

/* Liens contextuels (RelatedLinks) */
.eps-related{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--espace-4)}
.eps-related a{display:grid;gap:4px;background:var(--blanc);border-radius:24px;padding:20px 22px;transition:transform .2s}
.eps-related a:hover{transform:translateY(-3px)}
.eps-related small{font-weight:600;font-size:14px;color:var(--accent)}
.eps-related b{font-size:18px;line-height:1.3}
.eps-related span{font-size:15px;color:var(--encre-douce)}

/* Bandeau d'appel */
.eps-cta{background:var(--accent);color:var(--sur-accent);border-radius:var(--rayon-panneau);margin:0 clamp(12px,5vw,96px);padding:56px clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.eps-cta :focus-visible{outline-color:var(--sur-accent)}
.eps-cta .eps-h2{color:var(--sur-accent)}
.eps-cta p{margin-top:8px;max-width:34em}

/* Barre de rendez-vous collante (mobile) */
.eps-sticky{display:none}
.eps-phero__text,.eps-hero > .eps-wrap > div{min-width:0}

/* Pied de page */
.eps-footer{padding:64px 0 40px;margin-top:80px;background:var(--panneau)}
.eps-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:32px;font-size:15.5px}
.eps-footer h2,.eps-footer h3{font-size:16px;line-height:1.3;margin-bottom:10px}
.eps-footer li a{display:inline-block;padding:9px 0}
.eps-footer a:hover{color:var(--accent)}
.eps-footer .small{font-size:14px;color:var(--encre-douce);margin-top:18px}
.eps-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:var(--espace-7);padding-top:var(--espace-5);border-top:1px solid var(--filet);font-size:14px;color:var(--encre-douce)}
.eps-footer__bottom ul{display:flex;flex-wrap:wrap;gap:4px 20px}
.eps-footer__bottom a{display:inline-block;padding:9px 0}

/* Page 404 */
.eps-404{display:grid;grid-template-columns:1fr 1fr;gap:var(--espace-7);align-items:center}
.eps-404 svg{width:100%;max-width:420px;height:auto}

@media (prefers-reduced-motion:reduce){.eps-door,.eps-door .go i,.eps-btn,.eps-card--link,.eps-related a,.eps-nav__btn::after{transition:none}.eps-door:hover,.eps-card--link:hover,.eps-related a:hover{transform:none}.eps-btn[aria-busy="true"]::before{animation:none}}
@media (max-width:1199px){
  .eps-header nav,.eps-org{display:none}
  .eps-menu-btn{display:inline-flex}
  .eps-article{grid-template-columns:minmax(0,var(--mesure))}
  .eps-toc{position:static;background:var(--blanc);border-radius:20px;padding:6px 18px}
  .eps-toc ol{margin-bottom:10px}
  .eps-footer__grid{grid-template-columns:repeat(3,1fr)}
  .eps-footer__grid > :first-child{grid-column:1/-1}
  .eps-drawer{position:fixed;inset:0;z-index:60;background:var(--fond);padding:12px clamp(20px,5vw,96px) calc(28px + env(safe-area-inset-bottom,0px));flex-direction:column;overflow:auto}
  .eps-drawer.on{display:flex}
}
@media (max-width:959px){
  .eps-util{display:none}
  .eps-header .eps-wrap{height:70px}
  .eps-hero > .eps-wrap,.eps-hero--home > .eps-wrap,.eps-split,.eps-split--rev,.eps-info-faq,.eps-cols,.eps-phero__in,.eps-access,.eps-book,.eps-404{grid-template-columns:minmax(0,1fr)}
  .eps-hero .eps-scene{max-width:400px}
  .eps-band ul{grid-template-columns:1fr;text-align:left;gap:6px;padding-top:22px;padding-bottom:22px}
  .eps-band b{font-size:21px;display:inline}
  .eps-band span{display:block}
  .eps-doors,.eps-res-grid,.eps-cards,.eps-related,.eps-facts{grid-template-columns:1fr}
  .eps-cards--2,.eps-doors--two{grid-template-columns:1fr}
  .eps-steps,.eps-steps--3{grid-template-columns:1fr 1fr}
  .eps-steps::before{display:none}
  .eps-ctas .eps-btn,.eps-ctas > span > .eps-btn{width:100%;white-space:normal;text-align:center;padding-top:12px;padding-bottom:12px}
  .eps-ctas > span{width:100%}
  .eps-split .eps-ill{order:-1;max-width:320px}
  .eps-phero__ill{max-width:240px}
  .eps-panel,.eps-cta{border-radius:32px}
  .eps-phero--public{border-radius:0 0 32px 32px}
  .eps-infos div,.eps-reperes li{grid-template-columns:1fr;gap:2px}
  .eps-footer__grid{grid-template-columns:1fr 1fr}
  .eps-photos{grid-template-columns:1fr 1fr}.eps-photos > :first-child{grid-column:1/-1}
  .eps-book ol{grid-template-columns:1fr}
  .eps-book__act{justify-items:stretch}
  .eps-form__grid{grid-template-columns:1fr}
  .eps-prose{font-size:17.5px}
}
@media (max-width:599px){
  .eps-header__right .eps-btn{display:none}
  .eps main .eps-btn{white-space:normal;text-align:center;max-width:100%;padding-top:12px;padding-bottom:12px}
  .eps-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;gap:10px;align-items:center;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));background:color-mix(in srgb,var(--fond) 96%,transparent);border-top:1px solid var(--filet);transform:translateY(110%);visibility:hidden;transition:transform .25s,visibility 0s .25s}
  .eps-sticky.on{transform:none;visibility:visible;transition:transform .25s}
  .eps-sticky .eps-btn{flex:1;min-height:52px;white-space:normal;padding:0 16px;text-align:center}
  .eps-sticky a.more{padding:14px 6px;font-weight:600;font-size:15px;text-decoration:underline;text-underline-offset:3px}
  html:has(.eps-sticky.on){scroll-padding-bottom:90px}
  .eps-steps,.eps-steps--3{grid-template-columns:1fr}
  .eps-logo b{font-size:17px}.eps-logo em{display:none}
  .eps-footer__grid{grid-template-columns:1fr}
  .eps-prices > div{grid-template-columns:1fr}.eps-prices dd{text-align:left}
  .eps-callout{grid-template-columns:1fr}.eps-callout .eps-ico{grid-row:auto}
}
@media (max-width:599px) and (prefers-reduced-motion:reduce){.eps-sticky{transition:none}}
