/* =========================================================
   IKZIA — LANGAGE VISUEL CABINET 2026
   Identité IKZIA + principes de rythme / sobriété institutionnels
========================================================= */

:root{
  --container:1360px;
  --radius-card:8px;
  --shadow-sm:none;
  --shadow-md:0 8px 24px rgba(16,35,61,.06);
  --shadow-hover:0 8px 24px rgba(16,35,61,.06);
  --duration:420ms;
  --ease:cubic-bezier(.22,1,.36,1);

  --text-h1:clamp(2.4rem, 4.2vw, 4.4rem);
  --text-h2:clamp(1.85rem, 2.8vw, 3.05rem);
  --text-h3:clamp(1.2rem, 1.55vw, 1.55rem);
  --text-body:1.0625rem;
  --text-body-sm:.9375rem;
  --text-label:.75rem;
  --measure:38rem;
}

html{
  overflow-x:clip;
}

.container{
  width:min(100% - 48px, var(--container));
}

body{
  font-size:var(--text-body);
  line-height:1.7;
}

.section,
.detail-section,
.page-accueil .section{
  padding:88px 0;
}

.section{
  position:relative;
}

.section__head{
  margin:0 0 40px;
  max-width:var(--measure);
}

.section__head--center{
  margin-left:auto;
  margin-right:auto;
}

.section__title{
  font-size:var(--text-h2);
  line-height:1.12;
  letter-spacing:-.04em;
  max-width:18ch;
  font-weight:700;
}

.page-hero__title{
  font-size:var(--text-h1);
  line-height:1.08;
  letter-spacing:-.045em;
  max-width:16ch;
  font-weight:700;
}

.section__subtitle,
.page-hero__subtitle,
.callout__text,
.ed-copy p,
.hero__subtitle p,
.case__meta p,
.timeline__item p{
  max-width:var(--measure);
  font-size:var(--text-body);
  line-height:1.75;
}

.section__subtitle{
  margin-top:16px;
  font-size:1.05rem;
  color:var(--text-soft);
}

.section__eyebrow,
.method__eyebrow,
.page-hero__eyebrow,
.hero__eyebrow,
.case__kicker,
.offer-card__number,
.callout__eyebrow{
  font-size:var(--text-label);
  letter-spacing:.14em;
  font-weight:700;
}

.section__eyebrow::before,
.method__eyebrow::before,
.page-hero__eyebrow::before{
  width:20px;
}

/* ---------- Hero : composition, pas taille ---------- */
.page-accueil .acquisition-hero,
.page-accueil .acquisition-hero .hero__inner{
  min-height:0;
  height:auto;
  max-height:none;
}

.page-accueil .acquisition-hero .hero__inner{
  padding:72px 0 80px;
}

.page-accueil .acquisition-hero .hero__content,
.page-accueil .acquisition-hero .hero__content--premium{
  width:min(100%, 720px);
  max-width:720px;
}

.page-accueil .acquisition-hero .hero__title,
.hero__title{
  font-size:var(--text-h1);
  line-height:1.08;
  letter-spacing:-.045em;
  max-width:16ch;
  font-weight:700;
}

.hero__line{
  display:inline;
  white-space:normal;
}

.hero-animate .hero__title:has(.hero__line){
  animation:ikziaFadeUp .55s .12s both;
}

.hero-animate .hero__line{
  animation:none;
  clip-path:none;
  filter:none;
}

.page-accueil .acquisition-hero .hero__eyebrow{
  margin-bottom:18px;
}

.page-accueil .acquisition-hero .hero__subtitle{
  margin-top:20px;
  max-width:36rem;
}

.page-accueil .acquisition-hero .hero__subtitle p{
  font-size:1.0625rem;
  line-height:1.75;
}

.page-accueil .acquisition-hero .hero__actions{
  margin-top:28px;
  gap:10px;
}

.hero__actions .btn--hero,
.page-hero .hero__actions .btn,
.callout__cta .btn--white{
  min-height:48px;
  padding-inline:20px;
  font-size:.95rem;
}

.hero__signature{
  margin-top:28px;
}

.hero-animate .hero__eyebrow,
.hero-animate .page-hero__eyebrow{
  animation:ikziaFadeUp .5s .02s both;
}

.hero-animate .hero__title,
.hero-animate .page-hero__title{
  animation:ikziaFadeUp .55s .1s both;
}

.hero-animate .hero__subtitle,
.hero-animate .page-hero__subtitle{
  animation:ikziaFadeUp .55s .22s both;
}

.hero-animate .hero__actions{
  animation:ikziaFadeUp .5s .34s both;
}

.hero-animate .hero__signature{
  animation:ikziaFadeUp .5s .44s both;
}

.section__head .section__title.reveal{
  filter:none;
  clip-path:none;
}

/* ---------- Reveal : fluidité ---------- */
.reveal{
  opacity:0;
  transform:translateY(10px);
  filter:none;
  transition:
    opacity .45s var(--ease),
    transform .45s var(--ease);
  transition-delay:var(--reveal-delay, 0ms);
}

.reveal.is-visible{
  opacity:1;
  transform:none;
  filter:none;
}

.reveal--left,
.reveal--right,
.reveal--zoom{
  filter:none;
  transform:translateY(10px);
}

/* ---------- Bandeau intro : colonnes + filets ---------- */
.section--intro-band,
.page-accueil .section--intro-band{
  margin-top:0;
  padding:0;
  background:var(--blue-dark);
  z-index:2;
}

.intro-band,
.page-accueil .intro-band{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
}

