:root{
  --rdv-navy:#0d1330;
  --rdv-navy-2:#171d44;
  --rdv-violet:#4b45b9;
  --rdv-violet-2:#2f2a77;
  --rdv-violet-soft:#ece8ff;
  --rdv-text:#101828;
  --rdv-muted:#667085;
  --rdv-line:rgba(16,24,40,.08);
  --rdv-bg:#ffffff;
  --rdv-soft:#f6f4ff;
  --rdv-card:#ffffff;
  --rdv-radius:24px;
  --rdv-shadow:0 18px 60px rgba(16,24,40,.08);
  --rdv-shadow-soft:0 10px 28px rgba(16,24,40,.06);
  --rdv-shadow-dark:0 18px 50px rgba(0,0,0,.18);
}

.rdv-home{
  background:var(--rdv-bg);
  color:var(--rdv-text);
}

.rdv-home .container{
  width:min(1240px, 92%);
  margin-inline:auto;
}

.rdv-home section[id]{
  scroll-margin-top:calc(var(--appbar-h, 64px) + 18px);
}

/* =========================
   HERO
========================= */

.hero-home{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(75,69,185,.22), transparent 28%),
    radial-gradient(circle at left bottom, rgba(255,255,255,.05), transparent 24%),
    linear-gradient(180deg, var(--rdv-navy) 0%, var(--rdv-navy-2) 100%);
  color:#fff;
  padding:clamp(54px, 7vw, 92px) 0;

}
.hero-home{
  padding-top:30px;
   padding-bottom:30px;
}

.hero-home::after{
  content:"";
  position:absolute;
  inset:auto -140px -140px auto;
  width:320px;
  height:320px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 72%);
  pointer-events:none;
}

.hero-home > .container{
  width:100%;
  max-width:none;
  padding-inline:clamp(16px, 3vw, 42px);
}

.hero-home__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.35rem;
  align-items:start;
  position:relative;
  z-index:1;
  width:100%;
}


.hero-home__panel{
  width:100%;
  max-width:none;
}

.hero-home__eyebrow,
.section-tag-home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.52rem .92rem;
  border-radius:999px;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.02em;
}

.hero-home__eyebrow{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  margin-bottom:1rem;
}

.hero-home__content{
  width:100%;
  max-width:none;
}

.hero-home__title{
  margin:0 0 1rem;
  width:100%;
  max-width:none;
  font-size:clamp(2.55rem, 5vw, 5.15rem);
  line-height:1.02;
  letter-spacing:-.05em;
}

.hero-home__lead{
  margin:0;
  width:100%;
  max-width:none;
  color:rgba(255,255,255,.84);
  font-size:clamp(1rem, 1.4vw, 1.14rem);
  line-height:1.8;
}

/* =========================
   HERO IMAGE SLIDER
========================= */

.hero-home__sector-spotlight{
  width:100%;
  margin:1.15rem 0 1.35rem;
}

.hero-home__sector-slider{
  position:relative;
  width:100%;
  height:clamp(190px, 26vw, 340px);
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.hero-home__sector-slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  visibility:hidden;
  transform:scale(1.015);
  transition:opacity .55s ease, visibility .55s ease, transform .55s ease;
}

.hero-home__sector-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
  z-index:2;
}

.hero-home__sector-link{
  display:block;
  width:100%;
  height:100%;
  cursor:pointer;
}

.hero-home__sector-link img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.hero-home__sector-link:focus-visible{
  outline:2px solid rgba(255,255,255,.75);
  outline-offset:-4px;
}

.hero-home__sector-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.22) 100%);
  pointer-events:none;
  z-index:3;
}

/* =========================
   HERO PANEL
========================= */

.hero-panel-home{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  backdrop-filter:blur(14px);
  box-shadow:var(--rdv-shadow-dark);
  padding:1.15rem;
}

.hero-panel-home__top{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  padding-bottom:.95rem;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.hero-panel-home__top--points span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:.45rem .8rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
}

.hero-panel-home__list{
  display:grid;
  gap:.9rem;
  padding-top:1rem;
}

.hero-panel-home__list--full{
  grid-template-columns:1fr;
}

