/* ==========================================================================
   Accueil — styles spécifiques à la page
   ========================================================================== */

/* --- Boutons --- */
.btn-ghost{background:transparent;color:#fff;border-color:#fff;box-shadow:0 6px 0 rgba(255,255,255,.35)}
.btn-ghost:hover{box-shadow:0 2px 0 rgba(255,255,255,.35)}

/* --- Hero (sticky avec fusée qui décolle au scroll) --- */
.heropin{height:145vh}
.hero{position:sticky;top:63px;height:calc(100vh - 63px);background:#3772FF;overflow:hidden;color:#fff;display:flex;flex-direction:column}
.hero-nuit{background:#171c34}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:0;flex:1;min-height:0}
.h1{font-family:'Lilita One',cursive;font-size:clamp(44px,5.6vw,78px);line-height:1.02;margin:26px 0 0;text-shadow:4px 5px 0 #171c34}
.lead{font-size:19px;line-height:1.65;color:rgba(255,255,255,.92);max-width:520px;margin:24px 0 0}
.fusee{width:min(30vw,440px);max-height:62vh;object-fit:contain;animation:float 3.6s ease-in-out infinite;filter:drop-shadow(10px 14px 0 rgba(23,28,52,.28))}
@keyframes float{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-26px) rotate(-2deg)}}
.htxt{transform:translateY(var(--hy,0px))}
.fwrap{transform:translate(calc(var(--px,0px) + var(--tx,0px)),calc(var(--py,0px) + var(--ty,0px))) rotate(var(--tr,0deg))}

/* --- Bandeau défilant --- */
.mqband{background:#ffc337;border-top:3px solid #171c34;border-bottom:3px solid #171c34;transform:rotate(-1.2deg) scale(1.02);margin:-26px 0 30px;position:relative;z-index:5;overflow:hidden;white-space:nowrap;padding:14px 0}
.mqin{display:inline-block;animation:mq 24s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
.mqi{font-family:'Lilita One',cursive;font-size:24px;color:#171c34;letter-spacing:1px;padding:0 22px}

/* --- Titres --- */
.h2{font-family:'Lilita One',cursive;font-size:clamp(34px,4vw,48px);color:#171c34;margin:0;line-height:1.1}
.h3{font-family:'Lilita One',cursive;font-size:24px;margin:22px 0 10px;color:#171c34}

/* --- Services --- */
.svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
.card{background:#fff;border:3px solid #171c34;border-radius:26px;box-shadow:7px 7px 0 #171c34;padding:32px 28px;transition:transform .18s,box-shadow .18s}
.card:hover{transform:translate(-3px,-6px) rotate(-1deg);box-shadow:12px 13px 0 #171c34}
.ico{width:64px;height:64px;border-radius:18px;background:#EAF0FF;border:3px solid #171c34;display:flex;align-items:center;justify-content:center;box-shadow:3px 3px 0 #171c34}
.ico-j{background:#ffc337}
.ctxt{font-size:15.5px;line-height:1.6;color:#3d4260;margin:0}
.card-cta{background:#3772FF;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px}
.card-cta .h3{color:#fff;margin:0}
.card-cta .ctxt{color:rgba(255,255,255,.9)}

/* --- Méthode (étapes) --- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:64px;position:relative}
.path{position:absolute;top:38px;left:9%;right:9%;border-top:4px dashed #cecccc}
.stepn{width:76px;height:76px;border-radius:50%;background:#ffc337;border:3px solid #171c34;box-shadow:0 5px 0 #171c34;display:flex;align-items:center;justify-content:center;font-family:'Lilita One',cursive;font-size:28px;position:relative;z-index:2;margin:0 auto}
.stepn-b{background:#3772FF;color:#fff}
.step{text-align:center}
.step .h3{font-size:21px;margin-top:20px}

/* --- Chiffres clés --- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:56px}
.stat{background:#fff;border:3px solid #171c34;border-radius:24px;box-shadow:6px 6px 0 #171c34;padding:32px 18px;text-align:center;transition:transform .18s}
.stat:hover{transform:translateY(-6px) rotate(-1.2deg)}
.cnum{font-family:'Lilita One',cursive;font-size:54px;color:#3772FF;line-height:1;display:block}
.slab{font-size:15px;font-weight:600;color:#3d4260;margin:12px 0 0}

/* --- Réalisations --- */
.realgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:56px}
.rcard{background:#fff;border:3px solid #171c34;border-radius:24px;box-shadow:7px 7px 0 #060812;overflow:hidden;transition:transform .18s}
.rcard:hover{transform:translateY(-8px) rotate(1deg)}
.r1{transform:rotate(-1.2deg)}
.r3{transform:rotate(1.2deg)}
.rmeta{padding:20px 22px 24px}
.tag{display:inline-block;background:#EAF0FF;border:2px solid #171c34;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:700;margin-right:6px}
.tag-j{background:#ffc337}
.star{position:absolute;background:#fff;border-radius:50%;opacity:.7}

/* --- Témoignages --- */
.temo{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:60px;text-align:left}
.tcol{display:flex;flex-direction:column}
.bub{position:relative;background:#fff;border:3px solid #171c34;border-radius:24px;box-shadow:6px 6px 0 #171c34;padding:26px 28px;transition:transform .18s;flex:1}
.tcol:hover .bub{transform:rotate(-1.2deg) translateY(-4px)}
.bq{font-size:15.5px;line-height:1.7;color:#3d4260;margin:0}
.btail{position:absolute;left:38px;bottom:-13px;width:20px;height:20px;background:#fff;border-right:3px solid #171c34;border-bottom:3px solid #171c34;transform:rotate(45deg)}
.stars5{color:#ffc337;font-size:17px;letter-spacing:3px;margin:0 0 12px;text-shadow:1px 1px 0 #171c34}
.twho{display:flex;align-items:center;gap:14px;margin-top:28px;padding-left:10px}
.tini{width:54px;height:54px;border-radius:50%;border:3px solid #171c34;box-shadow:0 4px 0 #171c34;display:flex;align-items:center;justify-content:center;font-family:'Lilita One',cursive;font-size:20px;background:#ffc337;flex-shrink:0}
.tini-b{background:#3772FF;color:#fff}
.tini-n{background:#171c34;color:#ffc337}
.tnom{font-family:'Lilita One',cursive;font-size:17px;margin:0}
.trole2{font-size:13.5px;color:#3d4260;margin:2px 0 0}

/* --- CTA --- */
.ctasec{background:#ffc337;position:relative;overflow:hidden}
.ctasec .h2{font-size:clamp(40px,4.6vw,62px)}
.ctafusee{position:absolute;right:4%;bottom:-30px;width:240px;transform:rotate(-8deg);animation:float 4s ease-in-out infinite}
.spc-n{background:#171c34}

/* --- Responsive --- */
@media (max-width:960px){.hero-in{grid-template-columns:1fr;padding:0 24px 0}.svcgrid,.steps,.realgrid,.fgrid{grid-template-columns:1fr 1fr}.path{display:none}.stats{grid-template-columns:1fr 1fr}.temo{grid-template-columns:1fr}.hdr .navlinks{display:none}}
@media (max-width:620px){.svcgrid,.steps,.realgrid,.fgrid,.stats{grid-template-columns:1fr}}
