:root{
  --ink:#111111;
  --ink-soft:#55524c;
  --white:#ffffff;
  --off:#faf9f7;
  --gold:#b8925a;
  --gold-dark:#96703f;
  --gold-pale:#f3e9da;
  --line:rgba(17,17,17,0.09);
  --shadow:0 4px 30px rgba(17,17,17,0.05);
  --radius:20px;
  --maxw:1280px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Manrope', sans-serif;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-0.01em;
}
sup{font-size:0.55em;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
a{color:inherit; text-decoration:none;}
ul,ol{list-style:none;}
img{max-width:100%; display:block;}

/* ---------- NAV ---------- */
.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav__inner{display:flex; align-items:center; justify-content:space-between; height:84px; gap:20px; padding-right:160px;}
.logo{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:800; font-size:26px; letter-spacing:0.04em; transition:opacity .2s ease; flex-shrink:0;
}
.logo:hover{opacity:0.75;}
.logo sup{color:var(--gold);}
.logo__mark{height:1.4em; width:auto; align-self:center; margin-right:1px;}
.logo__suffix{
  font-size:13px; font-weight:600; letter-spacing:0.03em; color:var(--ink-soft);
  margin-left:-4px; align-self:flex-end; padding-bottom:4px;
}
.nav__links{display:flex; align-items:center; gap:24px; flex-wrap:nowrap;}
.nav__links a{
  font-size:14px; font-weight:500; color:var(--ink-soft); transition:color .2s; position:relative;
  padding-bottom:4px; white-space:nowrap;
}
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--gold);
  transition:width .25s ease;
}
.nav__links a:hover{color:var(--ink);}
.nav__links a:hover::after, .nav__links a.is-active::after{width:100%;}
.nav__links a.is-active{color:var(--ink);}
.nav__links .nav__mobile-cta{display:none;}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; flex-shrink:0;}
.burger span{width:22px; height:1.5px; background:var(--ink);}

/* ---------- FLOATING BOOKING BUBBLE ---------- */
.nav-bubble{
  position:fixed; top:16px; right:24px; z-index:200;
  padding:10px 20px; font-size:13px; box-shadow:0 8px 20px -6px rgba(17,17,17,0.35);
}
.nav-bubble:hover{transform:translateY(-2px) scale(1.03);}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 28px; border-radius:999px; font-weight:600; font-size:14.5px;
  transition:opacity .2s ease, background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  white-space:nowrap; border:1.5px solid transparent;
}
.btn--primary{background:var(--ink); color:var(--white);}
.btn--primary:hover{opacity:0.9; transform:translateY(-2px); box-shadow:0 10px 24px -8px rgba(17,17,17,0.35);}
.btn--secondary{border-color:var(--gold); color:var(--ink); background:var(--white);}
.btn--secondary:hover{background:var(--gold-pale); transform:translateY(-2px); box-shadow:0 10px 20px -10px rgba(184,146,90,0.4);}
.btn:active{transform:translateY(0); box-shadow:none;}
.btn--block{width:100%; margin-top:24px;}
.btn--sm{padding:10px 20px; font-size:13.5px;}

/* ---------- HERO ---------- */
/* Fond encre immersif (pas un simple filet qui défile) : halo doré, grille
   pointillée, et une vraie courbe de croissance dessinée en arrière-plan —
   le motif visuel évoque directement le "pilotage" sans être une simple
   décoration. Fraunces (serif éditorial) sur le H1 uniquement, pour un
   contraste de caractère avec Manrope, sans devenir le système par défaut. */