.hero-panel-home__item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:.85rem;
  align-items:start;
  padding:.95rem;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}

.hero-panel-home__item i{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
  font-size:1rem;
}

.hero-panel-home__item h3{
  margin:0 0 .28rem;
  font-size:1rem;
  line-height:1.3;
}

.hero-panel-home__item p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:.95rem;
  line-height:1.6;
}

.hero-panel-home__bottom{
  width:100%;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:1rem;
}

/* =========================
   BUTTONS
========================= */

.rdv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:.92rem 1.25rem;
  border-radius:15px;
  font-weight:900;
  text-decoration:none;
  border:1px solid transparent;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    border-color .18s ease,
    color .18s ease;
}

.rdv-btn:hover{
  transform:translateY(-1px);
}

.rdv-btn--primary{
  background:linear-gradient(135deg, var(--rdv-violet), var(--rdv-violet-2));
  color:#fff;
  border:1px solid rgba(75,69,185,.92);
  box-shadow:
    0 14px 34px rgba(75,69,185,.24),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.rdv-btn--secondary{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.18);
}

.rdv-btn--secondary-dark{
  background:#fff;
  color:var(--rdv-text);
  border-color:rgba(255,255,255,.20);
}

.rdv-btn--secondary:hover,
.rdv-btn--secondary-dark:hover{
  box-shadow:var(--rdv-shadow-soft);
}

/* Buttons in hero panel: 50 / 50 */
.hero-panel-home__bottom .hero-home__actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.85rem;
  width:100%;
}

.hero-panel-home__bottom .hero-home__actions .rdv-btn{
  width:100%;
  min-width:0;
  justify-content:center;
}

/* =========================
   GENERIC SECTIONS
========================= */

.home-section{
  padding:clamp(74px, 8vw, 112px) 0;
}

.home-section--soft{
  background:linear-gradient(180deg, #fff 0%, var(--rdv-soft) 100%);
  border-top:1px solid rgba(16,24,40,.04);
  border-bottom:1px solid rgba(16,24,40,.04);
}

.home-section--dark,
.home-final-cta{
  background:linear-gradient(180deg, var(--rdv-navy) 0%, var(--rdv-navy-2) 100%);
  color:#fff;

}

.section-tag-home{
  background:var(--rdv-violet-soft);
  border:1px solid rgba(75,69,185,.14);
  color:var(--rdv-violet-2);
}

.section-tag-home--light{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
}

.section-head-home{
  text-align:center;
  max-width:920px;
  margin-inline:auto;
  margin-bottom:2.2rem;
}

.section-head-home h2,
.pricing-home__content h2,
.home-final-cta__wrap h2{
  margin:1rem 0 .8rem;
  font-size:clamp(2rem, 3.2vw, 3.35rem);
  line-height:1.08;
  letter-spacing:-.03em;
}

.section-head-home p,
.pricing-home__content p,
.home-final-cta__wrap p{
  margin:0;
  font-size:1.02rem;
  line-height:1.8;
}

.section-head-home p{
  color:var(--rdv-muted);
}

.section-head-home--light p,
.pricing-home__content p,
.home-final-cta__wrap p{
  color:rgba(255,255,255,.82);
}

/* =========================
   FEATURE GRID
========================= */

.feature-grid-home{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1rem;
}

.feature-card-home,
.journey-card-home,
.review-card-home,
.pricing-home__card,
.article-card-home,
.faq-item-home,
.platform-card-home{
  background:#fff;
  border:1px solid var(--rdv-line);
  border-radius:24px;
  box-shadow:var(--rdv-shadow-soft);
}

.feature-card-home{
  padding:1.25rem;
}

.feature-card-home__icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, var(--rdv-violet), var(--rdv-violet-2));
  color:#fff;
  font-size:1.1rem;
}

.feature-card-home h3,
.journey-card-home h3,
.platform-card-home h3{
  margin:1rem 0 .55rem;
  font-size:1.12rem;
  line-height:1.32;
}

.feature-card-home p,
.journey-card-home p,
.review-score-home p,
.review-card-home p,
.article-card-home__body p,
.faq-item-home__body p{
  margin:0;
  color:var(--rdv-muted);
  line-height:1.75;
}