.intro-band__item,
.page-accueil .intro-band__item{
  padding:32px 28px 36px;
  background:transparent;
  border:0;
  border-right:1px solid rgba(255,255,255,.12);
  border-radius:0;
  box-shadow:none;
  transform:none;
}

.intro-band__item:last-child,
.page-accueil .intro-band__item:last-child{
  border-right:0;
}

.intro-band__item::before{
  color:var(--orange);
  font-size:var(--text-label);
  margin-bottom:10px;
}

.intro-band__kicker,
.page-accueil .intro-band__kicker{
  color:#fff;
  font-size:var(--text-label);
  letter-spacing:.12em;
}

.intro-band__item p,
.page-accueil .intro-band__item p{
  color:rgba(255,255,255,.72);
  font-size:var(--text-body-sm);
  line-height:1.7;
  max-width:28rem;
}

@media (hover:hover) and (pointer:fine){
  .intro-band__item:hover,
  .page-accueil .intro-band__item:hover{
    transform:none;
    box-shadow:none;
    background:rgba(255,255,255,.03);
    border-color:rgba(255,255,255,.12);
  }
}

/* ---------- Compositions éditoriales ---------- */
.ed-stack{
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
}

.ed-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:28px 8px;
  border-bottom:1px solid var(--line);
  transition:background-color var(--duration) var(--ease);
}

.ed-row--offer{
  grid-template-columns:72px minmax(0,1fr) auto;
  align-items:center;
}

.ed-num{
  margin-top:4px;
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.14em;
  line-height:1;
  color:var(--blue);
  -webkit-text-stroke:0;
}

.ed-copy .section__eyebrow{
  margin:0 0 8px;
  color:var(--orange);
}

.ed-copy h3{
  font-size:var(--text-h3);
  letter-spacing:-.025em;
  line-height:1.25;
  margin:0 0 8px;
  font-weight:700;
  text-transform:none;
}

.ed-copy p{
  margin:0;
  font-size:var(--text-body-sm);
  line-height:1.7;
  color:var(--text-soft);
}

.ed-points{
  display:grid;
  gap:6px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
}

.ed-points li{
  position:relative;
  padding-left:16px;
  color:var(--text-soft);
  font-size:var(--text-body-sm);
}

.ed-points li:before{
  content:"·";
  position:absolute;
  left:0;
  color:var(--blue);
  font-weight:700;
}

.ed-price{
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--blue-dark);
  white-space:nowrap;
  text-align:right;
}

.ed-price small{
  display:block;
  margin-top:2px;
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.08em;
  color:var(--text-muted);
}

.ed-price .ed-price__monthly{
  display:block;
  margin-top:6px;
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.06em;
  color:var(--orange);
  white-space:normal;
}

.ed-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  font-size:.875rem;
  font-weight:700;
  color:var(--blue);
}

.ed-link::after{
  content:"→";
  transition:transform var(--duration) var(--ease);
}

.ed-row--featured{
  background:rgba(11,35,65,.03);
}

.section--mission{
  overflow:visible;
  background:#fff;
}

.page-accueil .section--mission::before{
  display:none;
}

@media (hover:hover) and (pointer:fine){
  .ed-row:hover{
    background:rgba(21,101,192,.03);
  }

  .ed-row:hover .ed-num{
    color:var(--orange);
  }

  .ed-row:hover .ed-link::after{
    transform:translateX(4px);
  }
}

/* ---------- Méthode : progression éditoriale ---------- */
.section--ink,
.section.section--method.section--ink{
  background:var(--blue-dark);
  color:#fff;
}

.section--ink .section__title,
.section--ink h2,
.section--ink h3,
.section--ink .method__head .section__title{
  color:#fff;
}

.section--ink .section__subtitle,
.section--ink p{
  color:rgba(255,255,255,.72);
}

.section--ink .method__eyebrow,
.section--ink .section__eyebrow{
  color:var(--orange);
}

.section--ink .scope-note{
  background:transparent;
  border-left:1px solid var(--orange);
  color:rgba(255,255,255,.72);
  margin-top:32px;
}

.timeline{
  --timeline-progress:0%;
  position:relative;
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(255,255,255,.12);
}

.timeline::before,
.timeline::after{
  display:none;
}

.timeline__item{
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:16px;
  padding:22px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.timeline__num{
  width:auto;
  height:auto;
  display:block;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--orange);
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.14em;
  place-items:start;
}

.timeline__item h3{
  margin:0 0 6px;
  font-size:1.05rem;
  letter-spacing:-.02em;
  font-weight:700;
}

.timeline__item p{
  margin:0;
  font-size:var(--text-body-sm);
  line-height:1.65;
}