.hero{padding:104px 0 88px; position:relative; overflow:hidden; background:#14110d; color:#f5f1ea;}
.hero__bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(900px 560px at 16% -10%, rgba(184,146,90,0.32), transparent 62%),
    radial-gradient(640px 640px at 97% 28%, rgba(184,146,90,0.15), transparent 65%),
    linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size:auto, auto, 44px 44px, 44px 44px;
  animation:heroDrift 20s ease-in-out infinite alternate;
}
@keyframes heroDrift{
  0%{transform:scale(1) translateY(0);}
  100%{transform:scale(1.07) translateY(-16px);}
}
@keyframes bgDrift{
  0%{transform:scale(1) translate(0,0);}
  100%{transform:scale(1.04) translate(-8px,6px);}
}
.hero__chart{position:absolute; left:0; right:0; bottom:-4%; width:100%; height:58%; z-index:0; pointer-events:none;}
.hero__chart-grid{stroke:rgba(255,255,255,0.055); stroke-width:1;}
.hero__chart-line{
  fill:none; stroke:var(--gold); stroke-width:2.5px; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:2600; stroke-dashoffset:2600; opacity:.85;
  animation:drawChart 2.3s .3s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes drawChart{ to{ stroke-dashoffset:0; } }
.hero__chart-dot{
  fill:var(--gold); r:0; opacity:0;
  animation:dotPop .5s 2.15s cubic-bezier(.2,1.4,.4,1) forwards;
}
@keyframes dotPop{ 0%{r:0; opacity:0;} 100%{r:5; opacity:1;} }
.hero__chart-ring{
  fill:none; stroke:var(--gold); stroke-width:1.5px; r:5; opacity:0;
  animation:ringPulse 2.6s 2.6s ease-out infinite;
}
@keyframes ringPulse{
  0%{r:5; opacity:.7;}
  100%{r:24; opacity:0;}
}
.hero > .wrap{position:relative; z-index:1;}
.hero__inner{max-width:720px; margin:0 auto; text-align:center; position:relative; z-index:1;}
.eyebrow{
  color:var(--gold-dark); font-weight:700; font-size:12.5px; letter-spacing:0.14em;
  text-transform:uppercase; margin-bottom:22px;
}
.hero .eyebrow{color:var(--gold);}
.hero h1{
  font-family:'Fraunces', Georgia, serif; font-weight:600; font-size:clamp(38px,5.6vw,72px);
  line-height:1.05; letter-spacing:-0.01em; text-wrap:balance; color:#faf7f2;
}
.hero .accent{color:var(--gold); font-style:italic;}
.hero__lead{margin:26px auto 0; font-size:17.5px; color:rgba(245,241,234,0.72); max-width:540px; position:relative; z-index:1; line-height:1.65;}
.hero__inner .btn{margin-top:40px;}
.hero__ctas{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.hero .btn--primary{background:var(--gold); color:#1a1408;}
.hero .btn--primary:hover{opacity:1; background:#c9a066; box-shadow:0 14px 30px -10px rgba(184,146,90,0.55);}
.hero__cta-secondary{
  margin-top:40px; font-family:'Manrope', sans-serif; font-weight:700; font-size:14px;
  color:rgba(245,241,234,0.72); border-bottom:1px solid transparent; transition:color .2s ease, border-color .2s ease;
}
.hero__cta-secondary:hover{color:var(--gold); border-color:var(--gold);}

/* Portrait humain à côté du texte plutôt qu'un hero centré-texte-seul — le
   positionnement "un accompagnement humain, pas un logiciel de plus" a
   besoin d'un visage, pas juste d'une promesse écrite. */
.hero__layout{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;
  position:relative; z-index:1;
}
.hero__layout .hero__inner{max-width:none; margin:0; text-align:left;}
.hero__layout .hero__lead{margin:26px 0 0; max-width:480px;}
.hero__media{
  position:relative; border-radius:24px; overflow:hidden; aspect-ratio:4/5;
  box-shadow:0 44px 84px -30px rgba(0,0,0,0.65);
  border:1px solid rgba(255,255,255,0.08);
}
.hero__media img{width:100%; height:100%; object-fit:cover; display:block;}
.hero__badge{
  position:absolute; left:18px; bottom:18px; z-index:1;
  background:rgba(20,17,13,0.88); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:14px; padding:12px 16px;
  box-shadow:0 14px 32px -14px rgba(0,0,0,0.6);
  display:flex; flex-direction:column; gap:2px;
}
.hero__badge-kicker{font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; color:var(--gold);}
.hero__badge-main{font-size:14.5px; font-weight:800; color:#f5f1ea; letter-spacing:-0.005em;}

/* ---------- FORK (conseiller / agence) ---------- */
.fork__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:760px; margin:56px auto 0;
  position:relative; z-index:1;
}
.fork__card{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:4px;
  background:var(--white); border:1px solid var(--line); border-radius:16px;
  padding:22px 24px;
  transition:border-color .25s ease, transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}
.fork__card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gold);
  transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.fork__card:hover::before{transform:scaleX(1);}
.fork__link{position:absolute; inset:0; border-radius:16px; z-index:1;}
.fork__card:hover{border-color:var(--gold); transform:translateY(-6px) scale(1.015); box-shadow:0 22px 42px -20px rgba(17,17,17,0.2);}
.fork__label{font-weight:700; font-size:15px;}
.fork__desc{font-size:13px; color:var(--ink-soft);}
.fork__cta{margin-top:8px; font-size:12.5px; font-weight:700; color:var(--gold-dark);}


/* ---------- SECTION SHARED ---------- */
.section-kicker{
  text-align:center; text-transform:uppercase; letter-spacing:0.14em; font-size:12.5px;
  font-weight:700; color:var(--gold-dark); margin-bottom:14px;
}
.section-title{text-align:center; font-size:clamp(24px,3vw,32px); max-width:680px; margin:0 auto 20px;}
.section-subtitle{text-align:center; color:var(--ink-soft); max-width:560px; margin:0 auto 50px; font-size:15.5px;}

/* ---------- PROMESSE ---------- */
.promesse{padding:60px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.promesse__text{
  text-align:center; max-width:760px; margin:0 auto; font-size:clamp(19px,2.4vw,25px);
  font-weight:500; color:var(--ink); line-height:1.5;
}
.promesse__text strong{color:var(--gold-dark);}
.promesse__sub{
  text-align:center; max-width:640px; margin:18px auto 0; font-size:15px;
  color:var(--ink-soft); line-height:1.6;
}
.promesse__stats{
  display:flex; justify-content:center; flex-wrap:wrap; gap:40px 56px;
  max-width:640px; margin:36px auto 0;
}
.promesse__stat{text-align:center;}
.promesse__stat strong{
  display:block; font-family:'Fraunces', Georgia, serif; font-size:clamp(30px,4vw,40px);
  font-weight:700; color:var(--gold-dark); line-height:1.1;
}
.promesse__stat span{
  display:block; margin-top:4px; font-size:12.5px; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft);
}

/* ---------- PARCOURS CLIENT / TIMELINE ---------- */
.parcours-client{padding:90px 0; background:var(--off);}
.timeline{max-width:520px; margin:50px auto 0; position:relative;}
.timeline::before{
  content:""; position:absolute; left:19px; top:6px; bottom:6px; width:1.5px; background:var(--gold);
}
.timeline li{display:flex; align-items:center; gap:20px; padding:13px 0; position:relative;}
.timeline__num{
  width:38px; height:38px; border-radius:50%; background:var(--white); border:1.5px solid var(--gold);
  color:var(--gold-dark); font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; z-index:1;
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.timeline li:hover .timeline__num{background:var(--gold); color:var(--white); transform:scale(1.1);}
.timeline__label{font-size:15px; color:var(--ink-soft); font-weight:500; transition:color .25s ease;}
.timeline li:hover .timeline__label{color:var(--ink);}
.timeline li.reveal.in .timeline__num{animation:numPop .5s ease-out backwards;}
@keyframes numPop{
  0%{transform:scale(.6); opacity:0;}
  60%{transform:scale(1.18); opacity:1;}
  100%{transform:scale(1);}
}
.timeline li:nth-child(1){transition-delay:0s;}
.timeline li:nth-child(1) .timeline__num{animation-delay:.1s;}
.timeline li:nth-child(2){transition-delay:.05s;}
.timeline li:nth-child(2) .timeline__num{animation-delay:.15s;}
.timeline li:nth-child(3){transition-delay:.1s;}
.timeline li:nth-child(3) .timeline__num{animation-delay:.2s;}
.timeline li:nth-child(4){transition-delay:.15s;}
.timeline li:nth-child(4) .timeline__num{animation-delay:.25s;}
.timeline li:nth-child(5){transition-delay:.2s;}
.timeline li:nth-child(5) .timeline__num{animation-delay:.3s;}
.timeline li:nth-child(6){transition-delay:.25s;}
.timeline li:nth-child(6) .timeline__num{animation-delay:.35s;}

/* ---------- DIAGNOSTIC ---------- */
.diagnostic-section{padding:90px 0;}
.diagnostic-layout{display:grid; grid-template-columns:0.75fr 1.25fr; gap:40px; align-items:center; max-width:1040px; margin:0 auto;}
.diagnostic-layout__media{border-radius:24px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/5;}
.diagnostic-layout__media img{width:100%; height:100%; object-fit:cover; display:block;}
.diagnostic-layout .diagnostic{max-width:none; margin:0;}
.diagnostic{
  max-width:760px; margin:0 auto; background:var(--white); border:1px solid var(--line);
  border-radius:24px; padding:44px; box-shadow:var(--shadow);
}
.diagnostic.reveal{transition:opacity .6s ease, transform .3s ease, box-shadow .3s ease;}
.diagnostic.reveal:hover{transform:translateY(-4px); box-shadow:0 20px 44px -20px rgba(17,17,17,0.18);}
.diagnostic__grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:40px;}
.diagnostic__cta-secondary{
  display:block; text-align:center; margin-top:16px; font-family:'Manrope', sans-serif; font-weight:700;
  font-size:13.5px; color:var(--ink-soft); border-bottom:1px solid transparent; transition:color .2s ease, border-color .2s ease;
}
.diagnostic__cta-secondary:hover{color:var(--gold-dark); border-color:var(--gold-dark);}
.price{font-weight:800; font-size:34px; color:var(--ink);}
.price span{font-size:34px;}
.price-sub{color:var(--gold-dark); font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:0.05em; margin-top:8px;}
.checklist li{
  position:relative; padding-left:24px; margin-bottom:12px; font-size:14.5px; color:var(--ink-soft);
}
.checklist li::before{
  content:""; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%; background:var(--gold);
}
.checklist--highlight{color:var(--gold-dark); font-weight:700;}
.callouts{
  display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:36px; padding-top:32px;
  border-top:1px solid var(--line);
}
.guarantee{
  display:flex; gap:14px; align-items:flex-start; color:var(--gold-dark);
  background:var(--gold-pale); border-radius:18px; padding:20px;
}
.guarantee strong{color:var(--ink); font-size:14.5px; display:block; margin-bottom:4px;}
.guarantee p{color:var(--ink-soft); font-size:13.5px;}

/* ---------- SANS ENGAGEMENT (à la carte) ---------- */
.a-la-carte{padding:90px 0; background:var(--off);}
.a-la-carte__panel{
  margin:50px auto 0; max-width:820px; padding:44px 46px;
  background:var(--white); border:1px solid var(--line); border-radius:28px;
  box-shadow:0 4px 24px rgba(17,17,17,0.05);
}
.a-la-carte__durations{display:grid; grid-template-columns:1fr 1fr; margin:24px 0 32px;}
.a-la-carte__duration{padding:0 30px;}
.a-la-carte__duration:first-child{padding-left:0;}
.a-la-carte__duration:last-child{padding-right:0;}
.a-la-carte__duration + .a-la-carte__duration{border-left:1px solid var(--line);}
.a-la-carte__duration h3{font-size:16px; font-weight:700; color:var(--ink);}
.a-la-carte__duration h3 span{display:block; font-weight:500; font-size:13px; color:var(--ink-soft); margin-top:2px;}
.a-la-carte__duration .checklist{margin-top:14px;}
@media (max-width:720px){
  .a-la-carte__durations{grid-template-columns:1fr; gap:28px;}
  .a-la-carte__duration{padding:0;}
  .a-la-carte__duration + .a-la-carte__duration{border-left:none; border-top:1px solid var(--line); padding-top:24px;}
}

/* ---------- ACCOMPAGNEMENTS ---------- */
.accompagnements{padding:90px 0;}
.shared{text-align:center; color:var(--ink-soft); font-size:14px; max-width:680px; margin:0 auto 12px;}
.shared--note{font-size:12.5px; color:var(--gold-dark); margin-bottom:50px;}
.founding-offer{
  display:flex; flex-direction:column; gap:6px; align-items:center; text-align:center;
  max-width:600px; margin:44px auto 0; padding:22px 28px;
  background:var(--gold-pale); border:1px solid rgba(184,146,90,0.35); border-radius:18px;
}
.founding-offer strong{font-size:14.5px; color:var(--gold-dark);}
.founding-offer p{font-size:13.5px; color:var(--ink-soft); line-height:1.6;}
.availability-badge{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:fit-content; margin:32px auto 0; padding:8px 18px;
  background:var(--gold-pale); border:1px solid rgba(184,146,90,0.35); border-radius:999px;
  font-size:13px; font-weight:600; color:var(--gold-dark);
}
.availability-badge__dot{
  width:7px; height:7px; border-radius:50%; background:var(--gold); flex-shrink:0;
  animation:availabilityPulse 2.4s ease-in-out infinite;
}
@keyframes availabilityPulse{
  0%, 100%{opacity:1; transform:scale(1);}
  50%{opacity:.45; transform:scale(0.8);}
}
.duration-selector{
  display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:14px;
}
.duration-selector__btn{
  font-family:inherit; font-size:14px; font-weight:600; color:var(--ink-soft);
  background:var(--white); border:1.5px solid var(--line); border-radius:999px;
  padding:10px 20px; cursor:pointer; transition:border-color .2s ease, color .2s ease, background .2s ease;
  display:inline-flex; align-items:center; gap:6px;
}
.duration-selector__btn:hover{border-color:var(--gold);}
.duration-selector__btn.is-active{
  background:var(--ink); border-color:var(--ink); color:var(--white);
}
.duration-selector__save{
  font-size:11px; font-weight:700; color:var(--gold-dark); background:var(--gold-pale);
  border-radius:999px; padding:2px 7px;
}
.duration-selector__btn.is-active .duration-selector__save{color:var(--ink); background:var(--gold);}
.duration-selector__note{
  text-align:center; font-size:13px; color:var(--ink-soft); margin-bottom:40px;
}
.duration-selector__engagement{
  text-align:center; font-size:13px; color:var(--ink-soft); margin-top:32px;
}
.pricing{display:grid; grid-template-columns:repeat(3,1fr); gap:32px; align-items:stretch;}
.plan{
  background:var(--white); border:1px solid var(--line); border-radius:24px;
  padding:34px; display:flex; flex-direction:column; position:relative;
}
.plan.reveal{transition:opacity .6s ease, transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.plan.reveal:hover{transform:translateY(-8px); box-shadow:0 24px 44px -22px rgba(17,17,17,0.2); border-color:rgba(17,17,17,0.16);}
.plan--featured{border:2px solid var(--gold); animation:planGlow 4s ease-in-out infinite alternate;}
.plan--featured.reveal:hover{transform:translateY(-8px) scale(1.015); box-shadow:0 24px 50px -20px rgba(184,146,90,0.35);}
@keyframes planGlow{
  0%{box-shadow:0 0 0 rgba(184,146,90,0);}
  100%{box-shadow:0 0 32px -6px rgba(184,146,90,0.45);}
}
.pricing .plan:nth-child(1){transition-delay:0s;}
.pricing .plan:nth-child(2){transition-delay:.08s;}
.pricing .plan:nth-child(3){transition-delay:.16s;}
.plan__ribbon{
  position:absolute; top:-13px; right:24px; background:var(--gold); color:var(--white);
  font-size:11px; font-weight:700; letter-spacing:0.04em;
  padding:6px 14px; border-radius:999px;
}
.plan__tag{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--gold-dark); margin-bottom:12px; display:block;}
.plan h3{font-size:21px; margin-bottom:10px;}
.plan__price{font-weight:800; font-size:28px; margin-bottom:4px;}
.plan__price span{font-size:28px;}
.plan__price-total{font-size:13px; color:var(--ink-soft); margin-bottom:14px;}
.plan__price-desc{font-size:14px; color:var(--ink-soft); line-height:1.5; margin-bottom:20px;}
.plan .checklist{flex-grow:1;}
.price-cta-badge{
  display:inline-block; color:var(--gold-dark); background:var(--gold-pale);
  border-radius:999px; padding:6px 14px; font-weight:700; font-size:12px;
  letter-spacing:0.03em; text-transform:uppercase; margin-bottom:14px;
}

/* ---------- AGENCES ---------- */
.agences{padding:90px 0; background:var(--ink); color:var(--white); position:relative; overflow:hidden;}
.agences::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(560px 360px at 12% 0%, rgba(184,146,90,0.16), transparent 70%),
    radial-gradient(480px 420px at 92% 90%, rgba(184,146,90,0.10), transparent 70%),
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:auto, auto, 56px 56px, 56px 56px;
  -webkit-mask-image:radial-gradient(75% 70% at 50% 35%, #000 40%, transparent 100%);
  mask-image:radial-gradient(75% 70% at 50% 35%, #000 40%, transparent 100%);
  animation:heroDrift 18s ease-in-out infinite alternate;
}
.agences > .wrap{position:relative; z-index:1;}
.agences .section-kicker{color:var(--gold);}
.agences .section-title{color:var(--white);}
.agences .section-subtitle{color:#c9c5bd;}
.agences .shared{color:#c9c5bd;}
.agences .shared--note{color:var(--gold); font-style:normal;}
.agences .checklist li{color:#c9c5bd;}
.agences .checklist li::before{background:var(--gold);}
.agences .checklist--highlight{color:var(--gold);}
/* align-items:start (pas stretch, la valeur par défaut d'une grid) — les 3
   offres n'ont pas le même volume de contenu (Diagnostic Performance est
   volontairement plus détaillé) ; en stretch, les cartes plus courtes
   héritent de la hauteur de la plus grande, laissant un vide sous leur
   bouton "Nous contacter" plutôt que de garder leur hauteur naturelle. */
.agences__photos{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:50px;}
.agences__photo{border-radius:22px; overflow:hidden; aspect-ratio:3/2; box-shadow:0 24px 48px -22px rgba(0,0,0,0.55);}
.agences__photo img{width:100%; height:100%; object-fit:cover; display:block;}
.agences__grid{display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:36px; align-items:start;}
/* Diagnostic Performance sorti de la grille — c'est le point d'entrée le
   plus simple pour un directeur d'agence (prix fixe, un seul livrable,
   aucun engagement), il mérite sa propre place plutôt que d'être noyé comme
   1 carte parmi 3. Même logique que .pioneer-banner sur le site Ilotis. */
.diagnostic-feature{
  position:relative; margin-top:50px; background:#1a1a1a; border:2px solid var(--gold);
  border-radius:28px; padding:44px; display:grid; grid-template-columns:0.85fr 1.15fr; gap:44px;
}
.diagnostic-feature__eyebrow{color:var(--gold); font-weight:700; font-size:12.5px; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:10px;}
.diagnostic-feature h3{font-size:24px; color:var(--white); margin-bottom:14px;}
.diagnostic-feature .plan__price{color:var(--white);}
.diagnostic-feature__timeline{color:var(--gold); font-weight:600; font-size:13px; margin-top:12px;}
.diagnostic-feature__label{color:#c9c5bd; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; margin:0 0 10px;}
.diagnostic-feature__details .checklist{margin-bottom:20px;}
.diagnostic-feature__details .checklist:last-child{margin-bottom:0;}
.diagnostic-feature__details .checklist li{color:#c9c5bd;}
.diagnostic-feature__details .checklist li::before{background:var(--gold);}
.diagnostic-feature__details .checklist--highlight{color:var(--gold);}
.agence-card{
  background:#1a1a1a; border:1px solid rgba(255,255,255,0.1); border-radius:24px; padding:34px;
  position:relative;
}
/* Diagnostic Performance = point d'entrée le plus simple pour un directeur
   (prix fixe, un seul livrable, aucun engagement 3 mois) — mis en avant par
   rapport aux 2 autres offres agence, même traitement "ruban" que l'offre
   phare des accompagnements individuels. */
.agence-card--featured{border:2px solid var(--gold);}
.agence-card__ribbon{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--gold); color:#17130a; font-family:'Manrope', sans-serif;
  font-size:11px; font-weight:700; letter-spacing:0.04em;
  padding:6px 14px; border-radius:999px; white-space:nowrap;
}
.agence-card.reveal{transition:opacity .6s ease, transform .3s ease, border-color .3s ease;}
.agence-card.reveal:hover{transform:translateY(-6px); border-color:rgba(184,146,90,0.5);}
.agences__grid .agence-card:nth-child(1){transition-delay:0s;}
.agences__grid .agence-card:nth-child(2){transition-delay:.1s;}
.agences__grid .agence-card:nth-child(3){transition-delay:.2s;}
.agence-card h3{font-size:20px; margin-bottom:16px; color:var(--white);}
.agence-card .plan__price{color:var(--white);}
.agence-card .price-sub{margin-bottom:20px; display:block;}
.agence-card .checklist li{color:#c9c5bd;}
.agence-card .checklist li::before{background:var(--gold);}
.agence-card .checklist li.checklist--highlight{color:var(--gold); font-weight:700;}
.agence-card .btn--secondary{border-color:var(--gold); color:var(--white); background:transparent;}
.agence-card .btn--secondary:hover{background:var(--gold); color:var(--ink);}

/* ---------- À PROPOS ---------- */
.apropos{padding:90px 0;}
.apropos__inner{max-width:640px; margin:0 auto; text-align:center;}
.apropos__bio{color:var(--ink-soft); font-size:16px; margin-bottom:36px;}
.apropos__quote{font-size:clamp(20px,2.6vw,26px); font-weight:700; color:var(--ink); line-height:1.4;}

/* ---------- POURQUOI YLEVIO — HERO ---------- */
.why-hero{padding:110px 0 20px; text-align:center;}
.why-hero h1{font-size:clamp(26px,3.8vw,44px); max-width:760px; margin:14px auto 0; line-height:1.25;}
.why-hero__lead{color:var(--ink-soft); font-size:17px; margin-top:20px;}
.why-hero__media{
  max-width:920px; margin:44px auto 0; border-radius:24px; overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(17,17,17,0.35); aspect-ratio:16/9;
}
.why-hero__media img{width:100%; height:100%; object-fit:cover; display:block;}

/* ---------- POURQUOI YLEVIO — INTRO ---------- */
.why-intro{padding:50px 0 90px;}
.why-intro .wrap{max-width:660px;}
.why-intro p{color:var(--ink-soft); font-size:17px; margin-bottom:18px;}
.why-intro__punch{color:var(--ink); font-weight:600; font-size:19px;}

/* ---------- 7 DÉFIS ---------- */
.challenges{padding:90px 0; background:var(--off);}
.challenges__list{max-width:760px; margin:50px auto 0; display:flex; flex-direction:column; gap:0;}
.challenge{display:flex; gap:26px; padding:28px 4px; border-bottom:1px solid var(--line);}
.challenge:first-child{padding-top:0;}
.challenge:last-child{border-bottom:none; padding-bottom:0;}
.challenge__num{
  font-weight:800; font-size:22px; color:var(--gold); flex-shrink:0; width:44px;
  font-variant-numeric:tabular-nums;
}
.challenge h3{font-size:17.5px; margin-bottom:8px;}
.challenge p{color:var(--ink-soft); font-size:14.5px;}
.challenges__list .challenge:nth-child(1){transition-delay:0s;}
.challenges__list .challenge:nth-child(2){transition-delay:.04s;}
.challenges__list .challenge:nth-child(3){transition-delay:.08s;}
.challenges__list .challenge:nth-child(4){transition-delay:.12s;}
.challenges__list .challenge:nth-child(5){transition-delay:.16s;}
.challenges__list .challenge:nth-child(6){transition-delay:.2s;}
.challenges__list .challenge:nth-child(7){transition-delay:.24s;}

/* ---------- CE QUI FAIT LA DIFFÉRENCE ---------- */
.difference{padding:90px 0;}
.difference__layout{display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:center; max-width:1080px; margin:0 auto;}
.difference__media{border-radius:24px; overflow:hidden; box-shadow:var(--shadow); aspect-ratio:4/5;}
.difference__media img{width:100%; height:100%; object-fit:cover; display:block;}
.difference__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px; margin-top:50px;}
.difference__grid--split{grid-template-columns:repeat(2,1fr); margin-top:0;}
.difference__item{
  text-align:center; border:1px solid var(--line); border-radius:20px; padding:28px 18px;
  transition:border-color .25s ease, transform .25s ease;
}
.difference__item:hover{border-color:var(--gold); transform:translateY(-4px);}
.difference__item span{display:block; color:var(--gold); font-weight:800; font-size:15px; margin-bottom:12px;}
.difference__item p{font-size:14.5px; font-weight:600; color:var(--ink);}

/* ---------- CONVICTION (pourquoi.html) ---------- */
.why-conviction{padding:70px 0; background:var(--ink); color:var(--white);}
.why-conviction .wrap{max-width:700px; text-align:center;}
.why-conviction p{font-size:19px; line-height:1.6;}
.why-conviction__cycle{margin-top:20px; color:var(--gold-pale); font-weight:700; letter-spacing:0.02em;}

/* ---------- RAISON D'ÊTRE ---------- */
.raison-etre{padding:90px 0;}
/* "Le Constat", juste sous le hero de la page d'accueil — léger surplus
   par rapport à un raison-etre générique (ex. pourquoi.html), et moins
   d'espace avant la section suivante (Ce que nous développons) pour ne
   pas laisser un vide entre les deux. */
#constat{padding-top:70px; padding-bottom:50px;}
.raison-etre__list{max-width:520px; margin:0 auto 44px;}
.raison-etre__list li{font-size:16px; padding-left:28px;}
.raison-etre__list li::before{top:9px;}
.raison-etre__punch{
  text-align:center; max-width:600px; margin:0 auto; font-size:17px; color:var(--ink-soft); line-height:1.6;
}
.raison-etre__punch strong{color:var(--ink); font-size:19px;}

/* ---------- NOS CONVICTIONS ---------- */
.convictions{padding:90px 0; background:var(--ink); color:var(--white);}
.convictions__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:50px;}
.conviction-card{
  background:#1a1a1a; border:1px solid rgba(255,255,255,0.1); border-radius:20px; padding:28px;
  transition:border-color .25s ease, transform .25s ease;
}
.conviction-card:hover{border-color:rgba(184,146,90,0.5); transform:translateY(-4px);}
.conviction-card p{color:#d8d4cb; font-size:15px; line-height:1.5;}
.conviction-card strong{color:var(--gold-pale);}

/* ---------- SELF CHECK ---------- */
.self-check{padding:90px 0; background:var(--off); text-align:center;}
.self-check h2{font-size:clamp(24px,3vw,32px); max-width:600px; margin:0 auto 36px;}
.self-check__list{max-width:560px; margin:0 auto 40px; text-align:left;}
.self-check__list li{
  position:relative; padding:14px 0 14px 30px; font-size:15.5px; color:var(--ink-soft);
  border-bottom:1px solid var(--line);
}
.self-check__list li:last-child{border-bottom:none;}
.self-check__list li::before{
  content:""; position:absolute; left:0; top:20px; width:7px; height:7px; border-radius:2px;
  border:1.5px solid var(--gold); background:none;
}

/* ---------- BIBLIOTHÈQUE — HERO ---------- */
.lib-hero{padding:110px 0 70px; text-align:center;}
.lib-hero .wrap{max-width:680px;}
.lib-hero h1{font-size:clamp(28px,3.6vw,40px); margin:14px 0 0;}
.lib-hero__lead{font-size:18px; font-weight:600; color:var(--ink); margin-top:22px;}
.lib-hero__text{color:var(--ink-soft); font-size:16px; margin:12px 0 32px;}
.lib-hero__trust{color:var(--gold-dark); font-size:13.5px; font-weight:600; margin-top:24px;}

/* ---------- CATÉGORIES ---------- */
.categories{padding:90px 0; background:var(--off);}
.categories__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:50px;}
.category{
  background:var(--white); border:1px solid var(--line); border-radius:20px; padding:28px 22px;
  text-align:center; display:flex; flex-direction:column; align-items:center; gap:14px;
  color:var(--gold-dark); transition:border-color .25s ease, transform .25s ease;
}
.category:hover{border-color:var(--gold); transform:translateY(-4px);}
.category svg{transition:transform .3s ease;}
.category:hover svg{transform:scale(1.12) rotate(-6deg);}
.category p{color:var(--ink); font-size:13.5px; font-weight:600;}
.category__text{display:flex; flex-direction:column; gap:6px;}
.category__desc{color:var(--ink-soft); font-size:12px; font-weight:400; line-height:1.5;}

/* ---------- CROSS-SELL ---------- */
.lib-crosssell{padding:60px 0; text-align:center; border-top:1px solid var(--line);}
.lib-crosssell p{color:var(--ink-soft); font-size:16px; margin-bottom:24px;}

/* ---------- APP — HERO ---------- */
.app-hero{padding:110px 0 70px; text-align:center; position:relative; overflow:hidden;}
.app-hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(500px 340px at 50% 0%, rgba(184,146,90,0.12), transparent 70%),
    radial-gradient(400px 400px at 85% 75%, rgba(184,146,90,0.07), transparent 70%);
  animation:bgDrift 24s ease-in-out infinite alternate;
}
.app-hero > .wrap{position:relative; z-index:1;}
.app-hero__brand{display:inline-flex; align-items:center; gap:8px; justify-content:center;}
.app-icon{flex-shrink:0; border-radius:5px;}
.app-hero .wrap{max-width:700px;}
.app-hero h1{font-size:clamp(28px,3.8vw,42px); margin-top:14px;}
.app-hero__lead{color:var(--ink-soft); font-size:17px; margin:24px 0 28px;}
.app-hero__platforms{display:flex; gap:22px; flex-wrap:wrap; justify-content:center; margin-bottom:32px;}
.app-hero__platforms span{
  display:inline-flex; align-items:center; gap:8px; color:var(--gold-dark);
  font-size:13.5px; font-weight:700;
}
.app-hero__ctas{display:flex; gap:14px; flex-wrap:wrap; justify-content:center;}

/* ---------- APP — POINTS FORTS ---------- */
.app-strengths{padding:90px 0;}
.app-strengths__grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:50px; max-width:900px; margin-left:auto; margin-right:auto;}
.app-strength{
  background:var(--white); border:1px solid var(--line); border-radius:20px; padding:28px;
  color:var(--gold-dark); transition:border-color .25s ease, transform .25s ease;
}
.app-strength:hover{border-color:var(--gold); transform:translateY(-4px);}
.app-strength svg{transition:transform .3s ease;}
.app-strength:hover svg{transform:scale(1.12) rotate(-6deg);}
.app-strength h3{color:var(--ink); font-size:16px; margin:14px 0 8px;}
.app-strength p{color:var(--ink-soft); font-size:13.5px; line-height:1.55;}

/* ---------- APP — SHOWCASE (captures d'écran) ---------- */
.app-showcase{padding:90px 0; background:var(--off);}
.app-showcase__row{
  display:grid; grid-template-columns:0.8fr 1.2fr; gap:60px; align-items:center;
  padding:56px 0; border-bottom:1px solid var(--line);
}
.app-showcase__row:first-of-type{padding-top:50px;}
.app-showcase__row:last-of-type{border-bottom:none; padding-bottom:0;}
.app-showcase__row--reverse .app-showcase__image{order:2;}
.app-showcase__row--reverse .app-showcase__text{order:1;}
.app-showcase__image{display:flex; justify-content:center;}
.app-showcase__image img{max-width:220px; width:100%; border-radius:32px; box-shadow:var(--shadow);}
.app-showcase__num{
  display:block; color:var(--gold-dark); font-weight:700; font-size:12.5px;
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:10px;
}
.app-showcase__text h3{font-size:clamp(20px,2.4vw,25px); margin-bottom:14px;}
.app-showcase__text p{color:var(--ink-soft); font-size:15px; margin-bottom:18px;}
.app-showcase__text .checklist{margin-bottom:0;}

/* ---------- APP — TARIFS ---------- */
.app-pricing{padding:90px 0; background:var(--off);}
.pricing--two{grid-template-columns:repeat(2,1fr); max-width:760px; margin:0 auto;}
.app-pricing__trial{
  display:inline-block; color:var(--gold-dark); background:var(--gold-pale);
  border-radius:999px; padding:4px 12px; font-weight:700; font-size:11.5px;
  letter-spacing:0.03em; text-transform:uppercase; margin-bottom:12px;
}
.app-pricing__annual{color:var(--ink-soft); font-size:13.5px; margin-bottom:10px;}
.app-pricing__pref{color:var(--gold-dark); font-weight:600; font-size:13px; margin-bottom:14px;}
.app-pricing__note{text-align:center; max-width:640px; margin:40px auto 0; color:var(--ink-soft); font-size:13.5px;}

/* ---------- APP — CLOSING ---------- */
.app-closing{padding:70px 0; text-align:center; border-top:1px solid var(--line);}
.app-closing p{color:var(--ink-soft); font-size:16px; margin-bottom:24px;}

/* ---------- FAQ TEASER (homepage) ---------- */
.faq-teaser{padding:80px 0; background:var(--off);}
.faq-teaser__inner{max-width:560px; margin:0 auto; text-align:center;}
.faq-teaser__inner h2{font-size:clamp(22px,2.6vw,28px); margin-bottom:28px;}

/* ---------- FAQ HERO (faq.html) ---------- */
.faq-hero{padding:110px 0 20px; text-align:center;}
.faq-hero h1{font-size:clamp(28px,4vw,42px); max-width:680px; margin:14px auto 0;}

/* ---------- FAQ ---------- */
.faq{padding:60px 0 90px; background:var(--off);}
.faq__list{max-width:720px; margin:50px auto 0;}
.faq__item{border-bottom:1px solid var(--line);}
.faq__q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
  background:none; border:0; text-align:left; padding:22px 4px; font-family:inherit;
  font-size:15.5px; font-weight:600; color:var(--ink); cursor:pointer;
  transition:color .2s ease, padding-left .2s ease;
}
.faq__q:hover{color:var(--gold-dark); padding-left:8px;}
.faq__chevron{color:var(--gold-dark); font-size:18px; font-weight:400; flex-shrink:0; transition:transform .25s ease;}
.faq__item.open .faq__chevron{transform:rotate(45deg);}
.faq__a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq__a p{padding:0 4px 22px; color:var(--ink-soft); font-size:14.5px; max-width:640px;}

/* ---------- FOOTER ---------- */
.footer{background:var(--ink); color:var(--white); padding:52px 0 22px;}
.footer__inner{display:flex; flex-direction:column; align-items:center; text-align:center; gap:26px;}
.footer__cta strong{display:block; font-size:20px; margin-bottom:8px;}
.footer__cta p{color:#c9c5bd; font-size:14px; margin-bottom:18px;}
.footer__cta .btn--primary{background:var(--gold); }
.footer__contacts{display:flex; gap:34px; flex-wrap:wrap; justify-content:center;}
.footer__contacts a{display:flex; align-items:center; gap:9px; color:#d8d4cb; font-size:14px; transition:color .2s;}
.footer__contacts a:hover{color:var(--gold);}

.footer__bottom-row{
  display:flex; justify-content:center; align-items:flex-start;
  width:100%; max-width:520px; margin:0 auto; gap:24px;
}
.footer__legal-col{display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center;}
.footer__legal-col a{color:#7a776f; font-size:12.5px; transition:color .2s ease;}
.footer__legal-col a:hover, .footer__legal-col a.is-active{color:var(--gold);}

.footer__bottom{color:#7a776f; font-size:12px; border-top:1px solid rgba(255,255,255,0.08); padding-top:18px; width:100%; text-align:center;}

/* ---------- LEGAL PAGES ---------- */
.legal-hero{padding:110px 0 20px; text-align:center;}
.legal-hero h1{font-size:clamp(26px,3.4vw,36px); margin-top:14px;}
.legal-content{padding:50px 0 100px;}
.legal-content .wrap{max-width:720px;}
.legal-content p{color:var(--ink-soft); font-size:15.5px; margin-bottom:16px;}
.legal-content h2{font-size:19px; margin:44px 0 14px;}
.legal-content h2:first-of-type{margin-top:0;}
.legal-content h3{font-size:15.5px; margin:24px 0 10px; color:var(--ink);}
.legal-content ul{margin:0 0 16px; padding-left:0;}
.legal-content ul li{
  position:relative; padding-left:22px; margin-bottom:8px; color:var(--ink-soft); font-size:15px;
}
.legal-content ul li::before{
  content:""; position:absolute; left:0; top:8px; width:6px; height:6px; border-radius:50%; background:var(--gold);
}
.legal-content strong{color:var(--ink);}
.legal-disclaimer{
  display:flex; gap:14px; align-items:flex-start; background:var(--gold-pale); border:1px solid var(--gold);
  border-radius:18px; padding:20px 22px; margin-bottom:44px;
}
.legal-disclaimer svg{color:var(--gold-dark); flex-shrink:0; margin-top:2px;}
.legal-disclaimer p{color:var(--ink); font-size:14px; margin:0; font-weight:500;}

/* ---------- REVEAL ANIM ---------- */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* Staggered choreography for repeating grid cards */
.app-strength:nth-child(1), .category:nth-child(1), .difference__item:nth-child(1), .conviction-card:nth-child(1), .challenge:nth-child(1){transition-delay:0s;}
.app-strength:nth-child(2), .category:nth-child(2), .difference__item:nth-child(2), .conviction-card:nth-child(2), .challenge:nth-child(2){transition-delay:.06s;}
.app-strength:nth-child(3), .category:nth-child(3), .difference__item:nth-child(3), .conviction-card:nth-child(3), .challenge:nth-child(3){transition-delay:.12s;}
.app-strength:nth-child(4), .category:nth-child(4), .difference__item:nth-child(4), .conviction-card:nth-child(4), .challenge:nth-child(4){transition-delay:.18s;}
.app-strength:nth-child(5), .category:nth-child(5), .difference__item:nth-child(5), .conviction-card:nth-child(5), .challenge:nth-child(5){transition-delay:.24s;}
.difference__item:nth-child(6){transition-delay:.3s;}
.difference__item:nth-child(7){transition-delay:.36s;}
.difference__item:nth-child(8){transition-delay:.42s;}
.category:nth-child(n+6), .conviction-card:nth-child(6), .challenge:nth-child(6), .challenge:nth-child(7){transition-delay:.3s;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .nav__inner{padding-right:0;}
  .nav__links{display:none;}
  .burger{display:flex;}
  .nav-bubble{display:none;}
  .nav__links .nav__mobile-cta{display:inline-flex; margin-top:6px;}
  .hero__layout{grid-template-columns:1fr; gap:36px; text-align:center;}
  .hero__layout .hero__inner{text-align:center; margin:0 auto;}
  .hero__layout .hero__lead{margin-left:auto; margin-right:auto;}
  .hero__media{order:-1; max-width:380px; margin:0 auto; aspect-ratio:1/1;}
  .diagnostic-layout{grid-template-columns:1fr; gap:28px;}
  .diagnostic-layout__media{max-width:360px; margin:0 auto; aspect-ratio:16/10;}
  .diagnostic__grid{grid-template-columns:1fr; gap:28px;}
  .callouts{grid-template-columns:1fr;}
  .pricing{grid-template-columns:1fr; max-width:440px; margin:0 auto;}
  .fork__grid{grid-template-columns:1fr;}
  .agences__photos{grid-template-columns:1fr;}
  .diagnostic-feature{grid-template-columns:1fr; gap:28px; padding:32px 26px;}
  .agences__grid{grid-template-columns:1fr;}
  .difference__layout{grid-template-columns:1fr; gap:28px;}
  .difference__media{order:-1; max-width:360px; margin:0 auto; aspect-ratio:16/10;}
  .difference__grid{grid-template-columns:1fr 1fr;}
  .difference__grid--split{grid-template-columns:1fr 1fr;}
  .convictions__grid{grid-template-columns:1fr;}
  .categories__grid{grid-template-columns:repeat(2,1fr);}
  .app-showcase__row{grid-template-columns:1fr; gap:30px; text-align:center;}
  .app-showcase__row--reverse .app-showcase__image{order:1;}
  .app-showcase__row--reverse .app-showcase__text{order:2;}
  .app-showcase__text .checklist{text-align:left; max-width:420px; margin:0 auto;}
}
@media (max-width:560px){
  .categories__grid{grid-template-columns:1fr;}
  .app-strengths__grid{grid-template-columns:1fr;}
  .app-hero__platforms{flex-direction:column; align-items:center; gap:10px;}
  .footer__contacts{flex-direction:column; gap:16px;}
  .footer__bottom-row{gap:14px;}
  .challenge{flex-direction:column; gap:10px;}
  .difference__grid{grid-template-columns:1fr;}
  .app-hero__ctas{flex-direction:column; width:100%;}
  .app-hero__ctas .btn{width:100%;}
}

@media (prefers-reduced-motion: reduce){
  .hero__bg, .app-hero::before, .agences::before{animation:none;}
  .hero__chart-line{animation:none; stroke-dashoffset:0;}
  .hero__chart-dot{animation:none; r:5; opacity:1;}
  .hero__chart-ring{animation:none; opacity:0;}
  .plan--featured{animation:none; box-shadow:none;}
  .timeline li.reveal.in .timeline__num{animation:none;}
  .reveal{transition:none;}
  .btn, .plan, .diagnostic, .agence-card, .timeline__num, .fork__card{transition:none;}
  .category svg, .app-strength svg{transition:none;}
}

/* Mobile nav overlay */
.nav__links.open{
  display:flex; flex-direction:column; position:absolute; top:84px; left:0; right:0;
  background:var(--white); padding:20px 24px; gap:18px; border-bottom:1px solid var(--line);
}