/* =========================
   JOURNEY
========================= */

.journey-grid-home{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1rem;
}

.journey-card-home{
  padding:1.25rem;
}

.journey-card-home__step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  min-height:34px;
  padding:0 .8rem;
  border-radius:999px;
  background:var(--rdv-violet-soft);
  color:var(--rdv-violet-2);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.05em;
}

/* =========================
   PLATFORM
========================= */

.platform-grid-home{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1rem;
}

.platform-card-home{
  padding:1.35rem;
}

.platform-card-home ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.8rem;
}

.platform-card-home li{
  position:relative;
  padding-left:1.5rem;
  color:var(--rdv-text);
  line-height:1.7;
  font-weight:700;
}

.platform-card-home li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7rem;
  width:.55rem;
  height:.55rem;
  border-radius:999px;
  background:linear-gradient(135deg, var(--rdv-violet), var(--rdv-violet-2));
}

/* =========================
   TESTIMONIALS
========================= */

.testimonial-grid-home{
  display:grid;
  grid-template-columns:minmax(260px, .82fr) minmax(0, 1.18fr);
  gap:1rem;
  align-items:start;
}

.review-score-home{
  padding:1.45rem;
  text-align:center;
  border:1px solid var(--rdv-line);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--rdv-shadow-soft);
}

.review-score-home strong{
  display:block;
  font-size:3rem;
  line-height:1;
  letter-spacing:-.05em;
}

.review-score-home span{
  display:block;
  margin-top:.55rem;
  font-weight:900;
}

.review-score-home p{
  margin-top:.8rem;
}

.review-list-home{
  display:grid;
  gap:1rem;
}

.review-card-home{
  padding:1.15rem;
}

.review-card-home__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-bottom:.65rem;
}
/* =========================
   PRICING
========================= */

.home-pricing-block{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(75,69,185,.18), transparent 24%),
    linear-gradient(180deg, var(--rdv-navy) 0%, var(--rdv-navy-2) 100%);
}

.home-pricing-block::before{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width:300px;
  height:300px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 72%);
  pointer-events:none;
}

.home-pricing-block > .container{
  width:100%;
  max-width:none;
  padding-inline:clamp(16px, 3vw, 42px);
}

.pricing-home--clean,
.pricing-home--simple{
  width:100%;
  max-width:none;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  gap:1rem;
}

.pricing-home__title{
  margin:0;
  width:100%;
  max-width:none;
  font-size:clamp(1.95rem, 3vw, 2.9rem);
  line-height:1.08;
  letter-spacing:-.03em;
  color:#fff;
}

.pricing-home__intro{
  margin:0;
  width:100%;
  max-width:none;
  color:rgba(255,255,255,.82);
  font-size:1rem;
  line-height:1.75;
}

.pricing-home__price-line{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  gap:.55rem;
  flex-wrap:wrap;
  width:100%;
  max-width:none;
  margin-top:.15rem;
}

.pricing-home__amount{
  font-size:clamp(2.35rem, 5vw, 3.7rem);
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
  color:#fff;
}

.pricing-home__period{
  position:relative;
  top:-.12rem;
  color:rgba(255,255,255,.76);
  font-size:1rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.pricing-home__yearly{
  margin:0;
  width:100%;
  max-width:none;
  color:rgba(255,255,255,.72);
  font-size:.98rem;
  font-weight:800;
  line-height:1.6;
}

.pricing-home__actions--stack{
  display:grid;
  grid-template-columns:1fr;
  gap:.85rem;
  width:min(440px, 100%);
  margin-top:.25rem;
}

.pricing-home__actions--stack{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.85rem;
  width:min(560px, 100%);
  margin-top:.25rem;
}

.pricing-home__actions--stack .rdv-btn{
  width:100%;
  min-width:0;
  justify-content:center;
}

@media (max-width: 560px){
  .pricing-home__actions--stack{
    grid-template-columns:1fr;
    width:100%;
  }
}
/* =========================
   ARTICLES
========================= */

.article-grid-home{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1rem;
}

.article-card-home{
  overflow:hidden;
}

.article-card-home__media{
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--rdv-soft);
}

