@font-face{font-family:"Russo One";src:url("fonts/russo-one.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/inter.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/plex-mono-500.woff2") format("woff2");font-weight:500;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#0E0F12;color:#F4F1EA;font-family:"Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#FFD400}a:hover{color:#F4F1EA}
input,textarea,button{font:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid #FFD400;outline-offset:2px}

.barre-mobile{display:none}
@media (max-width:720px){
 .nav-tel{display:none!important}
 body{padding-bottom:76px}
 .barre-mobile{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(14,15,18,.96);border-top:1px solid #2E3139}
 .barre-mobile a{flex:1;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;font-weight:600;text-decoration:none}
 .bm-tel{border:1px solid #FFD400;color:#FFD400}
 .bm-devis{background:#FFD400;color:#0E0F12}
}

/* Route de la méthode */
.parcours{position:relative}
.route-wrap{margin:0 -8px 8px}
.route{display:block;width:100%;height:auto;overflow:visible}
.route-v{display:none}
.etapes{display:grid;grid-template-columns:repeat(3,1fr)}
.etape{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:0 24px}
.etape p{max-width:320px}
.borne{display:none}
@media (max-width:900px){
 .route-wrap{display:none}
 .etapes{grid-template-columns:1fr;gap:40px;position:relative;padding:8px 0}
 .route-v{display:block;position:absolute;left:0;top:0;width:60px;height:100%}
 .parcours{padding-bottom:0}
 .etape{align-items:flex-start;text-align:left;padding:4px 0 0 80px}
 .borne{display:flex;position:absolute;left:30px;top:30px;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#0E0F12;box-shadow:0 0 0 4px #FFD400,0 0 0 7px #0E0F12;align-items:center;justify-content:center}
 .borne span{width:30px;height:30px;border-radius:50%;background:#FFD400;position:relative}
 .borne span::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#0E0F12}
}

/* Visuels & actions */
@media (min-width:721px){.entete{position:sticky;top:0;z-index:40;backdrop-filter:blur(8px)}}
.hero-visuel{flex:1 1 400px;min-width:0;max-width:520px;margin-left:auto}
.hero-visuel svg{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #2E3139}
.carte-service{position:relative}
.carte-service .ico{position:absolute;top:18px;right:18px;width:26px;height:26px;fill:none;stroke:#FFD400;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.carte-service>div{padding-right:34px}
.ensuite{margin-top:16px;padding:20px;border:1px solid #2E3139;border-radius:6px;background:#1C1E24;display:flex;flex-direction:column;gap:14px}
.ensuite ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ensuite li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:22px;color:#9AA0AA}
.ensuite li strong{color:#F4F1EA;font-weight:600}
.ensuite b{flex:0 0 28px;height:28px;border-radius:50%;background:#FFD400;color:#0E0F12;font-family:"Russo One",sans-serif;font-weight:400;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.devis-flottant{position:fixed;right:24px;bottom:24px;z-index:45;background:#FFD400;color:#0E0F12!important;font-weight:600;text-decoration:none;padding:14px 22px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.45),0 0 0 4px rgba(255,212,0,.18)}
.devis-flottant:hover{background:#F4F1EA}
@media (max-width:720px){.devis-flottant{display:none}}
@media (max-width:1000px){.hero-visuel{margin:0 auto}}

.carte-cta{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;justify-content:center;padding:22px 24px;border-radius:6px;text-decoration:none;color:#0E0F12!important;background:#FFD400 radial-gradient(circle at 100% 0,rgba(255,255,255,.35),transparent 55%);min-height:150px}
.carte-cta .k{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.carte-cta .t{font-family:"Russo One",sans-serif;font-size:24px;line-height:28px;text-transform:uppercase}
.carte-cta .d{font-size:15px;line-height:22px;max-width:520px}
.carte-cta .b{align-self:flex-start;margin-top:6px;background:#0E0F12;color:#FFD400;font-weight:600;padding:10px 16px;border-radius:6px}
.carte-cta:hover .b{background:#2E3139}
@media (min-width:1100px){.carte-cta.c3{grid-column:span 3}.carte-cta.c2{grid-column:span 2}}
