:root{--navy:#064a6a;--navy-dark:#04364f;--green:#087c66;--sand:#b08a35;--ink:#12232d;--muted:#60717b;--bg:#f7faf9;--white:#fff;--line:#dbe6e4;--shadow:0 18px 50px rgba(4,54,79,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.6}img,video{max-width:100%;display:block}a{color:inherit}.container{width:min(1120px,calc(100% - 36px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:99}.topbar{background:var(--navy-dark);color:#fff;font-size:.9rem;text-align:center;padding:8px 16px}.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(219,230,228,.85)}.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;color:var(--navy);font-size:1.25rem}.brand img{width:85px;;height:auto;px;object-fit:contain;border-radius:0;}.nav-links{display:flex;align-items:center;gap:22px}.nav-links a{text-decoration:none;font-weight:700;font-size:.94rem}.lang{display:flex;gap:5px}.lang a{padding:6px 9px;border-radius:8px;border:1px solid var(--line);font-size:.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 18px;font-weight:800;text-decoration:none;cursor:pointer;transition:.2s transform,.2s box-shadow}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 25px rgba(8,124,102,.2)}.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.hero{background:linear-gradient(135deg,#eef8f5 0%,#fff 55%,#eef4f7 100%);padding:70px 0 50px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.eyebrow{display:inline-flex;background:#e2f4ef;color:var(--green);padding:6px 10px;border-radius:999px;font-weight:800;font-size:.85rem;letter-spacing:.02em}.hero h1{font-size:clamp(2.55rem,6vw,5.2rem);line-height:1.02;letter-spacing:-.055em;margin:18px 0 22px;color:var(--navy-dark)}.hero h1 span{color:var(--green)}.hero p{font-size:1.15rem;color:var(--muted);max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.trust-row{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:.92rem}.hero-card{
  position:relative;
  background:#fff;
  border-radius:28px;
  padding:24px;
  box-shadow:var(--shadow);
  border:1px solid #e6efed;

  width:125%;
  max-width:none;
}.hero-card img{width:100%;
    height:100%;
    max-height:520px;
    object-fit:contain;
    object-position:center;
    border-radius:20px;}.floating{position:absolute;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);font-weight:800}.floating.one{left:-20px;bottom:48px}.floating.two{right:-18px;top:42px}.section{padding:82px 0}.section.alt{background:var(--bg)}.section-head{max-width:760px;margin-bottom:36px}.section-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 14px;color:var(--navy-dark)}.section-head p{color:var(--muted);font-size:1.05rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 8px 30px rgba(4,54,79,.05)}.icon{width:46px;height:46px;border-radius:13px;background:#e5f5f0;color:var(--green);display:grid;place-items:center;font-size:1.4rem;margin-bottom:16px}.card h3{margin:0 0 8px;color:var(--navy-dark)}.card p{margin:0;color:var(--muted)}.steps{counter-reset:step}.step{position:relative;padding-top:70px}.step:before{counter-increment:step;content:counter(step);position:absolute;top:0;left:0;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900}.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.video-wrap{background:#071d27;border-radius:24px;padding:12px;box-shadow:var(--shadow)}.video-wrap video{border-radius:16px;width:100%}.checks{padding:0;list-style:none}.checks li{margin:12px 0;padding-left:30px;position:relative}.checks li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery figure{margin:0;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.gallery .ph{aspect-ratio:4/3;background:linear-gradient(135deg,#d8e8e5,#eef4f3);display:grid;place-items:center;color:var(--navy);font-weight:800;text-align:center;padding:24px}.gallery figcaption{padding:14px;font-size:.92rem;color:var(--muted)}.quote{font-size:1.06rem}.stars{color:var(--sand);letter-spacing:2px}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:12px 0}.faq summary{font-weight:800;cursor:pointer;color:var(--navy-dark)}.faq p{color:var(--muted)}.contact{background:linear-gradient(135deg,var(--navy-dark),var(--navy));color:#fff;border-radius:30px;padding:42px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.contact h2{margin-top:0;font-size:2.5rem;line-height:1.1}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form label{font-size:.88rem;font-weight:700}.form .full{grid-column:1/-1}.form input,.form select,.form textarea{width:100%;margin-top:6px;padding:13px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.96);color:#12232d;font:inherit}.form textarea{min-height:120px;resize:vertical}.form-note{font-size:.8rem;opacity:.75}.footer{padding:30px 0;background:#071d27;color:#c7d4d9}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.mobile-toggle{display:none}.badge{display:inline-block;background:#fff;color:var(--navy);padding:7px 10px;border-radius:999px;font-weight:800;font-size:.82rem}
@media(max-width:850px){.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.grid-3,.gallery{grid-template-columns:1fr 1fr}.nav-links{display:none}.mobile-toggle{display:block}.hero-card{max-width:540px;margin:auto}.floating{position:static;display:inline-block;margin:10px 6px 0 0}.contact{padding:28px}.form{grid-template-columns:1fr}.form .full{grid-column:auto}}
@media(max-width:560px){.grid-3,.gallery{grid-template-columns:1fr}.hero{padding-top:45px}.section{padding:62px 0}.nav-inner{height:88px}.brand img{width:85px;;height:auto}.hero h1{font-size:2.75rem}.footer-inner{flex-direction:column;align-items:flex-start}}
.hero-media{
  min-height:auto;
}

.hero-media .hero-logo{
  width:35%;
  height:auto;
  max-height:100px;
}

.hero-media .hero-video{
  flex:none;
  min-height:0;
  height:auto;
  aspect-ratio:16 / 9;
}
.hero-media{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:480px;
}

.hero-media .hero-logo{
  width:40%;
  height:100px;
  object-fit:contain;
  margin:0 auto;
  aspect-ratio:auto;
}

.hero-media .hero-video{
  width:100%;
  flex:1;
  min-height:330px;
  object-fit:contain;
  border-radius:16px;
  background:#071d27;
  display:block;
}
/* CAS CLIENTS / REALISATIONS */

.case-study{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:30px;
  box-shadow:0 8px 30px rgba(4,54,79,.06);
}

.case-study-head{
  margin-bottom:26px;
}

.case-study-head h3{
  margin:12px 0 0;
  color:var(--navy-dark);
  font-size:1.8rem;
}

.case-details{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:30px;
}

.case-details > div{
  padding:20px;
  background:var(--bg);
  border-radius:16px;
}

.case-details h4{
  margin:0 0 8px;
  color:var(--navy-dark);
  font-size:1.05rem;
}

.case-details p{
  margin:0;
  color:var(--muted);
}

.case-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.case-gallery figure{
  margin:0;
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--line);
}

.case-gallery img{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}

.case-gallery figcaption{
  padding:12px 14px;
  font-size:.9rem;
  font-weight:700;
  color:var(--navy-dark);
}


/* TABLETTE / MOBILE */

@media(max-width:850px){

  .case-details{
    grid-template-columns:1fr;
  }

  .case-gallery{
    grid-template-columns:1fr;
  }

  .case-gallery img{
    aspect-ratio:16 / 9;
  }
}

@media(max-width:560px){

  .case-study{
    padding:18px;
  }

  .case-study-head h3{
    font-size:1.5rem;
  }
}
.section-head-wide{
  max-width:100%;
}

.section-head-wide h2{
  max-width:900px;
}

.section-head-wide p{
  max-width:850px;
}
/* ========================================
   REALISATION CLIENT - GALERIE
======================================== */

.case-media{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:18px;
  margin-top:30px;
  align-items:stretch;
}

/* Les 3 étapes à gauche */

.case-media-secondary{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.case-media-secondary figure,
.case-media-main{
  margin:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
}

.case-media-secondary figure{
  display:grid;
  grid-template-columns:190px 1fr;
  min-height:145px;
}

.case-media-secondary img{
  width:100%;
  height:100%;
  min-height:125px;
  object-fit:cover;
}

.case-media-secondary figcaption{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:14px 16px;
}

.case-media-secondary figcaption strong{
  color:var(--navy-dark);
  font-size:.92rem;
}

.case-media-secondary figcaption span{
  color:var(--muted);
  font-size:.82rem;
  line-height:1.45;
}


/* Grande photo finale */

.case-media-main{
  position:relative;
  display:flex;
  flex-direction:column;
}

.case-media-main img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  flex:1;
}

.case-media-main figcaption{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  background:#fff;
}

.case-media-main figcaption div{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.case-media-main figcaption strong{
  color:var(--navy-dark);
  font-size:1rem;
}

.case-media-main figcaption span{
  color:var(--muted);
  font-size:.86rem;
}

.case-result-number{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--green);
  color:#fff !important;
  font-weight:900;
}


/* TABLETTE */

@media(max-width:850px){

  .case-media{
    grid-template-columns:1fr;
  }

  .case-media-secondary{
    grid-template-columns:repeat(3,1fr);
  }

  .case-media-secondary figure{
    display:block;
    min-height:0;
  }

  .case-media-secondary img{
    aspect-ratio:4 / 3;
    height:auto;
    min-height:0;
  }

  .case-media-main img{
    min-height:0;
    aspect-ratio:16 / 9;
  }
}


/* MOBILE */

@media(max-width:560px){

  .case-media-secondary{
    grid-template-columns:1fr;
  }

  .case-media-secondary figure{
    display:grid;
    grid-template-columns:120px 1fr;
  }

  .case-media-secondary img{
    height:100%;
    min-height:110px;
    aspect-ratio:auto;
  }

  .case-media-main img{
    aspect-ratio:4 / 3;
  }

}
/* ========================================
   TEMOIGNAGES
======================================== */

.testimonials-grid{
  display:grid;
  grid-template-columns:1.3fr .85fr .85fr;
  gap:20px;
  align-items:stretch;
}

.testimonial{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:26px;
  box-shadow:0 8px 30px rgba(4,54,79,.06);
  display:flex;
  flex-direction:column;
}

.testimonial-featured{
  background:linear-gradient(135deg,#fff,#f3faf8);
}

.testimonial .stars{
  font-size:1.15rem;
  margin-bottom:16px;
}

.testimonial .quote{
  margin:0 0 24px;
  color:var(--muted);
  line-height:1.7;
  flex:1;
}

.testimonial-author{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

.testimonial-author strong{
  color:var(--navy-dark);
}

.testimonial-author span{
  color:var(--muted);
  font-size:.85rem;
}

.testimonial-demo{
  display:inline-block;
  align-self:flex-start;
  margin-bottom:12px;
  padding:4px 8px;
  border-radius:999px;
  background:#fff4d8;
  color:#8a6819;
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}


/* TABLETTE */

@media(max-width:850px){

  .testimonials-grid{
    grid-template-columns:1fr;
  }

}


/* MOBILE */

@media(max-width:560px){

  .testimonial{
    padding:20px;
  }

}
/* ========================================
   SERVICES A LA CARTE
======================================== */

.services-extra-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}

.service-extra-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:24px;
  box-shadow:0 8px 30px rgba(4,54,79,.05);
}

.service-extra-card h3{
  margin:0 0 8px;
  color:var(--navy-dark);
}

.service-extra-card p{
  margin:0;
  color:var(--muted);
}

.services-extra-cta{
  margin-top:28px;
  padding:24px 26px;
  border-radius:20px;
  background:linear-gradient(135deg,#eef8f5,#ffffff);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.services-extra-cta h3{
  margin:0 0 6px;
  color:var(--navy-dark);
}

.services-extra-cta p{
  margin:0;
  color:var(--muted);
}


/* TABLETTE */

@media(max-width:850px){

  .services-extra-grid{
    grid-template-columns:1fr;
  }

  .services-extra-cta{
    flex-direction:column;
    align-items:flex-start;
  }

}


/* MOBILE */

@media(max-width:560px){

  .service-extra-card{
    padding:20px;
  }

  .services-extra-cta{
    padding:20px;
  }

}
/* ========================================
   CORRECTION VIDEO MOBILE
======================================== */

@media(max-width:560px){

  .hero-media{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
  }

  .hero-media .hero-video{
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:16 / 9;
    object-fit:cover;
    border-radius:14px;
    display:block;
  }

  .hero-card{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }

}
/* ========================================
   MENU MOBILE
======================================== */

.mobile-toggle{
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy-dark);
  width:42px;
  height:42px;
  border-radius:10px;
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

@media(max-width:850px){

  .mobile-toggle{
    display:flex;
  }

  .nav-inner{
    position:relative;
  }

  .nav-links.mobile-open{
    display:flex;
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    width:min(300px,calc(100vw - 36px));
    padding:14px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:var(--shadow);
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    z-index:100;
  }

  .nav-links.mobile-open a{
    display:block;
    width:100%;
    padding:11px 12px;
    border-radius:9px;
  }

  .nav-links.mobile-open a:not(.btn):hover{
    background:var(--bg);
  }

  .nav-links.mobile-open .btn{
    margin-top:6px;
  }

}
/* ========================================
   HERO MOBILE SIN ESTRES
======================================== */

/* Caché sur ordinateur */
.mobile-hero{
  display:none;
}


/* Téléphone uniquement */
@media(max-width:560px){

  /* On cache uniquement l'ancien hero desktop */
  .hero{
    display:none;
  }

  .mobile-hero{
    display:block;
    background:linear-gradient(
      135deg,
      #eef8f5 0%,
      #ffffff 60%,
      #eef4f7 100%
    );
    padding:24px 0 26px;
  }

  .mobile-hero .eyebrow{
    font-size:.70rem;
    padding:5px 8px;
  }

  .mobile-hero h1{
    margin:13px 0 12px;
    color:var(--navy-dark);
    font-size:2.15rem;
    line-height:1.03;
    letter-spacing:-.045em;
  }

  .mobile-hero h1 span{
    display:block;
    color:var(--green);
    margin-top:3px;
  }

  .mobile-hero-text{
    margin:0;
    color:var(--muted);
    font-size:.92rem;
    line-height:1.42;
  }

  .mobile-hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin:16px 0 14px;
  }

  .mobile-hero-actions .btn{
    width:100%;
    padding:11px 8px;
    font-size:.82rem;
  }


  /* VIDEO MOBILE */

  .mobile-video{
    width:100%;
    max-width:100%;
    margin-top:4px;
    padding:6px;
    background:#071d27;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(4,54,79,.12);
  }

  .mobile-video video{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:16 / 9;
    object-fit:contain;
    background:#071d27;
    border-radius:9px;
  }

}
/* ========================================
   PARCOURS MOBILE SIN ESTRES
======================================== */

.mobile-only{
  display:none;
}

@media(max-width:560px){

  .mobile-only{
    display:block;
  }

  .mobile-hide{
    display:none !important;
  }


  /* STRUCTURE */

  .mobile-flow{
    width:100%;
  }

  .mobile-section{
    padding:38px 18px;
    background:#fff;
  }

  .mobile-section-alt{
    background:var(--bg);
  }

  .mobile-section h2{
    margin:10px 0 12px;
    color:var(--navy-dark);
    font-size:1.75rem;
    line-height:1.08;
    letter-spacing:-.035em;
  }

  .mobile-section-intro{
    margin:0 0 20px;
    color:var(--muted);
    font-size:.94rem;
    line-height:1.5;
  }


  /* SERVICES */

  .mobile-service-list{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:20px;
  }

  .mobile-service-row{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:13px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
  }

  .mobile-service-icon{
    flex:0 0 auto;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#e5f5f0;
  }

  .mobile-service-row strong{
    display:block;
    color:var(--navy-dark);
    font-size:.94rem;
  }

  .mobile-service-row p{
    margin:2px 0 0;
    color:var(--muted);
    font-size:.82rem;
    line-height:1.4;
  }

  .mobile-extra-service{
    display:none;
  }

  .mobile-service-list.mobile-expanded .mobile-extra-service{
    display:flex;
  }

  .mobile-more-btn{
    margin-top:14px;
    padding:0;
    border:0;
    background:none;
    color:var(--green);
    font-weight:800;
    font-size:.9rem;
    cursor:pointer;
  }


  /* PROCESS */

  .mobile-steps{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:20px;
  }

  .mobile-step{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
  }

  .mobile-step > span{
    flex:0 0 auto;
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--navy);
    color:#fff;
    font-weight:900;
  }

  .mobile-step strong{
    color:var(--navy-dark);
    font-size:.92rem;
  }

  .mobile-step p{
    margin:3px 0 0;
    color:var(--muted);
    font-size:.82rem;
  }


  /* EXPERIENCE */

  .mobile-proof-list{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin:18px 0;
    color:var(--navy-dark);
    font-size:.9rem;
    font-weight:700;
  }

  .mobile-proof-list span::first-letter{
    color:var(--green);
  }

  .mobile-wide-btn{
    width:100%;
    margin-top:4px;
  }


  /* CAS CLIENT */

  .mobile-case-main{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:16px;
    margin:18px 0;
  }

  .mobile-case-details{
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  .mobile-case-details > div{
    padding:12px 13px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
  }

  .mobile-case-details strong{
    color:var(--navy-dark);
    font-size:.9rem;
  }

  .mobile-case-details p{
    margin:3px 0 0;
    color:var(--muted);
    font-size:.82rem;
    line-height:1.4;
  }

  .mobile-case-gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    margin-top:12px;
  }

  .mobile-case-gallery img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:9px;
  }

  .mobile-case-labels{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    margin-top:5px;
    text-align:center;
    color:var(--muted);
    font-size:.68rem;
    font-weight:700;
  }


  /* TEMOIGNAGE */

  .mobile-testimonial{
    margin-top:18px;
    padding:18px;
    background:linear-gradient(135deg,#fff,#f3faf8);
    border:1px solid var(--line);
    border-radius:16px;
  }

  .mobile-testimonial .stars{
    margin-bottom:10px;
  }

  .mobile-testimonial p{
    color:var(--muted);
    font-size:.88rem;
    line-height:1.55;
  }

  .mobile-testimonial strong{
    display:block;
    margin-top:14px;
    color:var(--navy-dark);
  }

  .mobile-testimonial span{
    color:var(--muted);
    font-size:.78rem;
  }


  /* A LA CARTE */

  .mobile-alacarte{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:18px 0;
  }

  .mobile-alacarte > div{
    padding:13px 10px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    color:var(--navy-dark);
    font-size:.8rem;
    line-height:1.35;
  }


  /* FAQ PLUS COMPACTE */

  #faq.section{
    padding:40px 0;
  }

  #faq .section-head{
    margin-bottom:20px;
  }

  #faq .section-head h2{
    font-size:1.8rem;
  }

  #faq .faq details{
    padding:14px 15px;
    margin:8px 0;
  }

  #faq .faq summary{
    font-size:.9rem;
  }

  #faq .faq p{
    font-size:.86rem;
    line-height:1.5;
  }


  /* CONTACT PLUS COMPACT */

  #contact.section{
    padding:40px 0;
  }

  #contact .contact{
    padding:22px 18px;
    border-radius:20px;
  }

  #contact .contact h2{
    font-size:1.8rem;
  }

}
/* ========================================
   TARIFICATION
======================================== */

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.pricing-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:26px;
  box-shadow:0 8px 30px rgba(4,54,79,.05);
}