.article-card-home__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.article-card-home__placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  font-size:2rem;
  color:var(--rdv-violet-2);
}

.article-card-home__body{
  padding:1.12rem;
}

.article-card-home__meta{
  margin-bottom:.4rem;
  color:var(--rdv-violet-2);
  font-size:.82rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.article-card-home__body h3{
  margin:0 0 .55rem;
  font-size:1.12rem;
  line-height:1.32;
}

.article-card-home__body h3 a{
  color:inherit;
  text-decoration:none;
}

.article-card-home__body h3 a:hover{
  text-decoration:underline;
}

/* =========================
   FAQ
========================= */

.faq-list-home{
  max-width:960px;
  margin-inline:auto;
  display:grid;
  gap:.9rem;
}

.faq-item-home{
  overflow:hidden;
}

.faq-item-home summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:1.1rem 1.2rem;
  padding-right:3rem;
  font-weight:900;
}

.faq-item-home summary::-webkit-details-marker{
  display:none;
}

.faq-item-home summary::after{
  content:"+";
  position:absolute;
  right:1.2rem;
  top:50%;
  transform:translateY(-50%);
  font-size:1.3rem;
  color:var(--rdv-violet-2);
}

.faq-item-home[open] summary::after{
  content:"–";
}

.faq-item-home__body{
  padding:0 1.2rem 1.15rem;
}

/* =========================
   FINAL CTA
========================= */

.home-final-cta{
  padding:74px 0;
}

.home-final-cta__wrap{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1rem;
  align-items:center;
}

.home-final-cta__wrap h2{
  margin:1rem 0 .75rem;
}

.home-final-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1180px){
  .pricing-home,
  .home-final-cta__wrap,
  .testimonial-grid-home,
  .platform-grid-home{
    grid-template-columns:1fr;
  }

  .feature-grid-home{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .article-grid-home{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 860px){
  .hero-home__title{
    max-width:none;
  }

  .journey-grid-home{
    grid-template-columns:1fr;
  }

  .hero-home__sector-slider{
    height:220px;
    border-radius:18px;
  }
}

@media (max-width: 680px){
  .feature-grid-home,
  .article-grid-home,
  .platform-grid-home{
    grid-template-columns:1fr;
  }

  .pricing-home__actions,
  .home-final-cta__actions{
    flex-direction:column;
  }

  .rdv-btn,
  .pricing-home__card{
    width:100%;
  }

  .pricing-home__card{
    min-width:0;
  }
}

@media (max-width: 560px){
  .hero-panel-home__bottom .hero-home__actions{
    grid-template-columns:1fr;
  }

  .hero-home__sector-slider{
    height:200px;
  }

  .hero-home__title{
    font-size:clamp(2.15rem, 8.8vw, 3rem);
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-home__sector-slide{
    transition:none;
    transform:none;
  }

  .rdv-btn{
    transition:none;
  }
}




.home-pricing-block > .container{
  width:100%;
  max-width:none;
  padding-inline:clamp(16px, 3vw, 42px);
}

.pricing-home--simple{
  width:100%;
  max-width:none;
  margin:0;
  display:grid;
  grid-template-columns:minmax(0, 760px);
  justify-content:start;
}


.home-final-cta{
  position:relative;
  overflow:hidden;
  padding:clamp(74px, 8vw, 112px) 0;
  background:
    radial-gradient(circle at top right, rgba(75,69,185,.20), transparent 24%),
    linear-gradient(180deg, var(--rdv-navy) 0%, var(--rdv-navy-2) 100%);
  color:#fff;
}

.home-final-cta::before{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width:300px;
  height:300px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 72%);
  pointer-events:none;
}

.home-final-cta__wrap--simple{
  width:100%;
  max-width:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  gap:1rem;
}

.home-final-cta__wrap--simple h2{
  margin:0;
  width:100%;
  max-width:none;
  font-size:clamp(2.15rem, 4vw, 3.4rem);
  line-height:1.04;
  letter-spacing:-.04em;
  color:#fff;
}

.home-final-cta__wrap--simple p{
  margin:0;
  width:100%;
  max-width:none;
  color:rgba(255,255,255,.82);
  font-size:1.02rem;
  line-height:1.8;
}

.home-final-cta__actions--inline{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.85rem;
  width:min(560px, 100%);
  margin-top:.25rem;
}

.home-final-cta__actions--inline .rdv-btn{
  width:100%;
  min-width:0;
  justify-content:center;
}

@media (max-width: 560px){
  .home-final-cta__actions--inline{
    grid-template-columns:1fr;
    width:100%;
  }
}


.home-flow-showcase{
  display:grid;
  gap:1.2rem;
}

.home-flow-card{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:1rem;
  align-items:center;
  background:#fff;
  border:1px solid var(--rdv-line);
  border-radius:28px;
  box-shadow:var(--rdv-shadow-soft);
  overflow:hidden;
}

.home-flow-card--reverse{
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
}

.home-flow-card--reverse .home-flow-card__media{
  order:2;
}

.home-flow-card--reverse .home-flow-card__body{
  order:1;
}

.home-flow-card__media{
  min-height:100%;
  background:var(--rdv-soft);
}

.home-flow-card__media img{
  width:100%;
  height:100%;
  min-height:320px;
  display:block;
  object-fit:cover;
}

.home-flow-card__body{
  padding:1.5rem;
}

.home-flow-card__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:.45rem .8rem;
  border-radius:999px;
  background:var(--rdv-violet-soft);
  color:var(--rdv-violet-2);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.04em;
}

.home-flow-card__body h3{
  margin:1rem 0 .6rem;
  font-size:clamp(1.35rem, 2vw, 1.85rem);
  line-height:1.15;
  letter-spacing:-.02em;
}

.home-flow-card__body p{
  margin:0;
  color:var(--rdv-muted);
  line-height:1.75;
}

.home-flow-card__list{
  list-style:none;
  margin:1rem 0 0;
  padding:0;
  display:grid;
  gap:.7rem;
}

.home-flow-card__list li{
  position:relative;
  padding-left:1.35rem;
  color:var(--rdv-text);
  line-height:1.65;
  font-weight:700;
}

.home-flow-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72rem;
  width:.5rem;
  height:.5rem;
  border-radius:999px;
  background:linear-gradient(135deg, var(--rdv-violet), var(--rdv-violet-2));
}