@media (min-width:1100px){
  .timeline{
    grid-template-columns:repeat(5, minmax(0,1fr));
    gap:0;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .timeline__item{
    grid-template-columns:1fr;
    padding:28px 24px 28px 0;
    border-bottom:0;
    border-right:1px solid rgba(255,255,255,.12);
  }

  .timeline__item:last-child{
    border-right:0;
    padding-right:0;
  }

  .timeline__num{
    margin-bottom:16px;
  }
}

/* ---------- IK-CRM : l'interface d'abord ---------- */
.crm-showcase{
  padding:96px 0;
  overflow:hidden;
}

.crm-showcase::after,
.crm-window-wrap::before,
.crm-annotation{
  display:none;
}

.crm-showcase .section__title{
  max-width:16ch;
  font-size:var(--text-h2);
}

.crm-window-wrap{
  --crm-tilt:4deg;
  --crm-scale:.98;
  position:relative;
  padding:0;
}

.crm-window,
.crm-window-wrap .crm-window,
.crm-window-wrap.is-visible .crm-window,
.crm-window-wrap:hover .crm-window{
  position:relative;
  z-index:1;
  border-radius:10px;
  transform:perspective(1600px) rotateY(calc(var(--crm-tilt) * -1)) scale(var(--crm-scale));
  box-shadow:0 24px 48px rgba(0,0,0,.28);
  transition:transform .45s var(--ease);
}

/* ---------- Offres : cards utiles, plus compactes ---------- */
.offer-grid{
  gap:16px;
  align-items:stretch;
}

.offer-card,
.offer-card.offer-card{
  padding:28px 24px 24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  box-shadow:none;
}

.offer-card h3{
  font-size:1.2rem;
  letter-spacing:-.02em;
}

.offer-card--featured,
.offer-card.offer-card--featured{
  transform:none;
  padding-top:36px;
  background:#fff;
  border-color:var(--blue);
  color:inherit;
}

.offer-card--featured h3,
.offer-card--featured .offer-card__lead,
.offer-card--featured li,
.offer-card--featured .offer-card__price{
  color:inherit;
}

.offer-card--featured .offer-card__lead,
.offer-card--featured li{
  color:var(--text-soft);
}

.offer-card--featured .offer-card__badge{
  background:var(--orange);
}

.offer-card--featured .btn--primary{
  background:var(--blue);
}

.section--muted{
  background:#f7f9fc;
}

/* ---------- Preuve : filets, pas boîte décorative ---------- */
.evidence-section{
  background:#fff;
}

.evidence-grid{
  background:transparent;
  border:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  border-radius:0;
  overflow:visible;
}

.evidence-grid article{
  border-right:1px solid var(--line);
  padding:28px 24px 28px 0;
}

.evidence-grid article:last-child{
  border-right:0;
}

.evidence-grid strong{
  font-size:1.35rem;
  letter-spacing:-.03em;
  color:var(--blue-dark);
  font-weight:700;
}

.evidence-grid span{
  color:var(--text-soft);
  font-size:var(--text-body-sm);
}

.proof-links{
  margin-top:24px;
}

/* ---------- Case studies : portfolio 2 colonnes ---------- */
.case-list{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}

@media (min-width:900px){
  .case-list{
    grid-template-columns:1fr 1fr;
    gap:48px 40px;
  }
}

.case,
.case--reverse{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:start;
  padding:28px 0 8px;
  border-top:1px solid var(--line);
}

.case:first-of-type,
.case-list .case:nth-child(2){
  border-top:1px solid var(--line);
  padding-top:28px;
}

.case--reverse .case__visual{
  order:0;
}

.case__frame{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#eef3f8;
  box-shadow:none;
}

.case__frame img{
  width:100%;
  display:block;
}

.case__chrome{
  display:flex;
  align-items:center;
  gap:6px;
  height:28px;
  padding:0 12px;
  background:#fff;
  border-bottom:1px solid var(--line);
}

.case__chrome i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#d5dee8;
}

.case__chrome i:first-child{
  background:var(--orange);
}

.case__kicker{
  margin:0 0 8px;
  color:var(--orange);
}

.case__title{
  font-size:var(--text-h3);
  letter-spacing:-.025em;
  line-height:1.3;
  margin:0 0 16px;
  font-weight:700;
}

.case__meta{
  display:grid;
  gap:12px;
}

.case__meta p{
  margin:0;
  font-size:var(--text-body-sm);
  line-height:1.65;
}

.case__meta strong{
  display:block;
  margin-bottom:2px;
  color:var(--blue);
  font-size:var(--text-label);
  letter-spacing:.12em;
  text-transform:uppercase;
}

.case .card__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  font-size:.875rem;
  font-weight:700;
  color:var(--blue);
}

/* ---------- Liste éditoriale réutilisable ---------- */
.grid .mission-card,
.mission-grid .mission-card{
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
  padding:28px 0;
  min-height:0;
}

.mission-card__icon span,
.mission-card__icon{
  box-shadow:none !important;
  background:transparent !important;
  border:0 !important;
  width:auto !important;
  height:auto !important;
  color:var(--blue);
}

@media (min-width:900px){
  .grid--3.mission-grid,
  .mission-grid--premium.grid--3{
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:0 40px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }

  .grid--3.mission-grid .mission-card,
  .mission-grid--premium .mission-card{
    border-right:1px solid var(--line);
    padding:28px 32px 32px 0;
  }

  .grid--3.mission-grid .mission-card:last-child,
  .mission-grid--premium .mission-card:last-child{
    border-right:0;
    padding-right:0;
  }
}

.editorial-list,
.feature-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border-top:1px solid var(--line);
}

.editorial-list__item,
.feature-card,
.detail-section .feature-card{
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  grid-template-areas:
    "num title"
    "num desc";
  column-gap:24px;
  row-gap:6px;
  align-items:start;
  padding:22px 4px;
  min-height:0;
  min-width:0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  box-shadow:none;
  background:transparent;
  overflow:visible;
  transition:background-color var(--duration) var(--ease);
}

.editorial-list__num,
.feature-card span,
.detail-section .feature-card span{
  grid-area:num;
  width:auto;
  height:auto;
  margin-top:5px;
  background:transparent;
  color:var(--blue);
  -webkit-text-stroke:0;
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.14em;
  box-shadow:none;
  border-radius:0;
  display:block;
}

.editorial-list__content{
  grid-column:2;
  grid-row:1 / span 2;
  min-width:0;
}

