:root{--bleu:#003D4C;--bleu-clair:#E6EEF0;--rouge:#C8102E;--rouge-fonce:#A00D25;--texte:#1F2A30;--gris:#5B6A70;--fond:#FFFFFF;--max:1080px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--texte);background:var(--fond)}
a{color:var(--bleu)}
a:hover{color:var(--rouge)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.site-header{background:var(--bleu);color:#fff}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:1.35rem;letter-spacing:.2px}
.logo:hover{color:#fff}
.logo img{display:block;height:52px;width:auto}
.logo span small{font-weight:400;opacity:.8}
.nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.95rem}
.nav a{color:#fff;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--rouge);color:#fff}
.hero{background:var(--bleu);color:#fff;padding:48px 0 0;overflow:hidden}
.hero h1{font-size:2.3rem;line-height:1.2;margin:0 0 16px;max-width:760px}
.hero p{font-size:1.15rem;max-width:720px;margin:0 0 26px;opacity:.95}
.page-head{background:var(--bleu-clair);padding:40px 0 30px;border-bottom:4px solid var(--rouge)}
.page-head h1{margin:0 0 10px;color:var(--bleu);font-size:2rem;line-height:1.2}
.page-head p{margin:0;max-width:760px;font-size:1.1rem}
.btn{display:inline-block;background:var(--rouge);color:#fff;text-decoration:none;font-weight:600;padding:12px 24px;border-radius:4px}
.btn:hover{background:var(--rouge-fonce);color:#fff}
.btn-outline{background:transparent;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:var(--bleu)}
main section{padding:34px 0 8px}
main h2{color:var(--bleu);font-size:1.5rem;margin:0 0 16px}
ul.points{padding-left:0;list-style:none;margin:0 0 16px}
ul.points li{position:relative;padding-left:26px;margin-bottom:10px}
ul.points li::before{content:"";position:absolute;left:4px;top:.62em;width:10px;height:10px;background:var(--rouge);border-radius:2px}
.cta{padding:26px 0 40px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.card{border:1px solid #D5DFE2;border-top:4px solid var(--bleu);border-radius:4px;padding:20px;display:flex;flex-direction:column}
.card h3{margin:0 0 8px;color:var(--bleu);font-size:1.15rem}
.card p{margin:0 0 14px;flex:1}
.card a{font-weight:600;color:var(--rouge);text-decoration:none}
.card a:hover{text-decoration:underline}
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.why div{background:var(--bleu-clair);padding:18px;border-radius:4px}
.why strong{display:block;color:var(--bleu);margin-bottom:4px}
.band{background:var(--bleu);color:#fff;margin-top:34px;padding:32px 0}
.band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.band p{margin:0;max-width:700px;font-size:1.1rem}
.band a.tel{color:#fff;font-weight:700;white-space:nowrap}
.contact-box{background:var(--bleu-clair);border-left:4px solid var(--rouge);padding:20px 24px;border-radius:4px;max-width:560px}
.contact-box p{margin:0 0 6px}
/* Animation des brancardiers (hommage à l'animation Flash d'origine) */
.rescue{position:relative;height:150px;margin-top:18px;border-top:1px solid rgba(255,255,255,.15);overflow:hidden}
.rescue .convoi{position:absolute;bottom:6px;left:0;width:300px;height:132px;animation:brancard 22s linear infinite;overflow:visible}
.convoi path,.convoi rect,.convoi circle{stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.convoi .blouse{fill:#E6EEF0;stroke:#fff}
.convoi .tete{fill:#F4E6DA}
.convoi .oeil{fill:#003D4C;stroke:none}
.convoi .pupille{fill:#fff;stroke:none}
.convoi .coiffe{fill:#fff}
.convoi .croix{stroke:#C8102E;stroke-width:2.4}
.convoi .brancard{fill:#B08D57;stroke:none}
.convoi .toile{fill:#E6EEF0;stroke:none}
.convoi .ecran{fill:#D5DFE2}
.convoi .dalle{fill:#5E7F8A;stroke:none}
.convoi .visage{stroke:#fff;stroke-width:1.8}
.convoi .pansement rect{fill:#F4E6DA;stroke:#C8102E;stroke-width:1}
.convoi .pied{fill:#D5DFE2}
.convoi .clavier{fill:#D5DFE2}
.convoi .etoile{fill:#F2A900;stroke:none;offset-path:path('M149 13 a34 6 0 1 0 0.1 0');offset-rotate:0deg;animation:orbite 2.4s linear infinite}
.convoi .e2{animation-delay:-.8s;fill:#fff}
.convoi .e3{animation-delay:-1.6s}
.convoi .jambe{transform-box:view-box;animation:pas .9s ease-in-out infinite alternate}
.convoi .porteur:first-of-type .jambe{transform-origin:52px 76px}
.convoi .porteur:last-of-type .jambe{transform-origin:246px 76px}
.convoi .j2{animation-direction:alternate-reverse}
.convoi .bob{animation:bob .45s ease-in-out infinite alternate}
.convoi .poussiere circle{fill:rgba(255,255,255,.35);stroke:none;transform-box:fill-box;transform-origin:center;animation:poussiere .9s ease-out infinite}
.convoi .p2{animation-delay:.45s}
@keyframes brancard{from{transform:translateX(-320px)}to{transform:translateX(calc(100vw + 20px))}}
@keyframes pas{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}
@keyframes bob{from{transform:translateY(0)}to{transform:translateY(-2px)}}
@keyframes orbite{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes poussiere{0%{opacity:.9;transform:translate(0,0) scale(.6)}100%{opacity:0;transform:translate(-14px,-4px) scale(1.6)}}
@media (prefers-reduced-motion:reduce){
  .rescue .convoi{animation:none;left:20px}
  .convoi .jambe,.convoi .bob,.convoi .etoile,.convoi .poussiere circle{animation:none}
  .convoi .poussiere{display:none}
}
.site-footer{background:#0F2127;color:#C9D4D7;font-size:.88rem;margin-top:0;padding:28px 0}
.site-footer a{color:#fff}
.site-footer .legal{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:18px;border-top:1px solid rgba(255,255,255,.15);padding-top:16px}
.site-footer h2{font-size:.95rem;color:#fff;margin:0 0 6px}
.site-footer p{margin:0}
@media (max-width:640px){body{font-size:16px}.hero{padding-top:32px}.hero h1{font-size:1.75rem}.page-head h1{font-size:1.6rem}.nav{gap:2px 14px;font-size:.9rem}.logo img{height:44px}}
.auteur{font-size:.9rem;color:#5B6A70;border-top:1px solid #D5DFE2;padding-top:12px;margin:0}
.surtitre{margin:0 0 6px;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#C8102E}
.bio-nom{color:#003D4C;line-height:1.4}