@media (max-width: 980px){
  .home-flow-card,
  .home-flow-card--reverse{
    grid-template-columns:1fr;
  }

  .home-flow-card--reverse .home-flow-card__media,
  .home-flow-card--reverse .home-flow-card__body{
    order:initial;
  }

  .home-flow-card__media img{
    min-height:240px;
  }
}

.home-flow-showcase{
  display:grid;
  gap:1.2rem;
}

.home-flow-card{
  display:grid;
  grid-template-columns:minmax(260px, 380px) minmax(0, 1fr);
  gap:1.1rem;
  align-items:center;
  background:#fff;
  border:1px solid var(--rdv-line);
  border-radius:28px;
  box-shadow:var(--rdv-shadow-soft);
  overflow:hidden;
  padding:1rem;
}

.home-flow-card--reverse{
  grid-template-columns:minmax(0, 1fr) minmax(260px, 380px);
}

.home-flow-card--reverse .home-flow-card__media{
  order:2;
}

.home-flow-card--reverse .home-flow-card__body{
  order:1;
}

.home-flow-card__media{
  display:grid;
  place-items:center;
  min-height:100%;
  padding:1rem;
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(75,69,185,.10), transparent 30%),
    linear-gradient(180deg, #f8f7ff 0%, #f1efff 100%);
  overflow:hidden;
}

.home-flow-card__media picture{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
}

.home-flow-card__media picture img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:520px;
  display:block;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(16,24,40,.14);
  background:#fff;
}

.home-flow-card__body{
  padding:1rem 1rem 1rem .25rem;
}

.home-flow-card__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:.45rem .8rem;
  border-radius:999px;
  background:var(--rdv-violet-soft);
  color:var(--rdv-violet-2);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.04em;
}

.home-flow-card__body h3{
  margin:1rem 0 .6rem;
  font-size:clamp(1.35rem, 2vw, 1.85rem);
  line-height:1.15;
  letter-spacing:-.02em;
}