.editorial-list__content h3,
.feature-card h3{
  grid-area:title;
  font-size:1.05rem;
  margin:0;
  letter-spacing:-.02em;
  line-height:1.35;
  text-transform:uppercase;
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.04em;
}

.editorial-list__content p,
.feature-card p{
  grid-area:desc;
  margin:6px 0 0;
  max-width:44rem;
  min-width:0;
  font-size:var(--text-body);
  line-height:1.7;
  color:var(--text-soft);
}

.feature-card::after,
.detail-section .feature-card::after{
  display:none;
}

@media (min-width:1100px){
  .editorial-list--split,
  .feature-grid{
    grid-template-columns:1fr 1fr;
    column-gap:64px;
  }

  .editorial-list--split .editorial-list__item:nth-child(odd),
  .feature-grid .feature-card:nth-child(odd){
    padding-right:8px;
  }
}

.editorial-cols{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border-top:1px solid var(--line);
}

.editorial-cols__item{
  padding:28px 0;
  border-bottom:1px solid var(--line);
}

.editorial-cols__item span{
  display:block;
  margin-bottom:14px;
  color:var(--blue);
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.14em;
}

.editorial-cols__item h3{
  margin:0 0 10px;
  font-size:1.05rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.editorial-cols__item p{
  margin:0;
  max-width:36rem;
  font-size:var(--text-body);
  line-height:1.7;
  color:var(--text-soft);
}

@media (min-width:900px){
  .editorial-cols{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    column-gap:40px;
    border-bottom:1px solid var(--line);
  }

  .editorial-cols__item{
    padding:28px 8px 32px 0;
    border-bottom:0;
    border-right:1px solid var(--line);
  }

  .editorial-cols__item:last-child{
    border-right:0;
    padding-right:0;
  }

  .editorial-cols__item p{
    max-width:none;
  }
}

.editorial-blocks{
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
}

.editorial-block{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  padding:36px 0;
  border-bottom:1px solid var(--line);
}

.editorial-block__kicker{
  margin:0;
  color:var(--orange);
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.editorial-block h3{
  margin:0;
  font-size:var(--text-h3);
  letter-spacing:-.03em;
  line-height:1.25;
}

.editorial-block p{
  margin:0;
  max-width:44rem;
  font-size:var(--text-body);
  line-height:1.75;
  color:var(--text-soft);
}

.editorial-block__list{
  display:grid;
  gap:8px;
  margin:8px 0 0;
  padding:0;
  list-style:none;
  max-width:44rem;
}

.editorial-block__list li{
  position:relative;
  padding-left:16px;
  color:var(--text-soft);
  font-size:var(--text-body-sm);
  line-height:1.6;
}

.editorial-block__list li:before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:6px;
  height:1px;
  background:var(--blue);
}

@media (min-width:900px){
  .editorial-block{
    grid-template-columns:220px minmax(320px, 1fr);
    column-gap:48px;
    align-items:start;
  }

  .editorial-block h3,
  .editorial-block p,
  .editorial-block__list{
    grid-column:2;
  }

  .editorial-block__kicker{
    grid-column:1;
    grid-row:1 / span 4;
  }
}

.detail-grid-2{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
  align-items:start;
}

@media (min-width:900px){
  .detail-grid-2{
    grid-template-columns:minmax(280px, 1fr) minmax(280px, 1fr);
    gap:48px 72px;
  }
}

.content-card,
.content-card.content-card,
.content-card.content-card--navy{
  background:transparent;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  box-shadow:none;
  padding:24px 0 0;
  color:var(--text);
}

.content-card--navy,
.content-card--navy h2,
.content-card--navy h3,
.content-card--navy p,
.content-card--navy li{
  color:var(--text);
}

.content-card--navy .section__eyebrow,
.content-card .section__eyebrow{
  color:var(--orange);
}

.content-card h2{
  max-width:18ch;
  font-size:var(--text-h3);
  line-height:1.25;
}

.content-card p,
.content-card li{
  max-width:42rem;
}

.content-card .offer-card__price{
  color:var(--blue-dark);
}

/* ---------- Cards restantes : plus de saut ---------- */
.mission-card,
.target-card,
.method-card,
.stat-card,
.offer-card{
  box-shadow:none;
  border-color:var(--line);
  border-radius:var(--radius-card);
}

.target-card,
.method-card{
  padding:24px 0;
  background:transparent;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  box-shadow:none;
  min-height:0;
}

.targets-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border-bottom:1px solid var(--line);
}

.target-card__icon,
.method-card__icon,
.mission-card__icon{
  box-shadow:none;
  background:transparent;
  color:var(--blue);
  width:auto;
  height:auto;
  font-size:var(--text-label);
  letter-spacing:.12em;
}

@media (hover:hover) and (pointer:fine){
  .editorial-list__item:hover,
  .feature-card:hover,
  .detail-section .feature-card:hover,
  .editorial-cols__item:hover,
  .editorial-block:hover{
    background:rgba(21,101,192,.028);
  }

  .editorial-list__item:hover .editorial-list__num,
  .feature-card:hover span,
  .editorial-cols__item:hover span,
  .editorial-block:hover .editorial-block__kicker{
    color:var(--orange);
  }

  .mission-card:hover,
  .target-card:hover,
  .method-card:hover,
  .offer-card:hover,
  .content-card:hover,
  .stat-card:hover,
  .offer-card--featured:hover{
    transform:none;
    box-shadow:none;
  }

  .offer-card:hover{
    border-color:rgba(21,101,192,.28);
  }

  .content-card:hover{
    border-color:var(--line);
  }
}

