@font-face{font-family:'Instrument Sans'; font-style:normal; font-weight:400 500; font-display:swap; src:url(polices/instrument-sans.woff2) format('woff2')}

  :root{
    --papier:#faf6ed; --gris:#efe9da; --encre:#1a1612; --taupe:#6b5f4f;
    --marine:#0c1a26; --marine2:#142c3e; --lave:#a1c4de; --ivoire:#faf6ed;
    --sans:"Instrument Sans",system-ui,sans-serif;
    --gutter:clamp(20px,3.4vw,56px);
    --h1:clamp(32px,3.9vw,56px);
    --h2:clamp(24px,2.9vw,42px);
    --h3:clamp(18px,1.7vw,26px);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--papier); color:var(--encre); font-family:var(--sans); font-size:16px; line-height:1.55}
  img{display:block}
  a:focus-visible,button:focus-visible{outline:2px solid var(--taupe); outline-offset:3px}

  header{display:flex; justify-content:space-between; align-items:center; padding:clamp(18px,1.8vw,28px) var(--gutter)}
  header img{height:clamp(30px,2.4vw,38px)}
  header nav{display:flex; gap:8px; align-items:center}
  header nav a{font-size:14px; color:var(--encre); text-decoration:none; padding:10px 14px; border-radius:10px}
  header nav a:hover{background:var(--gris)}
  header nav a.pill{background:var(--gris); padding:12px 18px}
  @media (max-width:760px){ header nav a:not(.pill){display:none} }

  .btn{display:inline-block; font-size:clamp(14px,1vw,15px); font-weight:500; color:var(--encre); text-decoration:none; background:var(--gris); padding:14px 20px; border-radius:10px; transition:background .3s}
  .btn:hover{background:#e6ddc8}
  .btn.glass-clair{
    color:var(--ivoire);
    background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.07));
    -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.32); border-radius:999px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 10px 28px rgba(0,0,0,.3);
  }
  .link{font-size:15px; font-weight:500; color:var(--encre); text-decoration:none; border-bottom:1px solid rgba(26,22,18,.3); padding-bottom:3px}
  .link:hover{border-color:var(--encre)}

  /* hero (calque validé) */
  .haut{padding:0 var(--gutter); margin-top:clamp(8svh,10vh,12svh); margin-bottom:clamp(36px,6vh,72px); display:grid; grid-template-columns:1fr; gap:clamp(28px,4vw,72px); align-items:center}
  @media (min-width:900px){ .haut{grid-template-columns:1.05fr 1fr} }
  h1{font-size:var(--h1); font-weight:500; line-height:1.12; letter-spacing:-.012em; max-width:19ch}
  .sub{margin-top:clamp(18px,1.8vw,26px); font-size:clamp(16px,1.25vw,19px); color:var(--taupe); max-width:42ch; line-height:1.55}
  .hero-cta{margin-top:clamp(26px,2.4vw,36px); display:flex; gap:14px; align-items:center; flex-wrap:wrap}
  .vsl{position:relative; aspect-ratio:16/9; border-radius:10px; overflow:hidden;
    background:linear-gradient(160deg,#22384c 0%,#132638 55%,#0c1a26 100%);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; border:1px solid rgba(26,22,18,.12); cursor:pointer}
  .vsl::before{content:""; position:absolute; inset:0; background:repeating-linear-gradient(45deg, transparent 0 14px, rgba(250,246,237,.025) 14px 15px)}
  .vsl .play{position:relative; width:clamp(56px,4.6vw,72px); aspect-ratio:1; border-radius:50%; background:rgba(255,255,255,.14); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.35); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; padding-left:4px}
  .vsl span{position:relative; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:rgba(250,246,237,.55)}

  .tri{display:grid; grid-template-columns:1fr 1fr 1fr; gap:2px; height:clamp(34svh,40vh,44svh)}
  .tri figure{position:relative; overflow:hidden}
  .tri img{width:100%; height:100%; object-fit:cover; filter:saturate(.92) contrast(1.03); transition:transform .8s cubic-bezier(.22,1,.36,1)}
  .tri figure:hover img{transform:scale(1.03)}
  .tri figure::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(12,26,38,.55) 0%, rgba(12,26,38,0) 45%)}
  .tri figcaption{position:absolute; left:clamp(10px,1.4vw,22px); bottom:clamp(10px,1.4vw,20px); right:8px; z-index:2; color:#fff; font-size:clamp(12.5px,1.05vw,16px); font-weight:500; line-height:1.3}

  section{padding:clamp(72px,9vw,130px) var(--gutter)}
  .label{font-size:13px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--taupe)}
  h2{font-size:var(--h2); font-weight:500; line-height:1.12; letter-spacing:-.01em; margin-top:14px; max-width:26ch}

  /* preuves */
  .preuves{background:var(--marine); color:var(--ivoire)}
  .preuves .label{color:var(--lave)}
  .flag blockquote{font-size:clamp(18px,1.6vw,24px); line-height:1.45; color:rgba(250,246,237,.92); border-left:2px solid rgba(161,196,222,.5); padding-left:20px; max-width:44ch}
  .flag .qui{margin-top:14px; font-size:13.5px; color:rgba(250,246,237,.5)}

  /* dossiers — cartes image, survol focus (mécanique 21st), clic = fiche */
  .cartes{margin-top:clamp(36px,4.5vw,64px); display:grid; grid-template-columns:1fr; gap:clamp(20px,2.4vw,36px)}
  @media (min-width:760px){ .cartes{grid-template-columns:1fr 1fr} }
  .carte{position:relative; display:block; aspect-ratio:16/10; border-radius:16px; overflow:hidden; background:var(--gris);
    border:none; padding:0; cursor:pointer; text-align:left; font:inherit; width:100%;
    box-shadow:0 10px 30px rgba(26,22,18,.12);
    transition:transform .5s ease-in-out, opacity .5s ease-in-out, filter .5s ease-in-out}
  .carte img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.92)}
  .carte::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 34%, transparent 62%)}
  .carte .infos{position:absolute; left:clamp(16px,2vw,26px); right:16px; bottom:clamp(14px,1.8vw,22px); z-index:2; color:#fff}
  .carte .cat{font-size:12px; font-weight:300; letter-spacing:.18em; text-transform:uppercase; opacity:.8}
  .carte h3{font-size:var(--h3); font-weight:500; margin-top:4px; line-height:1.25}
  .carte .stat{margin-top:3px; font-size:14px; opacity:.75}
  @media (hover:hover){
    .cartes:hover .carte{transform:scale(.985); opacity:.7}
    .cartes:hover .carte:hover{transform:scale(1.03); opacity:1; z-index:3}
  }
  .voir-tout{margin-top:clamp(32px,3.5vw,48px)}

  /* rail de cartes détachées : 4 visibles, la suivante dépasse (défilement) */
  .cartes.bande{margin:clamp(28px,4vh,56px) 0 clamp(56px,8vh,110px);
    display:flex; gap:clamp(16px,1.8vw,30px); padding:20px var(--gutter);
    overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none}
  .cartes.bande::-webkit-scrollbar{display:none}
  .cartes.bande .carte{flex:0 0 clamp(220px, 22.6%, 420px); scroll-snap-align:start;
    border-radius:16px; aspect-ratio:3/4; height:auto;
    box-shadow:0 14px 34px rgba(26,22,18,.16)}
  @media (max-width:900px){
    .cartes.bande .carte{flex:0 0 72%}
  }

  /* méthode */
  .methode{background:#f4eddd}
  .temps{margin-top:clamp(36px,4.5vw,64px); display:grid; grid-template-columns:1fr; gap:0; border-top:1px solid rgba(26,22,18,.14)}
  @media (min-width:900px){ .temps{grid-template-columns:repeat(4,1fr); border-left:1px solid rgba(26,22,18,.14)} }
  .temp{padding:clamp(20px,2vw,30px) clamp(0px,1.8vw,28px) clamp(24px,2.4vw,36px) 0; border-bottom:1px solid rgba(26,22,18,.14)}
  @media (min-width:900px){ .temp{border-bottom:none; border-right:1px solid rgba(26,22,18,.14); padding-left:clamp(16px,1.8vw,28px)} }
  .temp .n{font-size:13px; color:var(--taupe)}
  .temp h3{font-size:var(--h3); font-weight:500; margin-top:10px}
  .temp p{margin-top:10px; font-size:15px; color:var(--taupe); max-width:30ch}

  /* manifeste */
  .manif blockquote{font-size:clamp(22px,2.6vw,38px); font-weight:500; line-height:1.3; letter-spacing:-.01em; max-width:30ch; margin-top:14px}
  .manif .suite{margin-top:22px; font-size:clamp(16px,1.25vw,19px); color:var(--taupe); max-width:52ch; line-height:1.6}

  /* faq */
  .faq .faq-liste, .faq h2{max-width:820px}
  .faq-liste{margin-top:clamp(28px,3vw,44px); border-top:1px solid rgba(26,22,18,.16)}
  details{border-bottom:1px solid rgba(26,22,18,.16)}
  summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; align-items:baseline; padding:20px 2px; font-size:clamp(16.5px,1.3vw,19px); font-weight:500}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+"; font-weight:400; font-size:22px; color:var(--taupe); flex-shrink:0; transition:transform .3s}
  details[open] summary::after{transform:rotate(45deg)}
  details .r{padding:0 2px 22px; color:var(--taupe); max-width:60ch; line-height:1.6}

  /* contact */
  .fin{background:var(--marine); color:var(--ivoire)}
  .fin h2{max-width:22ch}
  .fin p{margin-top:16px; color:rgba(250,246,237,.75); max-width:46ch; font-size:clamp(16px,1.25vw,18px); line-height:1.6}
  .fin .hero-cta{margin-top:clamp(28px,3vw,40px)}


  .rev{opacity:0; transform:translateY(14px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1)}
  .rev.in{opacity:1; transform:none}
  @media (prefers-reduced-motion:reduce){ .rev{opacity:1; transform:none; transition:none} html{scroll-behavior:auto} }

/* ---- sous-pages ---- */
.page-hero{padding-top:clamp(48px,6vw,88px)}
.page-hero h1{font-size:var(--h1); font-weight:500; line-height:1.12; letter-spacing:-.012em; max-width:20ch; margin-top:14px}
.page-hero .sub{margin-top:clamp(16px,1.6vw,24px)}

.temps-detail{margin-top:clamp(36px,4.5vw,64px); border-top:1px solid rgba(26,22,18,.14)}
.td{display:grid; grid-template-columns:1fr; gap:clamp(10px,2vw,56px); padding:clamp(28px,3vw,48px) 0; border-bottom:1px solid rgba(26,22,18,.14)}
@media (min-width:900px){ .td{grid-template-columns:260px 1fr} }
.td .n{font-size:13px; color:var(--taupe)}
.td h3{font-size:var(--h3); font-weight:500; margin-top:6px}
.td p{margin-top:12px; color:var(--taupe); max-width:60ch; line-height:1.6}
.td ul{margin-top:14px; list-style:none}
.td li{padding:10px 0 10px 18px; border-bottom:1px solid rgba(26,22,18,.1); position:relative; font-size:15.5px; color:var(--encre)}
.td li::before{content:""; position:absolute; left:0; top:1.15em; width:8px; height:1px; background:var(--taupe)}
.td li:last-child{border-bottom:none}

section.bande{background:var(--marine); color:var(--ivoire)}
section.bande blockquote{font-size:clamp(20px,2.2vw,32px); font-weight:500; line-height:1.35; letter-spacing:-.008em; max-width:34ch}

.faces{margin-top:clamp(36px,4.5vw,64px); display:grid; grid-template-columns:1fr; gap:clamp(32px,4vw,64px)}
@media (min-width:820px){ .faces{grid-template-columns:1fr 1fr} }
.face .frame{aspect-ratio:4/5; border-radius:10px; background:repeating-linear-gradient(45deg, transparent 0 12px, rgba(26,22,18,.035) 12px 13px), var(--gris); border:1px solid rgba(26,22,18,.12); display:flex; align-items:center; justify-content:center}
.face .frame span{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--taupe)}
.face h3{font-size:var(--h3); font-weight:500; margin-top:18px}
.face .role{font-size:13.5px; color:var(--taupe); margin-top:4px}
.face p{margin-top:12px; color:var(--taupe); max-width:46ch; line-height:1.6}