.home-flow-card__body p{
  margin:0;
  color:var(--rdv-muted);
  line-height:1.75;
}

.home-flow-card__list{
  list-style:none;
  margin:1rem 0 0;
  padding:0;
  display:grid;
  gap:.7rem;
}

.home-flow-card__list li{
  position:relative;
  padding-left:1.35rem;
  color:var(--rdv-text);
  line-height:1.65;
  font-weight:700;
}

.home-flow-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72rem;
  width:.5rem;
  height:.5rem;
  border-radius:999px;
  background:linear-gradient(135deg, var(--rdv-violet), var(--rdv-violet-2));
}

@media (max-width: 980px){
  .home-flow-card,
  .home-flow-card--reverse{
    grid-template-columns:1fr;
  }

  .home-flow-card--reverse .home-flow-card__media,
  .home-flow-card--reverse .home-flow-card__body{
    order:initial;
  }

  .home-flow-card__media{
    padding:1rem;
  }

  .home-flow-card__media picture img{
    max-height:460px;
  }

  .home-flow-card__body{
    padding:.25rem .25rem .5rem;
  }
}

@media (max-width: 560px){
  .home-flow-card{
    padding:.8rem;
    border-radius:22px;
  }

  .home-flow-card__media{
    padding:.75rem;
    border-radius:18px;
  }

  .home-flow-card__media picture img{
    max-height:380px;
    border-radius:14px;
  }
}

#home-rdvnow-does{
  background:
    radial-gradient(circle at top right, rgba(75,69,185,.16), transparent 28%),
    linear-gradient(180deg, var(--rdv-navy) 0%, var(--rdv-navy-2) 100%);
  color:#fff;
}

#home-rdvnow-does .section-head-home h2,
#home-rdvnow-does .section-head-home p{
  color:#fff;
}

#home-rdvnow-does .pricing-home__intro{
  color:rgba(255,255,255,.82);
}

#home-rdvnow-does .hero-home__panel{
  width:100%;
  max-width:none;
}

#home-rdvnow-does .hero-panel-home{
  width:100%;
  color:#fff;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--rdv-shadow-dark);
}

#home-rdvnow-does .hero-panel-home__item h3{
  color:#fff;
}


.review-card-home--brand{
  display:flex;
  flex-direction:column;
  gap:.95rem;
}

.review-card-home__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.review-card-home__brand{
  display:flex;
  align-items:center;
  gap:.9rem;
  min-width:0;
}

.review-card-home__logo,
.review-card-home__logo-fallback{
  width:52px;
  height:52px;
  border-radius:14px;
  flex:0 0 52px;
}

.review-card-home__logo{
  object-fit:cover;
  border:1px solid var(--rdv-line);
  background:#fff;
}

.review-card-home__logo-fallback{
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:1rem;
  color:#fff;
  background:linear-gradient(135deg, var(--rdv-violet), var(--rdv-violet-2));
}

.review-card-home__meta{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.review-card-home__company{
  font-size:1rem;
  line-height:1.25;
  color:var(--rdv-text);
}

.review-card-home__author{
  font-size:.88rem;
  line-height:1.4;
  color:var(--rdv-muted);
}

.review-card-home__rating{
  white-space:nowrap;
  font-weight:800;
  color:var(--rdv-violet);
}

.hero-home__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:1.35rem;
}

.hero-home__actions .rdv-btn{
  margin:0;
}

.hero-home__lead{
  margin-bottom:0;
}



.review-score-home--solo{
  max-width:420px;
  margin:0 auto;
  text-align:center;
}

.faq-contact-home{
  margin-top: 10px;
}

.faq-contact-home a{
  font-weight: 700;
  text-decoration: underline;
}

@media (max-width: 768px){
  .hero-home__sector-slider{
    box-shadow:0 10px 24px rgba(0,0,0,.14);
  }

  .hero-home__sector-slide{
    transition:none;
    transform:none;
  }

  .hero-panel-home{
    backdrop-filter:none;
    box-shadow:0 10px 24px rgba(0,0,0,.14);
  }
}

.review-score-home--solo{
  width:100%;
  max-width:none;
}