/* ---------- CTA final ---------- */
.callout,
.callout.callout--premium{
  padding:0;
  background:var(--blue-dark);
}

.callout__inner,
.callout.callout--premium .callout__inner{
  flex-direction:column;
  align-items:flex-start;
  gap:24px;
  padding:80px 0 88px;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  max-width:var(--container);
  margin:0 auto;
  width:min(100% - 48px, var(--container));
}

.callout__title{
  max-width:18ch;
  font-size:var(--text-h2);
  line-height:1.12;
  letter-spacing:-.04em;
  font-weight:700;
}

.callout__text{
  max-width:36rem;
  font-size:var(--text-body);
}

.callout__inner:before{
  display:none;
}

.footer{
  background:#071526;
  border-top:1px solid rgba(255,255,255,.1);
}

.footer small,
.footer a,
.footer__contact span{
  color:rgba(255,255,255,.62);
}

.footer a:hover{
  color:#fff;
}

/* ---------- Micro-interactions ---------- */
.btn{
  transition:
    background-color var(--duration) var(--ease),
    border-color var(--duration) var(--ease),
    color var(--duration) var(--ease),
    opacity var(--duration) var(--ease);
}

.btn:hover,
.topbar-ikzia__btn:hover,
.ikzia-chat__toggle:hover,
.ikzia-chat__btn:hover{
  transform:none;
}

.card__link{
  position:relative;
  text-decoration:none;
}

.card__link::after,
.ed-link{
  text-decoration:none;
}

.card__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--duration) var(--ease);
}

.card__link:hover::after{
  transform:scaleX(1);
}

.btn--primary::after,
.btn--white::after,
.hero .btn--primary::after,
.callout .btn--white::after{
  content:"→";
  margin-left:8px;
  transition:transform var(--duration) var(--ease);
}

.btn--primary:hover::after,
.btn--white:hover::after,
.hero .btn--primary:hover::after,
.callout .btn--white:hover::after{
  transform:translateX(4px);
}

/* ---------- Pages internes ---------- */
.page-hero--acquisition{
  padding:88px 0 92px;
}

/* ---------- Tablette / mobile ---------- */
@media (max-width:1100px){
  .container{
    width:min(100% - 32px, var(--container));
  }

  .ed-row,
  .ed-row--offer{
    grid-template-columns:56px 1fr;
    gap:16px;
    padding:22px 0;
  }

  .ed-price{
    grid-column:2;
    text-align:left;
    margin-top:8px;
  }
}

@media (max-width:980px){
  .section,
  .detail-section,
  .page-accueil .section,
  .crm-showcase{
    padding:56px 0;
  }

  .page-accueil .acquisition-hero .hero__inner{
    padding:56px 0 64px;
  }

  .page-accueil .acquisition-hero .hero__title,
  .page-hero__title{
    font-size:clamp(2.15rem, 8vw, 2.75rem);
    max-width:none;
    line-height:1.15;
  }

  .section__title,
  .callout__title{
    font-size:clamp(1.6rem, 6vw, 2.1rem);
    max-width:none;
  }

  .intro-band,
  .page-accueil .intro-band{
    grid-template-columns:1fr;
  }

  .intro-band__item,
  .page-accueil .intro-band__item{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
    padding:22px 0;
  }

  .crm-window,
  .crm-window-wrap .crm-window,
  .crm-window-wrap.is-visible .crm-window,
  .crm-window-wrap:hover .crm-window{
    transform:none;
    box-shadow:0 12px 28px rgba(0,0,0,.2);
  }

  .callout__inner,
  .callout.callout--premium .callout__inner{
    padding:56px 0 64px;
    width:min(100% - 32px, var(--container));
  }

    .editorial-list__item,
    .feature-card,
    .editorial-cols,
    .editorial-blocks{
      grid-template-columns:1fr;
    }

  .offer-card--featured,
  .offer-card.offer-card--featured{
    transform:none;
  }

  .evidence-grid article{
    padding:20px 0;
  }
}

@media (max-width:430px){
  .ed-row,
  .ed-row--offer{
    grid-template-columns:1fr;
    gap:8px;
    padding:20px 0;
  }

  .ed-price{
    grid-column:1;
  }

  .hero__actions .btn--hero,
  .callout__cta .btn--white{
    width:100%;
  }
}

@media (prefers-reduced-motion: reduce){
  .timeline{
    --timeline-progress:100%;
  }

  .crm-window-wrap{
    --crm-tilt:0deg;
    --crm-scale:1;
  }

  .hero-animate .hero__line,
  .hero-animate .hero__eyebrow,
  .hero-animate .hero__title,
  .hero-animate .hero__subtitle,
  .hero-animate .hero__actions,
  .hero-animate .hero__signature,
  .crm-window,
  .section__head .section__title.reveal,
  .reveal{
    animation:none !important;
    transform:none !important;
    clip-path:none !important;
    filter:none !important;
    opacity:1 !important;
    transition:none !important;
  }
}

/* =========================================================
   CORRECTION DA FINALE — rythme, contraste, moins de template
========================================================= */

:root{
  --text-h1:clamp(2.05rem, 3.4vw, 3.45rem);
  --text-h2:clamp(1.55rem, 2.2vw, 2.35rem);
  --text-h3:clamp(1.12rem, 1.35vw, 1.4rem);
  --measure:40rem;
}

.section,
.detail-section,
.page-accueil .section,
.crm-showcase{
  padding:72px 0;
}

.page-hero--acquisition{
  padding:64px 0 72px;
}