.recit{max-width:64ch}
.recit p{margin-top:20px; font-size:clamp(16px,1.3vw,19px); line-height:1.7; color:var(--encre)}
.recit p:first-child{margin-top:clamp(24px,3vw,40px)}
.recit p em{color:var(--taupe); font-style:normal}

/* ---- fiches clients (cartes Apple) ---- */
.carte{cursor:pointer; border:none; background:none; text-align:left; font:inherit; color:inherit; padding:0; width:100%}
.carte{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.carte:hover{transform:scale(1.015)}
.fiche-veil{position:fixed; inset:0; background:rgba(12,26,38,.55); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); z-index:90; opacity:0; pointer-events:none; transition:opacity .35s}
.fiche-veil.on{opacity:1; pointer-events:auto}
.fiche{position:fixed; inset:0; z-index:100; display:none; align-items:flex-start; justify-content:center; overflow-y:auto; padding:clamp(12px,3vw,48px)}
.fiche.on{display:flex}
.fiche-carte{background:var(--papier); border-radius:16px; max-width:860px; width:100%; overflow:hidden; transform:scale(.96) translateY(10px); opacity:0; transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .35s; margin:auto}
.fiche.on .fiche-carte{transform:none; opacity:1}
.fiche-im{position:relative; aspect-ratio:16/8; overflow:hidden}
.fiche-im img{width:100%; height:100%; object-fit:cover; filter:saturate(.92)}
.fiche-im::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(12,26,38,.5), rgba(12,26,38,0) 50%)}
.fiche-im .fermer{position:absolute; top:14px; right:14px; z-index:3; width:38px; height:38px; border-radius:50%; border:none; cursor:pointer; font-size:17px; color:#fff; background:rgba(12,26,38,.45); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px)}
.fiche-im .qui{position:absolute; left:clamp(16px,3vw,32px); bottom:16px; z-index:2; color:#fff}
.fiche-im .qui .cat{font-size:13px; opacity:.8}
.fiche-im .qui h3{font-size:clamp(22px,2.4vw,32px); font-weight:500; margin-top:2px}
.fiche-corps{padding:clamp(20px,3vw,40px)}
.fiche-stats{display:grid; grid-template-columns:1fr 1fr; gap:2px; border:1px solid rgba(26,22,18,.12); border-radius:10px; overflow:hidden; background:rgba(26,22,18,.12)}
@media (min-width:700px){ .fiche-stats{grid-template-columns:repeat(3,1fr)} }
.fiche-stats > div{background:var(--papier); padding:16px}
@media (max-width:699px){ .fiche-stats > div:last-child:nth-child(odd){grid-column:1/-1} }
.fiche-stats b{display:block; font-size:clamp(20px,2vw,28px); font-weight:500; letter-spacing:-.01em}
.fiche-stats span{display:block; margin-top:4px; font-size:13px; color:var(--taupe); line-height:1.4}
.fiche-corps p.txt{margin-top:20px; color:var(--taupe); line-height:1.65; max-width:64ch}
.fiche-corps .hero-cta{margin-top:24px}
body.fige{overflow:hidden}

/* invitations (Versailles · Genève) */
.invits{margin-top:clamp(36px,4.5vw,64px); display:grid; grid-template-columns:1fr; gap:clamp(24px,3vw,44px)}
@media (min-width:820px){ .invits{grid-template-columns:1fr 1fr} }
.invit img{width:100%; aspect-ratio:16/11; object-fit:cover; border-radius:14px; display:block; box-shadow:0 14px 34px rgba(26,22,18,.14)}
.invit figcaption{margin-top:14px}
.invit .lieu{font-weight:500; font-size:16px}
.invit .quoi{margin-top:3px; font-size:14.5px; color:var(--taupe); max-width:44ch}
.face .frame{position:relative; overflow:hidden}
.face .frame > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}

/* bandeau logos clients (défilement continu) */
.confiance{padding:clamp(44px,5vw,72px) 0}
.confiance .label{padding:0 var(--gutter)}
.defile{margin-top:clamp(22px,2.4vw,34px); overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.defile .piste{display:flex; align-items:center; gap:clamp(44px,4.6vw,80px); width:max-content;
  padding-left:clamp(44px,4.6vw,80px); animation:defile 48s linear infinite}
.defile:hover .piste{animation-play-state:paused}
.defile img{height:clamp(24px,2.2vw,32px); width:auto; filter:grayscale(1); opacity:.7; flex-shrink:0}
.defile img.haut-logo{height:clamp(38px,3.4vw,50px)}
.defile img.encre{filter:brightness(0); opacity:.55}
@keyframes defile{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){ .defile .piste{animation:none} }

/* paires de photos dans les invitations */
.invit .paire{display:grid; gap:10px}
.invit .paire img{aspect-ratio:16/10}

/* photo des deux fondateurs */
.duo-fondateurs{margin-top:clamp(32px,4vw,56px)}
.duo-fondateurs img{width:100%; aspect-ratio:16/9; object-fit:cover; object-position:50% 38%; border-radius:14px; box-shadow:0 14px 34px rgba(26,22,18,.14)}
.duo-fondateurs figcaption{margin-top:12px; font-size:13.5px; color:var(--taupe)}
.defile img.geant{height:clamp(50px,4.4vw,64px)}
.defile img.petit{height:clamp(14px,1.3vw,18px)}

/* vidéos témoignages */
.videos{margin-top:clamp(36px,4.5vw,64px); display:grid; grid-template-columns:1fr; gap:clamp(20px,2.4vw,36px)}
@media (min-width:820px){ .videos{grid-template-columns:repeat(3,1fr)} }
.video{display:block; text-decoration:none; color:inherit}
.video .vim{display:block; position:relative; aspect-ratio:16/9; border-radius:12px; overflow:hidden; box-shadow:0 12px 30px rgba(26,22,18,.14)}
.video .vim img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.22,1,.36,1)}
.video:hover .vim img{transform:scale(1.03)}
.video .vim::after{content:"▶"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:20px; color:#fff; padding-left:4px;
  background:rgba(12,26,38,.18); transition:background .3s}