.review-logo-strip{
  position:relative;
  width:100%;
  margin-top:1.15rem;
}

.review-logo-strip__viewport{
  width:100%;
  overflow:hidden;
  padding:.15rem 0;
}



.review-logo-strip__track{
  display:flex;
  align-items:center;
  gap:1rem;
  width:max-content;
  animation:home-logo-strip-scroll 12s linear infinite;
}

.review-logo-strip__item{
  flex:0 0 auto;
  width:78px;
  height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--rdv-line);
  border-radius:999px;
  background:#fff;
  box-shadow:var(--rdv-shadow-soft);
  padding:.8rem;
  overflow:hidden;
}

.review-logo-strip__item img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}



.review-logo-strip__fade{
  position:absolute;
  top:0;
  bottom:0;
  width:42px;
  z-index:2;
  pointer-events:none;
}

.review-logo-strip__fade--left{
  left:0;
  background:linear-gradient(90deg, #fff 0%, rgba(255,255,255,0) 100%);
}

.review-logo-strip__fade--right{
  right:0;
  background:linear-gradient(270deg, #fff 0%, rgba(255,255,255,0) 100%);
}

.review-logo-strip:hover .review-logo-strip__track{
  animation-play-state:paused;
}

@keyframes home-logo-strip-scroll{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(calc(-50% - .5rem));
  }
}

@media (max-width: 680px){
  .review-logo-strip__item{
    width:64px;
    height:64px;
    padding:.65rem;
  }
}

@media (prefers-reduced-motion: reduce){
  .review-logo-strip__track{
    animation:none;
  }
}


/* =========================
   HOME DEMO — rebuilt
========================= */

#home-demo .home-demo-shell{
  display:grid;
  gap:1.15rem;
  padding:1.1rem;
  border:1px solid var(--rdv-line);
  border-radius:30px;
  background:#fff;
  box-shadow:var(--rdv-shadow-soft);
}

#home-demo .home-demo-shell__top{
  display:grid;
  gap:.75rem;
}

#home-demo .home-demo-card__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:34px;
  padding:.45rem .8rem;
  border-radius:999px;
  background:var(--rdv-violet-soft);
  color:var(--rdv-violet-2);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.04em;
}

#home-demo .home-demo-shell__top h3{
  margin:0;
  font-size:clamp(1.45rem, 2.2vw, 2.2rem);
  line-height:1.08;
  letter-spacing:-.03em;
  color:var(--rdv-text);
}

#home-demo .home-demo-shell__lead{
  margin:0;
  color:var(--rdv-muted);
  line-height:1.8;
}

#home-demo .home-demo-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1rem;
}

#home-demo .home-demo-option{
  display:grid;
  grid-template-columns:52px minmax(0, 1fr);
  column-gap:.9rem;
  row-gap:.8rem;
  align-items:start;
  min-width:0;
  height:100%;
  padding:1.1rem;
  border:1px solid var(--rdv-line);
  border-radius:22px;
  background:linear-gradient(180deg, #fff 0%, #faf9ff 100%);
  box-shadow:var(--rdv-shadow-soft);
}

#home-demo .home-demo-option__icon{
  grid-column:1;
  grid-row:1;
  width:52px;
  height:52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg, var(--rdv-violet), var(--rdv-violet-2));
  box-shadow:0 10px 24px rgba(75,69,185,.16);
}

#home-demo .home-demo-option h4{
  grid-column:2;
  grid-row:1;
  margin:0;
  align-self:center;
  font-size:1rem;
  line-height:1.25;
  color:var(--rdv-text);
}

#home-demo .home-demo-option p{
  grid-column:1 / -1;
  margin:0;
  color:var(--rdv-muted);
  line-height:1.7;
}

#home-demo .home-demo-option__action,
#home-demo .home-demo-option__link,
#home-demo .home-demo-option__qr{
  grid-column:1 / -1;
}

#home-demo .home-demo-option__action{
  width:100%;
  margin-top:auto;
}

#home-demo .home-demo-option__action .rdv-btn,
#home-demo .home-demo-option__action a.rdv-btn,
#home-demo .home-demo-option__action button.rdv-btn{
  width:100%;
  min-width:0;
  justify-content:center;
  text-align:center;
}

