@font-face{font-family:"Montserrat";src:url(fonts/montserrat-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url(fonts/montserrat-latin-wght-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

:root{
  --ink:#18171e;
  --ink-2:#26252d;
  --text:#2b2a31;
  --muted:#5d5c66;
  --line:#e4e2de;
  --soft:#f5f4f1;
  --red:#e5452c;
  --red-dark:#c4351f;
  --white:#fff;
  --max:1080px;
  --r:10px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;color:var(--text);background:var(--white)}
img{max-width:100%;height:auto;display:block}
a{color:var(--red-dark)}
h1,h2,h3{color:var(--ink);line-height:1.15;margin:0 0 .6em}
h1,h2{font-style:italic;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.2rem)}
h3{font-size:1.1rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:10}

/* Header */
.top{background:var(--ink);position:sticky;top:0;z-index:5}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.top img{width:120px;height:60px}
.top nav{display:flex;align-items:center;gap:24px}
.top nav a{color:#d9d8de;text-decoration:none;font-size:.92rem;font-weight:500}
.top nav a:hover{color:#fff}
.top nav .btn{color:#fff}

/* Buttons */
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:var(--r);border:2px solid var(--red);transition:background .15s}
.btn:hover{background:var(--red-dark);border-color:var(--red-dark)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.55)}
.btn.ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.btn.small{padding:8px 14px;font-size:.88rem}

/* Hero */
.hero{position:relative;background:var(--ink) url(img/formation-extincteur.webp?v=2) center right/cover no-repeat;color:#fff}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,17,23,.94) 0%,rgba(18,17,23,.82) 45%,rgba(18,17,23,.35) 100%)}
.hero .wrap{position:relative;padding-top:96px;padding-bottom:96px}
.hero h1{color:#fff;max-width:16ch}
.hero .lead{font-size:1.1rem;max-width:56ch;color:#e6e5ea}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 22px}
.hero .proof{font-size:.9rem;color:#bdbcc5;margin:0}
.hero .proof strong{color:#fff;font-weight:600}
.kicker{display:inline-block;color:var(--red);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}

/* Sections */
section{padding:80px 0}
section.alt{background:var(--soft)}
.intro{max-width:62ch;color:var(--muted);margin-bottom:36px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;border-top:4px solid var(--red)}
.card p{color:var(--muted);margin:0;font-size:.96rem}

.points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;padding:0;list-style:none}
.points li{padding-left:18px;border-left:3px solid var(--ink);font-size:.95rem;color:var(--muted)}
.points strong{display:block;color:var(--ink)}

.split{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:center}
.split.rev{grid-template-columns:1.25fr 1fr}
.split>*{min-width:0}
.split img{border-radius:var(--r);width:100%}
#formateur img{background:var(--soft)}
.role{color:var(--red-dark);font-weight:600;margin-bottom:1.2em}

.law{background:var(--ink);color:#e6e5ea;border-radius:var(--r);padding:32px 36px}
.law h2{color:#fff;font-size:1.5rem}
.law p:last-child{margin:0}
.law a{color:#ff8c78}


/* Encart prestations */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
.feature{min-width:0}
.feature img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);margin-bottom:18px}
.feature h3{font-size:1.15rem}
.feature p{color:var(--muted);margin:0}

/* Programme */
.program{margin-top:56px;padding-top:36px;border-top:1px solid var(--line)}
.program h3{font-size:1.15rem;margin-bottom:20px}
.program ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.program li{padding-left:16px;border-left:3px solid var(--red);color:var(--muted);font-size:.95rem}
.program strong{display:block;color:var(--ink);margin-bottom:4px}

/* Carte */
.zone{max-width:68ch;margin-bottom:28px}
.map{margin:0;min-width:0}
#zone .map{margin-top:8px}
.zone-map{width:100%;height:auto;display:block;border-radius:var(--r);border:1px solid var(--line)}
.m-city{font-size:12px;fill:#3b3a40;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.m-dot{fill:#3b3a40;stroke:#fff;stroke-width:1.5}
.m-sea{font-size:13px;fill:#5d8ea3;font-style:italic}
.m-country{font-size:12px;fill:#9a958b;letter-spacing:.2em}
.m-pin-t{font-size:12px;font-weight:800;fill:#18171e}
.m-pin-s{font-size:11px;fill:#5d5c66}

/* Avis */
.reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.review{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:12px}
.review .stars{color:var(--red);letter-spacing:.15em;font-size:1rem}
.review blockquote{margin:0;flex:1}
.review blockquote p{margin:0;color:var(--ink);font-size:1.02rem}
.review figcaption{font-size:.85rem;color:var(--muted)}
.review figcaption strong{color:var(--ink)}

.reviews-more{margin:28px 0 0}

/* FAQ */
.faq{max-width:780px}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:700;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:12px 0 0;color:var(--muted)}

/* Contact */
.contact{background:var(--ink);color:#e6e5ea}
.contact h2{color:#fff}
.contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact .ways{display:grid;gap:14px}
.contact .way{display:block;background:var(--ink-2);border:1px solid #37363f;border-radius:var(--r);padding:20px 22px;color:#fff;text-decoration:none}
.contact .way:hover{border-color:var(--red)}
.contact .way span{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#a5a4ad;margin-bottom:4px}
.contact .way strong{font-size:1.25rem}
.contact ul{padding-left:18px;color:#c9c8d0}

/* Footer */
footer{background:#111015;color:#9d9ca6;font-size:.88rem;padding:28px 0}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
footer a{color:#c9c8d0}

/* Legal page */
.legal{padding:56px 0 80px;max-width:760px}
.legal h1{font-size:2rem}
.legal h2{font-size:1.25rem;font-style:normal;margin-top:2em}

@media (max-width:860px){
  .top nav a:not(.btn){display:none}
  .cards,.points,.reviews,.features,.program ul{grid-template-columns:1fr}
  .split,.split.rev,.contact .grid{grid-template-columns:1fr;gap:32px}
  .split img{max-width:420px}
  #formateur img{max-width:320px}
  .hero .wrap{padding-top:64px;padding-bottom:64px}
  .hero::before{background:rgba(18,17,23,.82)}
  section{padding:60px 0}
  .law{padding:26px 22px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