.pricing-number{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--navy);
  color:#fff;
  font-weight:900;
  margin-bottom:18px;
}

.pricing-card h3{
  margin:0 0 10px;
  color:var(--navy-dark);
}

.pricing-card p{
  margin:0 0 16px;
  color:var(--muted);
}

.pricing-card strong{
  display:block;
  color:var(--green);
  font-size:.9rem;
}

.pricing-bottom{
  margin-top:28px;
  padding:26px;
  background:linear-gradient(135deg,#eef8f5,#fff);
  border:1px solid var(--line);
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.pricing-bottom h3{
  margin:10px 0 6px;
  color:var(--navy-dark);
}

.pricing-bottom p{
  margin:0;
  max-width:700px;
  color:var(--muted);
}


/* MOBILE TARIFICATION */

@media(max-width:560px){

  .mobile-pricing-steps{
    display:flex;
    flex-direction:column;
    gap:9px;
    margin-top:18px;
  }

  .mobile-pricing-card{
    display:flex;
    gap:12px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
  }

  .mobile-pricing-number{
    flex:0 0 auto;
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--navy);
    color:#fff;
    font-weight:900;
  }

  .mobile-pricing-card strong{
    color:var(--navy-dark);
    font-size:.92rem;
  }

  .mobile-pricing-card p{
    margin:3px 0 0;
    color:var(--muted);
    font-size:.82rem;
    line-height:1.45;
  }

  .mobile-pricing-highlight{
    margin-top:14px;
    padding:14px;
    background:#e5f5f0;
    border-radius:14px;
  }

  .mobile-pricing-highlight strong{
    color:var(--green);
  }

  .mobile-pricing-highlight p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:.82rem;
    line-height:1.45;
  }

  .mobile-pricing-trust{
    margin:16px 0;
    color:var(--navy-dark);
    font-size:.86rem;
    line-height:1.5;
    font-weight:700;
  }

}
/* ========================================
   HOMEPAGE MOBILE V2
   Hero compact + preuve NICA
======================================== */

.mobile-nav-promise{
  display:none;
}

@media(max-width:560px){

  /* On récupère l'espace de l'ancienne topbar */
  .topbar{
    display:none;
  }

  /* HEADER */
  .nav-inner{
    height:72px;
    gap:8px;
  }

  .brand{
    flex:0 0 auto;
  }

     .brand img{
    width:80px;
  }

  .mobile-nav-promise{
    display:block;
    flex:1;
    min-width:0;
    color:var(--navy-dark);
    font-size:.86rem;
    line-height:1.08;
    font-weight:850;
    text-align:center;
  }

  .lang{
    gap:3px;
  }

  .lang a{
    padding:4px 5px;
    font-size:.66rem;
    border-radius:6px;
  }

    /* HEADER */

  .nav{
    position:sticky;
    top:0;
    z-index:1000;
  }

  .nav-inner{
    height:72px;
    gap:7px;
  }

  .brand{
    flex:0 0 auto;
  }

  .brand img{
    width:68px;
  }

  .mobile-nav-promise{
    display:block;
    flex:1;
    min-width:0;
    color:var(--navy-dark);
    font-size:.72rem;
    line-height:1.18;
    font-weight:850;
    text-align:center;
  }


  /* LANGUE */

  .lang-dropdown{
    position:relative;
    display:block;
    flex:0 0 auto;
  }

  .lang-current{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;

    min-width:39px;
    height:36px;
    padding:0 7px;

    border:1px solid var(--line);
    border-radius:8px;

    background:#fff;
    color:var(--navy-dark);

    font:inherit;
    font-size:.68rem;
    font-weight:800;

    cursor:pointer;
  }

  .lang-current span{
    font-size:.6rem;
  }

  .lang-menu{
    display:none;
    position:absolute;
    top:calc(100% + 6px);
    right:0;

    min-width:52px;
    padding:5px;

    background:#fff;
    border:1px solid var(--line);
    border-radius:9px;
    box-shadow:var(--shadow);

    z-index:1100;
  }

  .lang-dropdown.is-open .lang-menu{
    display:block;
  }

  .lang-menu a{
    display:block;
    width:100%;
    padding:7px 8px;

    border:0;
    border-radius:6px;

    color:var(--navy-dark);
    text-align:center;
    text-decoration:none;

    font-size:.68rem;
    font-weight:800;
  }

  .lang-menu a:hover{
    background:var(--bg);
  }


  /* MENU MOBILE */

  .mobile-toggle{
    width:36px;
    height:36px;
    border-radius:9px;
    font-size:1.15rem;
  }


  /* HERO */
  .mobile-hero{
    padding:14px 0 14px;
  }

  .mobile-hero h1{
    margin:0 0 8px;
    font-size:1.92rem;
    line-height:1.02;
  }

  .mobile-hero h1 span{
    margin-top:2px;
  }

  .mobile-hero-text{
    font-size:.84rem;
    line-height:1.32;
    margin-bottom:10px;
  }


  /* VIDEO */
  .mobile-video{
    margin:0;
    padding:4px;
    border-radius:11px;
  }

  .mobile-video video{
    border-radius:7px;
  }


  /* PREUVE NICA */
  .mobile-nica-market{
    margin:9px 0 8px;
    padding:10px 12px;
    background:linear-gradient(135deg,#04364f,#064a6a);
    border-radius:13px;
    color:#fff;
    box-shadow:0 8px 22px rgba(4,54,79,.14);
  }

  .mobile-nica-market .nica-public-inner{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:12px;
  }

  .mobile-nica-market .nica-public-number{
    color:#fff;
    font-size:1.65rem;
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
  }

  .mobile-nica-market .nica-public-kicker{
    color:#bfe8dc;
    font-size:.66rem;
    line-height:1.1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
  }

  .mobile-nica-market .nica-public-title{
    margin:2px 0 1px;
    color:#fff;
    font-size:.82rem;
    line-height:1.15;
    font-weight:700;
  }

  .mobile-nica-market .nica-public-title strong{
    color:#fff;
  }

  .mobile-nica-market .nica-public-meta{
    color:#d7e7ec;
    font-size:.64rem;
    line-height:1.15;
  }

  .mobile-nica-market .nica-public-disclaimer{
    display:none;
  }


  /* CTA SOUS NICA */
  .mobile-hero-actions{
    grid-template-columns:1.35fr .85fr;
    gap:7px;
    margin:0;
  }

  .mobile-hero-actions .btn{
    min-height:40px;
    padding:9px 7px;
    font-size:.78rem;
  }

}
/* ========================================
   HOMEPAGE MOBILE - HERO FINAL
======================================== */

@media(max-width:560px){

  /* HERO GLOBAL */

  .mobile-hero{
    padding:14px 0 18px;
    background:
      linear-gradient(
        135deg,
        #eef8f5 0%,
        #ffffff 58%,
        #eef4f7 100%
      );
  }


  /* TITRE */

  .mobile-hero h1{
    margin:0 0 8px;
    color:var(--navy-dark);
    font-size:1.92rem;
    line-height:1.02;
    letter-spacing:-.045em;
  }

  .mobile-hero h1 span{
    display:block;
    margin-top:1px;
    color:var(--green);
  }


  /* TEXTE */

  .mobile-hero-text{
    margin:0 0 10px;
    color:var(--muted);
    font-size:.82rem;
    line-height:1.35;
  }


  /* VIDEO */

  .mobile-video{
    width:100%;
    margin:0;
    padding:4px;
    background:#071d27;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(4,54,79,.12);
  }

  .mobile-video video{
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:contain;
    background:#071d27;
    border-radius:8px;
  }


  /* ==========================
     BANDEAU NICA
  ========================== */

  .mobile-market-card{
    margin-top:7px;
    overflow:hidden;

    color:#fff;

    background:
      radial-gradient(
        circle at 85% 20%,
        rgba(8,124,102,.48),
        transparent 42%
      ),
      linear-gradient(
        135deg,
        #04364f,
        #065d62
      );

    border-radius:13px;

    box-shadow:
      0 8px 22px rgba(4,54,79,.14);
  }


  .mobile-market-main{
    display:flex;
    align-items:center;
    gap:11px;
    padding:10px 12px 8px;
  }


  /* ICONE GRAPHE */

  .mobile-market-icon{
  flex:0 0 auto;
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(31,177,143,.20);
  border:1px solid rgba(255,255,255,.08);
}

.mobile-market-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:#d7fff4;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}


  .mobile-market-content{
    flex:1;
    min-width:0;
  }


  .mobile-market-kicker{
    color:#b8e9dc;

    font-size:.61rem;
    line-height:1.1;

    font-weight:900;

    text-transform:uppercase;

    letter-spacing:.055em;
  }


  /* NOMBRE NICA */

  .mobile-market-number{
    margin-top:1px;

    color:#fff;

    font-size:2rem;
    line-height:.98;

    font-weight:950;

    letter-spacing:-.045em;
  }


  .mobile-market-label{
    margin-top:1px;

    color:#fff;

    font-size:.78rem;
    line-height:1.05;
  }


  /* ==========================
     SOURCES NICA
  ========================== */

  .mobile-market-sources{
    display:grid;

    grid-template-columns:
      repeat(4,1fr);

    gap:0;

    padding:7px 7px 8px;

    border-top:
      1px solid rgba(255,255,255,.18);

    background:
      rgba(2,32,45,.24);
  }


  .mobile-market-sources span{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:3px;

    color:#eaf4f5;

    font-size:.52rem;
    line-height:1.1;

    white-space:nowrap;
  }


  .source-icon{
    flex:0 0 auto;

    width:14px;
    height:14px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    font-size:.47rem;
    font-style:normal;
    font-weight:900;
  }


  .source-facebook{
    background:#1877f2;
  }

  .source-encuentra{
    background:#04b8c5;
  }

  .source-carros{
    background:#1ba889;
  }

  .source-tucarro{
    background:#f47c20;
  }


  /* ==========================
     BOUTONS
  ========================== */

  .mobile-hero-actions{
    display:grid;

    grid-template-columns:
      1.35fr .85fr;

    gap:7px;

    margin:8px 0 0;
  }


  .mobile-hero-actions .btn{
    width:100%;

    min-height:39px;

    padding:8px 7px;

    font-size:.76rem;

    border-radius:10px;
  }


  /* ==========================
     DISCLAIMER
  ========================== */

  .mobile-market-disclaimer{
    margin:7px 3px 0;

    color:#60717b;

    font-size:.59rem;

    line-height:1.25;
  }

}
@media(max-width:560px){
  .mobile-market-number::after{
    content:"+";
    margin-left:2px;
    font-size:.55em;
    vertical-align:top;
    position:relative;
    top:2px;
  }
}
/* ========================================
   HERO + NICA MOBILE FINAL
======================================== */

@media (max-width: 560px) {

  html,
  body {
    overflow-x: hidden;
  }


  /* =====================================
     HERO : TEXTE A GAUCHE + VIDEO A DROITE
  ===================================== */

  .mobile-hero-content {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    width: 100%;
    margin: 0 0 10px;
}

.mobile-hero-media {
    grid-column: 1;
    grid-row: 1;
}

.mobile-hero-copy {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}


  .mobile-hero-copy h1 {
    margin: 0 0 7px;
    font-size: 24px;
    line-height: 1.02;
    letter-spacing: -.035em;
}

  .mobile-hero-copy .mobile-hero-text {
    margin: 0;
    font-size: 13px;
    line-height: 1.25;
    text-align: justify;
    text-align-last: left;
    hyphens: auto;
    -webkit-hyphens: auto;
  }

    .mobile-hero-media {
    width: 108px;
    max-width: 108px;
    height: 100%;
    min-height: 192px;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(7,42,54,.14);
  }

  .mobile-hero-media .mobile-hero-video {
    display: block;
    width: 108px !important;
    max-width: 108px !important;
    height: 100% !important;
    min-height: 192px;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    border-radius: 14px;
  }


  /* =====================================
     NICA
  ===================================== */

  .mobile-nica {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 24px 18px 26px;
    overflow: hidden;
    text-align: center;

    background: linear-gradient(
      145deg,
      #071d2b 0%,
      #0a2930 55%,
      #0c382f 100%
    );

    color: #fff;
  }


  /* IDENTITE NICA */

  .mobile-nica-identity {
    width: 100%;
    margin: 0 auto 12px;
  }

  .mobile-nica-badge {
    display: block;
    margin-bottom: 6px;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .18em;
    color: #80d8b5;
  }

  .mobile-nica-fullname {
    display: block;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .02em;
    color: rgba(255,255,255,.78);
  }

  .mobile-nica-fullname strong {
    font-size: 17px;
    font-weight: 900;
    color: #80d8b5;
  }


  /* TITRE NICA */

  .mobile-nica h2 {
    width: 100%;
    max-width: 340px;
    margin: 0 auto 9px;
    font-size: 23px;
    line-height: 1.12;
    color: #fff;
  }


  /* INTRO NICA */

  .mobile-nica-intro {
    width: 100%;
    max-width: 330px;
    margin: 0 auto 14px;
    font-size: 13px;
    line-height: 1.4;
    color: rgba(255,255,255,.82);
  }


  /* VIDEO NICA */

  .mobile-nica-video {
    width: 145px !important;
    max-width: 145px !important;
    margin: 0 auto 14px !important;
    overflow: hidden;
    border-radius: 14px;
  }

  .mobile-nica-video video {
    display: block;
    width: 145px !important;
    max-width: 145px !important;
    height: 258px !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-radius: 14px;
  }


  /* PETITS BADGES NICA */

  .mobile-nica-features {
    width: 100%;
    max-width: 340px;
    margin: 0 auto 14px;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
  }

  .mobile-nica-features span {
    padding: 5px 7px;

    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;

    background: rgba(255,255,255,.07);

    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
  }


  /* BOUTON NICA */

  .mobile-nica-cta {
    display: block;
    width: 100%;
    max-width: 330px;
    margin: 0 auto;
    font-size: 13px;
  }

}
@media (max-width: 410px) {
    .mobile-hero-copy h1 {
        font-size: 23px;
    }
}
@media (max-width: 560px) {

  .mobile-hero-media {
    position: relative;
  }

  .mobile-hero-replay {
    display: none;
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);

    padding: 6px 11px;

    border: 1px solid rgba(255,255,255,.65);
    border-radius: 999px;

    background: rgba(7,29,39,.82);
    color: #fff;

    font-size: 11px;
    font-weight: 800;
    line-height: 1;

    white-space: nowrap;
    cursor: pointer;
    z-index: 2;
  }

  .mobile-hero-replay.is-visible {
    display: block;
  }

}
/* ========================================
   HEADER MOBILE - AJUSTEMENT FINAL
======================================== */

