/* Variante terrain : fond illustré, anthracite et surfaces chaudes. */
:root{background:#e9e5df;--muted:#565d67}
body{background:#e9e5df}
header{background:#e9e5dff5;border-bottom-color:#cec8c1}
.hero{position:relative;background:#222831 url('formation-hero.webp') center 45%/cover no-repeat;color:#fff}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,27,33,.94) 0%,rgba(22,27,33,.80) 44%,rgba(22,27,33,.40) 100%)}
.hero-inner{position:relative;z-index:1;min-height:650px}
.hero .eyebrow{background:#ffffff12;border:1px solid #ffffff30;color:#f6c3c5}
.hero h1 em{color:#ff989d}
.hero p{color:#e0e1e3}
.hero .btn.outline{background:#ffffff0d;border-color:#ffffff60;color:#fff}
.hero .btn.outline:hover{background:#ffffff20}
.visual{background:#23282eeb;border-color:#ffffff25;box-shadow:0 25px 60px #0005;backdrop-filter:blur(8px);transform:none}
.visual-top{color:#d6d8dc}.visual-top span:last-child{color:#ffa4aa}
.visual-course,.visual-course:nth-child(2),.visual-course:nth-child(3){background:#ffffff08;border-color:#ffffff20}
.visual-course small{color:#ced2d7}.visual-bottom{color:#e3d8d8}
.strip{background:#353a40;border-color:#484d54}.strip p{color:#d4d7dc}.strip strong{color:#fff}
.section{background:transparent}
.card{background:#f2eee8;box-shadow:0 8px 25px #262b3210;border-color:#c7d5ca}
.card:nth-child(2){border-color:#dac8ac}.card:nth-child(3){border-color:#d7b9be}
.card-icon{background:#fff;border-radius:20px}
.training-calendar{padding-top:35px;padding-bottom:80px}
.month-panel,.session-panel{background:#f3f0eb;border-color:#cbc5bc;box-shadow:0 8px 28px #262b3209}
.session-card{background:#faf8f4;border-color:#dad4ca}
.cal-day.is-event{background:#faf8f4}.cal-day{background:#e8e5df;border-color:#ded9d0}.cal-day.weekend{background:#dedbd5}
.cal-day.empty{background:transparent;border-color:transparent}
.session-detail{background:#f3f0eb;border-color:#cbc5bc}
.approach{background:#292f36;color:#f6f3ee}
.approach .eyebrow{color:#f29b9f}.approach p{color:#d2d5da}
.step{background:#363c43;border-color:#4c525a}.step b{background:#50343b;color:#ffb5ba}
.audience{background:transparent}.audience-grid div{background:#dcd7cf}
.contact{background:#d9c9c5;border-color:#c9b4af}
.contact p{color:#4e525b}.contact-note{background:#eee7e1;border-color:#c6b4b0}
footer{background:#20262c}
a:focus-visible,button:focus-visible{outline-color:#d65059}
.hero a:focus-visible{outline-color:#ffb0b4}
.image-caption{display:block;color:#c6c9ce;font-size:12px;line-height:1.5;margin-top:22px}
@media(max-width:850px){.links{background:#e9e5df}.hero{background-position:65% center}.hero:before{background:linear-gradient(180deg,#161b21e8 0%,#161b21cc 60%,#161b21e8 100%)}.hero-inner{min-height:0}.visual{backdrop-filter:none}.training-calendar{padding-bottom:65px}}


.card:nth-child(2) .epi-flame{background:#fff;color:#b52f3b;width:100px;height:100px;border-radius:20px}
.epi-flame svg{width:62px;height:62px;fill:currentColor;stroke:currentColor;stroke-width:1}

/* Les pastilles reposent sur la même ligne dans les cartes de hauteur égale. */
.cards .card p{margin-bottom:25px}
.cards .card p+small{margin-top:auto}

.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{width:64px;height:64px;object-fit:contain;border-radius:10px;background:white}.brand-name{white-space:nowrap}.brand .brand-name{color:inherit}.brand .brand-name span{color:var(--red)}.nav{gap:18px;padding-top:10px;padding-bottom:10px}.links{gap:18px}
.contact-inner{align-items:start;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}.contact-logo{display:block;background:#fff;border-radius:15px;margin:25px 0;width:180px;height:180px;object-fit:contain}.contact-info address{font-style:normal;display:grid;gap:15px;font-size:18px;font-weight:700;overflow-wrap:anywhere}.contact-info address a:hover{text-decoration:underline}
.contact-form{background:#f3eee8;border:1px solid #c6b4b0;border-radius:22px;padding:30px;min-width:0}.contact-form h3{font:800 26px Manrope,sans-serif;margin:0 0 12px}.contact-form label{display:grid;gap:8px;font-size:16px;font-weight:600;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.contact-form input,.contact-form select,.contact-form textarea{font:400 16px/1.5 'DM Sans',Arial,sans-serif;color:#30343d;width:100%;min-width:0;border:1px solid #b8b1a8;border-radius:9px;background:#fff;padding:12px}.contact-form textarea{resize:vertical}.contact-form :is(input,select,textarea):focus-visible{outline:3px solid #c63840;outline-offset:2px}.contact-form .form-help{font-size:14px;line-height:1.6;margin:0 0 20px}.contact-form .form-help:last-child{margin-top:18px;margin-bottom:0}.contact-form a,.legal a{text-decoration:underline}.contact-form button{cursor:pointer}
.legal h2{font-size:32px;margin-bottom:22px}.legal{padding-top:55px;padding-bottom:55px}.legal p{line-height:1.7;font-size:16px}.legal details{border-top:1px solid #c9c2b8;padding:16px 0}.legal summary{font-weight:700;cursor:pointer;font-size:18px}.legal-draft{padding:18px;border-radius:12px;background:#ddd6cc}.footer-inner{flex-wrap:wrap}.footer-contacts{display:flex;gap:16px;flex-wrap:wrap;overflow-wrap:anywhere}footer .brand .brand-name{color:white}footer .brand .brand-name span{color:#ff8a94}footer .brand-mark{width:64px;height:64px}
@media(max-width:1150px){.links{gap:12px}.nav .btn{padding:12px}.nav{gap:12px}.brand{font-size:24px}.brand-mark{width:54px;height:54px}}
@media(max-width:850px){.links{top:74px}.contact-inner{grid-template-columns:1fr;gap:30px}.contact-form{padding:24px}}
@media(max-width:500px){.form-grid{grid-template-columns:1fr}.brand-mark{width:48px;height:48px}.contact-form{padding:20px}.footer-contacts{flex-direction:column;gap:12px}}

/* Emblème recadré par affichage, fichier source conservé intact. */
.brand-mark,footer .brand-mark{position:relative;width:64px;height:64px;overflow:hidden;display:block;flex-shrink:0}
.brand-mark img{position:absolute;width:156px;height:156px;max-width:none;left:-46px;top:-24px}
.course-details{margin:22px 0 25px;font-size:16px;line-height:1.6}.course-details summary{cursor:pointer;font-weight:700;color:#9f2934;padding:10px 0;min-height:44px}.course-details dl{margin:15px 0}.course-details dt{font-weight:700;margin-top:15px}.course-details dd{margin:5px 0;color:#565d67}.course-details .course-reference{font-size:14px;margin:12px 0}.course-details a{text-decoration:underline}.course-contact{display:inline-block;font-weight:700;color:#9f2934;min-height:44px;padding-top:10px}.cards .card details+small{margin-top:auto}
@media(max-width:1150px){.brand-mark{width:54px;height:54px}.brand-mark img{width:132px;height:132px;left:-39px;top:-20px}}
@media(max-width:500px){.brand-mark{width:48px;height:48px}.brand-mark img{width:117px;height:117px;left:-35px;top:-18px}}
footer .brand-mark img{width:156px;height:156px;left:-46px;top:-24px}

/* Aligner les programmes et les pastilles entre les trois parcours. */
.cards .card .course-details{margin-top:auto}
.cards .card details+small{margin-top:0}
@supports(grid-template-rows:subgrid){
 .cards .card{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}
 .cards .card .course-details{margin-top:0;align-self:start}
 .cards .card>small{justify-self:start;align-self:end}
}

.founder-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:start}.founder p{font-size:16px;line-height:1.8;color:#565d67;margin:0 0 20px}.founder h3{font:800 21px/1.4 Manrope,sans-serif;margin:0 0 15px}.founder-qualifications{padding-top:24px;border-top:1px solid #c9c2b8}.local-presence{padding:30px;background:#f3eee8;border:1px solid #cdc5bb;border-radius:22px}.local-presence ul{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.local-presence li{display:flex;gap:10px;align-items:center;line-height:1.5;font-size:16px}.local-presence li strong{display:grid;place-items:center;min-width:38px;min-height:38px;border-radius:10px;background:#e7d5d5;color:#a52b36}.partner{border-top:1px solid #d1c7bb;padding-top:24px;margin-top:25px}.partner p{margin-bottom:0}
@media(max-width:850px){.founder-grid{grid-template-columns:1fr;gap:25px}}
@media(max-width:500px){.local-presence{padding:24px}.local-presence ul{grid-template-columns:1fr}}

.cards .card .afis-programme{font-size:14px;line-height:1.7;margin:20px 0 12px;padding:14px 16px;border-left:3px solid #b52f3b;background:#e6e0d7;border-radius:0 10px 10px 0;color:#4f5660}.prerequisite-list{padding-left:20px;margin:0}.prerequisite-list li+li{margin-top:8px}