.section__title{
  max-width:16em;
}

.page-hero__title,
.hero__title,
.page-accueil .acquisition-hero .hero__title{
  max-width:12.5em;
  font-size:var(--text-h1);
}

.hero__signature{
  display:none !important;
}

.page-accueil .acquisition-hero .hero__inner{
  padding:80px 0 88px;
}

.page-accueil .acquisition-hero .hero__actions{
  margin-top:32px;
}

/* --- Parcours Cibler → Organiser → Équiper → Piloter --- */
.process-track{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin:8px 0 0;
  padding:0;
  list-style:none;
}

.process-track__item{
  position:relative;
  padding:0 0 24px 28px;
}

.process-track__item::before{
  content:"";
  position:absolute;
  left:5px;
  top:18px;
  bottom:-4px;
  width:1px;
  background:var(--line);
}

.process-track__item::after{
  content:"";
  position:absolute;
  left:1px;
  top:6px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--orange);
  box-shadow:none;
}

.process-track__item:last-child{
  padding-bottom:0;
}

.process-track__item:last-child::before{
  display:none;
}

.process-track__num{
  display:block;
  margin:0 0 8px;
  color:var(--orange);
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.14em;
}

.process-track__item h3{
  margin:0 0 8px;
  font-size:.95rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
}

.process-track__item p{
  margin:0;
  max-width:26rem;
  font-size:var(--text-body-sm);
  line-height:1.65;
  color:var(--text-soft);
}

@media (hover:hover) and (pointer:fine){
  .process-track__item:hover h3{
    color:var(--blue);
  }
  .process-track__item:hover::after{
    border-color:var(--blue);
    background:#fff;
  }
}

@media (min-width:900px){
  .process-track{
    position:relative;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:0 32px;
    margin-top:8px;
    padding-top:0;
    border-top:1px solid #c8d1dc;
  }

  .process-track::before{
    display:none;
  }

  .process-track__item{
    padding:28px 12px 0 0;
  }

  .process-track__item::before{
    display:none;
  }

  .process-track__item::after{
    left:0;
    top:-5px;
    width:9px;
    height:9px;
    background:#fff;
    border:2px solid var(--orange);
    box-shadow:none;
  }
}

/* --- Méthode : vraie timeline, pas un tableau --- */
.timeline{
  --timeline-progress:0%;
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin:8px 0 0;
  padding:0;
  list-style:none;
  border:0;
}

.timeline::before{
  display:block;
  content:"";
  position:absolute;
  left:5px;
  top:10px;
  bottom:10px;
  width:1px;
  background:rgba(255,255,255,.16);
}

.timeline::after{
  display:none;
}

.timeline__item{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  padding:0 0 28px 28px;
  border:0;
}

.timeline__item:last-child{
  padding-bottom:0;
}

.timeline__item::before{
  content:"";
  position:absolute;
  left:2px;
  top:7px;
  z-index:2;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 0 4px var(--blue-dark);
}

.timeline__num{
  display:block;
  width:auto;
  height:auto;
  margin:0 0 8px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--orange);
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.14em;
}

.timeline__item h3{
  margin:0 0 6px;
  font-size:1rem;
  letter-spacing:-.02em;
  font-weight:700;
}

.timeline__item p{
  margin:0;
  max-width:22rem;
  font-size:var(--text-body-sm);
  line-height:1.6;
}

@media (hover:hover) and (pointer:fine){
  .timeline__item:hover h3{
    color:#fff;
  }
}

@media (min-width:900px){
  .timeline{
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:0 24px;
    border-top:1px solid rgba(255,255,255,.3);
    padding-top:0;
  }

  .timeline::before{
    display:none;
  }

  .timeline::after{
    display:block;
    content:"";
    position:absolute;
    left:0;
    top:-1px;
    z-index:1;
    width:var(--timeline-progress, 0%);
    max-width:100%;
    height:1px;
    background:var(--orange);
  }

  .timeline__item{
    padding:28px 16px 0 0;
  }

  .timeline__item::before{
    left:0;
    top:-5px;
    width:9px;
    height:9px;
    background:var(--blue-dark);
    border:2px solid var(--orange);
    box-shadow:none;
  }

  .timeline__num{
    margin:0 0 12px;
  }
}

/* --- Offres accueil : 3 cards de comparaison --- */
.offer-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}

.offer-card,
.offer-card.offer-card{
  padding:28px 24px 24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:none;
}

.offer-card h3{
  font-size:1.25rem;
  letter-spacing:-.025em;
}

.offer-card__badge{
  position:static;
  left:auto;
  top:auto;
  transform:none;
  display:inline-block;
  margin-bottom:10px;
  padding:0;
  border-radius:0;
  background:transparent;
  color:var(--orange);
  box-shadow:none;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.offer-card--featured,
.offer-card.offer-card--featured{
  background:var(--blue-dark);
  border-color:var(--blue-dark);
  color:#fff;
  box-shadow:0 16px 36px rgba(11,35,65,.18);
  transform:none;
  padding-top:28px;
}

.offer-card--featured h3,
.offer-card--featured .offer-card__price,
.offer-card.offer-card--featured h3,
.offer-card.offer-card--featured .offer-card__price{
  color:#fff;
}

.offer-card--featured .offer-card__lead,
.offer-card--featured li,
.offer-card--featured p{
  color:rgba(255,255,255,.74);
}

.offer-card--featured .offer-card__badge{
  color:var(--orange);
  background:transparent;
}

.offer-card.offer-card--featured .btn.btn--primary{
  background:#fff;
  color:var(--blue-dark);
  border-color:#fff;
  box-shadow:none;
}

.offer-card.offer-card--featured .btn.btn--primary:hover{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
}

.offer-card--featured::after{
  display:none;
}

.offer-card__lead{
  min-height:0;
}

@media (min-width:901px){
  .offer-card--featured,
  .offer-card.offer-card--featured{
    transform:translateY(-8px);
  }
}

@media (hover:hover) and (pointer:fine){
  .offer-card:hover{
    border-color:rgba(21,101,192,.32);
    box-shadow:0 10px 28px rgba(16,35,61,.06);
    transform:none;
  }

  .offer-card--featured:hover,
  .offer-card.offer-card--featured:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 40px rgba(11,35,65,.22);
  }
}