@media (max-width:560px){
   .mobile-brand-slot{
    flex:0 0 100px;
    width:100px;
    height:58px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .mobile-brand-slot .brand{
    width:82px;
    height:58px;
    transition:
      opacity .18s ease,
      transform .18s ease;
  }

  .mobile-scroll-cta{
    display:flex;
    position:absolute;
    left:0;
    top:50%;

    width:100px;
    height:42px;
    padding:0 7px;

    align-items:center;
    justify-content:center;

    background:var(--green);
    color:#fff;

    border-radius:9px;

    text-align:center;
    text-decoration:none;

    font-size:10px;
    line-height:1.08;
    font-weight:900;

    opacity:0;
    visibility:hidden;
    transform:translateY(-50%) scale(.94);

    transition:
      opacity .18s ease,
      transform .18s ease,
      visibility .18s ease;
  }

  .nav.is-scrolled .mobile-brand-slot .brand{
    opacity:0;
    visibility:hidden;
    transform:scale(.92);
  }

  .nav.is-scrolled .mobile-scroll-cta{
    opacity:1;
    visibility:visible;
    transform:translateY(-50%) scale(1);
  }
    .nav{
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    z-index:1000;
  }

  body{
    padding-top:72px;
  }

    .brand{
    width:82px;
    height:58px;
    overflow:visible;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .brand img{
    width:100px !important;
    max-width:none;
    height:auto;
  }

  .mobile-nav-promise{
    font-size:13px !important;
    line-height:1.08;
    font-weight:900;
  }

}
/* ========================================
   NICA MOBILE - IDENTITE + ANIMATION
======================================== */

@media (max-width:560px){

  /* IDENTITE NICA */

  .mobile-nica-badge{
    font-size:32px;
    line-height:1;
    font-weight:900;
    letter-spacing:.16em;
  }

  .mobile-nica-fullname{
    margin-top:10px;
    font-size:14px;
    line-height:1.2;
  }

  .mobile-nica h2{
    margin-top:16px;
  }


  /* ANIMATION NICA */

  .mobile-nica .mobile-nica-video{
    width:190px !important;
    max-width:190px !important;
    margin:14px auto 18px !important;
  }

  .mobile-nica .mobile-nica-video video{
    display:block;
    width:190px !important;
    max-width:190px !important;
    height:auto !important;
    margin:0 auto !important;
  }


    /* PARCOURS NICA */

  .mobile-nica-features{
    display:grid;

    grid-template-columns:
      max-content 18px max-content;

    grid-template-rows:
      auto 14px auto;

    justify-content:center;
    align-items:center;

    column-gap:4px;
    row-gap:5px;

    width:100%;
    max-width:340px;

    margin:0 auto 16px;
  }


  /* CAPSULES */

  .mobile-nica-features .nica-step{
  margin:0;
  white-space:nowrap;

  padding:7px 9px;

  font-size:12px;
  line-height:1.15;
  font-weight:800;

  border-radius:999px;
}

  .nica-criteria{
    grid-column:1;
    grid-row:1;
  }

  .nica-analysis{
    grid-column:3;
    grid-row:1;
  }

  .nica-opportunities{
    grid-column:1 / 4;
    grid-row:3;
    justify-self:center;
  }


  /* FLECHES */

  .mobile-nica-features .nica-arrow{
    margin:0;
    padding:0;
    border:0;
    background:none;

    color:#80d8b5;

    font-size:13px;
    line-height:1;
    font-weight:900;

    display:flex;
    align-items:center;
    justify-content:center;
  }

  .nica-arrow-right{
    grid-column:2;
    grid-row:1;
    justify-self:center;
  }

  .nica-arrow-down{
    grid-column:1 / 4;
    grid-row:2;
    justify-self:center;
    align-self:center;
  }

}

/* ========================================
   NICA - PARCOURS CLIENT MOBILE FR
======================================== */

body.nica-journey-open{
  overflow:hidden;
  overscroll-behavior:none;
}

.nica-journey[hidden]{
  display:none !important;
}

.nica-journey{
  position:fixed;
  inset:0;
  z-index:5000;
  overflow:auto;
  overscroll-behavior:contain;
  background:#eef5f3;
  color:var(--ink);
}

.nica-journey-shell{
  width:100%;
  max-width:560px;
  min-height:100vh;
  min-height:100dvh;
  margin:0 auto;
  background:#fff;
  box-shadow:0 0 45px rgba(4,54,79,.16);
}

.nica-journey-header{
  position:sticky;
  top:0;
  z-index:4;
  min-height:68px;
  padding:12px max(16px, env(safe-area-inset-right)) 11px max(16px, env(safe-area-inset-left));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:#fff;
  background:linear-gradient(135deg,#071d2b,#0a4a43);
  border-bottom:1px solid rgba(255,255,255,.10);
}

.nica-journey-brand{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.nica-journey-brand strong{
  color:#80d8b5;
  font-size:20px;
  line-height:1;
  letter-spacing:.15em;
}

.nica-journey-brand span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.78);
  font-size:10px;
  line-height:1.2;
  font-weight:700;
}

.nica-journey-close{
  flex:0 0 auto;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font:inherit;
  font-size:17px;
  cursor:pointer;
}

.nica-journey-progress{
  position:sticky;
  top:68px;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:4px;
  padding:9px 12px 10px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}

.nica-journey-progress span{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:#7b8991;
  font-size:10px;
  line-height:1;
  font-weight:800;
}

.nica-journey-progress b{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:#edf2f1;
  color:#708087;
  font-size:10px;
}

.nica-journey-progress span.is-active{
  color:var(--green);
}

.nica-journey-progress span.is-active b,
.nica-journey-progress span.is-done b{
  background:var(--green);
  color:#fff;
}

.nica-journey-progress span.is-done{
  color:var(--navy-dark);
}

.nica-journey-form{
  width:100%;
}

.nica-journey-screen{
  width:100%;
  max-width:520px;
  margin:0 auto;
  padding:26px 18px calc(30px + env(safe-area-inset-bottom));
}

.nica-journey-screen[hidden]{
  display:none !important;
}

.nica-journey-kicker{
  margin:0 0 7px;
  color:var(--green);
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
}

.nica-journey-screen h2{
  margin:0 0 9px;
  color:var(--navy-dark);
  font-size:28px;
  line-height:1.04;
  letter-spacing:-.035em;
  outline:none;
}

.nica-journey-intro{
  margin:0 0 22px;
  color:var(--muted);
  font-size:14px;
  line-height:1.48;
}

.nica-journey-fieldset{
  min-width:0;
  margin:0 0 20px;
  padding:0;
  border:0;
}

.nica-journey-fieldset legend,
.nica-journey-field > span{
  display:block;
  margin:0 0 8px;
  color:var(--navy-dark);
  font-size:13px;
  line-height:1.25;
  font-weight:900;
}

.nica-vehicle-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.nica-choice-card{
  min-width:0;
  cursor:pointer;
}

.nica-choice-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.nica-choice-card span{
  min-height:58px;
  padding:10px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:var(--navy-dark);
  text-align:center;
  font-size:12px;
  line-height:1.15;
  font-weight:850;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}

.nica-choice-card span b{
  font-size:19px;
  line-height:1;
}

.nica-choice-card input:checked + span{
  border-color:rgba(8,124,102,.55);
  background:#eaf7f3;
  box-shadow:0 7px 18px rgba(8,124,102,.11);
  transform:translateY(-1px);
}

.nica-choice-card input:focus-visible + span{
  outline:3px solid rgba(8,124,102,.20);
  outline-offset:2px;
}

.nica-journey-field{
  display:block;
  margin:0 0 20px;
}

.nica-journey-field input,
.nica-journey-field select{
  width:100%;
  min-height:48px;
  padding:11px 12px;
  border:1px solid #cad9d6;
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:14px;
}

.nica-journey-field input:focus,
.nica-journey-field select:focus{
  outline:3px solid rgba(8,124,102,.14);
  border-color:var(--green);
}

.nica-journey-field small{
  display:block;
  margin-top:6px;
  color:#718088;
  font-size:11px;
  line-height:1.35;
}

.nica-money-input{
  position:relative;
}

.nica-money-input > span{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  color:var(--green);
  font-size:13px;
  font-weight:900;
  pointer-events:none;
}

.nica-money-input input{
  padding-left:48px;
}

.nica-journey-fields-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}

.nica-segment-fieldset{
  margin-bottom:18px;
}

.nica-segmented{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}

.nica-segmented label{
  min-width:0;
  cursor:pointer;
}

.nica-segmented input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.nica-segmented span{
  min-height:42px;
  padding:8px 5px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:#53636d;
  text-align:center;
  font-size:11px;
  line-height:1.15;
  font-weight:800;
}

.nica-segmented input:checked + span{
  border-color:var(--green);
  background:#eaf7f3;
  color:var(--green);
}

.nica-segmented input:focus-visible + span{
  outline:3px solid rgba(8,124,102,.18);
  outline-offset:2px;
}

.nica-journey-actions{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:8px;
  margin-top:24px;
}

.nica-journey-actions-single{
  grid-template-columns:1fr;
}

.nica-journey-actions .btn{
  width:100%;
  min-height:48px;
  padding:11px 10px;
  border-radius:11px;
  font-size:12px;
  line-height:1.15;
}

.nica-btn-ghost{
  background:#fff;
  color:var(--navy-dark);
  border:1px solid var(--line);
  box-shadow:none;
}

.nica-analysis-screen{
  min-height:calc(100dvh - 116px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.nica-analysis-screen[hidden]{
  display:none !important;
}

.nica-analysis-orbit{
  position:relative;
  width:112px;
  height:112px;
  margin-bottom:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#071d2b,#0c493e);
  box-shadow:0 16px 34px rgba(4,54,79,.18);
}

.nica-analysis-orbit::before,
.nica-analysis-orbit::after{
  content:"";
  position:absolute;
  inset:-8px;
  border:2px solid rgba(8,124,102,.18);
  border-top-color:#28ad8c;
  border-radius:50%;
  animation:nicaOrbit 1.15s linear infinite;
}

.nica-analysis-orbit::after{
  inset:-17px;
  border-color:rgba(6,74,106,.12);
  border-bottom-color:#6bc9ae;
  animation-duration:1.7s;
  animation-direction:reverse;
}

.nica-analysis-orbit > span{
  position:absolute;
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(128,216,181,.09);
}

.nica-analysis-orbit strong{
  position:relative;
  z-index:1;
  color:#80d8b5;
  font-size:20px;
  letter-spacing:.13em;
}

@keyframes nicaOrbit{
  to{transform:rotate(360deg)}
}

.nica-analysis-sources{
  width:100%;
  max-width:350px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:5px;
}

.nica-analysis-sources span{
  padding:8px 7px;
  border-radius:999px;
  background:#f1f7f5;
  color:#566970;
  font-size:10px;
  line-height:1.15;
  font-weight:750;
}

.nica-result-screen{
  text-align:center;
}

.nica-result-number{
  margin:8px 0 0;
  color:var(--green);
  font-size:64px;
  line-height:.9;
  font-weight:950;
  letter-spacing:-.055em;
}

.nica-result-label{
  max-width:330px;
  margin:9px auto 0;
  color:var(--navy-dark);
  font-size:15px;
  line-height:1.3;
  font-weight:850;
}

.nica-result-market{
  margin:12px auto 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

.nica-result-summary{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  margin:17px 0 0;
}

.nica-result-summary span{
  padding:7px 9px;
  border:1px solid rgba(8,124,102,.13);
  border-radius:999px;
  background:#f2f8f6;
  color:#35505a;
  font-size:10px;
  line-height:1.1;
  font-weight:800;
}

.nica-result-transition{
  margin-top:20px;
  padding:16px;
  border-radius:15px;
  background:linear-gradient(145deg,#071d2b,#0a4039);
  color:#fff;
  text-align:left;
}

.nica-result-transition strong{
  display:block;
  color:#80d8b5;
  font-size:15px;
  line-height:1.25;
}

.nica-result-transition p{
  margin:7px 0 0;
  color:rgba(255,255,255,.86);
  font-size:12px;
  line-height:1.45;
}

.nica-result-note{
  margin:12px 2px 0;
  color:#77858c;
  font-size:10px;
  line-height:1.4;
}

.nica-result-actions{
  margin-top:18px;
}

.nica-result-error{
  margin-top:28px;
  padding:18px;
  border:1px solid #eadab2;
  border-radius:15px;
  background:#fffaf0;
}

.nica-result-error[hidden]{
  display:none !important;
}

.nica-result-error h2{
  font-size:22px;
}

.nica-result-error p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

@media (min-width:430px) and (max-width:560px){
  .nica-journey-screen{
    padding-left:24px;
    padding-right:24px;
  }

  .nica-journey-fields-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .nica-journey-fields-grid .nica-journey-field{
    margin-bottom:20px;
  }
}

@media (max-width:359px){
  .nica-journey-progress{
    padding-left:7px;
    padding-right:7px;
    gap:2px;
  }

  .nica-journey-progress span{
    gap:2px;
    font-size:9px;
  }

  .nica-journey-progress b{
    width:18px;
    height:18px;
    font-size:9px;
  }

  .nica-journey-screen{
    padding-left:14px;
    padding-right:14px;
  }

  .nica-journey-screen h2{
    font-size:25px;
  }

  .nica-choice-card span{
    padding-left:5px;
    padding-right:5px;
    font-size:11px;
  }

  .nica-segmented span{
    font-size:10px;
  }

  .nica-journey-actions{
    grid-template-columns:1fr;
  }

  .nica-result-number{
    font-size:56px;
  }
}

@media (prefers-reduced-motion:reduce){
  .nica-analysis-orbit::before,
  .nica-analysis-orbit::after{
    animation:none;
  }
}



/* ========================================
   NICA UX POLISH - 2026-09-23
   Branding, robot compagnon, progression,
   animations et teaser tarifaire
======================================== */

.nica-journey-header{
  min-height:68px;
  padding:10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));
  background:
    radial-gradient(circle at 82% 22%, rgba(27,168,137,.15), transparent 24%),
    linear-gradient(135deg,#031826,#0a4a43);
}

.nica-journey-brand{
  min-width:0;
  display:flex;
  align-items:flex-end;
}

.nica-journey-header-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
}

.nica-brand-bot{
  flex:0 0 auto;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
  animation:nicaBotFloat 2.8s ease-in-out infinite;
}

.nica-brand-bot svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:#91f0cf;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.nica-brand-bot .bot-eye{
  fill:#d8fff2;
  stroke:none;
  animation:nicaBotBlink 4.5s infinite;
  transform-origin:center;
}

.nica-brand-bot .bot-mouth{stroke:#d8fff2}
.nica-brand-bot .bot-antenna,
.nica-brand-bot .bot-antenna-dot{stroke:#6fe0ba}
.nica-brand-bot .bot-antenna-dot{fill:#6fe0ba}

.nica-brand-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.nica-journey-brand strong{
  color:#8ee9c8;
  font-size:20px;
  line-height:.95;
  letter-spacing:.14em;
  font-weight:950;
}

.nica-journey-brand span{
  color:rgba(255,255,255,.92);
  font-size:10px;
  line-height:1.12;
  font-weight:800;
}

.nica-brand-fullname b{
  color:#8ee9c8;
  font-weight:950;
}

@keyframes nicaBotFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}

@keyframes nicaBotBlink{
  0%,45%,55%,100%{transform:scaleY(1)}
  50%{transform:scaleY(.18)}
}

.nica-journey-progress{
  top:68px;
  gap:6px;
  padding:11px 12px 12px;
}

.nica-journey-progress span{
  gap:6px;
  font-size:11px;
  font-weight:900;
}

.nica-journey-progress b{
  width:24px;
  height:24px;
  font-size:11px;
}

.nica-journey{
  opacity:1;
}

.nica-journey.is-opening{
  animation:nicaJourneyFadeIn .24s ease both;
}

.nica-journey-shell{
  transform-origin:center top;
}

.nica-journey-shell.is-opening{
  animation:nicaJourneyShellIn .30s cubic-bezier(.2,.8,.2,1) both;
}

.nica-journey-screen.is-entering{
  animation:nicaStepIn .34s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes nicaJourneyFadeIn{
  from{opacity:0}
  to{opacity:1}
}

@keyframes nicaJourneyShellIn{
  from{
    opacity:0;
    transform:translateY(14px) scale(.99);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes nicaStepIn{
  from{
    opacity:0;
    transform:translateY(14px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.nica-result-market strong{
  color:var(--green);
  font-weight:950;
}

.nica-pricing-teaser{
  display:block;
  margin-top:18px;
  padding:16px;
  border:1px solid rgba(8,124,102,.12);
  border-radius:15px;
  background:linear-gradient(135deg,#f7fbfa,#ffffff);
  text-align:left;
}

.nica-pricing-teaser h3{
  margin:0 0 12px;
  color:var(--navy-dark);
  font-size:15px;
  line-height:1.25;
}

.nica-pricing-mini-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.nica-pricing-mini-card{
  display:block;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.nica-pricing-mini-card strong{
  display:block;
  color:var(--navy-dark);
  font-size:13px;
  line-height:1.2;
}

.nica-pricing-mini-card span{
  display:block;
  margin-top:3px;
  color:var(--green);
  font-size:12px;
  font-weight:900;
}

.nica-pricing-teaser + .nica-result-note{
  margin-top:12px;
}

.nica-pricing-mini-card p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.nica-pricing-mini-note{
  margin:10px 0 0;
  color:#748289;
  font-size:10px;
  line-height:1.45;
}

@media(max-width:359px){
  .nica-journey-header{min-height:64px}
  .nica-journey-progress{
    top:64px;
    padding-left:7px;
    padding-right:7px;
    gap:3px;
  }
  .nica-journey-progress span{
    gap:3px;
    font-size:9px;
  }
  .nica-journey-progress b{
    width:20px;
    height:20px;
    font-size:9px;
  }
  .nica-journey-brand strong{font-size:18px}
  .nica-journey-brand span{font-size:8px}
  .nica-brand-bot{
    width:32px;
    height:32px;
  }
  .nica-brand-bot svg{
    width:18px;
    height:18px;
  }
}

@media(prefers-reduced-motion:reduce){
  .nica-brand-bot,
  .nica-brand-bot .bot-eye,
  .nica-journey.is-opening,
  .nica-journey-shell.is-opening,
  .nica-journey-screen.is-entering{
    animation:none !important;
  }
}

/* ========================================
   RESPONSIVE SAFETY PATCH - 2026-09-23 V4
   Téléphones 320-560px + sécurité tablette
======================================== */

@media (max-width:560px){

  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
  }

  body{
    padding-top:68px;
  }

  main,
  .mobile-hero,
  .mobile-flow,
  .mobile-section,
  .mobile-nica,
  #faq,
  #contact{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .container{
    width:calc(100% - 24px);
    max-width:100%;
  }

  /* HEADER MOBILE STABLE */

  .nav{
    width:100%;
    max-width:100vw;
    transform:translateZ(0);
    will-change:transform;
  }

  .nav .container{
    width:calc(100% - 20px);
  }

  .nav-inner{
    min-width:0;
    height:68px;
    display:grid;
    grid-template-columns:88px minmax(0,1fr) 38px 34px;
    align-items:center;
    justify-content:initial;
    gap:5px;
  }

  .mobile-brand-slot{
    width:88px;
    height:54px;
    min-width:0;
    flex:none;
  }

  .mobile-brand-slot .brand{
    width:78px;
    height:54px;
  }

  .brand img{
    width:92px !important;
    max-width:92px !important;
  }

  .mobile-scroll-cta{
    width:88px;
    height:42px;
    padding:0 6px;
    font-size:9.5px;
    line-height:1.08;
    pointer-events:none;
    visibility:visible;
  }

  .nav.is-scrolled .mobile-scroll-cta{
    pointer-events:auto;
  }

  .mobile-nav-promise{
    min-width:0;
    max-width:100%;
    overflow:hidden;
    font-size:clamp(10px,3.15vw,13px) !important;
    line-height:1.08;
    text-wrap:balance;
  }

  .lang-dropdown{
    width:38px;
    min-width:38px;
  }

  .lang-current{
    width:38px;
    min-width:38px;
    height:34px;
    padding:0 4px;
  }

  .mobile-toggle{
    width:34px;
    height:34px;
    min-width:34px;
    padding:0;
  }

  /* HERO : largeur fluide */

  .mobile-hero{
    overflow:hidden;
  }

  .mobile-hero .container{
    width:calc(100% - 24px);
  }

  .mobile-hero-content{
    width:100%;
    max-width:100%;
    min-width:0;
    grid-template-columns:clamp(92px,29vw,108px) minmax(0,1fr);
    gap:10px;
  }

  .mobile-hero-media{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .mobile-hero-media .mobile-hero-video{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .mobile-hero-copy{
    min-width:0;
    max-width:100%;
    overflow:hidden;
  }

  .mobile-hero-copy h1{
    width:100%;
    max-width:100%;
    font-size:clamp(20px,6.2vw,24px);
    overflow-wrap:anywhere;
  }

  .mobile-hero-copy .mobile-hero-text{
    width:100%;
    max-width:100%;
    font-size:clamp(11.5px,3.3vw,13px);
    overflow-wrap:anywhere;
  }

  .mobile-market-card,
  .mobile-market-main,
  .mobile-market-content{
    min-width:0;
    max-width:100%;
  }

  .mobile-market-number,
  .mobile-market-label,
  .mobile-market-kicker{
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .mobile-hero-actions{
    width:100%;
    max-width:100%;
    grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);
  }

  .mobile-hero-actions .btn{
    min-width:0;
    white-space:normal;
    text-align:center;
  }

  /* NICA HOMEPAGE : plus aucun débordement */

  .mobile-nica{
    box-sizing:border-box;
    padding-left:clamp(14px,4.8vw,18px);
    padding-right:clamp(14px,4.8vw,18px);
  }

  .mobile-nica-identity,
  .mobile-nica h2,
  .mobile-nica-intro,
  .mobile-nica-video,
  .mobile-nica-features,
  .mobile-nica-cta{
    max-width:100% !important;
    min-width:0;
  }

  .mobile-nica-badge{
    font-size:clamp(26px,8.5vw,32px);
  }

  .mobile-nica-fullname{
    font-size:clamp(11px,3.5vw,14px);
    overflow-wrap:anywhere;
  }

  .mobile-nica h2{
    width:100%;
    font-size:clamp(20px,6.1vw,23px);
    overflow-wrap:anywhere;
    text-wrap:balance;
  }

  .mobile-nica-intro{
    width:100%;
    font-size:clamp(11.5px,3.4vw,13px);
    overflow-wrap:anywhere;
  }

  .mobile-nica-features{
    width:100%;
    grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);
    column-gap:5px;
  }

  .mobile-nica-features .nica-step{
    min-width:0;
    max-width:100%;
    white-space:normal;
    padding:7px 7px;
    font-size:clamp(9.5px,2.95vw,12px);
    text-align:center;
    overflow-wrap:anywhere;
  }

  .mobile-nica-cta{
    width:100%;
    white-space:normal;
  }

  /* CONTENU MOBILE */

  .mobile-section{
    overflow:hidden;
    box-sizing:border-box;
    padding-left:clamp(14px,4.8vw,18px);
    padding-right:clamp(14px,4.8vw,18px);
  }

  .mobile-section h2,
  #faq h2,
  #contact h2{
    max-width:100%;
    overflow-wrap:anywhere;
    text-wrap:balance;
  }

  .mobile-service-row,
  .mobile-step,
  .mobile-case-details > div,
  .mobile-testimonial,
  .mobile-pricing-card,
  .mobile-pricing-highlight,
  .mobile-alacarte > div{
    min-width:0;
    max-width:100%;
  }

  .mobile-service-row > div,
  .mobile-step > div,
  .mobile-pricing-card > div{
    min-width:0;
  }

  .mobile-service-row p,
  .mobile-step p,
  .mobile-case-details p,
  .mobile-testimonial p,
  .mobile-pricing-card p,
  .mobile-pricing-highlight p{
    overflow-wrap:anywhere;
  }

  /* SOURCES DU MARCHE : 2x2 sur petits écrans */

  .mobile-market-sources{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:6px;
  }

  .mobile-market-sources span{
    min-width:0;
    white-space:normal;
    text-align:center;
    font-size:clamp(.50rem,2.5vw,.58rem);
  }

  /* DIALOGUE NICA */

  .nica-journey{
    width:100vw;
    max-width:100%;
    overflow-x:hidden !important;
  }

  .nica-journey-shell{
    width:100%;
    max-width:560px;
    min-width:0;
    overflow-x:hidden;
  }

  .nica-journey-header{
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:68px;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:9px 12px;
  }

  .nica-journey-brand,
  .nica-brand-copy{
    min-width:0;
    max-width:100%;
  }

  .nica-journey-brand strong{
    font-size:clamp(18px,5.3vw,20px);
  }

  .nica-journey-brand span{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:clamp(8px,2.5vw,10px);
  }

  .nica-journey-header-actions{
    display:flex;
    align-items:center;
    gap:7px;
  }

  .nica-brand-bot{
    width:32px;
    height:32px;
  }

  .nica-brand-bot svg{
    width:19px;
    height:19px;
  }

  .nica-journey-close{
    width:34px;
    height:34px;
    min-width:34px;
  }

  .nica-journey-progress{
    top:68px;
    width:100%;
    max-width:100%;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:2px;
    padding:9px 6px 10px;
    overflow:hidden;
  }

  .nica-journey-progress span{
    min-width:0;
    gap:3px;
    font-size:clamp(8px,2.3vw,10.5px);
  }

  .nica-journey-progress b{
    width:22px;
    height:22px;
    min-width:22px;
    font-size:10px;
  }

  .nica-journey-progress small{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .nica-journey-screen{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:24px clamp(14px,4.8vw,20px) calc(28px + env(safe-area-inset-bottom));
    overflow-x:hidden;
  }

  .nica-journey-screen h2,
  .nica-journey-intro,
  .nica-journey-field,
  .nica-journey-fieldset,
  .nica-vehicle-grid,
  .nica-segmented,
  .nica-journey-actions,
  .nica-result-summary,
  .nica-result-transition,
  .nica-pricing-teaser,
  .nica-pricing-mini-card{
    max-width:100%;
    min-width:0;
  }

  .nica-journey-screen h2{
    font-size:clamp(24px,7.5vw,28px);
    overflow-wrap:anywhere;
    text-wrap:balance;
  }

  .nica-journey-intro,
  .nica-result-market,
  .nica-result-label,
  .nica-result-note,
  .nica-pricing-mini-note{
    overflow-wrap:anywhere;
  }

  .nica-choice-card span,
  .nica-segmented span,
  .nica-journey-actions .btn{
    min-width:0;
    white-space:normal;
  }

  .nica-money-input,
  .nica-money-input input,
  .nica-journey-field input,
  .nica-journey-field select{
    min-width:0;
    max-width:100%;
  }

  .nica-result-number{
    font-size:clamp(54px,18vw,64px);
  }

  /* Animation plus visible entre étapes */

  .nica-journey-screen.is-entering-forward{
    animation:nicaStepForward .34s cubic-bezier(.2,.8,.2,1) both;
  }

  .nica-journey-screen.is-entering-back{
    animation:nicaStepBack .34s cubic-bezier(.2,.8,.2,1) both;
  }

  @keyframes nicaStepForward{
    from{
      opacity:0;
      transform:translateX(18px);
    }
    to{
      opacity:1;
      transform:translateX(0);
    }
  }

  @keyframes nicaStepBack{
    from{
      opacity:0;
      transform:translateX(-18px);
    }
    to{
      opacity:1;
      transform:translateX(0);
    }
  }
}

@media (max-width:430px){
  .mobile-market-sources{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:431px) and (max-width:560px){
  .mobile-market-sources{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .mobile-market-sources span{
    white-space:nowrap;
    font-size:.50rem;
  }
}

@media (max-width:359px){

  body{
    padding-top:64px;
  }

  .nav-inner{
    height:64px;
    grid-template-columns:82px minmax(0,1fr) 36px 32px;
    gap:4px;
  }

  .mobile-brand-slot{
    width:82px;
    height:50px;
  }

  .mobile-brand-slot .brand{
    width:74px;
    height:50px;
  }

  .brand img{
    width:86px !important;
    max-width:86px !important;
  }

  .mobile-scroll-cta{
    width:82px;
    height:40px;
    font-size:9px;
  }

  .lang-dropdown,
  .lang-current{
    width:36px;
    min-width:36px;
  }

  .mobile-toggle{
    width:32px;
    min-width:32px;
    height:32px;
  }

  .mobile-hero-content{
    grid-template-columns:90px minmax(0,1fr);
    gap:8px;
  }

  .mobile-hero-media{
    min-height:170px;
  }

  .mobile-hero-media .mobile-hero-video{
    min-height:170px;
  }

  .mobile-hero-copy h1{
    font-size:20px;
  }

  .mobile-hero-copy .mobile-hero-text{
    font-size:11.5px;
    line-height:1.28;
  }

  .mobile-hero-actions{
    grid-template-columns:1.2fr .8fr;
  }

  .mobile-hero-actions .btn{
    font-size:.70rem;
  }

  .mobile-nica-features{
    grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);
  }

  .mobile-nica-features .nica-step{
    font-size:9.5px;
    padding:6px 5px;
  }

  .nica-journey-header{
    min-height:64px;
    padding-left:10px;
    padding-right:10px;
  }

  .nica-journey-progress{
    top:64px;
    padding-top:7px;
    padding-bottom:8px;
  }

  .nica-journey-progress span{
    flex-direction:column;
    gap:2px;
    font-size:8px;
  }

  .nica-journey-progress b{
    width:21px;
    height:21px;
    min-width:21px;
  }

  .nica-journey-actions{
    grid-template-columns:1fr;
  }
}

/* Tablettes : éviter les débordements, garder le desktop compact */
@media (min-width:561px) and (max-width:850px){

  html,
  body{
    overflow-x:hidden;
  }

  .container{
    width:min(760px,calc(100% - 32px));
  }

  .nav-inner{
    min-width:0;
    gap:12px;
  }

  .brand img{
    max-width:82px;
  }

  .lang-dropdown{
    position:relative;
    display:block;
  }

  .lang-current{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    height:38px;
    padding:0 8px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:var(--navy-dark);
    font:inherit;
    font-size:.75rem;
    font-weight:800;
    cursor:pointer;
  }

  .lang-menu{
    display:none;
    position:absolute;
    top:calc(100% + 6px);
    right:0;
    min-width:58px;
    padding:5px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:9px;
    box-shadow:var(--shadow);
    z-index:1100;
  }

  .lang-dropdown.is-open .lang-menu{
    display:block;
  }

  .lang-menu a{
    display:block;
    padding:7px 8px;
    border:0;
    text-align:center;
    text-decoration:none;
  }

  .hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .hero-card{
    width:100%;
    max-width:640px;
    margin:0 auto;
  }

  .hero-media{
    min-height:0;
  }

  .hero h1{
    font-size:clamp(2.5rem,7vw,4rem);
  }

  .case-details,
  .pricing-grid{
    grid-template-columns:1fr;
  }

  .testimonials-grid{
    grid-template-columns:1fr;
  }
}

/* ========================================
   NICA V5 - FINITIONS UI
   Header fixe, branding gauche, robot + grand,
   capsule analyse harmonisee, transitions visibles
======================================== */

@media (max-width:560px){

  /* Capsule "Analyse du marche en temps reel" :
     volontairement plus discrete que les autres */
  .mobile-nica-features .nica-analysis{
    font-size:clamp(8.4px,2.25vw,9.6px) !important;
    line-height:1.16 !important;
    padding:6px 7px !important;
    letter-spacing:-.01em;
  }

  /* Le dialogue garde son propre scroll ; header + progression restent epingles */
  .nica-journey{
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  .nica-journey-header{
    position:sticky !important;
    top:0 !important;
    z-index:60 !important;
    min-height:68px !important;
    height:68px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px 12px !important;
  }

  /* Brand vraiment aligne a gauche */
  .nica-journey-brand{
    display:block !important;
    min-width:0 !important;
    width:100% !important;
    text-align:left !important;
  }

  .nica-brand-copy{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
    width:100% !important;
    gap:2px !important;
    text-align:left !important;
  }

  .nica-journey-brand strong{
    display:block !important;
    margin:0 !important;
    color:#8ee9c8 !important;
    font-size:20px !important;
    line-height:.95 !important;
    letter-spacing:.14em !important;
    text-align:left !important;
  }

  .nica-journey-brand span{
    display:block !important;
    margin:0 !important;
    max-width:100% !important;
    color:rgba(255,255,255,.94) !important;
    font-size:9.5px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-align:left !important;
  }

  .nica-brand-fullname b{
    color:#8ee9c8 !important;
  }

  /* Robot plus present sans augmenter le header */
  .nica-journey-header-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
  }

  .nica-brand-bot{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    flex:0 0 42px !important;
  }

  .nica-brand-bot svg{
    width:27px !important;
    height:27px !important;
  }

  .nica-journey-close{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
  }

  /* Barre d'etapes toujours juste sous le header */
  .nica-journey-progress{
    position:sticky !important;
    top:68px !important;
    z-index:55 !important;
  }

  /* Transitions volontairement plus visibles */
  .nica-journey-screen.is-entering-forward{
    animation:nicaStepForwardV5 .46s cubic-bezier(.22,.75,.18,1) both !important;
    will-change:transform,opacity;
  }

  .nica-journey-screen.is-entering-back{
    animation:nicaStepBackV5 .46s cubic-bezier(.22,.75,.18,1) both !important;
    will-change:transform,opacity;
  }

  @keyframes nicaStepForwardV5{
    0%{
      opacity:0;
      transform:translateX(28px) scale(.992);
    }
    100%{
      opacity:1;
      transform:translateX(0) scale(1);
    }
  }

  @keyframes nicaStepBackV5{
    0%{
      opacity:0;
      transform:translateX(-28px) scale(.992);
    }
    100%{
      opacity:1;
      transform:translateX(0) scale(1);
    }
  }
}

@media (max-width:359px){
  .nica-journey-header{
    min-height:64px !important;
    height:64px !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .nica-journey-brand strong{
    font-size:18px !important;
  }

  .nica-journey-brand span{
    font-size:8px !important;
  }

  .nica-brand-bot{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    flex-basis:38px !important;
  }

  .nica-brand-bot svg{
    width:24px !important;
    height:24px !important;
  }

  .nica-journey-progress{
    top:64px !important;
  }

  .mobile-nica-features .nica-analysis{
    font-size:8.2px !important;
    padding-left:5px !important;
    padding-right:5px !important;
  }
}

/* ========================================
   NICA V6 - FIX iOS / IG + HEADER FIXE
   2026-09-23
======================================== */

@media (max-width:560px){

  /* Capsule du mini parcours NICA : texte plus court, taille harmonisee */
  .mobile-nica-features .nica-analysis{
    font-size:12px !important;
    line-height:1.15 !important;
    padding:7px 9px !important;
    letter-spacing:0 !important;
  }

  /* Dimensions fixes du chrome NICA */
  .nica-journey{
    --nica-header-h:68px;
    --nica-progress-h:56px;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
  }

  /* Header fixe dans toutes les etapes, y compris Safari/Instagram iOS */
  .nica-journey-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:560px !important;
    height:var(--nica-header-h) !important;
    min-height:var(--nica-header-h) !important;
    margin:0 auto !important;
    z-index:5100 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px 12px !important;
  }

  .nica-journey-brand{
    min-width:0 !important;
    width:100% !important;
    display:block !important;
    text-align:left !important;
  }

  .nica-brand-copy{
    min-width:0 !important;
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:2px !important;
    text-align:left !important;
  }

  .nica-journey-brand strong{
    display:block !important;
    margin:0 !important;
    text-align:left !important;
  }

  .nica-journey-brand span{
    display:block !important;
    margin:0 !important;
    max-width:100% !important;
    text-align:left !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .nica-journey-header-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
  }

  /* Robot plus visible sans augmenter la hauteur du header */
  .nica-brand-bot{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    flex:0 0 44px !important;
  }

  .nica-brand-bot svg{
    width:29px !important;
    height:29px !important;
  }

  /* Progression fixe juste sous le header */
  .nica-journey-progress{
    position:fixed !important;
    top:var(--nica-header-h) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:560px !important;
    height:var(--nica-progress-h) !important;
    margin:0 auto !important;
    z-index:5090 !important;
    padding:10px 12px !important;
    align-items:center !important;
  }

  /* Espace reserve aux deux barres fixes */
  .nica-journey-form{
    padding-top:calc(var(--nica-header-h) + var(--nica-progress-h)) !important;
  }

  /* Le shell ne doit plus etre transforme : sur iOS cela casse position:fixed */
  .nica-journey-shell,
  .nica-journey-shell.is-opening{
    transform:none !important;
  }

  .nica-journey-shell.is-opening{
    animation:nicaJourneyShellFadeV6 .58s ease both !important;
  }

  .nica-journey.is-opening{
    animation:nicaJourneyFadeV6 .58s ease both !important;
  }

  /* Transitions d'etapes volontairement perceptibles mais pas lentes */
  .nica-journey-screen.is-entering-forward{
    animation:nicaStepForwardV6 .56s cubic-bezier(.2,.72,.18,1) both !important;
  }

  .nica-journey-screen.is-entering-back{
    animation:nicaStepBackV6 .56s cubic-bezier(.2,.72,.18,1) both !important;
  }

  @keyframes nicaJourneyFadeV6{
    from{opacity:.15}
    to{opacity:1}
  }

  @keyframes nicaJourneyShellFadeV6{
    from{opacity:.35}
    to{opacity:1}
  }

  @keyframes nicaStepForwardV6{
    0%{opacity:.18;transform:translateX(38px)}
    100%{opacity:1;transform:translateX(0)}
  }

  @keyframes nicaStepBackV6{
    0%{opacity:.18;transform:translateX(-38px)}
    100%{opacity:1;transform:translateX(0)}
  }

  /* IMPORTANT iOS : 16px empeche Safari/Instagram de zoomer le viewport au focus */
  .nica-journey-field input,
  .nica-journey-field select,
  .nica-money-input input{
    font-size:16px !important;
  }

  .nica-journey input,
  .nica-journey select,
  .nica-journey textarea{
    max-width:100% !important;
  }
}

@media (max-width:359px){
  .nica-journey{
    --nica-header-h:64px;
    --nica-progress-h:54px;
  }

  .nica-brand-bot{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    flex-basis:40px !important;
  }

  .nica-brand-bot svg{
    width:26px !important;
    height:26px !important;
  }

  .mobile-nica-features .nica-analysis{
    font-size:10.8px !important;
    padding-left:7px !important;
    padding-right:7px !important;
  }
}


/* ========================================
   NICA V7 - iOS KEYBOARD STABILITY
   2026-09-23
======================================== */

@media (max-width:560px){
  .nica-journey{
    scroll-padding-top:calc(var(--nica-header-h) + var(--nica-progress-h) + 18px) !important;
    scroll-padding-bottom:46vh !important;
  }

  .nica-journey-field input,
  .nica-journey-field select,
  .nica-money-input input,
  .nica-journey textarea{
    scroll-margin-top:calc(var(--nica-header-h) + var(--nica-progress-h) + 18px) !important;
    scroll-margin-bottom:46vh !important;
  }
}


/* ========================================
   SIN ESTRÉS V9 — NICA LANDING + RESULT VALUE
   2026-09-24
======================================== */

@media (max-width: 560px) {

  /* CTA principaux : légèrement plus lisibles sans agrandir les bulles */
  .mobile-hero-actions .btn{
    font-size:.82rem;
    font-weight:850;
    line-height:1.08;
  }

  .mobile-nica{
    padding-top:22px;
  }

  .mobile-nica-eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 10px;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(128,216,181,.10);
    border:1px solid rgba(128,216,181,.22);
    color:#9fe8ce;
    font-size:10px;
    line-height:1;
    font-weight:900;
    letter-spacing:.055em;
    text-transform:uppercase;
  }

  .mobile-nica-bot-large{
    position:relative;
    width:82px;
    height:82px;
    display:grid;
    place-items:center;
    margin:0 auto 8px;
    border-radius:50%;
    background:
      radial-gradient(circle at 50% 42%, rgba(128,216,181,.18), transparent 58%),
      rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.11);
    box-shadow:
      0 14px 34px rgba(0,0,0,.22),
      0 0 0 8px rgba(128,216,181,.025);
    animation:nicaLandingBotFloat 3s ease-in-out infinite;
  }

  .mobile-nica-bot-large::after{
    content:"";
    position:absolute;
    inset:8px;
    border-radius:50%;
    border:1px solid rgba(128,216,181,.08);
    animation:nicaLandingBotPulse 2.6s ease-in-out infinite;
  }

  .mobile-nica-bot-large svg{
    width:54px;
    height:54px;
    fill:none;
    stroke:#8ee9c8;
    stroke-width:2.35;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-nica-bot-large .bot-eye{
    fill:#e2fff5;
    stroke:none;
    transform-origin:center;
  }

  .mobile-nica-bot-large .bot-eye-right{
    animation:nicaLandingBotWink 4.8s infinite;
  }

  .mobile-nica-bot-large .bot-mouth{
    stroke:#e2fff5;
  }

  .mobile-nica-bot-large .bot-antenna,
  .mobile-nica-bot-large .bot-antenna-dot{
    stroke:#6fe0ba;
  }

  .mobile-nica-bot-large .bot-antenna-dot{
    fill:#6fe0ba;
  }

  .mobile-nica-identity{
    margin-bottom:10px;
  }

  .mobile-nica-badge{
    margin-bottom:4px;
    font-size:18px;
    letter-spacing:.20em;
  }

  .mobile-nica-fullname{
    font-size:11px;
  }

  .mobile-nica-fullname strong{
    font-size:14px;
  }

  .mobile-nica h2{
    max-width:350px;
    margin-bottom:10px;
    font-size:21px;
    line-height:1.13;
  }

  .mobile-nica-intro-main{
    max-width:350px;
    margin-bottom:10px;
    color:rgba(255,255,255,.88);
    font-size:12.5px;
    line-height:1.4;
  }

  .mobile-nica-source-strip{
    width:100%;
    max-width:360px;
    margin:0 auto 10px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px;
  }

  .mobile-nica-source-strip > span{
    min-height:25px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:5px 7px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#ecf7f5;
    font-size:9px;
    line-height:1.05;
    font-weight:750;
    white-space:nowrap;
  }

  .mobile-nica-source-strip .source-icon{
    width:14px;
    height:14px;
    font-size:.47rem;
  }

  .mobile-nica-source-strip .mobile-nica-source-more{
    min-width:27px;
    padding-left:8px;
    padding-right:8px;
    color:#9fe8ce;
    font-size:15px;
    font-weight:950;
  }

  .mobile-nica-human-value{
    width:100%;
    max-width:344px;
    margin:0 auto 12px;
    color:#ccece3;
    font-size:11.5px;
    line-height:1.38;
    font-weight:750;
  }

  .mobile-nica-cta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    max-width:340px;
    min-height:43px;
    padding:9px 12px;
    font-size:14px;
    font-weight:900;
    line-height:1.08;
  }

  .nica-cta-bot{
    flex:0 0 auto;
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
  }

  .nica-cta-bot svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:#fff;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .nica-cta-bot .bot-eye{
    fill:#fff;
    stroke:none;
  }

  .nica-cta-bot .bot-wink,
  .nica-cta-bot .bot-mouth,
  .nica-cta-bot .bot-antenna{
    stroke:#fff;
  }

  .nica-cta-bot .bot-antenna-dot{
    fill:#fff;
    stroke:#fff;
  }

  .nica-result-value{
    display:block;
    margin-top:15px;
    padding:14px;
    border:1px solid rgba(8,124,102,.14);
    border-radius:15px;
    background:
      linear-gradient(135deg, rgba(226,244,239,.72), rgba(255,255,255,.96));
    text-align:left;
  }

  .nica-result-value h3{
    margin:0 0 10px;
    color:var(--navy-dark);
    font-size:14px;
    line-height:1.22;
  }

  .nica-result-value-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .nica-result-value-grid span{
    position:relative;
    display:flex;
    align-items:flex-start;
    min-height:37px;
    padding:7px 7px 7px 22px;
    border:1px solid rgba(4,54,79,.08);
    border-radius:10px;
    background:#fff;
    color:#31454e;
    font-size:10.2px;
    line-height:1.25;
    font-weight:800;
  }

  .nica-result-value-grid span::before{
    content:"✓";
    position:absolute;
    left:7px;
    top:6px;
    color:var(--green);
    font-weight:950;
  }

  .nica-result-value + .nica-pricing-teaser{
    margin-top:12px;
  }
}

@media (max-width: 359px) {
  .mobile-hero-actions .btn{
    font-size:.76rem;
  }

  .mobile-nica-bot-large{
    width:74px;
    height:74px;
  }

  .mobile-nica-bot-large svg{
    width:49px;
    height:49px;
  }

  .mobile-nica h2{
    font-size:19px;
  }

  .mobile-nica-source-strip{
    gap:5px;
  }

  .mobile-nica-source-strip > span{
    padding:5px 6px;
    font-size:8.3px;
  }

  .mobile-nica-cta{
    font-size:12.5px;
  }

  .nica-result-value-grid{
    grid-template-columns:1fr;
  }

  .nica-result-value-grid span{
    min-height:0;
  }
}

@keyframes nicaLandingBotFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

@keyframes nicaLandingBotPulse{
  0%,100%{opacity:.45; transform:scale(.96)}
  50%{opacity:1; transform:scale(1.04)}
}

@keyframes nicaLandingBotWink{
  0%,44%,52%,100%{transform:scaleY(1)}
  48%{transform:scaleY(.12)}
}

@media (prefers-reduced-motion: reduce){
  .mobile-nica-bot-large,
  .mobile-nica-bot-large::after,
  .mobile-nica-bot-large .bot-eye-right{
    animation:none !important;
  }
}

/* ========================================
   SIN ESTRÉS V10 — NICA COMPACT + RESULT FIT
   2026-09-24
======================================== */

@media (max-width:560px){
  /* Landing NICA: moins de hauteur, même hiérarchie */
  .mobile-nica{
    padding-top:18px;
  }

  .mobile-nica-bot-large{
    width:70px;
    height:70px;
    margin-bottom:6px;
  }

  .mobile-nica-bot-large svg{
    width:46px;
    height:46px;
  }

  .mobile-nica-identity{
    margin-bottom:7px;
  }

  .mobile-nica-badge{
    font-size:17px;
    margin-bottom:3px;
  }

  .mobile-nica-fullname{
    font-size:10.5px;
  }

  .mobile-nica-fullname strong{
    font-size:13px;
  }

  .mobile-nica h2{
    margin-top:0;
    margin-bottom:8px;
    font-size:20px;
  }

  .mobile-nica-intro-main{
    margin-bottom:8px;
  }

  .mobile-nica-source-strip{
    margin-bottom:8px;
  }

  .mobile-nica-human-value{
    margin-bottom:9px;
  }

  .mobile-nica .mobile-nica-video{
    width:166px !important;
    max-width:166px !important;
    margin:9px auto 13px !important;
  }

  .mobile-nica .mobile-nica-video video{
    width:166px !important;
    max-width:166px !important;
  }

  /* CTA : robot plus visible */
  .mobile-nica-cta{
    gap:9px;
  }

  .nica-cta-bot{
    width:31px;
    height:31px;
  }

  .nica-cta-bot svg{
    width:31px;
    height:31px;
  }

  /* Analyse : mêmes repères visuels que les sources de la landing */
  .nica-analysis-sources{
    max-width:330px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 12px;
    margin-top:8px;
    padding:0 5px;
  }

  .nica-analysis-sources span{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:5px;
    padding:0;
    border-radius:0;
    background:transparent;
    color:#36515b;
    font-size:10px;
    line-height:1.15;
    font-weight:750;
    text-align:left;
  }

  .nica-analysis-sources .source-icon{
    width:15px;
    height:15px;
    flex:0 0 15px;
    font-size:.49rem;
  }

  /* Résultat : lecture dense, sans effet "liste de cartes" */
  .nica-result-screen{
    padding-top:15px !important;
    padding-bottom:14px !important;
  }

  .nica-result-screen .nica-journey-kicker{
    margin-bottom:3px;
    font-size:9.5px;
  }

  .nica-result-screen h2{
    margin-bottom:3px;
    font-size:24px;
  }

  .nica-result-number{
    margin-top:4px;
    font-size:52px;
  }

  .nica-result-label{
    max-width:310px;
    margin-top:5px;
    font-size:12.5px;
    line-height:1.18;
  }

  .nica-result-market{
    margin-top:6px;
    font-size:10.5px;
    line-height:1.25;
  }

  .nica-result-summary{
    gap:4px;
    margin-top:9px;
  }

  .nica-result-summary span{
    padding:5px 7px;
    font-size:9px;
  }

  .nica-result-transition{
    margin-top:9px;
    padding:10px 12px;
    border-radius:12px;
  }

  .nica-result-transition strong{
    font-size:12.5px;
  }

  .nica-result-transition p{
    margin-top:4px;
    font-size:10.4px;
    line-height:1.28;
  }

  .nica-result-value{
    margin-top:8px;
    padding:9px 11px;
    border-radius:12px;
  }

  .nica-result-value h3{
    margin-bottom:6px;
    font-size:12.2px;
    line-height:1.15;
  }

  .nica-result-value-grid{
    display:none;
  }

  .nica-result-value-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 10px;
  }

  .nica-result-value-list li{
    position:relative;
    min-width:0;
    padding-left:13px;
    color:#334b54;
    font-size:9.3px;
    line-height:1.18;
    font-weight:800;
  }

  .nica-result-value-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--green);
    font-weight:950;
  }

  .nica-result-value + .nica-pricing-teaser{
    margin-top:8px;
  }

  .nica-pricing-teaser{
    margin-top:8px;
    padding:9px 10px;
    border-radius:12px;
  }

  .nica-pricing-teaser h3{
    margin-bottom:6px;
    font-size:12.5px;
  }

  .nica-pricing-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }

  .nica-pricing-mini-card{
    padding:7px 8px;
    border-radius:9px;
  }

  .nica-pricing-mini-card strong{
    font-size:10.5px;
    line-height:1.15;
  }

  .nica-pricing-mini-card span{
    margin-top:2px;
    font-size:10.2px;
  }

  .nica-pricing-mini-card p{
    margin-top:3px;
    font-size:8.8px;
    line-height:1.2;
  }

  .nica-pricing-mini-note{
    margin-top:5px;
    font-size:8.5px;
    line-height:1.2;
  }

  .nica-result-actions{
    margin-top:8px;
  }

  .nica-result-actions .btn{
    min-height:36px;
    padding:7px 8px;
    font-size:10.2px;
  }
}

/* Sur les écrans courts, on resserre encore uniquement le résultat. */
@media (max-width:560px) and (max-height:760px){
  .nica-result-screen{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  .nica-result-screen .nica-journey-kicker{
    margin-bottom:2px;
    font-size:8.8px;
  }

  .nica-result-screen h2{
    font-size:22px;
  }

  .nica-result-number{
    font-size:46px;
  }

  .nica-result-label{
    margin-top:3px;
    font-size:11.5px;
  }

  .nica-result-market{
    margin-top:4px;
    font-size:9.8px;
  }

  .nica-result-summary{
    margin-top:6px;
  }

  .nica-result-summary span{
    padding:4px 6px;
    font-size:8.4px;
  }

  .nica-result-transition,
  .nica-result-value,
  .nica-pricing-teaser{
    margin-top:6px;
  }

  .nica-result-transition{
    padding:8px 10px;
  }

  .nica-result-transition p{
    font-size:9.7px;
  }

  .nica-result-value{
    padding:7px 9px;
  }

  .nica-result-value h3,
  .nica-pricing-teaser h3{
    margin-bottom:4px;
    font-size:11.5px;
  }

  .nica-result-value-list{
    gap:3px 8px;
  }

  .nica-result-value-list li{
    font-size:8.6px;
  }

  .nica-pricing-teaser{
    padding:7px 8px;
  }

  .nica-pricing-mini-card{
    padding:6px 7px;
  }

  .nica-pricing-mini-card p{
    display:none;
  }

  .nica-pricing-mini-note{
    margin-top:4px;
  }

  .nica-result-actions{
    margin-top:6px;
  }

  .nica-result-actions .btn{
    min-height:33px;
    padding:6px 7px;
    font-size:9.5px;
  }
}

@media (max-width:359px){
  .mobile-nica .mobile-nica-video{
    width:154px !important;
    max-width:154px !important;
  }

  .mobile-nica .mobile-nica-video video{
    width:154px !important;
    max-width:154px !important;
  }

  .nica-result-value-list{
    grid-template-columns:1fr;
    gap:3px;
  }
}

/* ========================================
   V11 — NICA result offer polish
======================================== */
@media (max-width:560px){
  .nica-pricing-more{
    display:inline-block;
    margin-top:3px;
    color:var(--green);
    font-size:8.8px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:.01em;
  }

  /* Les pages détaillées seront branchées à ces libellés plus tard. */
  .nica-pricing-mini-card p{
    margin-bottom:0;
  }
}

@media (max-width:560px) and (max-height:760px){
  .nica-pricing-more{
    margin-top:2px;
    font-size:8.2px;
  }
}

@media (max-width:560px) and (max-height:760px){
  /* Conserver l'explication des deux offres même sur un écran court. */
  .nica-pricing-mini-card p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
    margin-top:2px;
    font-size:7.7px;
    line-height:1.12;
  }
}

/* ========================================
   SIN ESTRÉS V12 — RESULT AUTO-FIT MOBILE + TABLET
   Ajuste automatiquement la densité du résultat selon la hauteur réelle
   du viewport, sans réduire inutilement les écrans qui ont de la place.
======================================== */

/* Le parcours reste dans une colonne de lecture de 560px sur tablette,
   mais le résultat conserve le même design compact que sur mobile. */
@media (min-width:561px) and (max-width:1024px){
  .nica-result-screen{
    padding:18px 24px calc(18px + env(safe-area-inset-bottom));
  }

  .nica-result-screen .nica-journey-kicker{
    margin-bottom:4px;
    font-size:10px;
  }

  .nica-result-screen h2{
    margin-bottom:4px;
    font-size:26px;
  }

  .nica-result-number{
    margin-top:4px;
    font-size:58px;
  }

  .nica-result-label{
    margin-top:5px;
    font-size:13px;
    line-height:1.2;
  }

  .nica-result-market{
    margin-top:7px;
    font-size:10.8px;
    line-height:1.25;
  }

  .nica-result-summary{
    gap:5px;
    margin-top:10px;
  }

  .nica-result-summary span{
    padding:5px 8px;
    font-size:9.2px;
  }

  .nica-result-transition{
    margin-top:10px;
    padding:11px 13px;
    border-radius:12px;
  }

  .nica-result-transition strong{
    font-size:13px;
  }

  .nica-result-transition p{
    margin-top:4px;
    font-size:10.7px;
    line-height:1.3;
  }

  .nica-result-value{
    display:block;
    margin-top:9px;
    padding:10px 12px;
    border:1px solid rgba(8,124,102,.14);
    border-radius:12px;
    background:linear-gradient(135deg,rgba(226,244,239,.72),rgba(255,255,255,.96));
    text-align:left;
  }

  .nica-result-value h3{
    margin:0 0 6px;
    color:var(--navy-dark);
    font-size:12.6px;
    line-height:1.15;
  }

  .nica-result-value-grid{
    display:none;
  }

  .nica-result-value-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 12px;
  }

  .nica-result-value-list li{
    position:relative;
    min-width:0;
    padding-left:13px;
    color:#334b54;
    font-size:9.5px;
    line-height:1.18;
    font-weight:800;
  }

  .nica-result-value-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--green);
    font-weight:950;
  }

  .nica-result-value + .nica-pricing-teaser{
    margin-top:9px;
  }

  .nica-pricing-teaser{
    margin-top:9px;
    padding:10px 11px;
    border-radius:12px;
  }

  .nica-pricing-teaser h3{
    margin-bottom:6px;
    font-size:13px;
  }

  .nica-pricing-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .nica-pricing-mini-card{
    padding:8px 9px;
    border-radius:9px;
  }

  .nica-pricing-mini-card strong{
    font-size:10.8px;
  }

  .nica-pricing-mini-card span{
    margin-top:2px;
    font-size:10.4px;
  }

  .nica-pricing-mini-card p{
    margin-top:3px;
    font-size:9px;
    line-height:1.2;
  }

  .nica-pricing-more{
    display:inline-block;
    margin-top:3px;
    color:var(--green);
    font-size:9px;
    line-height:1.1;
    font-weight:900;
  }

  .nica-pricing-mini-note{
    margin-top:5px;
    font-size:8.7px;
    line-height:1.2;
  }

  .nica-result-actions{
    margin-top:9px;
  }

  .nica-result-actions .btn{
    min-height:37px;
    padding:7px 9px;
    font-size:10.4px;
  }
}

/* Palier 1 : le contenu dépasse légèrement. */
@media (max-width:1024px){
  .nica-result-screen.nica-fit-compact{
    padding-top:9px !important;
    padding-bottom:8px !important;
  }

  .nica-result-screen.nica-fit-compact .nica-journey-kicker{
    margin-bottom:2px;
    font-size:8.6px;
  }

  .nica-result-screen.nica-fit-compact h2{
    margin-bottom:1px;
    font-size:21px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-number{
    margin-top:2px;
    font-size:44px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-label{
    margin-top:2px;
    font-size:10.8px;
    line-height:1.12;
  }

  .nica-result-screen.nica-fit-compact .nica-result-market{
    margin-top:3px;
    font-size:9.2px;
    line-height:1.16;
  }

  .nica-result-screen.nica-fit-compact .nica-result-summary{
    gap:3px;
    margin-top:5px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-summary span{
    padding:3px 5px;
    font-size:7.9px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-transition,
  .nica-result-screen.nica-fit-compact .nica-result-value,
  .nica-result-screen.nica-fit-compact .nica-pricing-teaser{
    margin-top:5px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-transition{
    padding:7px 9px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-transition strong{
    font-size:10.8px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-transition p{
    margin-top:2px;
    font-size:8.8px;
    line-height:1.18;
  }

  .nica-result-screen.nica-fit-compact .nica-result-value{
    padding:6px 8px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-value h3,
  .nica-result-screen.nica-fit-compact .nica-pricing-teaser h3{
    margin-bottom:3px;
    font-size:10.6px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-value-list{
    gap:2px 8px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-value-list li{
    padding-left:11px;
    font-size:7.9px;
    line-height:1.12;
  }

  .nica-result-screen.nica-fit-compact .nica-pricing-teaser{
    padding:6px 7px;
  }

  .nica-result-screen.nica-fit-compact .nica-pricing-mini-grid{
    gap:5px;
  }

  .nica-result-screen.nica-fit-compact .nica-pricing-mini-card{
    padding:5px 6px;
  }

  .nica-result-screen.nica-fit-compact .nica-pricing-mini-card strong{
    font-size:9.1px;
  }

  .nica-result-screen.nica-fit-compact .nica-pricing-mini-card span{
    font-size:8.7px;
  }

  .nica-result-screen.nica-fit-compact .nica-pricing-mini-card p{
    margin-top:2px;
    font-size:7.5px;
    line-height:1.12;
  }

  .nica-result-screen.nica-fit-compact .nica-pricing-more{
    margin-top:1px;
    font-size:7.5px;
  }

  .nica-result-screen.nica-fit-compact .nica-pricing-mini-note{
    margin-top:3px;
    font-size:7.4px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-actions{
    margin-top:5px;
  }

  .nica-result-screen.nica-fit-compact .nica-result-actions .btn{
    min-height:31px;
    padding:5px 6px;
    font-size:8.6px;
  }

  /* Palier 2 : écran vraiment court. */
  .nica-result-screen.nica-fit-tight{
    padding-top:6px !important;
    padding-bottom:5px !important;
  }

  .nica-result-screen.nica-fit-tight .nica-result-number{
    font-size:39px;
  }

  .nica-result-screen.nica-fit-tight .nica-result-label{
    font-size:9.8px;
  }

  .nica-result-screen.nica-fit-tight .nica-result-market{
    font-size:8.3px;
  }

  .nica-result-screen.nica-fit-tight .nica-result-summary{
    margin-top:4px;
  }

  .nica-result-screen.nica-fit-tight .nica-result-transition,
  .nica-result-screen.nica-fit-tight .nica-result-value,
  .nica-result-screen.nica-fit-tight .nica-pricing-teaser{
    margin-top:4px;
  }

  .nica-result-screen.nica-fit-tight .nica-result-transition{
    padding:6px 8px;
  }

  .nica-result-screen.nica-fit-tight .nica-result-transition p{
    font-size:8.1px;
    line-height:1.12;
  }

  .nica-result-screen.nica-fit-tight .nica-result-value{
    padding:5px 7px;
  }

  .nica-result-screen.nica-fit-tight .nica-result-value-list li{
    font-size:7.3px;
  }

  .nica-result-screen.nica-fit-tight .nica-pricing-teaser{
    padding:5px 6px;
  }

  .nica-result-screen.nica-fit-tight .nica-pricing-mini-card{
    padding:4px 5px;
  }

  .nica-result-screen.nica-fit-tight .nica-pricing-mini-card p{
    font-size:7px;
  }

  .nica-result-screen.nica-fit-tight .nica-result-actions .btn{
    min-height:29px;
    padding:4px 5px;
    font-size:8px;
  }

  /* Palier 3 : dernier resserrage raisonnable. On conserve le scroll si
     l'utilisateur a un zoom texte important plutôt que rendre le texte illisible. */
  .nica-result-screen.nica-fit-ultra .nica-journey-kicker{
    display:none;
  }

  .nica-result-screen.nica-fit-ultra h2{
    font-size:18px;
  }

  .nica-result-screen.nica-fit-ultra .nica-result-number{
    font-size:35px;
  }

  .nica-result-screen.nica-fit-ultra .nica-result-label{
    font-size:9px;
  }

  .nica-result-screen.nica-fit-ultra .nica-result-market{
    font-size:7.8px;
  }

  .nica-result-screen.nica-fit-ultra .nica-result-summary span{
    padding:2px 4px;
    font-size:7.1px;
  }

  .nica-result-screen.nica-fit-ultra .nica-result-transition strong,
  .nica-result-screen.nica-fit-ultra .nica-result-value h3,
  .nica-result-screen.nica-fit-ultra .nica-pricing-teaser h3{
    font-size:9.6px;
  }

  .nica-result-screen.nica-fit-ultra .nica-result-transition p{
    font-size:7.5px;
  }

  .nica-result-screen.nica-fit-ultra .nica-result-value-list li{
    font-size:6.9px;
    line-height:1.08;
  }

  .nica-result-screen.nica-fit-ultra .nica-pricing-mini-card strong{
    font-size:8.4px;
  }

  .nica-result-screen.nica-fit-ultra .nica-pricing-mini-card span{
    font-size:8px;
  }

  .nica-result-screen.nica-fit-ultra .nica-pricing-mini-card p,
  .nica-result-screen.nica-fit-ultra .nica-pricing-more,
  .nica-result-screen.nica-fit-ultra .nica-pricing-mini-note{
    font-size:6.8px;
  }

  .nica-result-screen.nica-fit-ultra .nica-result-actions{
    margin-top:4px;
  }

  .nica-result-screen.nica-fit-ultra .nica-result-actions .btn{
    min-height:27px;
    font-size:7.6px;
  }

  .nica-journey.nica-result-header-tight .nica-journey-header{
    min-height:56px;
    padding-top:6px;
    padding-bottom:6px;
  }

  .nica-journey.nica-result-header-tight .nica-journey-brand strong{
    font-size:17px;
  }

  .nica-journey.nica-result-header-tight .nica-journey-brand span{
    font-size:8px;
  }

  .nica-journey.nica-result-header-tight .nica-brand-bot,
  .nica-journey.nica-result-header-tight .nica-journey-close{
    width:30px;
    height:30px;
    min-width:30px;
  }

  .nica-journey.nica-result-header-tight .nica-journey-progress{
    top:56px;
    padding-top:6px;
    padding-bottom:6px;
  }

  .nica-journey.nica-result-header-tight .nica-journey-progress b{
    width:18px;
    height:18px;
    min-width:18px;
    font-size:8px;
  }

  .nica-journey.nica-result-header-tight .nica-journey-progress span{
    font-size:7.4px;
  }
}

/* ========================================
   V13 — APRES NICA / MOBILE FR COMPACT
======================================== */

.mobile-faq-toggle,
.mobile-contact-whatsapp,
.mobile-contact-collapsible > summary{
  display:none;
}

@media (max-width:560px){

  /* 1. NICA -> SIN ESTRES */
  .mobile-handoff{
    padding-top:34px;
    padding-bottom:32px;
  }

  .mobile-handoff h2,
  .mobile-trust-case h2,
  .mobile-choice h2{
    font-size:clamp(25px,7.2vw,31px);
    line-height:1.02;
    margin:10px 0 11px;
  }

  .mobile-handoff .mobile-section-intro,
  .mobile-trust-case .mobile-section-intro,
  .mobile-choice .mobile-section-intro{
    margin-bottom:15px;
    font-size:clamp(12px,3.45vw,14px);
    line-height:1.45;
  }

  .mobile-handoff-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .mobile-handoff-grid article{
    min-width:0;
    padding:12px 10px 11px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 16px rgba(4,54,79,.035);
  }

  .mobile-handoff-icon{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#e6f5f1;
    margin-bottom:7px;
    font-size:15px;
  }

  .mobile-handoff-grid strong{
    display:block;
    color:var(--navy-dark);
    font-size:clamp(11.5px,3.3vw,13px);
    line-height:1.18;
  }

  .mobile-handoff-grid p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:clamp(10px,2.9vw,11.5px);
    line-height:1.32;
  }

  .mobile-handoff-flow{
    margin-top:12px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr);
    align-items:center;
    gap:4px;
    padding:9px 8px;
    border-radius:999px;
    background:#eaf7f3;
    color:var(--navy-dark);
    font-size:clamp(9.5px,2.8vw,11px);
    font-weight:800;
    text-align:center;
  }

  .mobile-handoff-flow b{
    color:var(--green);
    font-size:14px;
  }

  /* 2. PREUVES + CAS CLIENT */
  .mobile-trust-case{
    padding-top:32px;
    padding-bottom:32px;
  }

  .mobile-proof-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin:14px 0;
  }

  .mobile-proof-grid > span{
    min-width:0;
    padding:9px 9px;
    border:1px solid rgba(8,124,102,.14);
    border-radius:11px;
    background:#fff;
    color:var(--navy-dark);
    font-size:clamp(10px,2.95vw,11.5px);
    line-height:1.25;
  }

  .mobile-proof-grid strong{
    font-weight:800;
  }

  .mobile-case-compact{
    position:relative;
    overflow:hidden;
    margin-top:13px;
    border-radius:15px;
    background:#071d27;
    min-height:178px;
  }

  .mobile-case-compact > img{
    width:100%;
    height:178px;
    object-fit:cover;
    opacity:.78;
  }

  .mobile-case-compact::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(4,31,42,.05) 28%,rgba(4,31,42,.92) 100%);
    pointer-events:none;
  }

  .mobile-case-compact-copy{
    position:absolute;
    z-index:2;
    left:14px;
    right:14px;
    bottom:12px;
    color:#fff;
  }

  .mobile-case-kicker{
    display:inline-block;
    margin-bottom:3px;
    color:#87e0c9;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .mobile-case-compact-copy strong{
    display:block;
    font-size:16px;
    line-height:1.1;
  }

  .mobile-case-compact-copy p{
    margin:4px 0 0;
    color:rgba(255,255,255,.9);
    font-size:10.5px;
    line-height:1.3;
  }

  .mobile-case-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:7px;
  }

  .mobile-case-strip figure{
    margin:0;
    min-width:0;
  }

  .mobile-case-strip img{
    width:100%;
    aspect-ratio:1.55/1;
    object-fit:cover;
    border-radius:9px;
  }

  .mobile-case-strip figcaption{
    margin-top:3px;
    color:var(--muted);
    font-size:9px;
    font-weight:800;
    text-align:center;
  }

  .mobile-mini-testimonial{
    margin:10px 0 0;
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:13px;
    background:linear-gradient(135deg,#fff,#f2faf7);
  }

  .mobile-mini-testimonial .stars{
    margin:0 0 3px;
    font-size:12px;
  }

  .mobile-mini-testimonial p{
    margin:0;
    color:var(--muted);
    font-size:10.8px;
    line-height:1.4;
  }

  .mobile-mini-testimonial strong{
    display:block;
    margin-top:5px;
    color:var(--navy-dark);
    font-size:10.5px;
  }

  /* 3. CHOIX D'ACCOMPAGNEMENT */
  .mobile-choice{
    padding-top:32px;
    padding-bottom:32px;
  }

  .mobile-choice-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:14px;
  }

  .mobile-choice-card{
    min-width:0;
    padding:13px 11px 11px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
  }

  .mobile-choice-card-main{
    border-color:rgba(8,124,102,.28);
    background:linear-gradient(145deg,#f7fffc,#eef9f6);
  }

  .mobile-choice-label{
    display:inline-block;
    color:var(--green);
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.045em;
  }

  .mobile-choice-card h3{
    margin:4px 0 8px;
    color:var(--navy-dark);
    font-size:clamp(13px,3.7vw,15px);
    line-height:1.12;
  }

  .mobile-choice-card ul{
    list-style:none;
    padding:0;
    margin:0;
  }

  .mobile-choice-card li{
    position:relative;
    padding-left:13px;
    margin:5px 0;
    color:var(--muted);
    font-size:clamp(9.8px,2.85vw,11px);
    line-height:1.25;
  }

  .mobile-choice-card li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:var(--green);
    font-weight:900;
  }

  .mobile-choice-note{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin-top:8px;
    padding:9px 11px;
    border-radius:11px;
    background:#e7f6f1;
    color:var(--navy-dark);
  }

  .mobile-choice-note-soft{
    background:#f5f8f8;
    border:1px solid var(--line);
  }

  .mobile-choice-note strong{
    font-size:11px;
  }

  .mobile-choice-note span{
    color:var(--muted);
    font-size:10px;
    line-height:1.3;
  }

  .mobile-choice .mobile-wide-btn{
    margin-top:11px;
  }

  /* 4. FAQ : 5 QUESTIONS PAR DEFAUT */
  #faq.section{
    padding:30px 0 28px;
  }

  #faq .section-head{
    margin-bottom:12px;
  }

  #faq .section-head .eyebrow{
    font-size:10px;
  }

  #faq .section-head h2{
    margin:8px 0 7px;
    font-size:clamp(24px,7vw,29px);
    line-height:1.05;
  }

  #faq .section-head p{
    margin:0;
    font-size:12px;
    line-height:1.4;
  }

  #faq .faq details{
    padding:11px 12px;
    margin:6px 0;
    border-radius:11px;
  }

  #faq .faq summary{
    font-size:11.5px;
    line-height:1.32;
  }

  #faq .faq p{
    font-size:11px;
    line-height:1.45;
  }

  #faq .mobile-faq-extra{
    display:none;
  }

  #faq.mobile-faq-expanded .mobile-faq-extra{
    display:block;
  }

  .mobile-faq-toggle{
    display:block;
    width:100%;
    margin-top:10px;
    padding:10px 12px;
    border:0;
    border-radius:10px;
    background:#e7f6f1;
    color:var(--green);
    font-size:11px;
    font-weight:900;
    cursor:pointer;
  }

  /* 5. CONTACT : COMPACT PAR DEFAUT, FORMULAIRE A LA DEMANDE */
  #contact.section{
    padding:28px 0 34px;
  }

  #contact .contact{
    padding:17px 14px;
    border-radius:17px;
  }

  #contact .contact-grid{
    gap:10px;
  }

  #contact .badge{
    font-size:9px;
  }

  #contact .contact h2{
    margin:8px 0 7px;
    font-size:clamp(24px,7vw,29px);
    line-height:1.05;
  }

  #contact .contact-grid > div > p{
    margin:0 0 10px;
    font-size:12px;
    line-height:1.4;
  }

  .mobile-contact-whatsapp{
    display:flex;
    width:100%;
    margin:0;
  }

  .mobile-contact-collapsible{
    width:100%;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    overflow:hidden;
  }

  .mobile-contact-collapsible > summary{
    display:block;
    padding:11px 12px;
    color:var(--navy-dark);
    font-size:11.5px;
    font-weight:900;
    cursor:pointer;
    list-style:none;
  }

  .mobile-contact-collapsible > summary::-webkit-details-marker{
    display:none;
  }

  .mobile-contact-collapsible > summary::after{
    content:" +";
    color:var(--green);
  }

  .mobile-contact-collapsible[open] > summary::after{
    content:" −";
  }

  .mobile-contact-collapsible .form{
    padding:0 10px 11px;
  }

  .mobile-contact-collapsible .form label{
    font-size:10.5px;
  }

  .mobile-contact-collapsible .form input,
  .mobile-contact-collapsible .form select,
  .mobile-contact-collapsible .form textarea{
    min-height:38px;
    padding:8px 9px;
    font-size:16px;
  }

  .mobile-contact-collapsible .form textarea{
    min-height:64px;
  }

  .mobile-contact-collapsible .form .btn{
    width:100%;
    margin:4px 0;
  }
}