.video:hover .vim::after{background:rgba(12,26,38,.32)}
.video .vim .badge{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:58px; height:58px; border-radius:50%;
  background:rgba(255,255,255,.16); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.4)}
.video h3{font-size:16.5px; font-weight:500; margin-top:14px; line-height:1.35}
.video p{margin-top:3px; font-size:14px; color:var(--taupe)}
.cta-mi-page{margin-top:clamp(48px,5.5vw,72px); display:flex; gap:16px; align-items:center; flex-wrap:wrap}


/* pièce à conviction : capture Search Console dans la fiche */
.fiche-gsc{margin-top:22px}
.fiche-gsc img{width:100%; border:1px solid rgba(26,22,18,.12); border-radius:10px}
.fiche-gsc figcaption{margin-top:8px; font-size:12.5px; color:var(--taupe)}

/* menu mobile */
.burger{display:none; background:var(--gris); border:none; border-radius:8px; padding:11px 13px; cursor:pointer}
.burger span{display:block; width:18px; height:2px; background:var(--encre); border-radius:2px}
.burger span + span{margin-top:4px}
@media (max-width:760px){
  .burger{display:block}
  nav a.pill{display:none}
}
.menu-mobile{position:fixed; inset:0; z-index:200; background:rgba(250,246,237,.98); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  display:none; flex-direction:column; padding:24px 24px 40px}
.menu-mobile.on{display:flex}
.menu-mobile .haut-menu{display:flex; justify-content:space-between; align-items:center}
.menu-mobile .haut-menu img{height:24px}
.menu-mobile .fermer-menu{background:var(--gris); border:none; border-radius:8px; width:42px; height:42px; font-size:17px; cursor:pointer; color:var(--encre)}
.menu-mobile ul{list-style:none; margin-top:9vh}
.menu-mobile li{border-bottom:1px solid rgba(26,22,18,.12)}
.menu-mobile a{display:block; padding:20px 2px; font-size:22px; font-weight:500; color:var(--encre); text-decoration:none}
.menu-mobile .btn{margin-top:auto; text-align:center; font-size:16px; padding:18px}

/* prise de rendez-vous iClosed */
.fin .prise-rdv{display:grid; grid-template-columns:1fr; gap:clamp(32px,4vw,64px); align-items:center}
@media (min-width:980px){ .fin .prise-rdv{grid-template-columns:1fr 1.15fr} }
.cadre-rdv{background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.35); min-height:620px}

/* page de remerciement */
.merci-haut{padding:0 var(--gutter); margin-top:clamp(7svh,9vh,11svh); display:grid; grid-template-columns:1fr; gap:clamp(28px,4vw,72px); align-items:center}
@media (min-width:900px){ .merci-haut{grid-template-columns:1.05fr 1fr} }

/* passe de finition */
::selection{background:var(--marine); color:var(--ivoire)}
h1,h2,h3{text-wrap:balance}
section[id], div[id]{scroll-margin-top:84px}
.btn{will-change:transform}
.btn:active{transform:scale(.98)}
.vsl{border-radius:16px}
.video .vim{border-radius:16px}
.carte:active{transform:scale(.99)}
html{-webkit-text-size-adjust:100%}