/* --- Preuve : composition éditoriale --- */
.section.evidence-section{
  padding:52px 0 56px;
}

.evidence-section .section__head{
  margin-bottom:28px;
}

.evidence-section .section__title{
  max-width:18em;
}

.evidence-section .section__subtitle{
  max-width:40rem;
}

.evidence-board{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  margin-top:0;
  padding-top:0;
  border:0;
}

.evidence-board__lead{
  display:grid;
  gap:8px;
}

.evidence-board__lead strong{
  font-size:clamp(2.6rem, 4vw, 3.7rem);
  line-height:.9;
  letter-spacing:-.05em;
  color:var(--blue-dark);
  font-weight:700;
}

.evidence-board__lead span{
  max-width:16rem;
  font-size:var(--text-body-sm);
  line-height:1.55;
  color:var(--text-soft);
}

.evidence-board__lines{
  margin:0;
  padding:0;
  list-style:none;
}

.evidence-board__line{
  padding:16px 0;
  border-top:1px solid var(--line);
}

.evidence-board__line:last-child{
  border-bottom:1px solid var(--line);
}

.evidence-board__label{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:0 0 6px;
}

.evidence-board__label span{
  flex:none;
  color:var(--blue);
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.14em;
}

.evidence-board__label span::after{
  content:"—";
  margin-left:10px;
  color:rgba(11,35,65,.28);
  letter-spacing:0;
}

.evidence-board__line h3{
  margin:0;
  color:var(--blue-dark);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.evidence-board__line p{
  margin:0;
  max-width:36rem;
  font-size:var(--text-body-sm);
  line-height:1.55;
  color:var(--text-soft);
}

.evidence-section .proof-links{
  margin-top:22px;
}

@media (min-width:900px){
  .evidence-board{
    grid-template-columns:minmax(0, 36%) minmax(0, 64%);
    gap:32px 72px;
    align-items:center;
  }

  .evidence-board__line{
    padding:18px 0;
  }
}

@media (max-width:899px){
  .section.evidence-section{
    padding:44px 0 48px;
  }
}

/* --- Blocs contrastés : offres, IK-CRM, à propos --- */
.detail-grid-2{
  gap:20px;
}

@media (min-width:900px){
  .detail-grid-2{
    grid-template-columns:minmax(280px, 1fr) minmax(280px, 1fr);
    gap:20px;
    align-items:stretch;
  }
}

.content-card,
.content-card.content-card,
.content-card.content-card--navy{
  height:100%;
  padding:36px 32px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:none;
  color:var(--text);
}

.content-card h2{
  max-width:16em;
  font-size:clamp(1.35rem, 1.8vw, 1.7rem);
  line-height:1.22;
  letter-spacing:-.03em;
}

.content-card p,
.content-card li{
  max-width:none;
}

.content-card--navy,
.content-card.content-card--navy{
  background:var(--blue-dark);
  border-color:var(--blue-dark);
  color:#fff;
}

.content-card--navy,
.content-card--navy h2,
.content-card--navy h3,
.content-card--navy p,
.content-card--navy li,
.content-card.content-card--navy h2,
.content-card.content-card--navy h3,
.content-card.content-card--navy p,
.content-card.content-card--navy li{
  color:#fff;
}

.content-card--navy p,
.content-card--navy li{
  color:rgba(255,255,255,.74);
}

.content-card--navy .section__eyebrow,
.content-card .section__eyebrow{
  color:var(--orange);
}

.content-card--navy .offer-card__price{
  color:#fff;
}

.content-card .offer-card__price{
  color:var(--blue-dark);
}

.content-card--navy .offer-card__monthly{
  color:var(--orange);
}

.content-card--navy .btn--primary{
  background:#fff;
  color:var(--blue-dark);
  border-color:#fff;
}

.content-card--navy .btn--primary:hover{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
}

.content-card--navy strong{
  color:#fff;
}

@media (hover:hover) and (pointer:fine){
  .content-card:hover,
  .content-card--navy:hover{
    transform:none;
    box-shadow:none;
    border-color:inherit;
  }
}

/* --- À propos : moins de document, plus de composition --- */
.section__subtitle--lead{
  margin-top:20px;
  padding-left:18px;
  border-left:2px solid var(--orange);
  max-width:38rem;
  font-size:1.08rem;
  line-height:1.65;
  color:var(--text);
}

@media (min-width:900px){
  .editorial-blocks--grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }

  .editorial-blocks--grid .editorial-block{
    grid-template-columns:1fr;
    gap:10px;
    padding:32px 36px 32px 0;
  }

  .editorial-blocks--grid .editorial-block:nth-child(odd){
    padding-right:36px;
    border-right:1px solid var(--line);
  }

  .editorial-blocks--grid .editorial-block:nth-child(even){
    padding-left:36px;
    padding-right:0;
  }

  .editorial-blocks--grid .editorial-block h3,
  .editorial-blocks--grid .editorial-block p,
  .editorial-blocks--grid .editorial-block__list,
  .editorial-blocks--grid .editorial-block__kicker{
    grid-column:auto;
    grid-row:auto;
  }

  .section--stats .editorial-list{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }

  .section--stats .editorial-list__item{
    grid-template-columns:1fr;
    grid-template-areas:"num" "title";
    row-gap:10px;
    padding:28px 24px 28px 0;
    border-bottom:0;
    border-right:1px solid var(--line);
  }

  .section--stats .editorial-list__item:last-child{
    border-right:0;
    padding-right:0;
  }

  .section--stats .editorial-list__content{
    grid-column:auto;
    grid-row:auto;
  }

  .section--stats .editorial-list__content h3{
    text-transform:none;
    letter-spacing:-.02em;
    font-size:1.05rem;
    line-height:1.35;
  }
}