@media (max-width:359px){
  .mobile-handoff-grid,
  .mobile-proof-grid,
  .mobile-choice-grid{
    gap:6px;
  }

  .mobile-handoff-grid article,
  .mobile-choice-card{
    padding-left:8px;
    padding-right:8px;
  }
}

/* ========================================
   V14 — NICA -> SIN ESTRES / HANDOFF AFFINE
======================================== */

@media (max-width:560px){
  /* Identité NICA : le titre "NICA" redondant sous le robot est supprimé. */
  .mobile-nica-identity{
    margin-top:2px;
    margin-bottom:8px;
  }

  .nica-word{
    color:var(--green);
  }

  .mobile-nica .nica-word-dark{
    color:#80d8b5;
  }

  /* Handoff plus court : deux chemins lisibles sans rallonger la page. */
  .mobile-handoff{
    padding-top:28px;
    padding-bottom:28px;
  }

  .mobile-handoff .mobile-handoff-nica-title,
  .mobile-handoff .mobile-handoff-human-title{
    margin:0;
    font-size:clamp(25px,7.2vw,31px);
    line-height:1.02;
    letter-spacing:-.035em;
    color:var(--navy-dark);
  }

  .mobile-handoff .mobile-handoff-human-title{
    margin-top:9px;
    margin-bottom:9px;
  }

  .mobile-report-bridge{
    width:100%;
    margin:10px 0 8px;
    padding:8px 10px;
    display:flex;
    align-items:center;
    gap:9px;
    border:1px solid rgba(8,124,102,.18);
    border-radius:12px;
    background:#eef9f6;
    color:var(--navy-dark);
    text-decoration:none;
    box-shadow:0 4px 14px rgba(4,54,79,.035);
  }

  .mobile-report-bridge-icon{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#fff;
    font-size:14px;
  }

  .mobile-report-bridge > span:last-child{
    min-width:0;
    display:flex;
    align-items:baseline;
    gap:6px;
    flex-wrap:wrap;
    line-height:1.15;
  }

  .mobile-report-bridge strong{
    font-size:clamp(11.5px,3.25vw,13px);
    font-weight:850;
  }

  .mobile-report-bridge small{
    color:var(--green);
    font-size:clamp(10px,2.9vw,11.5px);
    font-weight:800;
  }

  .mobile-handoff .mobile-section-intro{
    margin:0 0 12px;
    font-size:clamp(11.5px,3.25vw,13px);
    line-height:1.4;
  }

  .mobile-handoff-grid{
    gap:7px;
  }

  .mobile-handoff-grid article{
    padding:9px 9px 8px;
    border-radius:12px;
  }

  .mobile-handoff-title-row{
    min-width:0;
    display:flex;
    align-items:center;
    gap:6px;
  }

  .mobile-handoff-icon{
    width:24px;
    height:24px;
    flex:0 0 24px;
    margin:0;
    border-radius:7px;
    font-size:12px;
  }

  .mobile-handoff-grid strong{
    min-width:0;
    font-size:clamp(10.2px,2.95vw,11.8px);
    line-height:1.12;
    white-space:nowrap;
  }

  .mobile-handoff-grid p{
    margin:5px 0 0;
    font-size:clamp(9.3px,2.7vw,10.6px);
    line-height:1.28;
  }

  /* Le mini-flow V13 a été retiré du HTML ; garder ceci en sécurité si ancien cache. */
  .mobile-handoff-flow{
    display:none !important;
  }
}