#home-demo .home-demo-option__link{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin-top:auto;
  padding:.95rem 1rem;
  border:1px solid var(--rdv-line);
  border-radius:16px;
  background:#f8f7ff;
  color:var(--rdv-violet-2);
  text-decoration:none;
  font-weight:800;
  line-height:1.6;
  overflow-wrap:anywhere;
  word-break:break-word;
}

#home-demo .home-demo-option__link:hover{
  text-decoration:none;
  box-shadow:var(--rdv-shadow-soft);
}

#home-demo .home-demo-option__qr{
  width:100%;
  margin-top:auto;
  padding:.5rem 0 0;
  border:0;
  background:transparent;
  box-sizing:border-box;
  display:flex;
  justify-content:center;
  align-items:center;
}

#home-demo .home-demo-option__qr img{
  width:96px;
  height:96px;
  object-fit:contain;
  display:block;
  padding:.45rem;
  border:1px solid var(--rdv-line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--rdv-shadow-soft);
}

#home-demo .home-demo-shell__note{
  padding:1rem 1.05rem;
  border-radius:20px;
  background:linear-gradient(180deg, #f8f7ff 0%, #f1efff 100%);
  border:1px solid rgba(75,69,185,.10);
  color:var(--rdv-text);
  line-height:1.75;
  font-weight:700;
}

@media (max-width: 980px){
  #home-demo .home-demo-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 560px){
  #home-demo .home-demo-shell{
    padding:.85rem;
    border-radius:24px;
  }

  #home-demo .home-demo-option{
  grid-template-columns:44px minmax(0, 1fr);
  padding:.95rem;
  border-radius:18px;
}

#home-demo .home-demo-option__icon{
  width:44px;
  height:44px;
  border-radius:14px;
}


}


/* =========================
   HOME DEMO — responsive fix
========================= */

#home-demo .home-demo-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  align-items:stretch;
}

#home-demo .home-demo-option{
  min-width:0;
}

#home-demo .home-demo-option__link,
#home-demo .home-demo-option__action,
#home-demo .home-demo-option__qr{
  width:100%;
}

#home-demo .home-demo-option__link{
  min-height:54px;
}

#home-demo .home-demo-option__action .rdv-btn,
#home-demo .home-demo-option__action a.rdv-btn,
#home-demo .home-demo-option__action button.rdv-btn{
  width:100%;
  min-height:54px;
}



/* grand laptop / tablette paysage */
@media (max-width: 1180px){
  #home-demo .home-demo-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  #home-demo .home-demo-shell{
    padding:1rem;
  }
}

/* tablette */
@media (max-width: 900px){
  #home-demo .home-demo-grid{
    grid-template-columns:1fr;
  }

  #home-demo .home-demo-option{
    grid-template-columns:48px minmax(0, 1fr);
    padding:1rem;
  }

  #home-demo .home-demo-option__icon{
    width:48px;
    height:48px;
    border-radius:14px;
  }


}

/* mobile */
@media (max-width: 560px){
  #home-demo .home-demo-shell{
    padding:.85rem;
    border-radius:24px;
  }

  #home-demo .home-demo-option{
    grid-template-columns:44px minmax(0, 1fr);
    padding:.95rem;
    border-radius:18px;
  }

  #home-demo .home-demo-option__icon{
    width:44px;
    height:44px;
    border-radius:14px;
  }

  #home-demo .home-demo-option__qr img{
  width:80px;
  height:80px;
}
}


/* HOME DEMO — QR final fix */
#home-demo .home-demo-option__qr{
  grid-column:1 / -1;
  width:100%;
  margin-top:auto;
  padding:.45rem 0 0;
  border:0;
  background:transparent;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  box-sizing:border-box;
}

#home-demo .home-demo-option__qr img{
  width:112px;
  height:112px;
  display:block;
  object-fit:contain;
  padding:.5rem;
  border:1px solid var(--rdv-line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--rdv-shadow-soft);
}

@media (max-width: 560px){
  #home-demo .home-demo-option__qr img{
    width:88px;
    height:88px;
  }
}