/* --- CTA final compact, 70/30 --- */
.callout,
.callout.callout--premium{
  padding:0;
}

.callout__inner,
.callout.callout--premium .callout__inner{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
  padding:40px 0;
  width:min(100% - 48px, var(--container));
}

.callout__content{
  max-width:46rem;
  flex:1 1 auto;
}

.callout__eyebrow{
  display:block;
  margin-bottom:8px;
}

.callout__title{
  max-width:none;
  font-size:clamp(1.35rem, 2vw, 1.85rem);
  line-height:1.2;
  letter-spacing:-.03em;
  font-weight:700;
}

.callout__text{
  margin-top:10px;
  max-width:38rem;
  font-size:.95rem;
  line-height:1.65;
}

.callout__cta{
  flex:0 0 auto;
}

@media (min-width:900px){
  .callout__inner,
  .callout.callout--premium .callout__inner{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:48px;
    padding:48px 0;
  }

  .callout__content{
    flex:1 1 70%;
  }

  .callout__cta{
    flex:0 0 auto;
  }
}

@media (max-width:899px){
  .section,
  .detail-section,
  .page-accueil .section,
  .crm-showcase{
    padding:52px 0;
  }

  .page-accueil .acquisition-hero,
  .page-accueil .acquisition-hero .hero__inner{
    min-height:0;
    height:auto;
  }

  .page-accueil .acquisition-hero .hero__inner{
    padding:56px 0 64px;
  }

  .page-accueil .acquisition-hero .hero__title,
  .page-hero__title,
  .hero__title{
    max-width:none;
    font-size:clamp(2.05rem, 8vw, 2.55rem);
    line-height:1.12;
  }

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

  .offer-card--featured,
  .offer-card.offer-card--featured{
    transform:none;
  }

  .callout__inner,
  .callout.callout--premium .callout__inner{
    padding:36px 0;
    width:min(100% - 32px, var(--container));
  }

  .callout__title{
    max-width:none;
    font-size:clamp(1.3rem, 6vw, 1.7rem);
  }

  .content-card,
  .content-card.content-card,
  .content-card.content-card--navy{
    padding:28px 22px;
  }

  .editorial-blocks--grid .editorial-block:nth-child(odd),
  .editorial-blocks--grid .editorial-block:nth-child(even){
    padding:28px 0;
    border-right:0;
  }
}

/* =========================================================
   À propos — Nos repères (composition manifeste, locale)
========================================================= */
.section.section--reperes{
  padding:56px 0 64px;
}

.reperes{
  display:grid;
  grid-template-columns:1fr;
  gap:36px;
}

.reperes__intro{
  max-width:34rem;
}

.reperes__intro .section__title{
  max-width:14em;
  margin:0;
}

.reperes__intro .section__subtitle{
  margin-top:16px;
  max-width:32rem;
}

.reperes__list{
  margin:0;
  padding:0;
  list-style:none;
}

.reperes__item{
  padding:20px 0 18px;
  border-bottom:1px solid var(--line);
  transition:
    transform 300ms cubic-bezier(.22,1,.36,1),
    border-color 300ms cubic-bezier(.22,1,.36,1);
}

.reperes__item:first-child{
  padding-top:0;
}

.reperes__item:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.reperes__num{
  display:block;
  margin:0 0 8px;
  color:var(--blue);
  font-size:var(--text-label);
  font-weight:700;
  letter-spacing:.14em;
  line-height:1;
  transition:color 300ms cubic-bezier(.22,1,.36,1);
}

.reperes__item h3{
  margin:0;
  max-width:22em;
  color:var(--blue-dark);
  font-size:clamp(1.08rem, 1.4vw, 1.28rem);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.35;
}

@media (min-width:900px){
  .reperes{
    grid-template-columns:minmax(0, 38%) minmax(0, 62%);
    gap:48px 80px;
    align-items:start;
  }

  .reperes__intro{
    padding-top:4px;
    padding-right:12px;
  }

  .reperes__list{
    padding-top:2px;
  }

  .reperes__item{
    padding:22px 0 20px;
  }
}

@media (hover:hover) and (pointer:fine){
  .reperes__item:hover{
    transform:translateX(4px);
    border-bottom-color:rgba(11,35,65,.28);
  }

  .reperes__item:hover .reperes__num{
    color:var(--orange);
  }

  .reperes__item:last-child:hover{
    border-bottom-color:transparent;
  }
}

@media (max-width:899px){
  .section.section--reperes{
    padding:48px 0 52px;
  }

  .reperes{
    gap:28px;
  }

  .reperes__item{
    padding:18px 0 16px;
  }
}