@media (max-width:359px){
  .mobile-handoff-grid strong{
    font-size:9.6px;
  }

  .mobile-handoff-grid p{
    font-size:9px;
  }

  .mobile-handoff-title-row{
    gap:4px;
  }
}


/* ========================================
   V16 — NICA COMPACT + HANDOFF POLISH
   2026-09-25
======================================== */

@media (max-width:560px){
  /* Présentation NICA : réduction franche du visuel pour gagner du scroll. */
  .mobile-nica .mobile-nica-video{
    width:116px !important;
    max-width:116px !important;
    margin:6px auto 9px !important;
  }

  .mobile-nica .mobile-nica-video video{
    width:116px !important;
    max-width:116px !important;
    height:auto !important;
  }

  /* CTA NICA : deux robots plus présents, sans agrandir excessivement le bouton. */
  .mobile-nica-cta{
    max-width:340px;
    min-height:46px;
    padding:7px 10px;
    gap:7px;
  }

  .mobile-nica-cta .nica-cta-label{
    min-width:0;
    flex:1 1 auto;
    text-align:center;
    font-size:clamp(12.5px,3.55vw,14px);
    line-height:1.08;
  }

  .mobile-nica-cta .nica-cta-bot{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:grid;
    place-items:center;
  }

  .mobile-nica-cta .nica-cta-bot svg{
    width:30px;
    height:30px;
    fill:none;
    stroke:#fff;
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-nica-cta .nica-cta-bot svg rect,
  .mobile-nica-cta .nica-cta-bot svg path{
    fill:none;
  }

  .mobile-nica-cta .nica-cta-bot .bot-eye,
  .mobile-nica-cta .nica-cta-bot .bot-antenna-dot{
    fill:#fff;
    stroke:#fff;
  }

  /* Transition NICA -> humain : même palette que le reste du site, plus friendly. */
  .mobile-handoff{
    position:relative;
    overflow:hidden;
    padding-top:22px;
    padding-bottom:22px;
    background:
      radial-gradient(circle at 96% 4%, rgba(111,224,186,.13), transparent 24%),
      linear-gradient(180deg,#ffffff 0%,#f4faf8 100%);
    border-top:4px solid rgba(8,124,102,.08);
  }

  .mobile-handoff::before{
    content:"";
    position:absolute;
    width:86px;
    height:86px;
    right:-46px;
    top:40px;
    border-radius:50%;
    border:1px solid rgba(8,124,102,.07);
    pointer-events:none;
  }

  .mobile-handoff-headline{
    position:relative;
    z-index:1;
    margin:0 0 8px;
  }

  .mobile-handoff-headline h2{
    margin:0;
    color:var(--navy-dark);
    font-size:clamp(23px,6.6vw,29px);
    line-height:1.02;
    letter-spacing:-.035em;
  }

  .mobile-handoff-break{
    display:block;
    margin-top:3px;
  }

  .mobile-handoff-bot{
    width:27px !important;
    height:27px !important;
    max-width:27px !important;
    max-height:27px !important;
    display:inline-grid !important;
    place-items:center !important;
    margin-left:5px;
    vertical-align:-5px;
    border-radius:50%;
    background:#e3f5ef;
    border:1px solid rgba(8,124,102,.16);
    box-shadow:0 0 0 4px rgba(111,224,186,.07);
    overflow:hidden;
  }

  .mobile-handoff-bot svg{
    display:block !important;
    width:20px !important;
    height:20px !important;
    max-width:20px !important;
    max-height:20px !important;
    fill:none !important;
    stroke:var(--green) !important;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-handoff-bot svg rect,
  .mobile-handoff-bot svg path{
    fill:none !important;
  }

  .mobile-handoff-bot .bot-eye,
  .mobile-handoff-bot .bot-antenna-dot{
    fill:var(--green) !important;
    stroke:var(--green) !important;
  }

  .mobile-handoff .mobile-section-intro{
    position:relative;
    z-index:1;
    margin:0 0 10px;
    max-width:360px;
    color:#49616b;
    font-size:clamp(11.3px,3.15vw,12.8px);
    line-height:1.38;
  }

  /* Pont vers le Rapport NICA : compact, doux et clairement parlé par NICA. */
  .mobile-report-bridge{
    position:relative;
    z-index:1;
    width:100%;
    margin:0 0 10px;
    padding:8px 9px;
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid #c9e8de;
    border-radius:12px;
    background:linear-gradient(135deg,#e8f7f2 0%,#f7fcfa 100%);
    color:var(--navy-dark);
    text-decoration:none;
    box-shadow:0 4px 12px rgba(4,54,79,.035);
  }

  .mobile-report-bridge-icon{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:grid;
    place-items:center;
    border-radius:9px;
  }

  .mobile-report-bridge-bot{
    background:#fff;
    border:1px solid rgba(8,124,102,.13);
  }

  .mobile-report-bridge-bot svg{
    display:block !important;
    width:22px !important;
    height:22px !important;
    fill:none !important;
    stroke:var(--green) !important;
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-report-bridge-bot svg rect,
  .mobile-report-bridge-bot svg path{
    fill:none !important;
  }

  .mobile-report-bridge-bot .bot-eye,
  .mobile-report-bridge-bot .bot-antenna-dot{
    fill:var(--green) !important;
    stroke:var(--green) !important;
  }

  .mobile-report-bridge-copy{
    min-width:0;
    width:100%;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between;
    gap:7px !important;
    flex-wrap:nowrap !important;
  }

  .mobile-report-bridge-copy strong{
    min-width:0;
    color:var(--navy-dark);
    font-size:clamp(10.8px,3.05vw,12.4px);
    line-height:1.17;
  }

  .mobile-report-bridge-copy small{
    flex:0 0 auto;
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#d9f1ea;
    color:var(--green);
    font-size:14px;
    line-height:1;
    font-weight:950;
  }

  /* 4 preuves humaines : compactes, homogènes et plus lisibles. */
  .mobile-handoff-grid{
    position:relative;
    z-index:1;
    gap:6px;
  }

  .mobile-handoff-grid article{
    padding:8px 8px 7px;
    border:1px solid rgba(4,54,79,.105);
    border-radius:12px;
    background:#fff;
    box-shadow:0 3px 10px rgba(4,54,79,.025);
  }

  .mobile-handoff-grid article:nth-child(2),
  .mobile-handoff-grid article:nth-child(3){
    background:#fbfefd;
  }

  .mobile-handoff-title-row{
    min-width:0;
    display:flex;
    align-items:center;
    gap:5px;
  }

  .mobile-handoff-icon{
    width:22px;
    height:22px;
    flex:0 0 22px;
    margin:0;
    display:grid;
    place-items:center;
    border-radius:7px;
    background:#e5f5f0;
    font-size:11px;
  }

  .mobile-handoff-grid strong{
    min-width:0;
    color:var(--navy-dark);
    font-size:clamp(9.9px,2.85vw,11.5px);
    line-height:1.1;
    white-space:nowrap;
  }

  .mobile-handoff-grid p{
    margin:4px 0 0;
    color:#586b74;
    font-size:clamp(8.9px,2.55vw,10.2px);
    line-height:1.23;
  }

  .mobile-handoff-flow{
    display:none !important;
  }
}

@media (max-width:359px){
  .mobile-nica .mobile-nica-video,
  .mobile-nica .mobile-nica-video video{
    width:106px !important;
    max-width:106px !important;
  }

  .mobile-nica-cta .nica-cta-bot{
    width:27px;
    height:27px;
    flex-basis:27px;
  }

  .mobile-nica-cta .nica-cta-bot svg{
    width:27px;
    height:27px;
  }

  .mobile-handoff-headline h2{
    font-size:22px;
  }

  .mobile-handoff-grid strong{
    font-size:9.4px;
  }

  .mobile-handoff-grid p{
    font-size:8.7px;
  }
}

/* ========================================
   V17 — NICA polish, richer analysis step,
   livelier CTA bots and refined handoff.
======================================== */

@keyframes nicaCtaWaveLeft {
  0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
  12% { transform: translateY(-1px) rotate(-8deg) scale(1.05); }
  24% { transform: translateY(-2px) rotate(8deg) scale(1.08); }
  36% { transform: translateY(0) rotate(-4deg) scale(1.04); }
  48% { transform: translateY(-1px) rotate(0deg) scale(1.02); }
}

@keyframes nicaCtaWaveRight {
  0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
  12% { transform: translateY(-1px) rotate(8deg) scale(1.05); }
  24% { transform: translateY(-2px) rotate(-8deg) scale(1.08); }
  36% { transform: translateY(0) rotate(4deg) scale(1.04); }
  48% { transform: translateY(-1px) rotate(0deg) scale(1.02); }
}

@keyframes nicaSearchLensFloat {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  30% { transform: translate(1px, -2px) rotate(-10deg); }
  60% { transform: translate(-1px, 1px) rotate(8deg); }
}

@keyframes nicaSearchBotFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

@media (max-width:560px){
  /* Page de présentation NICA : animation visuelle encore réduite */
  .mobile-nica .mobile-nica-video{
    width:102px !important;
    max-width:102px !important;
    margin:5px auto 8px !important;
  }

  .mobile-nica .mobile-nica-video video{
    width:102px !important;
    max-width:102px !important;
    height:auto !important;
  }

  /* CTA principal NICA : robots plus grands et plus vivants */
  .mobile-nica-cta{
    gap:8px;
  }

  .mobile-nica-cta .nica-cta-bot{
    width:34px;
    height:34px;
    flex:0 0 34px;
  }

  .mobile-nica-cta .nica-cta-bot svg{
    width:34px;
    height:34px;
    stroke-width:2.55;
  }

  .mobile-nica-cta .nica-cta-bot-left{
    animation:nicaCtaWaveLeft 2.9s ease-in-out infinite;
    transform-origin:center;
  }

  .mobile-nica-cta .nica-cta-bot-right{
    animation:nicaCtaWaveRight 2.9s ease-in-out .35s infinite;
    transform-origin:center;
  }

  /* Etape Analyse du parcours NICA : plus incarnée, mieux centrée */
  .nica-analysis-screen{
    text-align:center;
  }

  .nica-analysis-screen .nica-journey-intro{
    max-width:295px;
    margin:0 auto 12px;
  }

  .nica-analysis-hero{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    margin:0 auto 12px;
  }

  .nica-analysis-bot{
    position:relative;
    width:92px;
    height:92px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:
      radial-gradient(circle at 50% 40%, rgba(128,216,181,.18), transparent 58%),
      rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:
      0 14px 32px rgba(0,0,0,.18),
      0 0 0 10px rgba(128,216,181,.035);
    animation:nicaSearchBotFloat 3s ease-in-out infinite;
  }

  .nica-analysis-bot::after{
    content:"";
    position:absolute;
    inset:8px;
    border-radius:50%;
    border:1px solid rgba(128,216,181,.10);
    animation:nicaLandingBotPulse 2.8s ease-in-out infinite;
  }

  .nica-analysis-bot svg{
    width:58px;
    height:58px;
    fill:none;
    stroke:#8ee9c8;
    stroke-width:2.35;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .nica-analysis-bot .bot-eye{
    fill:#e2fff5;
    stroke:none;
  }

  .nica-analysis-bot .bot-eye-right{
    animation:nicaLandingBotWink 4.8s infinite;
  }

  .nica-analysis-bot .bot-mouth{
    stroke:#e2fff5;
  }

  .nica-analysis-bot .bot-antenna,
  .nica-analysis-bot .bot-antenna-dot{
    stroke:#6fe0ba;
  }

  .nica-analysis-bot .bot-antenna-dot{
    fill:#6fe0ba;
  }

  .nica-analysis-video{
    width:138px;
    max-width:138px;
    margin:0 auto;
    border-radius:16px;
    overflow:hidden;
    background:rgba(255,255,255,.04);
    box-shadow:0 12px 26px rgba(0,0,0,.18);
  }

  .nica-analysis-video video{
    display:block;
    width:100%;
    height:auto;
  }

  .nica-analysis-sources{
    width:100%;
    max-width:320px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px;
  }

  .nica-analysis-sources span{
    min-height:27px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:6px 8px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.055);
    white-space:nowrap;
    font-size:10px;
    line-height:1.05;
    font-weight:780;
    color:#eef7f5;
  }

  .nica-analysis-sources .source-icon{
    width:14px;
    height:14px;
    font-size:.47rem;
  }

  /* Handoff : petit assistant vivant, plus cohérent visuellement */
  .mobile-handoff{
    background:
      radial-gradient(circle at 94% 8%, rgba(111,224,186,.14), transparent 22%),
      linear-gradient(180deg,#ffffff 0%,#f3faf8 100%);
  }

  .mobile-handoff-headline{
    margin-bottom:9px;
  }

  .mobile-handoff-bot{
    position:relative;
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    margin-left:6px;
    vertical-align:-7px;
    background:linear-gradient(135deg,#eefbf6 0%,#dff4ed 100%);
    border:1px solid rgba(8,124,102,.14);
    box-shadow:0 0 0 5px rgba(111,224,186,.08);
    overflow:visible;
  }

  .mobile-handoff-bot-core{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    border-radius:50%;
    animation:nicaSearchBotFloat 3s ease-in-out infinite;
  }

  .mobile-handoff-bot::after{
    content:"";
    position:absolute;
    width:12px;
    height:12px;
    right:-2px;
    bottom:1px;
    border-radius:50%;
    border:2px solid var(--green);
    background:rgba(255,255,255,.95);
    box-shadow:0 0 0 2px rgba(255,255,255,.8);
    animation:nicaSearchLensFloat 2.6s ease-in-out infinite;
  }

  .mobile-handoff-bot::before{
    content:"";
    position:absolute;
    width:8px;
    height:2px;
    right:-6px;
    bottom:-2px;
    border-radius:999px;
    background:var(--green);
    transform:rotate(45deg);
    transform-origin:left center;
    animation:nicaSearchLensFloat 2.6s ease-in-out infinite;
  }

  .mobile-handoff-bot svg{
    width:23px !important;
    height:23px !important;
    max-width:23px !important;
    max-height:23px !important;
    stroke:var(--green) !important;
  }

  .mobile-handoff-bot .bot-eye,
  .mobile-handoff-bot .bot-antenna-dot{
    fill:var(--green) !important;
    stroke:var(--green) !important;
  }

  .mobile-report-bridge{
    padding:9px 10px;
    border-color:rgba(8,124,102,.24);
    background:linear-gradient(180deg,#2e9c80 0%, #22866d 100%);
    color:#fff;
    box-shadow:0 8px 18px rgba(8,124,102,.15);
  }

  .mobile-report-bridge-icon{
    width:32px;
    height:32px;
    flex:0 0 32px;
  }

  .mobile-report-bridge-bot{
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.22);
  }

  .mobile-report-bridge-bot svg{
    width:23px !important;
    height:23px !important;
    stroke:#ffffff !important;
  }

  .mobile-report-bridge-bot .bot-eye,
  .mobile-report-bridge-bot .bot-antenna-dot{
    fill:#ffffff !important;
    stroke:#ffffff !important;
  }

  .mobile-report-bridge-copy strong,
  .mobile-report-bridge-copy .nica-word{
    color:#ffffff !important;
  }

  .mobile-report-bridge-copy strong{
    font-size:clamp(10.9px,3.1vw,12.5px);
    line-height:1.16;
  }

  .mobile-report-bridge-copy small{
    background:rgba(255,255,255,.18);
    color:#ffffff;
  }
}

@media (max-width:359px){
  .mobile-nica .mobile-nica-video,
  .mobile-nica .mobile-nica-video video{
    width:96px !important;
    max-width:96px !important;
  }

  .mobile-nica-cta .nica-cta-bot{
    width:31px;
    height:31px;
    flex-basis:31px;
  }

  .mobile-nica-cta .nica-cta-bot svg{
    width:31px;
    height:31px;
  }

  .nica-analysis-bot{
    width:84px;
    height:84px;
  }

  .nica-analysis-video{
    width:126px;
    max-width:126px;
  }
}

/* ========================================
   V18 — layout refinement per feedback
======================================== */

@media (max-width:560px){
  /* NICA presentation: video off-center with source stack */
  .mobile-nica-media-row{
    width:100%;
    max-width:320px;
    margin:2px auto 10px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
  }

  .mobile-nica .mobile-nica-source-strip{
    flex:0 0 132px;
    max-width:132px;
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:7px;
  }

  .mobile-nica .mobile-nica-source-strip > span{
    width:100%;
    justify-content:flex-start;
    padding:6px 9px;
    font-size:9.4px;
    color:#edf8f4;
  }

  .mobile-nica .mobile-nica-source-strip .mobile-nica-source-more{
    justify-content:center;
    min-width:0;
    font-size:18px;
    color:#9fe8ce;
  }

  .mobile-nica .mobile-nica-video,
  .mobile-nica .mobile-nica-video video{
    width:94px !important;
    max-width:94px !important;
  }

  .mobile-nica .mobile-nica-video{
    margin:0 !important;
  }

  /* Handoff headline and robot */
  .mobile-handoff .mobile-handoff-nica-title,
  .mobile-handoff .mobile-handoff-human-title{
    line-height:1.01;
  }

  .mobile-handoff .sin-estres-word{
    color:var(--green);
    font-weight:950;
  }

  .mobile-handoff-bot{
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    margin-left:8px;
    vertical-align:-10px;
    background:transparent;
    border:none;
    box-shadow:none;
  }

  .mobile-handoff-bot-core{
    animation:nicaSearchBotFloat 3s ease-in-out infinite;
  }

  .mobile-handoff-bot svg{
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    stroke:var(--green) !important;
    filter:drop-shadow(0 4px 10px rgba(46,156,128,.18));
  }

  .mobile-handoff-bot::after{
    width:11px;
    height:11px;
    right:3px;
    bottom:7px;
    border-width:2px;
    box-shadow:0 0 0 2px rgba(255,255,255,.95);
  }

  .mobile-handoff-bot::before{
    width:7px;
    right:-1px;
    bottom:5px;
  }

  /* Report CTA: no framed robot, stronger accent, report hint */
  .mobile-report-bridge{
    align-items:center;
    gap:10px;
    padding:11px 12px;
    background:linear-gradient(180deg,#2f9f82 0%, #24866d 100%);
    border-color:rgba(18,105,90,.16);
    box-shadow:0 8px 18px rgba(8,124,102,.14);
  }

  .mobile-report-bridge-icon{
    width:30px;
    height:30px;
    flex:0 0 30px;
    background:transparent;
    border:none;
    border-radius:0;
  }

  .mobile-report-bridge-bot{
    background:transparent;
    border:none;
  }

  .mobile-report-bridge-bot svg{
    width:27px !important;
    height:27px !important;
    stroke:#f4fffb !important;
  }

  .mobile-report-bridge-copy{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:2px 8px;
    line-height:1.12;
  }

  .mobile-report-bridge-copy strong{
    display:block;
    width:100%;
    color:#eefcf6 !important;
  }

  .mobile-report-bridge-accent{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#d7fff0;
    font-size:12.2px;
    font-weight:920;
  }

  .mobile-report-bridge-accent .nica-word{
    color:#ffffff !important;
  }

  .mobile-report-icon{
    font-size:14px;
    line-height:1;
  }

  .mobile-report-bridge-copy small{
    margin-left:auto;
    background:rgba(255,255,255,.18);
    color:#fff;
  }

  /* NICA search screen */
  .nica-analysis-screen{
    text-align:center;
  }

  .nica-analysis-topbot{
    width:84px;
    height:84px;
    margin:0 auto 10px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:radial-gradient(circle at 50% 40%, rgba(111,224,186,.22), rgba(111,224,186,.05) 58%, transparent 59%);
    box-shadow:0 16px 34px rgba(0,0,0,.07), 0 0 0 12px rgba(111,224,186,.08);
    animation:nicaSearchBotFloat 3s ease-in-out infinite;
  }

  .nica-analysis-topbot svg{
    width:54px;
    height:54px;
    fill:none;
    stroke:#6fdcb7;
    stroke-width:2.35;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .nica-analysis-topbot .bot-eye,
  .nica-analysis-topbot .bot-antenna-dot{
    fill:#6fdcb7;
    stroke:#6fdcb7;
  }

  .nica-analysis-topbot .bot-eye-right{
    animation:nicaLandingBotWink 4.8s infinite;
  }

  .nica-analysis-hero{
    margin:0 auto 12px;
  }

  .nica-analysis-video{
    width:124px;
    max-width:124px;
  }

  .nica-analysis-sources{
    max-width:330px;
    gap:8px;
  }

  .nica-analysis-sources span{
    color:var(--navy-dark);
    background:#edf7f4;
    border:1px solid rgba(8,124,102,.14);
    box-shadow:0 4px 10px rgba(0,0,0,.03);
  }

  .nica-analysis-sources .source-icon{
    box-shadow:none;
  }

  .nica-analysis-source-more{
    min-width:28px;
    justify-content:center !important;
    color:var(--green) !important;
    font-size:16px !important;
    font-weight:900 !important;
  }
}

@media (max-width:359px){
  .mobile-nica-media-row{
    gap:9px;
    max-width:300px;
  }

  .mobile-nica .mobile-nica-source-strip{
    flex-basis:124px;
    max-width:124px;
  }

  .mobile-nica .mobile-nica-video,
  .mobile-nica .mobile-nica-video video{
    width:88px !important;
    max-width:88px !important;
  }

  .mobile-handoff-bot{
    width:44px !important;
    height:44px !important;
  }

  .mobile-report-bridge-accent{
    font-size:11.5px;
  }
}

/* ========================================
   V19 — final polish per latest feedback
======================================== */
@media (max-width:560px){
  /* NICA presentation: video a bit larger, moved left; sources plain on the right */
  .mobile-nica-media-row{
    max-width:326px;
    gap:14px;
    align-items:center;
    justify-content:center;
    flex-direction:row-reverse;
  }

  .mobile-nica .mobile-nica-video,
  .mobile-nica .mobile-nica-video video{
    width:108px !important;
    max-width:108px !important;
  }

  .mobile-nica .mobile-nica-source-strip{
    flex:0 0 144px;
    max-width:144px;
    gap:9px;
  }

  .mobile-nica .mobile-nica-source-strip > span{
    padding:1px 0 !important;
    min-height:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    justify-content:flex-start;
    color:#edf8f4;
    font-size:10px;
    font-weight:820;
  }

  .mobile-nica .mobile-nica-source-strip .source-icon{
    width:15px;
    height:15px;
    margin-right:1px;
  }

  .mobile-nica .mobile-nica-source-strip .mobile-nica-source-more{
    padding-left:20px !important;
    justify-content:flex-start !important;
  }

  /* Handoff robot bigger and more visible */
  .mobile-handoff-bot{
    width:58px !important;
    height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    margin-left:10px;
    vertical-align:-13px;
  }

  .mobile-handoff-bot svg{
    width:39px !important;
    height:39px !important;
    max-width:39px !important;
    max-height:39px !important;
    stroke-width:2.4;
  }

  .mobile-handoff-bot::after{
    width:14px;
    height:14px;
    right:1px;
    bottom:8px;
    border-width:2px;
  }

  .mobile-handoff-bot::before{
    width:10px;
    right:-4px;
    bottom:5px;
  }

  /* Report button cleaner hierarchy on two lines */
  .mobile-report-bridge{
    padding:12px 13px;
    gap:10px;
  }

  .mobile-report-bridge-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:4px;
    min-width:0;
    flex:1 1 auto;
  }

  .mobile-report-bridge-copy strong{
    width:auto !important;
    max-width:100%;
    font-size:clamp(11px,3.2vw,12.6px);
    line-height:1.14;
    color:#f4fffb !important;
  }

  .mobile-report-bridge-accent{
    display:flex;
    align-items:center;
    gap:6px;
    width:auto;
    max-width:100%;
    font-size:12px;
    line-height:1.14;
    color:#153d48;
    font-weight:950;
  }

  .mobile-report-bridge-accent .nica-word{
    color:#153d48 !important;
  }

  .mobile-report-icon{
    order:10;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    line-height:1;
    margin-left:1px;
  }

  .mobile-report-bridge-copy small{
    position:relative;
    align-self:center;
    margin-left:0;
  }

  /* Analysis screen: remove ugly white top gap */
  .nica-analysis-screen{
    min-height:auto !important;
    justify-content:flex-start !important;
    padding-top:10px !important;
  }

  .nica-analysis-topbot{
    margin:0 auto 8px;
  }
}

@media (max-width:359px){
  .mobile-nica-media-row{
    max-width:304px;
    gap:11px;
  }

  .mobile-nica .mobile-nica-video,
  .mobile-nica .mobile-nica-video video{
    width:98px !important;
    max-width:98px !important;
  }

  .mobile-nica .mobile-nica-source-strip{
    flex-basis:136px;
    max-width:136px;
  }

  .mobile-handoff-bot{
    width:52px !important;
    height:52px !important;
  }

  .mobile-handoff-bot svg{
    width:35px !important;
    height:35px !important;
  }

  .mobile-report-bridge-accent{
    font-size:11.3px;
  }
}

@media (max-width:560px){
  .mobile-report-bridge > small{
    margin-left:auto;
    align-self:center;
    background:rgba(255,255,255,.18);
    color:#ffffff;
    width:22px;
    height:22px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    line-height:1;
    flex:0 0 22px;
  }
}

/* ========================================
   V20 — report button icon sizing tweak
======================================== */
@media (max-width:560px){
  .mobile-report-bridge{
    gap:11px;
  }

  .mobile-report-bridge-icon{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
  }

  .mobile-report-bridge-bot svg{
    width:32px !important;
    height:32px !important;
  }

  .mobile-report-bridge-copy{
    gap:3px 8px;
  }

  .mobile-report-icon{
    font-size:16px !important;
    margin-left:2px;
  }
}

@media (max-width:359px){
  .mobile-report-bridge-icon{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
  }

  .mobile-report-bridge-bot svg{
    width:30px !important;
    height:30px !important;
  }

  .mobile-report-icon{
    font-size:15px !important;
  }
}