/* rendez-vous flottant maison */
.rdv-flottant{position:fixed; right:clamp(14px,2vw,26px); bottom:clamp(14px,2vw,26px); z-index:150;
  font-family:var(--sans); font-weight:500; font-size:14px; color:var(--ivoire);
  padding:14px 22px; border-radius:999px; cursor:pointer; border:1px solid rgba(250,246,237,.18);
  background:linear-gradient(180deg, rgba(30,63,88,.94), rgba(12,26,38,.97));
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(250,246,237,.16), 0 14px 34px rgba(12,26,38,.35);
  opacity:0; transform:translateY(10px); pointer-events:none;
  transition:opacity .4s ease, transform .4s cubic-bezier(.22,1,.36,1)}
.rdv-flottant.visible{opacity:1; transform:none; pointer-events:auto}
.rdv-flottant:hover{border-color:rgba(184,146,75,.55)}

/* le premier geste (page merci) : emphase typographique, pas de boîte */
.premier-geste{margin-top:clamp(26px,3vw,40px); padding:20px 0 22px; border-top:2px solid var(--encre); border-bottom:1px solid rgba(26,22,18,.14)}
.premier-geste .grande-ligne{margin-top:10px; font-size:clamp(20px,1.9vw,26px); font-weight:500; line-height:1.35; letter-spacing:-.008em; max-width:30ch}
.premier-geste .oui{border-bottom:3px solid #b8924b; padding-bottom:1px}
.premier-geste .pourquoi{margin-top:10px; font-size:15px; color:var(--taupe)}


/* ---- le pied de la maison (toutes pages) ---- */
.pied{background:var(--marine); color:rgba(250,246,237,.65); border-top:1px solid rgba(250,246,237,.12)}
.pied a{text-decoration:none}
.pied-grille{display:grid; grid-template-columns:1fr; gap:clamp(36px,4.5vw,72px); padding:clamp(48px,6vw,84px) var(--gutter)}
@media (min-width:960px){ .pied-grille{grid-template-columns:1.5fr 1fr 1fr 1.1fr} }
.pied-courrier img{height:clamp(30px,2.8vw,40px); opacity:.94}
.pied-devise{margin-top:18px; font-size:clamp(16px,1.4vw,19px); color:rgba(250,246,237,.75); max-width:26ch; line-height:1.5}
.pied h4{font-size:12.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:rgba(250,246,237,.4)}
.pied nav a{display:block; margin-top:13px; color:rgba(250,246,237,.7); font-size:14.5px; transition:color .25s}
.pied nav a:hover{color:var(--ivoire)}
.pied-social{display:flex; gap:12px; margin-top:16px}
.pied-social a{width:42px; height:42px; border-radius:50%; border:1px solid rgba(250,246,237,.25);
  display:flex; align-items:center; justify-content:center; color:rgba(250,246,237,.75); transition:border-color .25s, color .25s}
.pied-social a:hover{border-color:rgba(184,146,75,.6); color:var(--ivoire)}
.pied-social svg{width:16px; height:16px; fill:currentColor}
.pied-lieux{margin-top:22px; font-size:14px; color:rgba(250,246,237,.5)}
.pied-langues{margin-top:14px; display:flex; gap:8px}
.pied-langues a{font-size:12.5px; letter-spacing:.06em; padding:7px 12px; border-radius:8px; border:1px solid rgba(250,246,237,.2); color:rgba(250,246,237,.65)}
.pied-langues a.actif{background:rgba(250,246,237,.1); color:var(--ivoire)}
.pied-langues a:hover{color:var(--ivoire)}
.pied-bas{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  padding:22px var(--gutter); border-top:1px solid rgba(250,246,237,.12); font-size:13px; color:rgba(250,246,237,.45)}
.pied-bas nav{display:flex; gap:20px}
.pied-bas a{color:rgba(250,246,237,.45); transition:color .25s}
.pied-bas a:hover{color:var(--ivoire)}

/* bandeau des Search Console (page merci) */
.gsc-defile .piste{animation-duration:90s; gap:clamp(28px,3vw,48px); align-items:flex-start}
.gsc-item{flex:0 0 clamp(320px,32vw,540px)}
.gsc-defile .piste .gsc-item img{height:auto; width:100%; filter:none; opacity:1;
  border-radius:12px; border:1px solid rgba(26,22,18,.12); background:#fff; box-shadow:0 10px 26px rgba(26,22,18,.08)}
.gsc-item figcaption{margin-top:10px; font-size:14.5px; font-weight:500}
.gsc-item figcaption span{color:var(--taupe); font-weight:400}

/* salle de projection (lecture des vidéos sur place) */
.cine{position:fixed; inset:0; z-index:220; display:none; align-items:center; justify-content:center;
  padding:clamp(12px,4vw,48px); background:rgba(12,26,38,.82); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px)}
.cine.on{display:flex}
.cine .boite{position:relative; width:min(1080px,100%); aspect-ratio:16/9; background:#000; border-radius:14px; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.5)}
.cine iframe{width:100%; height:100%; border:0; display:block}
.cine .fermer-cine{position:absolute; top:-14px; right:-14px; width:40px; height:40px; border-radius:50%; border:none; cursor:pointer;
  font-size:16px; color:var(--marine); background:var(--ivoire); box-shadow:0 8px 22px rgba(0,0,0,.35)}
@media (max-width:700px){ .cine .fermer-cine{top:8px; right:8px} }

/* invitation à regarder la vidéo (page merci) */
.regarde{display:flex; gap:10px; align-items:center; font-weight:500; font-size:15.5px; margin-bottom:14px}
.regarde .fleche{display:inline-flex; animation:hoche 2.2s ease-in-out infinite}
.regarde em{font-style:normal; border-bottom:3px solid #b8924b; padding-bottom:1px}
@keyframes hoche{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media (prefers-reduced-motion:reduce){ .regarde .fleche{animation:none} }


/* le cadre en deux colonnes : à faire / à éviter */
.cadre-double{margin-top:clamp(24px,2.6vw,36px); display:grid; grid-template-columns:1fr; gap:20px}
@media (min-width:640px){ .cadre-double{grid-template-columns:1fr 1fr; gap:clamp(20px,2.2vw,36px)} }
.cadre-double h5{font-size:12.5px; font-weight:500; letter-spacing:.07em; text-transform:uppercase; color:var(--taupe)}
.cadre-double ul{list-style:none; margin-top:4px}
.cadre-double li{display:flex; gap:12px; align-items:flex-start; padding:13px 0; border-bottom:1px solid rgba(26,22,18,.12); font-size:15px; line-height:1.5}
.signe{flex:0 0 24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11.5px; font-weight:600; margin-top:2px; border:1.5px solid}
.signe.fait{border-color:var(--marine); color:var(--marine)}
.signe.evite{border-color:#9c5f44; color:#9c5f44}
@media (max-width:760px){ header nav a.toujours{display:inline-block} }
.gsc-defile + .gsc-defile{margin-top:clamp(18px,2vw,30px)}
.gsc-defile.sens-inverse .piste{animation-direction:reverse; animation-duration:104s}
.gsc-item{flex:0 0 clamp(360px,36vw,600px)}

/* la passe de caractère */
.no-sec{color:#b8924b; margin-right:12px; font-weight:500}
.acte{background:var(--marine); color:var(--ivoire); padding-top:clamp(96px,12vw,170px); padding-bottom:clamp(96px,12vw,170px)}
.acte .label{color:var(--lave)}
.acte blockquote{margin-top:clamp(24px,3vw,44px); font-size:clamp(31px,4.8vw,70px); font-weight:300; line-height:1.14; letter-spacing:-.018em; max-width:22ch}
.acte blockquote b{font-weight:600}
.acte .suite{margin-top:clamp(24px,2.6vw,40px); color:var(--brand-200, #c3d9ec); font-size:clamp(16px,1.3vw,20px); max-width:52ch; line-height:1.65}
.link.inv{color:rgba(250,246,237,.75); border-bottom-color:rgba(184,146,75,.6)}
.link.inv:hover{color:var(--ivoire); border-bottom-color:#b8924b}
h1{letter-spacing:-.018em}


/* preuves documentaires : les courbes Search Console en vedette */
.gsc-vedette{margin-top:clamp(40px,5vw,72px); display:grid; grid-template-columns:1fr; gap:clamp(28px,3.5vw,64px); align-items:end}
@media (min-width:980px){ .gsc-vedette{grid-template-columns:1.55fr 1fr} }
.preuve-citation blockquote{font-size:clamp(19px,1.7vw,25px); line-height:1.45; color:rgba(250,246,237,.92);
  border-left:2px solid rgba(161,196,222,.5); padding-left:20px; max-width:40ch}
.preuve-citation .qui{margin-top:14px; font-size:13.5px; color:rgba(250,246,237,.5)}
.preuve-citation .encore{margin-top:26px; font-size:15px; color:var(--lave)}
.gsc-secondaires{margin-top:clamp(32px,4vw,56px); display:grid; grid-template-columns:1fr; gap:clamp(24px,3vw,44px)}
@media (min-width:760px){ .gsc-secondaires{grid-template-columns:1fr 1fr} }


/* courbes redessinées à la main de la maison */
.courbe .c-tete strong{display:block; font-size:clamp(27px,2.5vw,40px); font-weight:500; color:var(--ivoire); letter-spacing:-.016em}
.courbe .c-tete span{display:block; margin-top:5px; font-size:14px; color:rgba(250,246,237,.55)}
.courbe svg{width:100%; height:auto; margin-top:20px; display:block}
.courbe .c-source{margin-top:10px; font-size:12.5px; color:rgba(250,246,237,.38)}

/* ---- la passe « mis en lumière » ---- */

/* entrée en scène du hero */
@keyframes lever{from{opacity:0; transform:translateY(26px)} to{opacity:1; transform:none}}
@keyframes paraitre{from{opacity:0; transform:scale(.985)} to{opacity:1; transform:none}}
.scene-1{animation:lever .85s cubic-bezier(.22,1,.36,1) both .12s}
.scene-2{animation:lever .85s cubic-bezier(.22,1,.36,1) both .32s}
.scene-3{animation:lever .85s cubic-bezier(.22,1,.36,1) both .5s}
.scene-4{animation:paraitre 1s cubic-bezier(.22,1,.36,1) both .66s}
@media (prefers-reduced-motion:reduce){ .scene-1,.scene-2,.scene-3,.scene-4{animation:none} }

/* l'affiche VSL */
.vsl.affiche{padding:0; border:1px solid rgba(26,22,18,.12); cursor:pointer; display:block; width:100%; background:var(--marine)}
.vsl.affiche img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 30%}
.vsl.affiche .voile-affiche{position:absolute; inset:0; background:linear-gradient(0deg, rgba(12,26,38,.6) 0%, rgba(12,26,38,.08) 45%)}
.vsl.affiche .play{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:clamp(58px,4.8vw,76px); aspect-ratio:1; border-radius:50%;
  background:rgba(255,255,255,.16); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.4);
  transition:transform .35s cubic-bezier(.22,1,.36,1), background .3s}
.vsl.affiche .play::after{content:""; position:absolute; left:53%; top:50%; transform:translate(-50%,-50%);
  border-left:16px solid #fff; border-top:10px solid transparent; border-bottom:10px solid transparent}
.vsl.affiche:hover .play{transform:translate(-50%,-50%) scale(1.07); background:rgba(255,255,255,.24)}
.vsl.affiche .etiquette{position:absolute; left:18px; bottom:14px; color:#fff; font-size:13.5px; font-weight:500}

/* le projecteur au survol */
.lumiere{position:relative}
.lueur{position:absolute; inset:0; border-radius:inherit; opacity:0; pointer-events:none; z-index:4;
  background:radial-gradient(260px circle at var(--lx,50%) var(--ly,50%), rgba(184,146,75,.2), transparent 65%);
  transition:opacity .4s}
.lumiere:hover .lueur{opacity:1}

/* les courbes tracées */
.courbe path.trait{transition:stroke-dashoffset 1.9s cubic-bezier(.4,0,.2,1)}
.courbe circle{opacity:0; transition:opacity .5s ease 1.6s}
.courbe.trace-fait circle{opacity:1}

/* le manifeste éclairé */
.acte blockquote .mot{opacity:.22}

/* les temps qui s'illuminent */
.temps .temp{opacity:.3; transform:translateY(10px); transition:opacity .75s ease, transform .75s cubic-bezier(.22,1,.36,1)}
.temps.allume .temp{opacity:1; transform:none}
.temps.allume .temp:nth-child(2){transition-delay:.18s}
.temps.allume .temp:nth-child(3){transition-delay:.36s}
.temps.allume .temp:nth-child(4){transition-delay:.54s}
@media (prefers-reduced-motion:reduce){ .temps .temp{opacity:1; transform:none} }

/* le filigrane de la maison */
.acte, .fin{position:relative; overflow:hidden}
.filigrane{position:absolute; right:-3%; bottom:-9%; width:clamp(280px,30vw,540px); opacity:.05; pointer-events:none; user-select:none}
.acte > *:not(.filigrane), .fin > *:not(.filigrane){position:relative; z-index:1}

/* ---- refonte page méthode ---- */
.marqueurs{margin-top:clamp(22px,2.2vw,32px); display:flex; gap:10px; flex-wrap:wrap}
.marqueurs span{font-size:13px; font-weight:500; color:var(--taupe); border:1px solid rgba(26,22,18,.16); border-radius:999px; padding:8px 14px}
.courbe-methode{margin-top:clamp(36px,4.5vw,64px); max-width:1080px}
.courbe-methode svg{width:100%; height:auto; display:block}
.courbe-methode .jalons{display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:14px; border-top:1px solid rgba(26,22,18,.14); padding-top:14px}
.courbe-methode .jalons span{font-size:13.5px; line-height:1.45}
.courbe-methode .jalons b{color:#b8924b; font-weight:500; margin-right:6px}
.courbe-methode .jalons em{font-style:normal; color:var(--taupe); font-size:12.5px}
.courbe-methode figcaption{margin-top:16px; font-size:13px; color:var(--taupe)}
.courbe-methode circle{opacity:0; transition:opacity .5s ease 1.9s}
.courbe-methode.trace-fait circle{opacity:1}
.audits{margin-top:clamp(32px,4vw,56px); display:grid; grid-template-columns:1fr; gap:2px; border-top:1px solid rgba(26,22,18,.14)}
@media (min-width:900px){ .audits{grid-template-columns:repeat(5,1fr); border-left:1px solid rgba(26,22,18,.14); border-top:none} }
.audit{padding:clamp(18px,1.8vw,26px) clamp(14px,1.6vw,24px) clamp(20px,2vw,30px) 0; border-bottom:1px solid rgba(26,22,18,.14)}
@media (min-width:900px){ .audit{border-bottom:none; border-right:1px solid rgba(26,22,18,.14); padding-left:clamp(14px,1.6vw,24px)} }
.audit .a-no{font-size:12.5px; color:#b8924b; font-weight:500}
.audit h3{font-size:17.5px; font-weight:500; margin-top:8px}
.audit p{margin-top:8px; font-size:14px; color:var(--taupe); line-height:1.55}
.livrable{margin-top:clamp(24px,2.6vw,36px); font-size:15.5px; color:var(--encre); border-left:2px solid #b8924b; padding-left:16px; max-width:52ch}
.roles-grille{margin-top:clamp(32px,4vw,56px); display:grid; grid-template-columns:1fr; gap:clamp(28px,3.5vw,64px)}
@media (min-width:860px){ .roles-grille{grid-template-columns:1.3fr 1fr} }
.roles h5{font-size:12.5px; font-weight:500; letter-spacing:.07em; text-transform:uppercase; color:var(--lave)}
.roles ul{list-style:none; margin-top:6px}
.roles li{display:flex; gap:12px; align-items:flex-start; padding:13px 0; border-bottom:1px solid rgba(250,246,237,.14); font-size:15.5px; line-height:1.55; color:rgba(250,246,237,.85)}
.signe.clair{border-color:rgba(250,246,237,.5); color:var(--ivoire)}
.socles{margin-top:clamp(32px,4vw,56px); display:grid; grid-template-columns:1fr; gap:clamp(16px,2vw,28px)}
@media (min-width:760px){ .socles{grid-template-columns:1fr 1fr} }
.socle{border:1px solid rgba(26,22,18,.14); border-radius:16px; padding:clamp(20px,2.2vw,30px)}
.socle h3{font-size:17.5px; font-weight:500}
.socle p{margin-top:8px; font-size:14.5px; color:var(--taupe); line-height:1.6}
@media (max-width:640px){ .courbe-methode .jalons{grid-template-columns:1fr 1fr} }

/* le trait de stylo tricolore sous « français » */
.souligne{position:relative; white-space:nowrap}
.souligne svg{position:absolute; left:-1%; right:-1%; width:102%; bottom:-.1em; height:.17em; overflow:visible}
.souligne path{stroke-dasharray:1; stroke-dashoffset:1; animation:stylo .7s cubic-bezier(.55,.06,.35,1) 1.15s forwards}
@keyframes stylo{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){ .souligne path{animation:none; stroke-dashoffset:0} }

/* l'équipe */
.equipe{margin-top:clamp(32px,4vw,56px); display:grid; grid-template-columns:1fr; gap:clamp(20px,2.4vw,36px)}
@media (min-width:700px){ .equipe{grid-template-columns:repeat(3,1fr)} }
.membre img, .membre .monogramme{width:min(200px,52vw); aspect-ratio:1; border-radius:16px; object-fit:cover; display:flex; align-items:center; justify-content:center}
.membre .monogramme{background:var(--marine); color:rgba(250,246,237,.85); font-size:52px; font-weight:500}
.membre h3{margin-top:14px; font-size:17.5px; font-weight:500}
.membre p{margin-top:3px; font-size:14px; color:var(--taupe)}
.equipe-note{margin-top:clamp(24px,2.6vw,36px); font-size:15px; color:var(--taupe); max-width:52ch; border-left:2px solid #b8924b; padding-left:16px}

/* photo pleine largeur du manifeste */
.photo-pleine{margin:0}
.photo-pleine img{width:100%; height:clamp(300px,46vh,560px); object-fit:cover; display:block}
.photo-pleine figcaption{padding:14px var(--gutter); font-size:13px; color:var(--taupe)}

/* la frise des trois mois */
.frise{position:relative; margin-top:clamp(36px,4.5vw,64px); padding-left:clamp(34px,4vw,56px); max-width:860px}
.frise .fil{position:absolute; left:8px; top:6px; bottom:6px; width:2px; background:rgba(26,22,18,.12)}
.frise .fil-progres{position:absolute; left:0; top:0; width:100%; height:0; background:linear-gradient(180deg,#b8924b,#8a6d38)}
.station{position:relative; padding-bottom:clamp(40px,5vw,72px); opacity:.35; transform:translateY(10px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1)}
.station.active{opacity:1; transform:none}
.station::before{content:""; position:absolute; left:calc(-1 * clamp(34px,4vw,56px) + 2px); top:8px; width:14px; height:14px; border-radius:50%;
  background:var(--papier); border:2px solid rgba(26,22,18,.25); transition:border-color .5s, background .5s}
.station.active::before{border-color:#b8924b; background:#b8924b}
.station .mois{font-size:12.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:#8a6d38}
.station h3{font-size:clamp(20px,1.9vw,26px); font-weight:500; margin-top:6px}
.station p{margin-top:12px; font-size:15.5px; color:var(--taupe); line-height:1.65; max-width:60ch}
.station .chips{margin-top:14px; display:flex; gap:8px; flex-wrap:wrap}
.station .chips span{font-size:12.5px; font-weight:500; border:1px solid rgba(26,22,18,.16); border-radius:999px; padding:6px 12px; color:var(--encre)}
.jalon-livrable{border-left:2px solid #b8924b; padding-left:14px; color:var(--encre) !important; font-size:14.5px !important}
.preuve-frise{border-left:2px solid rgba(26,22,18,.2); padding-left:14px; font-size:14.5px !important; color:var(--encre) !important; font-style:italic}
.stats-preuve{margin-top:clamp(24px,2.6vw,40px); display:flex; gap:clamp(16px,2vw,32px); flex-wrap:wrap}
.stats-preuve span{font-size:14px; color:var(--taupe); border:1px solid rgba(26,22,18,.14); border-radius:999px; padding:10px 16px}
.stats-preuve b{color:var(--encre); font-weight:500; margin-right:4px}
.duo-hero{display:grid; grid-template-columns:1fr; gap:clamp(28px,4vw,72px); align-items:center; margin-top:clamp(8px,1vw,16px)}
@media (min-width:940px){ .duo-hero{grid-template-columns:0.92fr 1.25fr; gap:clamp(40px,5vw,96px)} }
.duo-hero .vsl.affiche{aspect-ratio:16/10}

/* l'échelle d'objections */
.objections{margin-top:clamp(32px,4vw,56px); max-width:820px}
.objection{padding:clamp(22px,2.4vw,34px) 0; border-top:1px solid rgba(26,22,18,.14)}
.objection h3{font-size:clamp(19px,1.8vw,25px); font-weight:500; line-height:1.35}
.objection h3::before{content:""; display:inline-block; width:22px; height:2px; background:#b8924b; vertical-align:middle; margin-right:14px}
.objection p{margin-top:12px; font-size:15.5px; color:var(--taupe); line-height:1.7; max-width:64ch}

/* LEVERAGE, lettre par lettre : la signature */
.acrostiche{margin-top:clamp(36px,4.5vw,64px); max-width:960px}
.geste{display:grid; grid-template-columns:clamp(64px,8vw,120px) 1fr; gap:clamp(16px,2.4vw,40px); align-items:start;
  padding:clamp(20px,2.2vw,30px) 0; border-top:1px solid rgba(26,22,18,.14)}
.geste .lettre{font-size:clamp(46px,5vw,84px); font-weight:300; line-height:.92; color:rgba(26,22,18,.18);
  transition:color .8s ease; position:relative}
.geste.allume-geste .lettre{color:var(--encre)}
.geste.allume-geste .lettre::after{content:""; position:absolute; left:2px; bottom:-8px; width:26px; height:3px; background:#b8924b}
.geste h3{font-size:clamp(18px,1.7vw,24px); font-weight:500; padding-top:6px}
.geste p{margin-top:8px; font-size:15px; color:var(--taupe); line-height:1.65; max-width:66ch}
.lettres-mois{font-style:normal; font-size:11px; letter-spacing:.18em; color:#b8924b; margin-left:12px}
.lead-acrostiche{margin-top:14px; font-size:clamp(15px,1.2vw,17px); color:var(--taupe); max-width:56ch}
.tag-apres{display:inline-block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#b8924b; padding-top:8px}
.geste-apres{border-top:2px solid rgba(26,22,18,.32)}

/* Les études de cas */
.dossier-corps{display:grid; grid-template-columns:1.55fr 1fr; gap:clamp(28px,4.5vw,72px); align-items:start; margin-top:clamp(24px,3vw,44px)}
.dossier-stats div{border-top:1px solid rgba(26,22,18,.14); padding:13px 0}
.dossier-stats b{display:block; font-size:clamp(21px,1.9vw,28px); font-weight:500; letter-spacing:-.01em}
.dossier-stats span{font-size:13.5px; color:var(--taupe)}
.verbatim-client{margin-top:22px; padding-left:18px; border-left:2px solid #b8924b; font-size:clamp(16px,1.4vw,19px); line-height:1.55}
.verbatim-client footer{font-size:13px; color:var(--taupe); margin-top:8px}
.piece-gsc{margin-top:clamp(28px,3.5vw,52px)}
.piece-gsc img{display:block; width:100%; border-radius:16px; border:1px solid rgba(26,22,18,.12)}
.piece-gsc figcaption{font-size:12.5px; color:var(--taupe); margin-top:10px}
@media (max-width:760px){ .dossier-corps{grid-template-columns:1fr} }

/* sommaire secteurs + dossiers complets */
.sommaire-dossiers{display:flex; flex-wrap:wrap; gap:10px; margin-top:clamp(24px,3vw,40px)}
.sommaire-dossiers a{border:1px solid rgba(26,22,18,.22); border-radius:999px; padding:9px 18px; font-size:13.5px; text-decoration:none; color:var(--encre); transition:background .25s ease}
.sommaire-dossiers a:hover{background:rgba(26,22,18,.06)}
.piece-gsc.graphe svg{display:block; width:100%; height:auto; border-radius:16px; border:1px solid rgba(26,22,18,.12); background:rgba(255,255,255,.35); font-family:inherit}
.dossier-plus{margin-top:clamp(24px,3vw,44px); border:1px solid rgba(26,22,18,.18); border-radius:16px; background:rgba(255,255,255,.3)}
.dossier-plus summary{cursor:pointer; padding:clamp(16px,2vw,24px) clamp(18px,2.4vw,30px); font-weight:500; font-size:clamp(16px,1.5vw,20px); list-style:none; position:relative; padding-right:64px}
.dossier-plus summary::-webkit-details-marker{display:none}
.dossier-plus summary::after{content:"+"; position:absolute; right:clamp(18px,2.4vw,30px); top:50%; transform:translateY(-50%); font-size:26px; font-weight:400; color:#b8924b}
.dossier-plus[open] summary::after{content:"−"}
.dossier-plus .plus-detail{display:block; font-weight:400; font-size:13.5px; color:var(--taupe); margin-top:4px}
.plus-corps{padding:0 clamp(18px,2.4vw,30px) clamp(24px,2.6vw,38px); border-top:1px solid rgba(26,22,18,.12)}
.plus-corps h3{margin-top:clamp(28px,3vw,42px); font-size:clamp(17px,1.6vw,22px); font-weight:500}
.plus-corps h3 em{display:block; font-style:normal; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#b8924b; margin-bottom:6px}
.plus-corps p{margin-top:10px; font-size:14.5px; color:var(--taupe); line-height:1.65; max-width:72ch}
.mini-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:0 clamp(16px,2vw,32px); margin-top:8px}
.mini-stats div{border-top:1px solid rgba(26,22,18,.14); padding:11px 0}
.mini-stats b{display:block; font-size:clamp(18px,1.6vw,23px); font-weight:500}
.mini-stats span{font-size:12.5px; color:var(--taupe); line-height:1.45; display:block; margin-top:2px}
.tbl-scroll{overflow-x:auto; margin-top:14px}
.tbl{width:100%; border-collapse:collapse; font-size:13.5px; min-width:480px}
.tbl th{text-align:left; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--taupe); font-weight:500; padding:8px 14px 8px 0}
.tbl td{border-top:1px solid rgba(26,22,18,.12); padding:9px 14px 9px 0}
.tbl td:first-child{font-weight:500}
.note-tbl,.note-dossier{font-size:12.5px !important; color:var(--taupe)}
.note-dossier{margin-top:26px !important; padding-top:14px; border-top:1px solid rgba(26,22,18,.14)}
.chrono{margin-top:14px}
.chrono > div{display:grid; grid-template-columns:clamp(110px,14vw,150px) 1fr; gap:14px; border-top:1px solid rgba(26,22,18,.12); padding:12px 0}
.chrono span{font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#b8924b; padding-top:2px}
.chrono p{margin-top:0 !important}
.chrono b{color:var(--encre); font-weight:500}
@media (max-width:600px){ .chrono > div{grid-template-columns:1fr; gap:4px} }

/* gains en vert + grilles visuelles des dossiers */
.vert{color:#2e6b46; font-weight:500}
.gain{color:#2e6b46; font-weight:500; white-space:nowrap; font-size:12.5px}
.gain::before{content:"▲ "; font-size:9px; vertical-align:2px}
.tbl .avant{color:rgba(26,22,18,.45)}
.prio-grille,.gestes-grille{display:grid; gap:12px; margin-top:16px}
.prio-grille{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.gestes-grille{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}
.prio-grille > div,.gestes-grille > div{border:1px solid rgba(26,22,18,.13); border-radius:12px; padding:14px 16px; background:rgba(255,255,255,.35)}
.prio-grille em,.gestes-grille em{font-style:normal; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:#b8924b; display:block; margin-bottom:7px}
.prio-grille b,.gestes-grille b{font-weight:500; font-size:14px; display:block; line-height:1.35}
.prio-grille span,.gestes-grille span{font-size:12.5px; color:var(--taupe); line-height:1.5; display:block; margin-top:5px}
.plus-corps h4{margin-top:clamp(24px,2.6vw,36px); font-size:clamp(15px,1.4vw,18px); font-weight:500}
.plus-corps .piece-gsc{margin-top:18px}
.obj-val{display:block; font-style:normal; margin-top:10px; font-size:clamp(18px,1.7vw,24px); font-weight:500; color:var(--encre)}

/* le chiffre qui frappe + la courbe en carte */
.dossier-hero{display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(28px,4.5vw,72px); align-items:center; margin-top:clamp(22px,2.8vw,40px)}
.multi{display:block; font-size:clamp(84px,9.5vw,164px); font-weight:500; line-height:.92; letter-spacing:-.035em; color:var(--encre)}
.frappe-l{margin-top:14px; font-size:clamp(16px,1.5vw,21px); line-height:1.45; max-width:36ch}
.frappe .hook,.frappe .verbatim-client{margin-top:clamp(16px,2vw,26px)}
.frappe .hook{font-size:14.5px; color:var(--taupe); line-height:1.6; max-width:52ch}
.carte-graphe{border:1px solid rgba(26,22,18,.14); border-radius:16px; padding:clamp(14px,1.6vw,24px); background:rgba(255,255,255,.42); margin:0}
.carte-graphe svg{display:block; width:100%; height:auto}
.carte-graphe img{display:block; width:100%; height:auto; border-radius:10px}
.carte-graphe figcaption{font-size:12px; color:var(--taupe); margin-top:10px; line-height:1.5}
.dossier-stats.rangee{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:0 clamp(20px,2.5vw,44px); margin-top:clamp(24px,3vw,42px)}
.plus-corps .piece-gsc{max-width:880px}
.duo-graphes{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.duo-graphes .piece-gsc{margin-top:18px}
.piece-capee{max-width:880px}
@media (max-width:860px){ .dossier-hero{grid-template-columns:1fr} .duo-graphes{grid-template-columns:1fr} .multi{font-size:clamp(72px,20vw,110px)} }
.piece-gsc img{height:auto}
.fiche-gsc img{height:auto}

/* la colonne de page : centrée sur grand écran, plus jamais collée à gauche */
:root{--bord: max(var(--gutter), calc((100% - 1200px) / 2))}
header, .haut, .merci-haut, .pied-grille, .pied-bas{padding-left:var(--bord); padding-right:var(--bord)}
section{padding-left:var(--bord); padding-right:var(--bord)}
.confiance .label, .photo-pleine figcaption{padding-left:var(--bord); padding-right:var(--bord)}

/* header présent au défilement */
header{position:sticky; top:0; z-index:60; background:color-mix(in srgb, var(--papier) 90%, transparent); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid rgba(26,22,18,.08)}

/* CTA marine, visibles, avec un reflet discret au survol */
.btn{position:relative; overflow:hidden; background:var(--marine); color:var(--ivoire); border:1px solid rgba(250,246,237,.14); box-shadow:0 8px 22px rgba(12,26,38,.22); transition:transform .35s cubic-bezier(.32,.72,.2,1), box-shadow .35s ease}
.btn::after{content:""; position:absolute; top:0; left:-80%; width:55%; height:100%; background:linear-gradient(105deg, transparent, rgba(250,246,237,.16), transparent); transform:skewX(-18deg); transition:left .6s ease}
.btn:hover{background:var(--marine); transform:translateY(-1px); box-shadow:0 12px 28px rgba(12,26,38,.3)}
.btn:hover::after{left:125%}
.fin .btn, section.bande .btn, .pied .btn{background:var(--ivoire); color:var(--encre); border-color:transparent; box-shadow:0 8px 22px rgba(0,0,0,.28)}
.fin .btn::after, section.bande .btn::after{background:linear-gradient(105deg, transparent, rgba(12,26,38,.1), transparent)}
.fin .btn:hover, section.bande .btn:hover{background:var(--ivoire)}
.menu-mobile .btn{background:var(--marine); color:var(--ivoire)}
.rdv-flottant{box-shadow:0 10px 26px rgba(12,26,38,.35)}

/* pages juridiques */
.legal h2{font-size:clamp(19px,1.7vw,24px); font-weight:500; margin-top:clamp(34px,3.6vw,52px)}
.legal h3{font-size:clamp(15.5px,1.3vw,18px); font-weight:500; margin-top:clamp(20px,2vw,30px)}
.legal p{margin-top:12px}
.legal ul{margin-top:12px; padding-left:22px}
.legal li{margin-top:6px; font-size:15px; color:var(--taupe); line-height:1.6}
.legal a{color:var(--encre)}
.legal .tbl td, .legal .tbl th{padding-right:20px}
.page-hero .sub{margin-top:10px}

/* preuve + vidéo empilées dans le hero des dossiers */
.colonne-preuves{display:flex; flex-direction:column; gap:12px; min-width:0}
.carte-video{display:flex; gap:16px; align-items:center; border:1px solid rgba(26,22,18,.14); border-radius:16px; padding:10px 16px 10px 10px; background:rgba(255,255,255,.42); text-decoration:none; color:var(--encre); transition:background .3s ease}
.carte-video:hover{background:rgba(255,255,255,.7)}
.carte-video .vim{position:relative; width:clamp(130px,11vw,170px); aspect-ratio:16/9; flex:none; border-radius:10px; overflow:hidden; display:block}
.carte-video .vim img{width:100%; height:100%; object-fit:cover; display:block}
.carte-video .cv-txt{display:flex; flex-direction:column; gap:3px; min-width:0}
.carte-video strong{font-size:14.5px; font-weight:500}
.carte-video em{font-style:normal; font-size:12.5px; color:var(--taupe)}
.fiche-corps .carte-video{margin-top:14px}

/* le mur des multiplicateurs */
.mur-preuves{display:grid; grid-template-columns:1fr; gap:2px; margin-top:clamp(36px,4.5vw,64px); border:1px solid rgba(250,246,237,.14); background:rgba(250,246,237,.14)}
@media (min-width:760px){ .mur-preuves{grid-template-columns:repeat(3,1fr)} }
.mur-preuves a{display:flex; flex-direction:column; gap:6px; padding:clamp(24px,2.6vw,40px) clamp(20px,2.2vw,32px); background:var(--marine); text-decoration:none; transition:background .3s ease; position:relative}
.mur-preuves a:hover{background:#12283a}
.mur-preuves a::after{content:"Voir l'étude →"; margin-top:14px; font-size:12.5px; letter-spacing:.04em; color:#b8924b; opacity:0; transition:opacity .3s ease}
.mur-preuves a:hover::after{opacity:1}
.mp-multi{font-size:clamp(44px,4.6vw,76px); font-weight:500; line-height:.95; letter-spacing:-.03em; color:var(--ivoire)}
.mp-quoi{font-size:clamp(14px,1.2vw,16px); color:rgba(250,246,237,.8); line-height:1.4}
.mp-qui{font-size:12.5px; color:rgba(250,246,237,.5)}
.preuves .cta-mi-page .btn{background:var(--ivoire); color:var(--encre)}

/* corrections de l'audit visuel */
.vsl.affiche .etiquette{color:var(--ivoire)}
.vsl.affiche{color:var(--ivoire)}
.fin .link{color:var(--ivoire)}
.mur-preuves a{color:var(--ivoire)}
.pied-grille nav a{display:block; padding:7px 0}
.pied-bas nav a{display:inline-block; padding:11px 8px}
.pied-social a{width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center}
.pied-langues a{padding:12px 10px}
header nav a{padding:12px 14px}
.sommaire-dossiers a{padding:11px 18px}
.burger{padding:12px 8px}
.voir-tout .link.inv{display:inline-block; padding:10px 0}
