/* V Media · feuille partagée des pages intérieures (extraite de l’accueil, index.html) */

/* ===== Tokens ===== */
:root{
  --red:#ee3b3b;--red-ink:#d63131;--yellow:#ffd21a;--yellow-deep:#d9a400;--blue:#2a7de1;--blue-ink:#1f6fd6;--action:#2563eb;
  --navy:#0a1c38;--navy-2:#102a52;--navy-line:#21385f;
  --surface:#f5f8fc;--line:#e4ebf5;--text:#0e2038;--text-2:#586a82;
  --red-soft:#ff6b6b;--blue-soft:#5b9cf0;--grey-soft:#9fb3d1;
  --ease:cubic-bezier(.22,1,.36,1);
  --f-title:"Archivo",system-ui,sans-serif;
  --f-text:"Hanken Grotesk",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,monospace;
  --g:16px;--maxw:1280px;--header-h:64px;
  --slant:-33.69deg;
  --sec:clamp(80px,10vw,136px);
  /* couleur du levier de la page (rouge par défaut) */
  --lv:var(--red);--lv-ink:var(--red-ink);--lv-on:#fff;--lv-soft:#fde3e3;
}
.lv-y{--lv:var(--yellow);--lv-ink:var(--yellow);--lv-on:var(--navy);--lv-soft:#fff4c2}
.lv-b{--lv:var(--blue);--lv-ink:var(--blue-ink);--lv-on:#fff;--lv-soft:#dcebfc}
@media (min-width:768px){:root{--g:32px;--header-h:76px}}

/* ===== Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 8px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html.menu-open{overflow:hidden}
body{margin:0;background:#fff;color:var(--text);font:400 17px/1.55 var(--f-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (min-width:768px){body{font-size:18px}}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
button{color:inherit;font:inherit;background:none;border:0;padding:0;-webkit-appearance:none;appearance:none;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--action);outline-offset:3px;border-radius:4px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hero-mark,.final-mark,.big-mark{max-width:none}
.wrap{width:100%;max-width:calc(var(--maxw) + 2 * var(--g));margin-inline:auto;padding-inline:var(--g)}
.sk{display:block;height:.62em;border-radius:.31em;background:#e3e9f2}
.nw{white-space:nowrap}

/* Titres */
.h1,.h2,.h3{font-family:var(--f-title);font-weight:800;letter-spacing:-.025em;color:inherit}
.h2{font-size:clamp(34px,4.7vw,62px);line-height:1.03;font-stretch:104%;text-wrap:balance}
.h3{font-size:clamp(28px,3vw,42px);line-height:1.05;font-stretch:104%;text-wrap:balance}
.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--text-2)}
.kicker{display:flex;align-items:center;gap:12px;font:500 14px/1.3 var(--f-mono);letter-spacing:.02em;color:var(--text-2)}
.mbar{width:24px;height:12px;flex:none;overflow:visible;fill:var(--c,var(--navy))}
.mbar.r{--c:var(--red)}.mbar.y{--c:var(--yellow)}.mbar.b{--c:var(--blue)}.mbar.n{--c:#3a5683}.mbar.lv{--c:var(--lv)}
.st{width:5.2em;height:1em;fill:var(--yellow);stroke:var(--yellow-deep);stroke-width:.8;flex:none}
.sec-head{display:grid;gap:16px}
.sec-head .lead{max-width:30em}

/* Surlignage incliné (barre du logo) */
.hl{position:relative;display:inline-block;padding:0 .2em 0 .3em;z-index:0}
.hl::before{content:"";position:absolute;inset:.13em 0 .04em;background:var(--yellow);border-radius:.09em;transform:skewX(var(--slant));z-index:-1}
.hl--lv{color:var(--lv-on);margin-left:.06em}
.hl--lv::before{background:var(--lv)}

/* ===== En-tête (identique sur toutes les pages, accueil compris) ===== */
.site-header{position:sticky;top:0;z-index:50;background:#fff;transition:background-color .2s var(--ease),box-shadow .2s var(--ease)}
.site-header.is-scrolled{background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.6) blur(12px);backdrop-filter:saturate(1.6) blur(12px);box-shadow:0 1px 0 var(--line)}
.menu-open .site-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 0 var(--line)}
.header-in{height:var(--header-h);display:flex;align-items:center;gap:10px}
@media (min-width:768px){.header-in{gap:18px}}
.brand{display:flex;align-items:center;flex:none;min-height:44px;margin-right:auto;border-radius:6px}
.brand img{height:22px;width:auto}
@media (min-width:400px){.brand img{height:24px}}
@media (min-width:768px){.brand img{height:27px}}
.nav{display:none;gap:2px}
.nav a{position:relative;display:flex;align-items:center;min-height:44px;padding:0 11px;font:600 15px/1 var(--f-text);white-space:nowrap;text-decoration:none;color:var(--text)}
.nav a::after{content:"";position:absolute;left:11px;right:11px;bottom:8px;height:3px;border-radius:2px;background:var(--u,var(--navy));transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[data-c="r"]{--u:var(--red)}.nav a[data-c="y"]{--u:var(--yellow)}.nav a[data-c="b"]{--u:var(--blue)}
.nav a[aria-current="page"]{font-weight:700}
.site-header .btn--sm{display:none}
.menu-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 14px 0 12px;border-radius:8px;font:700 15px/1 var(--f-title);font-stretch:104%;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .2s var(--ease),background-color .2s var(--ease)}
.menu-btn:hover{box-shadow:inset 0 0 0 1.5px var(--navy)}
.menu-ico{position:relative;width:24px;height:16px;flex:none}
.menu-ico i{position:absolute;width:16px;height:4px;border-radius:1px;transform:skewX(var(--slant));transition:transform .26s var(--ease),opacity .18s var(--ease),top .26s var(--ease),left .26s var(--ease)}
.menu-ico i:nth-child(1){top:0;left:6px;background:var(--red)}
.menu-ico i:nth-child(2){top:6px;left:3px;background:var(--yellow)}
.menu-ico i:nth-child(3){top:12px;left:0;background:var(--blue)}
.menu-btn[aria-expanded="true"] .menu-ico i:nth-child(1){top:6px;left:4px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-ico i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] .menu-ico i:nth-child(3){top:6px;left:4px;transform:rotate(-45deg)}
@media (min-width:600px){.site-header .btn--sm{display:inline-flex}}
@media (min-width:1000px){.nav{display:flex}.menu-btn{display:none}}
@media (min-width:1000px) and (max-width:1239px){
  .header-in{gap:6px}
  .brand img{height:24px}
  .nav{gap:0}
  .nav a{padding:0 8px;font-size:14.5px}
  .nav a::after{left:8px;right:8px}
  .site-header .btn--sm{font-size:13.5px;padding:0 .8em}
}

/* Menu mobile */
.menu-panel{position:fixed;z-index:49;left:0;right:0;top:var(--header-h);bottom:0;overflow-y:auto;overscroll-behavior:contain;background:var(--navy);color:#fff;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .24s var(--ease),transform .32s var(--ease),visibility 0s linear .32s}
.menu-panel.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .24s var(--ease),transform .32s var(--ease),visibility 0s}
@media (min-width:1000px){.menu-panel{display:none}}
.menu-in{padding-top:12px;padding-bottom:40px;display:grid;gap:32px}
.menu-list a{display:flex;align-items:center;gap:16px;min-height:64px;border-bottom:1px solid var(--navy-line);font:800 clamp(25px,7vw,34px)/1.1 var(--f-title);font-stretch:104%;letter-spacing:-.02em;text-decoration:none;color:#fff;transition:color .2s var(--ease),padding-left .22s var(--ease)}
.menu-list a:hover{padding-left:6px}
.menu-list .mbar{width:30px;height:15px}
.menu-list a[aria-current="page"]{color:var(--yellow)}
.menu-list a[aria-current="page"]::after{content:"Cette page";margin-left:auto;font:500 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--grey-soft)}
.menu-cta .cta-note{color:var(--grey-soft)}
.js-motion .menu-panel.is-open .menu-list li{animation:up2 .5s var(--ease) both}
.js-motion .menu-panel.is-open .menu-list li:nth-child(2){animation-delay:.04s}
.js-motion .menu-panel.is-open .menu-list li:nth-child(3){animation-delay:.08s}
.js-motion .menu-panel.is-open .menu-list li:nth-child(4){animation-delay:.12s}
.js-motion .menu-panel.is-open .menu-list li:nth-child(5){animation-delay:.16s}
.js-motion .menu-panel.is-open .menu-cta{animation:up2 .5s var(--ease) .2s both}

/* ===== Boutons ===== */
.btn{--bh:58px;position:relative;isolation:isolate;display:inline-flex;white-space:nowrap;align-items:center;justify-content:center;gap:.6em;min-height:var(--bh);padding:0 1.55em;margin-inline:calc(var(--bh) * .19);font:700 17px/1.15 var(--f-title);font-stretch:106%;letter-spacing:-.005em;color:var(--navy);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--yellow);border-radius:5px;transform:skewX(-20deg);box-shadow:0 0 0 0 var(--navy);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.btn:hover::before{transform:translate(-3px,-3px) skewX(-20deg);box-shadow:5px 5px 0 0 var(--navy)}
.btn:active::before{transform:skewX(-20deg);box-shadow:1px 1px 0 0 var(--navy);transition-duration:.08s}
.btn:focus-visible{outline:none}
.btn:focus-visible::before{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--action)}
.btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn--sm{--bh:44px;font-size:14px;padding:0 .95em}
@media (min-width:768px){.btn--sm{font-size:14.5px;padding:0 1.05em}}
.on-dark .btn:hover::before,.menu-panel .btn:hover::before{box-shadow:5px 5px 0 0 #fff}
.btn--ghost::before{background:#fff;box-shadow:inset 0 0 0 2px var(--navy)}
.btn--ghost:hover::before{box-shadow:inset 0 0 0 2px var(--navy),5px 5px 0 0 var(--navy)}
.btn--ghost:active::before{box-shadow:inset 0 0 0 2px var(--navy),1px 1px 0 0 var(--navy)}
.cta{display:grid;justify-items:start;gap:14px}
.cta-note{max-width:40em;font-size:15px;line-height:1.5;color:var(--text-2)}
@media (max-width:599px){.cta .btn{width:calc(100% - var(--bh) * .38)}}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.link-more{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:700 16px/1.2 var(--f-title);font-stretch:104%;color:var(--text);text-decoration:none;border-bottom:2px solid var(--yellow);transition:border-color .2s var(--ease),gap .2s var(--ease)}
.link-more:hover{border-color:var(--navy);gap:12px}
.link-more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.hero .link-more{display:none}
@media (min-width:600px){.hero .link-more{display:inline-flex}}
.cta-note .long{display:none}
@media (min-width:600px){.cta-note .long{display:inline}.cta-note .short{display:none}}
.proofs{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 28px;font:600 15px/1.35 var(--f-text)}
.proofs li{display:flex;align-items:center;gap:10px}
.proofs .st{font-size:16px}
.mini-mark{width:22px;height:22px;flex:none}

/* ===== Premier écran (pages intérieures) ===== */
.hero{position:relative;overflow-x:clip;padding:20px 0 64px}
.hero-grid{display:grid;gap:40px}
.hero-grid > *{min-width:0}
.hero .kicker{margin-bottom:16px;color:var(--text)}
.h1{font-size:clamp(32px,9.6vw,42px);line-height:1.03;letter-spacing:-.03em;font-stretch:100%;text-wrap:balance}
@media (max-width:999px) and (max-height:700px){.h1{font-size:clamp(30px,8.8vw,38px)}}
.hero-lead{margin-top:18px;max-width:29em;font:500 clamp(17px,1.4vw,20px)/1.45 var(--f-text)}
.hero .cta{margin-top:24px}
.hero-visual{position:relative;display:grid;place-items:center;--pw:min(280px,70vw);min-height:calc(var(--pw) * 2.0667 + 48px)}
.hero-mark{position:absolute;left:50%;top:50%;width:min(560px,calc(100vw - 24px));transform:translate(-50%,-50%);overflow:visible}
.hero-mark path{stroke:#fff;stroke-width:8;stroke-linejoin:round;paint-order:stroke;fill:#edf2f8}
.hero-mark .cur{fill:var(--lv)}
@media (min-width:1000px){
  .hero{padding:32px 0 80px}
  .hero-grid{grid-template-columns:minmax(0,1fr) 430px;align-items:center;gap:36px}
  .h1{font-size:clamp(48px,4.2vw,62px);line-height:1.02}
  .hero-visual{--pw:clamp(230px,calc((100svh - var(--header-h) - 110px) * .4838),300px)}
}
@media (min-width:1000px) and (max-height:760px){
  .h1{font-size:clamp(42px,3.6vw,52px)}
  .hero{padding-top:22px}
  .hero-lead{margin-top:14px}
  .hero .cta{margin-top:20px}
}

/* ===== Téléphone (repris de l’accueil) ===== */
.phone{position:relative;z-index:2;width:var(--pw,300px);height:calc(var(--pw,300px) * 2.0667);font-size:calc(var(--pw,300px) * .04);padding:.72em;border-radius:3.6em;background:var(--navy);box-shadow:inset 0 0 0 .14em #1d3358,1.15em 1.15em 0 rgba(10,28,56,.16);flex:none}
.phone::before{content:"";position:absolute;right:-.26em;top:10em;width:.3em;height:5.6em;border-radius:0 .2em .2em 0;background:var(--navy)}
.phone::after{content:"";position:absolute;left:-.26em;top:8.4em;width:.3em;height:3.4em;border-radius:.2em 0 0 .2em;background:var(--navy);box-shadow:0 4.6em 0 var(--navy)}
.screen{position:relative;height:100%;overflow:hidden;border-radius:2.9em;background:#fff;color:var(--text);font:400 1em/1.35 var(--f-mono);isolation:isolate}
.island{position:absolute;z-index:30;top:.72em;left:50%;width:7em;height:2.05em;margin-left:-3.5em;border-radius:1.1em;background:#040b17}
.phone--navy{box-shadow:inset 0 0 0 .14em #2b4670,0 0 0 .14em #2b4670,1.15em 1.15em 0 rgba(0,0,0,.32)}
.scr{position:absolute;inset:0;padding-top:3.3em;background:#fff;opacity:0;pointer-events:none;transition:opacity .2s linear .3s}
.scr.on{opacity:1;pointer-events:auto;z-index:1;transition:opacity .3s var(--ease)}
.scr-ring,.scr-ring.on{transition:none}
.sbar{position:absolute;z-index:29;inset:0 0 auto;height:3em;display:flex;align-items:center;justify-content:space-between;padding:.35em 1.9em 0 2.3em;color:var(--text)}
.sbar svg{height:.8em;width:auto;fill:currentColor}
.sb-r{display:flex;align-items:center;gap:.4em}
.sb-r svg:last-child{height:.9em}
.mag{width:1.15em;height:1.15em;flex:none;fill:none;stroke:var(--text-2);stroke-width:2.4;stroke-linecap:round}
.s-field{margin:.95em 1.05em 0;height:3.3em;display:flex;align-items:center;gap:.65em;padding:0 1.1em;border-radius:1.65em;background:var(--surface);border:.1em solid var(--line);font-size:1.05em;white-space:nowrap;overflow:hidden}
.s-field.sm{margin-top:.7em;height:2.9em;font-size:1em}
.s-q{color:var(--text)}
.caret{flex:none;width:.12em;height:1.25em;margin-left:-.5em;background:var(--action);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.s-sugg{margin:1.2em 1.6em 0;display:grid;gap:1.05em;opacity:0;transition:opacity .3s var(--ease)}
.s-sugg.on{opacity:1}
.s-sugg div{display:flex;align-items:center;gap:.9em}
.s-sugg .mag{stroke:#b7c3d4}
.kbd{position:absolute;left:0;right:0;bottom:0;display:grid;gap:.6em;padding:.75em .4em 2.6em;background:#e8edf4}
.kr{display:flex;justify-content:center;gap:.42em}
.kr i{flex:0 0 8.3%;height:2.85em;border-radius:.45em;background:#fff;box-shadow:0 .12em 0 #c3cedc;transition:background-color .08s}
.kr i.m{flex-basis:12.5%;background:#d3dbe6}
.kr i.w{flex-basis:50%}
.kr i.ok{background:var(--action)}
.kr i.press{background:#c9d4e3}
.r-body{position:relative}
.r-map{margin:.8em 1em 0;height:8em;border-radius:.9em;overflow:hidden;background:#e9eff7}
.r-map svg{width:100%;height:100%}
.r-pack{margin:.2em 1em 0}
.r-pack li{display:flex;align-items:center;gap:.6em;padding:.7em .5em;border-bottom:.1em solid var(--line)}
.r-pack li.me{background:#fff7d1;border-radius:.6em;border-bottom-color:transparent;box-shadow:inset .25em 0 0 var(--yellow)}
.r-who{display:grid;gap:.3em;min-width:0}
.r-nm{font-weight:600;font-size:1.02em;white-space:nowrap}
.r-nm.dim{font-weight:500;color:#8b9ab0}
.r-ttl.dim{color:#7d94b8}
.r-who .st{font-size:.95em}
.st.dim{fill:#dfe6ef;stroke:#cfd8e4}
.r-call{margin-left:auto;display:inline-flex;align-items:center;gap:.35em;height:2.35em;padding:0 .85em;border-radius:1.2em;background:var(--action);color:#fff;font-weight:600;font-size:.92em;flex:none;transition:transform .14s var(--ease),background-color .14s}
.r-call svg{width:1.1em;height:1.1em;fill:currentColor}
.r-call.dim{width:2.35em;padding:0;justify-content:center;background:#eef2f8;color:#b8c4d4}
.r-call.press{transform:scale(.9);background:#1c4fc2}
.r-res{margin:.75em 1em 0;padding:0 .5em .75em;border-bottom:.1em solid var(--line);display:grid;gap:.45em}
.r-url{display:flex;align-items:center;gap:.5em;font-size:.86em;color:var(--text-2)}
.fav{flex:none;width:1.45em;height:1.45em;border-radius:50%;background:#dfe6ef}
.me-res .fav{background:var(--navy);box-shadow:inset 0 0 0 .38em var(--navy),inset 0 0 0 1em var(--yellow)}
.r-ttl{display:block;font-weight:600;font-size:1.02em;line-height:1.3;color:var(--action)}
.r-res .sk.t{height:.8em;width:88%;background:#d7e2f3}
.r-res.me-res{background:#fffbe6;border-radius:.6em;border-bottom-color:transparent;padding-top:.55em;box-shadow:inset .25em 0 0 var(--yellow)}
.r-ann{position:absolute;z-index:2;left:1em;right:1em;top:.8em;height:7.2em;display:grid;align-content:start;gap:.3em;padding:.75em .85em;border-radius:.8em;background:#eaf3fe;box-shadow:inset 0 0 0 .14em var(--blue);opacity:0;transform:translateY(-1.2em);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.r-spon{font-weight:600;font-size:.84em;color:var(--text)}
.r-annv{font-size:.86em;color:var(--text-2)}
.r-flow{transition:transform .6s var(--ease)}
.has-ann .r-ann{opacity:1;transform:none}
.has-ann .r-flow{transform:translateY(7.95em)}
.js-motion .scr-results.on .r-anim{animation:up .55s var(--ease) both}
.js-motion .scr-results.on .r-pack .r-anim:nth-child(1){animation-delay:.08s}
.js-motion .scr-results.on .r-pack .r-anim:nth-child(2){animation-delay:.14s}
.js-motion .scr-results.on .r-pack .r-anim:nth-child(3){animation-delay:.2s}
.js-motion .scr-results.on .r-res.r-anim{animation-delay:.26s}
@keyframes up{from{opacity:0;transform:translateY(1em)}to{opacity:1;transform:none}}
.w-url{margin:.55em 1em 0;height:2.45em;display:flex;align-items:center;justify-content:center;gap:.45em;border-radius:1.25em;background:var(--surface);font-size:.86em;color:var(--text-2)}
.w-url svg{width:.95em;height:.95em;fill:var(--text-2)}
.w-nav{display:flex;align-items:center;gap:.6em;padding:.85em 1.3em .8em;border-bottom:.1em solid var(--line)}
.w-logo{width:2em;height:2em;border-radius:.5em;background:var(--navy);display:grid;place-items:center;flex:none}
.w-logo svg{width:1.25em;height:1.25em;fill:none;stroke:#fff;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.w-name{font:700 1.02em/1 var(--f-text)}
.w-burger{margin-left:auto;width:1.35em;height:.95em;border-block:.16em solid var(--text);position:relative}
.w-burger::after{content:"";position:absolute;left:0;right:0;top:50%;height:.16em;margin-top:-.08em;background:var(--text)}
.w-hero{padding:1.1em 1.3em 1.05em;background:var(--surface)}
.w-h{font:800 2.15em/1 var(--f-title);letter-spacing:-.025em;font-stretch:100%}
.w-sub{margin-top:.45em;font:500 .95em/1.35 var(--f-text);color:var(--text-2)}
.w-call{margin-top:.95em;height:3.5em;display:flex;align-items:center;justify-content:center;gap:.55em;border-radius:.65em;background:var(--red-ink);color:#fff;font:700 1.2em/1 var(--f-text);transition:transform .14s var(--ease),background-color .14s}
.w-call.press{transform:scale(.95);background:#b82727}
.w-call svg{width:1.15em;height:1.15em;fill:currentColor}
.w-sec{padding:1em 1.3em 0}
.w-sec-t{display:block;font:700 .95em/1 var(--f-text)}
.w-thumbs{margin-top:.6em;display:grid;grid-template-columns:repeat(3,1fr);gap:.45em}
.w-thumbs svg{width:100%;height:auto;aspect-ratio:4/3;border-radius:.45em}
.w-form{margin:.9em 1.3em 0;padding:.75em;display:grid;gap:.45em;border-radius:.75em;background:var(--surface)}
.w-in{height:2.3em;display:flex;align-items:center;padding:0 .8em;border-radius:.45em;background:#fff;box-shadow:inset 0 0 0 .1em var(--line)}
.w-in{font:400 .86em/1 var(--f-text);color:var(--text-2)}
.w-in .sk{width:40%;height:.55em}
.w-btn{height:2.7em;display:grid;place-items:center;border-radius:.45em;background:var(--navy);color:#fff;font:700 .98em/1 var(--f-text)}
.w-rev{margin:.9em 1.3em 0;display:flex;align-items:center;gap:.7em}
.w-rev .sk{flex:1;max-width:9em}
.w-rev span{font:600 .86em/1 var(--f-text);color:var(--text-2)}
.w-bar{position:absolute;left:.9em;right:.9em;bottom:1.5em;height:3.4em;display:flex;align-items:center;gap:.7em;padding:0 .5em;border-radius:1.7em;background:#fff;box-shadow:0 0 0 .1em var(--line),0 .35em 0 rgba(10,28,56,.08)}
.w-bar-i{width:2.5em;height:2.5em;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--red-ink)}
.w-bar-i svg{width:1.2em;height:1.2em;fill:#fff}
.w-bar .sk{width:6.5em}
.w-bar-t{font:700 1em/1 var(--f-text);color:var(--text)}
.w-bar-d{margin-left:auto;display:grid;place-items:center;height:2.2em;padding:0 1em;border-radius:1.1em;background:var(--navy);color:#fff;font:700 .9em/1 var(--f-text)}
.w-bar .sk+.sk{margin-left:auto;width:3.2em;height:1.9em;border-radius:1em;background:var(--navy)}
.scr-ring{background:var(--navy-2);color:#fff}
.scr-ring .sbar{color:#fff}
.notif{position:absolute;z-index:5;left:.75em;right:.75em;top:3.6em;display:flex;align-items:flex-start;gap:.75em;padding:.9em .9em 1em;border-radius:1.25em;background:#fff;color:var(--text);box-shadow:0 .45em 0 rgba(0,0,0,.2);opacity:0;transform:translateY(-130%);transition:transform .6s var(--ease),opacity .3s var(--ease)}
.drop .notif{opacity:1;transform:none}
.n-ico{width:2.7em;height:2.7em;flex:none;display:grid;place-items:center;border-radius:.75em;background:var(--yellow)}
.n-ico svg{width:1.45em;height:1.45em;fill:none;stroke:var(--navy);stroke-width:2.1;stroke-linejoin:round}
.n-txt{display:grid;gap:.22em;min-width:0}
.n-t{font:700 1.08em/1.2 var(--f-text)}
.n-l2{font-size:.95em;line-height:1.3}
.n-l3{font-size:.86em;color:var(--text-2)}
.ring-c{position:absolute;left:50%;top:58%;width:6.6em;height:6.6em;margin:-3.3em 0 0 -3.3em;display:grid;place-items:center;border-radius:50%;background:var(--yellow)}
.ring-c svg{position:relative;width:2.9em;height:2.9em;fill:var(--navy)}
.ring-w{position:absolute;inset:0;border-radius:50%;border:.2em solid var(--yellow);opacity:0}
.live .ring-w{animation:wave 1.7s var(--ease) infinite}
.live .ring-w:nth-child(2){animation-delay:.55s}
.live .ring-w:nth-child(3){animation-delay:1.1s}
@keyframes wave{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(2.5)}}
.live .ring-c svg{animation:jiggle .9s var(--ease) infinite}
@keyframes jiggle{0%,40%,100%{transform:none}8%{transform:rotate(-14deg)}16%{transform:rotate(12deg)}24%{transform:rotate(-10deg)}32%{transform:rotate(6deg)}}
.home-ind{position:absolute;left:50%;bottom:.8em;width:9em;height:.32em;margin-left:-4.5em;border-radius:.2em;background:rgba(255,255,255,.55)}
.finger{position:absolute;z-index:40;left:0;top:0;width:3.3em;height:3.3em;margin:-1.65em 0 0 -1.65em;border-radius:50%;background:rgba(10,28,56,.26);box-shadow:0 0 0 .18em rgba(255,255,255,.95);opacity:0;pointer-events:none;transform:translate(var(--sx,0),var(--sy,0)) scale(1.15);transition:transform .62s var(--ease),opacity .25s var(--ease)}
.finger.show{opacity:1}
.finger.go{transform:translate(var(--fx,0),var(--fy,0))}
.finger.tap{transform:translate(var(--fx,0),var(--fy,0)) scale(.78);transition-duration:.12s}
@keyframes buzz{0%,100%{transform:none}12%{transform:translateX(-.24em) rotate(-1.3deg)}25%{transform:translateX(.24em) rotate(1.3deg)}37%{transform:translateX(-.2em) rotate(-1deg)}50%{transform:translateX(.2em) rotate(1deg)}62%{transform:translateX(-.14em) rotate(-.6deg)}75%{transform:translateX(.14em) rotate(.6deg)}87%{transform:translateX(-.05em)}}
.phone.buzz{animation:buzz .4s linear 2}
.phone.buzz1{animation:buzz .4s linear 1}
.hero:not(.is-live) .caret{animation-play-state:paused}

/* Repères numérotés sur l’écran de résultats (page référencement) */
.annot .me-res,.annot .r-pack li.me{position:relative}
.annot .me-res::after,.annot .r-pack li.me::after{position:absolute;right:-.55em;top:-.6em;display:grid;place-items:center;width:2.1em;height:2.1em;border-radius:50%;background:var(--navy);color:var(--yellow);font:700 1.05em/1 var(--f-mono);box-shadow:0 0 0 .2em #fff}
.annot .r-pack + .me-res::after{content:"2"}
.annot .r-pack li.me::after{content:"1"}
/* Repères numérotés sur l’écran du site (page création) */
.annot-site .w-url,.annot-site .w-sec,.annot-site .w-call,.annot-site .w-form{position:relative}
.annot-site .w-url::after,.annot-site .w-sec::after,.annot-site .w-call::after,.annot-site .w-form::after{position:absolute;right:-.55em;top:-.6em;z-index:3;display:grid;place-items:center;width:2.1em;height:2.1em;border-radius:50%;background:var(--navy);color:var(--yellow);font:700 1.05em/1 var(--f-mono);box-shadow:0 0 0 .2em #fff}
.annot-site .w-url::after{content:"1"}
.annot-site .w-sec::after{content:"3";right:.75em;top:.4em}
.annot-site .w-call::after{content:"2"}
.annot-site .w-form::after{content:"4"}

/* ===== Bandeau logos ===== */
.clients{background:var(--surface);border-block:1px solid var(--line);padding:30px 0 34px}
.clients-in{display:grid;gap:22px}
.clients-t{font:500 14px/1.45 var(--f-mono);letter-spacing:.01em;color:var(--text-2);text-align:center;text-wrap:balance}
.clients-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;gap:22px 12px}
.clients-list img{height:calc(var(--h) * .82);width:auto;max-width:100%;object-fit:contain;filter:saturate(.7);opacity:.82;transition:filter .22s var(--ease),opacity .22s var(--ease)}
@media (min-width:900px){
  .clients-in{grid-template-columns:250px 1fr;align-items:center;gap:40px}
  .clients-t{text-align:left}
  .clients-list{display:flex;justify-content:space-between;gap:24px}
  .clients-list img{height:var(--h);filter:grayscale(1);opacity:.7}
  .clients-list li:hover img{filter:none;opacity:1}
}

/* ===== Ce que vous obtenez (aplat du levier) ===== */
.gets{position:relative;overflow:hidden;background:var(--lv-ink);color:var(--lv-on);padding:var(--sec) 0}
.gets .big-mark{position:absolute;right:-120px;top:-40px;width:520px;fill:rgba(255,255,255,.08);pointer-events:none}
.lv-y .gets .big-mark{fill:rgba(255,255,255,.4)}
.gets-grid{position:relative;display:grid;gap:44px}
.gets .kicker{color:inherit;margin-bottom:18px}
.gets .kicker .mbar{--c:currentColor}
.gets .lead{margin-top:20px;max-width:26em;color:inherit}
.gets-list{display:grid;gap:0;counter-reset:g}
.gets-list li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;padding:24px 0 26px;border-top:2px solid currentColor}
.gets-list li:last-child{border-bottom:2px solid currentColor}
.g-num{grid-row:1 / 3;font:600 15px/1.6 var(--f-mono);letter-spacing:.04em}
.gets-list h3{font:800 clamp(23px,2.2vw,30px)/1.12 var(--f-title);font-stretch:104%;letter-spacing:-.02em;text-wrap:balance}
.gets-list p{margin-top:8px;max-width:32em;font-size:17px;line-height:1.55}
@media (min-width:1000px){
  .gets-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;align-items:start}
  .gets-head{position:sticky;top:calc(var(--header-h) + 40px)}
}
.gets-visual{display:grid;place-items:center;--pw:min(270px,68vw);padding:12px 0 8px}
.gets-visual .phone{box-shadow:inset 0 0 0 .14em #1d3358,1.15em 1.15em 0 rgba(10,28,56,.22)}
@media (min-width:1000px){
  .gets--phone .gets-grid{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"h v" "l v";column-gap:96px;row-gap:48px}
  .gets--phone .gets-head{grid-area:h;position:static}
  .gets--phone .gets-list{grid-area:l}
  .gets--phone .gets-visual{grid-area:v;align-self:start;position:sticky;top:calc(var(--header-h) + 32px);--pw:290px;padding:0}
}

/* Annonce sponsorisée en grand (page publicité) */
.ann-mock{margin-top:36px;max-width:440px;padding:18px 20px 20px;border-radius:14px;background:#fff;color:var(--text);box-shadow:10px 10px 0 rgba(10,28,56,.28);font:400 15px/1.4 var(--f-mono)}
.ann-mock .ann-q{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-radius:22px;background:var(--surface);border:1px solid var(--line);color:var(--text)}
.ann-mock .ann-q svg{width:18px;height:18px;fill:none;stroke:var(--text-2);stroke-width:2.4;stroke-linecap:round}
.ann-mock .ann-card{margin-top:14px;display:grid;gap:5px;padding:14px 16px;border-radius:10px;background:#eaf3fe;box-shadow:inset 0 0 0 2px var(--blue)}
.ann-mock .ann-spon{font-weight:600;font-size:13.5px}
.ann-mock .ann-who{font-size:13.5px;color:var(--text-2)}
.ann-mock .ann-ttl{font-weight:600;font-size:17px;color:var(--action)}
.ann-mock .ann-card,.ann-mock .ann-acc{position:relative}
.ann-mock .ann-acc{margin-top:14px;display:grid;gap:8px;padding:14px 16px;border-radius:10px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.ann-mock .ann-acc-t{font:700 15px/1.3 var(--f-text)}
.ann-mock .ann-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:13.5px;color:var(--text-2)}
.ann-mock .ann-row b{font-weight:600;color:var(--text)}
.ann-n{position:absolute;right:-10px;top:-12px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--yellow);font:700 14px/1 var(--f-mono);font-style:normal;box-shadow:0 0 0 3px #fff}

/* ===== Comment ça se passe (étapes) ===== */
.how{background:var(--surface);padding:var(--sec) 0}
.how-list{margin-top:44px;display:grid;gap:34px}
.how-list li{position:relative;padding-top:22px;border-top:3px solid var(--navy)}
.f-num{display:block;font:600 clamp(60px,6vw,88px)/.9 var(--f-mono);letter-spacing:-.06em;color:var(--navy)}
.how-list h3{margin-top:18px;font:800 clamp(22px,2vw,26px)/1.15 var(--f-title);font-stretch:104%;letter-spacing:-.015em}
.how-list p{margin-top:8px;max-width:23em;color:var(--text-2)}
.how-list li:first-child::before{content:"";position:absolute;left:0;top:-3px;width:64px;height:3px;background:var(--lv)}
@media (min-width:900px){.how-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}

/* ===== Preuves : captures et avis ===== */
.proof{padding:var(--sec) 0}
.proof-foot{margin-top:40px}
.browser{border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 0 0 1.5px var(--line);transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.b-top{height:28px;display:flex;align-items:center;gap:6px;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--line)}
.b-top i{width:8px;height:8px;border-radius:50%;background:#cad4e1}
.b-top span{margin-left:10px;flex:1;height:12px;max-width:58%;border-radius:6px;background:#e6ecf4}
.browser img{width:100%;height:auto;aspect-ratio:820/512;object-fit:cover}
.real-card figcaption{margin-top:14px;display:grid;gap:2px}
.real-card strong{font:800 19px/1.2 var(--f-title);font-stretch:104%;letter-spacing:-.01em}
.real-card figcaption span{font-size:15px;line-height:1.4;color:var(--text-2)}
@media (hover:hover) and (min-width:900px){.real-card:hover .browser{transform:translateY(-6px);box-shadow:0 0 0 1.5px var(--navy),8px 8px 0 var(--navy)}}

/* Capture + avis côte à côte */
.pair-list{margin-top:48px;display:grid;gap:56px}
.pair{display:grid;gap:22px;align-items:center}
.pair .real-card{min-width:0}
@media (min-width:900px){
  .pair{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px}
  .pair:nth-child(even) .real-card{order:2}
}

/* Avis façon widget Google */
.avis-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px}
.g-sum{display:flex;align-items:center;gap:14px;padding:12px 20px 12px 14px;background:#fff;border:1px solid var(--line);border-radius:14px}
.g-logo{width:34px;height:34px;flex:none}
.g-score{display:flex;align-items:center;gap:10px;font:800 26px/1 var(--f-title)}
.g-score .st{font-size:19px}
.g-count{margin-top:5px;font:500 14px/1.3 var(--f-text);color:var(--text-2)}
.avis-list{margin-top:36px;display:grid;gap:16px}
@media (min-width:900px){.avis-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}}
.avis-card{display:grid;gap:14px;padding:22px 22px 20px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(10,28,56,.05)}
.av-top{display:flex;align-items:center;gap:12px}
.av-ava{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:var(--navy);color:#fff;font:800 17px/1 var(--f-title)}
.av-ava.r{background:var(--red-ink)}.av-ava.y{background:var(--yellow);color:var(--navy)}.av-ava.b{background:var(--blue-ink)}
.av-who{min-width:0;flex:1}
.av-name{font:700 16px/1.25 var(--f-text)}
.av-meta{margin-top:2px;font:500 13.5px/1.35 var(--f-text);color:var(--text-2)}
.av-g{width:20px;height:20px;flex:none;align-self:flex-start}
.avis-card .st{font-size:17px}
.av-txt{font:400 16px/1.6 var(--f-text);color:var(--text)}
.av-txt.is-clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.av-more{justify-self:start;min-height:32px;font:600 14.5px/1.2 var(--f-text);color:var(--action);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.av-more[hidden]{display:none}
.av-txt mark{background:linear-gradient(transparent 58%,var(--hl-c,#ffe680) 58%);color:inherit;padding:0 .05em}

/* Bilan d’exemple */
.bilan{position:relative;overflow:hidden;max-width:520px;width:100%;padding:30px 26px 22px;border-radius:14px;background:#fff;color:var(--text);box-shadow:12px 12px 0 rgba(10,28,56,.14),0 0 0 1.5px var(--line)}
.bilan::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--red) 0 33.4%,var(--yellow) 33.4% 66.7%,var(--blue) 66.7%)}
.tag-ex{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:4px;background:var(--yellow);color:var(--navy);font:600 13px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.bilan h3{margin:14px 0 18px;font:800 clamp(24px,2.2vw,28px)/1.1 var(--f-title);font-stretch:104%;letter-spacing:-.02em}
.b-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-block:1px solid var(--line);font:700 17px/1.2 var(--f-text)}
.b-total .num{font:600 58px/1 var(--f-mono);letter-spacing:-.05em}
.b-split{margin:12px 0 22px;font:500 14.5px/1.4 var(--f-mono);color:var(--text-2)}
.b-from{margin-bottom:12px;font:700 15.5px/1.3 var(--f-text)}
.b-src{display:grid;gap:13px}
.b-src li{display:grid;gap:7px;font:500 14px/1.3 var(--f-mono)}
.b-src li.is-hot{font-weight:600;color:var(--text)}
.b-bar{display:block;height:14px;border-radius:3px;background:var(--surface);overflow:hidden}
.b-bar i{display:block;height:100%;width:calc(var(--v) / 11 * 100%);background:var(--c);clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);transform-origin:left center;transition:transform 1s var(--ease) calc(.25s + var(--k) * .12s)}
.b-src .y{--c:var(--yellow)}.b-src .r{--c:var(--red)}.b-src .b{--c:var(--blue)}
.js-motion .bilan:not(.in) .b-bar i{transform:scaleX(0)}
.b-foot{margin-top:20px;padding-top:12px;border-top:1px dashed #cfd9e6;font:italic 400 14px/1.45 var(--f-text);color:var(--text-2)}

/* Preuve publicité : bilan + avis */
.proof-grid{margin-top:44px;display:grid;gap:28px;align-items:start}
@media (min-width:900px){.proof-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}}

/* ===== Questions ===== */
.faq{padding:var(--sec) 0;border-top:1px solid var(--line)}
.faq-grid{display:grid;gap:36px}
@media (min-width:1000px){.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start}.faq-head{position:sticky;top:calc(var(--header-h) + 40px)}}
.faq-list{border-bottom:2px solid var(--navy)}
.qa{border-top:2px solid var(--navy)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:18px 0;cursor:pointer;list-style:none;font:800 clamp(20px,1.9vw,25px)/1.2 var(--f-title);font-stretch:104%;letter-spacing:-.015em;transition:color .2s var(--ease)}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--blue-ink)}
.qa-ico{position:relative;width:32px;height:32px;flex:none;border-radius:50%;background:var(--surface);transition:background-color .2s var(--ease),transform .3s var(--ease)}
.qa-ico::before,.qa-ico::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.5px;margin:-1.25px 0 0 -7px;border-radius:2px;background:var(--navy);transition:transform .3s var(--ease)}
.qa-ico::after{transform:rotate(90deg)}
.qa[open] .qa-ico{background:var(--lv);transform:rotate(180deg)}
.qa[open] .qa-ico::after{transform:rotate(0)}
.lv-r .qa[open] .qa-ico::before,.lv-r .qa[open] .qa-ico::after,.lv-b .qa[open] .qa-ico::before,.lv-b .qa[open] .qa-ico::after{background:#fff}
.qa-a{padding:0 48px 26px 0;max-width:38em;color:var(--text-2)}
.qa-a p+p{margin-top:10px}
.qa-a a{color:var(--text);font-weight:600;text-decoration-color:var(--lv);text-decoration-thickness:2px;text-underline-offset:3px}
.js-motion .qa[open] .qa-a{animation:up2 .45s var(--ease) both}

/* ===== Les trois pièces ===== */
.trio{padding:var(--sec) 0;background:var(--navy);color:#fff;overflow-x:clip}
.trio .lead{color:var(--grey-soft)}
.trio-list{margin-top:48px;display:grid;gap:16px}
@media (min-width:900px){.trio-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.trio-card{--c:var(--red-ink);--on:#fff;position:relative;display:grid;align-content:start;gap:12px;min-height:100%;padding:26px 24px 24px;border-radius:12px;background:var(--c);color:var(--on);text-decoration:none;transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.trio-card.y{--c:var(--yellow);--on:var(--navy)}
.trio-card.b{--c:var(--blue-ink)}
.trio-card .kicker{color:inherit;font-weight:600}
.trio-card .kicker .mbar{--c:currentColor}
.trio-card h3{font:800 clamp(23px,2vw,28px)/1.12 var(--f-title);font-stretch:104%;letter-spacing:-.02em;text-wrap:balance}
.trio-go{margin-top:10px;display:inline-flex;align-items:center;gap:8px;font:700 16px/1.2 var(--f-title);font-stretch:104%}
.trio-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
a.trio-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 #fff}
a.trio-card:hover .trio-go svg{transform:translateX(4px)}
.trio-card.is-here{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px var(--navy-line)}
.trio-card.is-here .kicker .mbar{--c:var(--lv)}
.trio-here{margin-top:10px;display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--grey-soft)}
.trio-here::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lv)}
.trio-link{color:inherit}

/* ===== Engagements ===== */
.engage-list{display:grid;gap:14px}
.eng{padding:26px 24px 24px;border-radius:12px;background:#fff;box-shadow:0 0 0 1.5px var(--line);transition:box-shadow .22s var(--ease),transform .22s var(--ease)}
.eng .mbar{width:26px;height:13px;margin-bottom:18px}
.eng h3{font:800 22px/1.15 var(--f-title);font-stretch:104%;letter-spacing:-.015em}
.eng p{margin-top:8px;font-size:16.5px;line-height:1.5;color:var(--text-2)}
@media (min-width:640px){.engage-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.engage-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.eng:hover{box-shadow:0 0 0 1.5px var(--navy),6px 6px 0 var(--navy);transform:translate(-2px,-2px)}}

/* ===== Interlocuteur ===== */
.vincent{display:grid;gap:26px;padding:18px 18px 28px;border-radius:20px;background:var(--navy);color:#fff}
.vincent > img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 22%;border-radius:12px}
.vincent blockquote{padding-inline:6px}
.vincent blockquote p{font:800 clamp(25px,3.1vw,42px)/1.14 var(--f-title);font-stretch:104%;letter-spacing:-.02em;text-wrap:balance}
.vincent figcaption{margin-top:-6px;display:flex;align-items:center;gap:12px;padding-inline:6px;font:500 14px/1.4 var(--f-mono);color:var(--grey-soft)}
.vincent figcaption img{width:24px;height:24px;flex:none}
@media (min-width:800px){
  .vincent{grid-template-columns:300px minmax(0,1fr);grid-template-rows:1fr 1fr;column-gap:56px;row-gap:26px;padding:24px 56px 24px 24px}
  .vincent > img{grid-row:1 / 3;aspect-ratio:3/4;object-position:50% 30%}
  .vincent blockquote{align-self:end}
  .vincent figcaption{align-self:start;margin-top:0}
}

/* ===== Dernier appel ===== */
.final{position:relative;overflow-x:clip;padding:var(--sec) 0}
.final-grid{display:grid;gap:36px;align-items:center}
.final .h2{font-size:clamp(38px,6vw,84px);line-height:1;max-width:11em}
.final .cta{margin-top:36px}
.final-visual{position:relative;display:grid;place-items:center;--pw:176px;min-height:calc(var(--pw) * 2.0667 + 40px)}
.final-mark{position:absolute;left:50%;top:50%;width:min(360px,calc(100vw - 24px));transform:translate(-50%,-50%);overflow:visible}
.final-mark path{stroke:#fff;stroke-width:8;stroke-linejoin:round;paint-order:stroke}
@media (min-width:900px){.final-grid{grid-template-columns:minmax(0,1fr) 380px}.final-visual{--pw:200px}}

/* ===== Pied de page ===== */
.footer{background:var(--navy);color:#fff;padding:64px 0 28px}
.foot-grid{display:grid;gap:36px}
.foot-home{display:inline-flex;min-height:44px;align-items:center;border-radius:6px}
.footer .foot-logo{height:30px;width:auto}
.foot-tag{margin-top:14px;max-width:24em;color:var(--grey-soft)}
.foot-nav{display:grid;align-content:start}
.foot-h{margin-bottom:6px;font:500 13px/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--grey-soft)}
.foot-nav a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-weight:600;text-decoration:none;text-underline-offset:4px;transition:color .2s var(--ease)}
.foot-nav a:hover{text-decoration:underline;color:var(--yellow)}
.foot-nav a[aria-current="page"]{color:var(--yellow)}
.foot-nav .mbar{width:20px;height:10px}
.foot-meta{display:grid;align-content:start;gap:12px;color:var(--grey-soft)}
.foot-meta li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.foot-bottom{position:relative;margin-top:48px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font:500 13px/1.4 var(--f-mono);color:var(--grey-soft)}
.foot-bottom::before{content:"";position:absolute;left:var(--g);right:var(--g);top:0;height:1px;background:var(--navy-line)}
@media (min-width:640px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px}}

/* ===== Mouvement ===== */
.js-motion [data-r]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease) calc(var(--i,0) * 80ms),transform .8s var(--ease) calc(var(--i,0) * 80ms)}
.js-motion [data-r].in{opacity:1;transform:none}
.js-motion .hero-copy > *{animation:up2 .8s var(--ease) both}
.js-motion .hero-copy > :nth-child(2){animation-delay:.08s}
.js-motion .hero-copy > :nth-child(3){animation-delay:.16s}
.js-motion .hero-copy > :nth-child(4){animation-delay:.24s}
.js-motion .hero-copy > :nth-child(5){animation-delay:.32s}
.js-motion .hero .mk{animation:slidein .9s var(--ease) both}
.js-motion .hero .mk-y{animation-delay:.1s}
.js-motion .hero .mk-b{animation-delay:.2s}
.js-motion .hero-visual > .phone,.js-motion .hero-visual > .stack{animation:up2 .9s var(--ease) .3s both}
@keyframes up2{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes slidein{from{opacity:0;transform:translateX(90px)}to{opacity:1;transform:none}}
/* ===== Compléments des pages intérieures ===== */
.mbar.y{stroke:var(--yellow-deep);stroke-width:5}
.tri{display:flex;gap:4px}
.tri .mbar{width:20px;height:10px}
.hero-mark .fr{fill:var(--red)}.hero-mark .fy{fill:var(--yellow)}.hero-mark .fb{fill:var(--blue)}

/* Réalisations : pile de captures en escalier */
.hero-visual--stack{min-height:0;padding:8px 0 24px}
.stack{position:relative;width:min(100%,470px);aspect-ratio:470/400}
.stack .browser{position:absolute;width:80%;box-shadow:0 0 0 1.5px var(--navy),10px 10px 0 rgba(10,28,56,.16)}
.stack .s1{left:20%;top:0}
.stack .s2{left:10%;top:23%}
.stack .s3{left:0;top:46%}
.stack .b-top{border-bottom:0}
.stack .s1 .b-top{background:var(--red)}
.stack .s2 .b-top{background:var(--yellow)}
.stack .s3 .b-top{background:var(--blue)}
.stack .b-top i{background:rgba(255,255,255,.7)}
.stack .s2 .b-top i{background:rgba(10,28,56,.35)}
.stack .b-top span{background:rgba(255,255,255,.35)}
.js-motion .stack .browser{animation:slidein .9s var(--ease) both}
.js-motion .stack .s2{animation-delay:.1s}
.js-motion .stack .s3{animation-delay:.2s}

/* Réalisations : grille */
.more{padding:0 0 var(--sec)}
.real-grid{margin-top:44px;display:grid;gap:40px 28px}
@media (min-width:640px){.real-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.real-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}}
/* Aperçu « votre site » : un vrai site miniature, jamais un cadre vide */
.mini{aspect-ratio:820/512;display:grid;grid-template-rows:auto auto 1fr;font-size:clamp(9px,1.05vw,13px);background:#fff;overflow:hidden}
.mini-nav{display:flex;align-items:center;gap:.7em;padding:.9em 1.2em;border-bottom:1px solid var(--line);font:700 1.05em/1 var(--f-text)}
.mini-logo{width:1.8em;height:1.8em;border-radius:.4em;background:var(--navy);box-shadow:inset 0 0 0 .45em var(--navy),inset 0 0 0 1em var(--yellow)}
.mini-call{margin-left:auto;padding:.55em 1em;border-radius:.4em;background:var(--red-ink);color:#fff;font:700 .95em/1 var(--f-text)}
.mini-hero{padding:1.1em 1.2em .9em;background:var(--surface)}
.mini-h{font:800 1.75em/1.05 var(--f-title);letter-spacing:-.02em;color:var(--text)}
.mini-s{margin-top:.35em;font:500 .95em/1.3 var(--f-text);color:var(--text-2)}
.mini-th{display:grid;grid-template-columns:repeat(3,1fr);gap:.6em;padding:.9em 1.2em;align-content:start}
.mini-th svg{width:100%;height:auto;aspect-ratio:4/3;border-radius:.4em}
.real-card.is-yours .browser{box-shadow:0 0 0 1.5px var(--line)}
.real-card.is-yours figcaption strong{color:var(--text)}

/* Avis à deux colonnes, étiquette */
@media (min-width:900px){.avis-list--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.proof-side{display:grid;gap:14px}
.proof-label{font:500 14px/1.3 var(--f-mono);letter-spacing:.02em;color:var(--text-2)}

/* À propos : portrait */
.hero-visual--portrait{min-height:0;padding:36px 0 44px}
.hero-visual--portrait .hero-mark{width:min(600px,calc(100vw - 16px))}
.portrait{position:relative;z-index:2;width:min(300px,66vw);height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 30%;border-radius:18px;box-shadow:0 0 0 6px #fff,14px 14px 0 6px rgba(10,28,56,.14)}
.js-motion .hero-visual--portrait .portrait{animation:up2 .9s var(--ease) .3s both}
@media (min-width:1000px){.hero-visual--portrait{padding:24px 0}}

/* À propos : interlocuteur */
.talk{background:var(--navy);color:#fff;padding:var(--sec) 0}
.talk-grid{margin-top:44px;display:grid;gap:28px}
.talk-quote blockquote p{font:800 clamp(28px,3.4vw,46px)/1.12 var(--f-title);font-stretch:104%;letter-spacing:-.02em;text-wrap:balance}
.talk-quote figcaption{margin-top:26px;display:flex;align-items:center;gap:14px;font:500 14px/1.4 var(--f-mono);color:var(--grey-soft)}
.talk-quote figcaption img{width:52px;height:52px;border-radius:50%;flex:none;box-shadow:0 0 0 3px #fff}
.bio-slot{display:grid;align-content:center;gap:10px;min-height:200px;padding:28px 26px;border:2px dashed #3a5683;border-radius:14px;background:rgba(255,255,255,.03)}
.bio-tag{justify-self:start;display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:4px;background:var(--yellow);color:var(--navy);font:600 12.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.bio-txt{font:700 20px/1.35 var(--f-title);font-stretch:104%;color:var(--grey-soft)}
@media (min-width:1000px){.talk-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:center}}

/* À propos : engagements, zone */
.engage{padding:var(--sec) 0}
.engage .engage-list{margin-top:44px}
.zone{background:var(--surface);padding:var(--sec) 0;overflow-x:clip}
.zone-grid{display:grid;gap:36px;align-items:center}
.zone-copy .lead{margin-top:20px;max-width:26em}
.zone-copy p + p{margin-top:22px}
@media (min-width:1000px){.zone-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}}
.zone-map{margin:0;border-radius:16px;background:#fff;box-shadow:0 0 0 1.5px var(--line);overflow:hidden}
.map{width:100%;height:auto}
.map .ring{fill:none;stroke:#cfdbea;stroke-width:2;stroke-dasharray:3 9}
.map .pt{fill:var(--navy);stroke:#fff;stroke-width:4}
.map .lead{fill:none;stroke:var(--navy);stroke-width:2}
.map text{font:600 24px var(--f-text);fill:var(--text);paint-order:stroke;stroke:#fff;stroke-width:6px;stroke-linejoin:round}
.map .vm{font:800 28px var(--f-title)}
.map .vm2{font:500 22px var(--f-mono);fill:var(--text-2)}
@media (max-width:599px){.map text{font-size:30px}.map .vm{font-size:32px}.map .vm2{font-size:26px}}

/* Contact */
.hero--contact .hero-grid{align-items:start}
.hero--contact .hero-copy{padding-top:8px}
@media (min-width:1000px){
  .hero--contact .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:56px}
  .hero--contact .hero-copy{position:sticky;top:calc(var(--header-h) + 32px);padding-top:24px}
}
/* Le raccourci vers le formulaire ne sert que sur téléphone, quand le formulaire est sous la ligne de flottaison */
@media (min-width:600px){.jump{display:none}}
.form{padding:26px 20px 24px;border-radius:16px;background:#fff;box-shadow:0 0 0 1.5px var(--line),12px 12px 0 rgba(10,28,56,.08)}
@media (min-width:600px){.form{padding:32px 32px 30px}}
.form-t{font:800 clamp(25px,2.4vw,30px)/1.1 var(--f-title);font-stretch:104%;letter-spacing:-.02em}
.form-sub{margin-top:6px;font-size:15px;color:var(--text-2)}
.f-grid{margin-top:22px;display:grid;gap:16px}
@media (min-width:560px){.f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.f-full{grid-column:1 / -1}}
.field{position:relative;min-width:0}
.field > label,.f-label{display:block;margin-bottom:7px;font:600 15px/1.3 var(--f-text)}
.opt{font-weight:400;color:var(--text-2)}
.field input[type=text],.field input[type=tel],.field input[type=email],.field textarea{display:block;width:100%;min-height:52px;padding:12px 14px;border:1.5px solid #c9d5e3;border-radius:8px;background:#fff;font-size:17px;line-height:1.4;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.field textarea{min-height:120px;resize:vertical}
.field input:hover,.field textarea:hover{border-color:#9fb0c6}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.field ::placeholder{color:#6b7b92;opacity:1}
.f-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.f-drop{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 16px;border:2px dashed #b9c7da;border-radius:10px;background:var(--surface);cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.f-drop:hover{border-color:var(--navy);background:#eef3f9}
.f-file:focus-visible + .f-drop{outline:3px solid var(--action);outline-offset:3px}
.f-drop svg{width:28px;height:28px;flex:none;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.f-drop b{display:block;font:700 16px/1.3 var(--f-text)}
.f-drop span span{display:block;margin-top:2px;font-size:14.5px;line-height:1.4;color:var(--text-2)}
.f-files{margin-top:8px;font:500 14px/1.4 var(--f-mono);color:var(--text-2);word-break:break-word}
.f-check{display:flex;align-items:flex-start;gap:12px}
.f-check input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--navy);cursor:pointer}
.f-check label{margin:0;font:400 15.5px/1.45 var(--f-text);cursor:pointer}
.f-send{margin-top:24px;display:grid;justify-items:start;gap:14px}
@media (max-width:599px){.f-send .btn{width:calc(100% - var(--bh) * .38)}}
.f-status{padding:10px 14px;border-radius:6px;background:var(--yellow);color:var(--navy);font:600 15px/1.35 var(--f-mono)}
.elsewhere{margin-top:18px;padding-inline:4px;font-size:15px;line-height:1.5;color:var(--text-2)}

/* Premier écran sur petits téléphones : on resserre */
@media (max-width:999px) and (max-height:700px){
  .hero .kicker{margin-bottom:10px}
  .hero-lead{margin-top:12px}
  .hero .cta{margin-top:18px}
  .hero .proofs{margin-top:14px;padding-top:12px}
}

/* Logos qui défilent (même principe que l’accueil) */
.mq{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.mq-track{display:flex;width:max-content;animation:mq 38s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.mq .clients-list{display:flex;flex:none;align-items:center;justify-content:flex-start;gap:clamp(40px,5vw,64px);padding-right:clamp(40px,5vw,64px)}
.mq .clients-list img{height:calc(var(--h) * .9);max-width:none}
@keyframes mq{to{transform:translateX(-33.3333%)}}
@media (min-width:900px){.clients-in{grid-template-columns:230px minmax(0,1fr)}}

/* Avis : deux rangées qui se croisent, liste complète au clic */
.avis-card[hidden]{display:none}
.avis-all{margin-top:30px;display:flex;justify-content:center}
.am{display:none}
.has-am .am{display:grid;gap:18px;margin-top:36px;margin-inline:calc(var(--g) * -1)}
.has-am .avis-list{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.has-am.is-list .avis-list{position:static;width:auto;height:auto;margin-top:36px;overflow:visible;clip:auto;clip-path:none;white-space:normal}
.has-am.is-list .am{display:none}
.am-row{overflow:hidden;padding:4px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.am-track{display:flex;gap:18px;width:max-content;animation:am 95s linear infinite}
.am-row.rev .am-track{animation-direction:reverse;animation-duration:105s}
.am-row:hover .am-track{animation-play-state:paused}
.am .avis-card{flex:none;width:min(370px,82vw);align-content:start}
.am .av-txt{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
@keyframes am{to{transform:translateX(calc(-50% - 9px))}}
@media (prefers-reduced-motion:reduce){
  .mq{-webkit-mask-image:none;mask-image:none}
  .mq-track{width:auto}
  .mq .clients-list{flex-wrap:wrap;justify-content:center;padding-right:0}
  .mq .clients-list[aria-hidden]{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
}

/* Très petits téléphones (320 à 359 px) : rien ne doit toucher le bord */
@media (max-width:359px){
  .h1{font-size:28px}
  .form{padding:22px 14px 20px}
  .btn{padding:0 1.1em}
}

/* Survols manquants : liens des réponses, « Lire la suite » */
.qa-a a{transition:text-decoration-color .2s var(--ease),color .2s var(--ease)}
.qa-a a:hover{text-decoration-color:var(--navy)}
.av-more{transition:color .2s var(--ease),text-decoration-color .2s var(--ease)}
.av-more:hover{color:var(--navy)}

.s-sugg .sg{font:400 .92em/1.2 var(--f-mono);color:var(--text-2)}
.r-snip{font:400 .84em/1.35 var(--f-text);color:var(--text-2)}

/* ann-delai : l’annonce n’apparaît qu’une fois la place libérée */
.has-ann .r-ann{transition-delay:.45s}
.r-ann:not(.x){transition-duration:.3s}

/* videos-1210 : annonce sur une ligne par info */
.r-ann .r-ttl,.r-ann .r-snip,.r-ann .r-annv{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* maps-1310 : annonce Google Maps en tête du bloc carte */
.r-pack li.spon{position:relative;background:#eaf3fe;border-radius:.6em;border-bottom-color:transparent;box-shadow:inset 0 0 0 .14em var(--blue)}
.r-sp{font:700 .72em/1 var(--f-mono);letter-spacing:.02em;color:var(--text)}
.r-pack li.spon .pin{top:-.7em;right:-.4em}
.has-ann .r-flow{opacity:1!important}
.has-ann .r-flow{transition:transform .6s var(--ease)}
.has-ann .r-flow > .r-res,.has-ann .r-pack li:not(.spon){opacity:.55}

/* menu-1310 : trois traits bleu fonce classiques, le tricolore reste au logo */
.menu-ico{width:20px;height:14px}
.menu-ico i{left:0!important;width:20px;height:2.5px;border-radius:2px;background:var(--navy)!important;transform:none}
.menu-ico i:nth-child(1){top:0}.menu-ico i:nth-child(2){top:5.75px}.menu-ico i:nth-child(3){top:11.5px}
.menu-btn[aria-expanded="true"] .menu-ico i:nth-child(1){top:5.75px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-ico i:nth-child(3){top:5.75px;transform:rotate(-45deg)}

/* zone-1310 : titre de la carte moins haut sur ordinateur */
@media (min-width:1000px){.zone-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.zone-copy .h2{font-size:clamp(36px,3.5vw,54px)}}

/* bio-1310 : la bio remplace l'emplacement réservé */
.bio{display:grid;align-content:center;gap:14px;padding:28px 26px;border-radius:14px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1.5px #2b4570}
.bio p{font:400 17px/1.6 var(--f-text);color:#d5deeb}
/* tel-1310 : appeler directement */
.call-direct{margin-top:28px;display:grid;gap:6px}
.call-direct .cd-l{font:600 13px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.call-direct a{font:800 clamp(26px,2.6vw,34px)/1.1 var(--f-title);font-stretch:104%;color:var(--navy);text-decoration:none}
.call-direct a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.call-direct .cd-mail{font:600 16px/1.4 var(--f-text)}
.foot-meta a{color:inherit}
@media (min-width:1000px){.engage-list--3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* fiche-google-1310 : liens vers la fiche, carte Google Maps */
a.g-out{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(127,140,160,.6)}
a.g-out:hover{text-decoration-color:currentColor}
a.g-sum{color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s}
a.g-sum:hover{border-color:var(--navy);box-shadow:4px 4px 0 var(--navy)}
.g-see{text-decoration:underline;text-underline-offset:2px}
.zone-map iframe{display:block;width:100%;aspect-ratio:4/3;min-height:340px;border:0}

/* prod-1310 : pages légales, champ piège, messages du formulaire, liens du pied de page */
.legal{padding:clamp(40px,6vw,80px) 0 clamp(56px,8vw,110px)}
.legal-in{max-width:760px}
.legal .h2{margin:14px 0 8px}
.legal h2:not(.h2){margin-top:34px;font:800 21px/1.25 var(--f-title);font-stretch:104%;color:var(--navy)}
.legal p,.legal li{margin-top:10px;font:400 16.5px/1.65 var(--f-text);color:var(--text)}
.legal ul{margin-top:6px;padding-left:1.2em;list-style:disc}
.legal a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}
.legal-date{color:var(--text-2)!important;font-size:14px!important}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.f-status.is-ok{color:#1d7a3e}.f-status.is-err{color:#c22626}
.foot-legal a{color:inherit}

/* form-1310 : formulaire allégé, options repliées */
.f-more{margin-top:16px;border-radius:10px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.f-more summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;font:600 15.5px/1.3 var(--f-text);cursor:pointer;list-style:none}
.f-more summary::-webkit-details-marker{display:none}
.f-more summary::before{content:"+";display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:50%;background:var(--navy);color:#fff;font:700 15px/1 var(--f-text)}
.f-more[open] summary::before{content:"–"}
.f-more > .f-grid{padding:4px 16px 16px}
.f-note{font-size:14px;color:var(--text-2)}.f-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* v2-1310 : étapes illustrées, trois leviers ensemble, une seule taille de titre */
.how2{background:var(--surface);padding:var(--sec) 0}
.how2-list{margin-top:44px;display:grid;gap:18px;counter-reset:s}
.how2-list li{position:relative;display:grid;align-content:start;gap:10px;padding:24px 24px 26px;border-radius:16px;background:#fff;box-shadow:0 0 0 1.5px var(--line)}
.s2-top{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.s2-ico{display:grid;place-items:center;width:58px;height:58px;flex:none;border-radius:14px;background:var(--lv-soft)}
.s2-ico svg{width:28px;height:28px;fill:var(--navy)}
.s2-ico svg.st-line{fill:none;stroke:var(--navy);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.s2-n{font:600 14px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.how2-list h3{font:800 clamp(21px,1.9vw,25px)/1.15 var(--f-title);font-stretch:104%;letter-spacing:-.015em;text-wrap:balance}
.how2-list p{color:var(--text-2)}
@media (min-width:900px){
  .how2-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
  .how2-list li:not(:last-child)::after{content:"";position:absolute;right:-31px;top:52px;width:22px;height:22px;
    background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a1c38' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E")}
}
.trio2{padding:var(--sec) 0;background:var(--navy);color:#fff;overflow-x:clip}
.trio2 .lead{color:var(--grey-soft)}
.t2-list{margin-top:48px;display:grid;gap:10px;justify-items:stretch}
.t2-op{justify-self:center;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);font:800 24px/1 var(--f-title);color:#fff}
.t2-card{--c:var(--red-ink);--on:#fff;display:grid;align-content:start;gap:10px;padding:22px 22px 20px;border-radius:12px;background:var(--c);color:var(--on)}
.t2-card.y{--c:var(--yellow);--on:var(--navy)}.t2-card.b{--c:var(--blue-ink)}
.t2-card .kicker{color:inherit;font-weight:600}.t2-card .kicker .mbar{--c:currentColor}
.t2-card h3{font:800 clamp(20px,1.7vw,24px)/1.15 var(--f-title);font-stretch:104%;letter-spacing:-.015em;text-wrap:balance}
.t2-card.is-here{box-shadow:0 0 0 3px #fff}
.t2-go{margin-top:4px;display:inline-flex;align-items:center;gap:8px;font:700 15.5px/1.2 var(--f-title);font-stretch:104%;color:inherit;text-decoration:none}
.t2-go svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
.t2-go:hover svg{transform:translateX(4px)}
.t2-here{margin-top:4px;font:600 13px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.t2-res{display:grid;justify-items:center;align-content:center;gap:12px;padding:22px;border-radius:12px;background:#fff;color:var(--navy);text-align:center}
.t2-res p{font:800 clamp(20px,1.7vw,24px)/1.15 var(--f-title);font-stretch:104%;text-wrap:balance}
.t2-ring{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 9px rgba(255,210,26,.25)}
.t2-ring svg{width:26px;height:26px;fill:var(--navy)}
@media (min-width:1000px){
  .t2-list{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,.85fr);align-items:stretch;gap:12px}
  .t2-op{align-self:center}
}
.v2 .final .h2{font-size:clamp(34px,4.7vw,62px);line-height:1.03}
.proof-one .pair-list{margin-top:40px}

/* v3-1310 : généralisation */
.gets{background:color-mix(in srgb,var(--lv-ink) 90%,#0a1c38)}
.lv-y .gets{background:#f6c922}
@media (min-width:1000px){.t2-list{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr)}}
/* téléphone collé pendant le défilement, sur mobile aussi */
@media (max-width:899px){
  .gets--phone .gets-grid{grid-template-columns:minmax(0,1fr) 112px;grid-template-areas:"h h" "l v";column-gap:16px}
  .gets--phone .gets-head{grid-area:h}.gets--phone .gets-list{grid-area:l}
  .gets--phone .gets-visual{grid-area:v;align-self:start;position:sticky;top:calc(var(--header-h) + 16px);--pw:112px;padding:0}
  .gets--phone .gets-list h3{font-size:20px}.gets--phone .gets-list p{font-size:15.5px}
  .gets--phone .gets-list li{column-gap:10px}
}
/* À propos : grande photo */
.talk-grid--photo{align-items:center}
.talk-photo{width:100%;max-width:440px;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:16px;box-shadow:12px 12px 0 rgba(255,255,255,.08)}
.talk-copy{display:grid;gap:28px}
.talk-grid--photo .talk-quote figcaption{margin-top:18px}
@media (min-width:1000px){.talk-grid--photo{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px}}
/* une seule taille de titre de section */
.final .h2,.zone-copy .h2{font-size:clamp(34px,4.7vw,62px)!important;line-height:1.03}

/* tap-1310 : liens du pied de page assez grands au doigt */
@media (max-width:767px){.foot-meta a,.foot-legal a{display:inline-flex;align-items:center;min-height:40px}.foot-legal{display:flex;flex-wrap:wrap;column-gap:6px}}

/* v4-1310 */
/* les couleurs exactes du logo, partout */
.lv-r{--lv-ink:var(--red)}.lv-b{--lv-ink:var(--blue)}
.gets{background:var(--lv)!important}
.t2-card{--c:var(--red)}.t2-card.b{--c:var(--blue)}
/* l'aplat reste en place, la suite glisse par-dessus */
.gets{position:sticky;z-index:0}
.gets ~ section,.gets ~ .final{position:relative;z-index:1}
.gets + section{box-shadow:0 -18px 40px rgba(10,28,56,.18)}
/* les trois leviers en deux temps */
.t3{margin-top:44px;display:grid;gap:14px}
.t3-stage{display:grid;align-content:start;gap:14px}
.t3-lbl{display:flex;align-items:center;gap:12px;font:600 14px/1.2 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--grey-soft)}
.t3-lbl b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--navy);font:800 16px/1 var(--f-title)}
.t3-pair{display:grid;gap:14px}
.t3-arrow{justify-self:center;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1)}
.t3-arrow svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg)}
.t3 .t2-card{min-height:100%}
@media (min-width:700px){.t3-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){
  .t3{grid-template-columns:minmax(0,2fr) auto minmax(0,1fr);align-items:stretch;gap:22px}
  .t3-arrow{align-self:center;margin-top:40px}.t3-arrow svg{transform:none}
  .t3-stage{grid-template-rows:auto 1fr}
}
/* Contact (et pages sans couleur propre) : étapes aux trois couleurs */
body:not([class*="lv-"]) .how2-list li:nth-child(1) .s2-ico{background:#fde3e3}
body:not([class*="lv-"]) .how2-list li:nth-child(2) .s2-ico{background:#fff4c2}
body:not([class*="lv-"]) .how2-list li:nth-child(3) .s2-ico{background:#dcebfc}
body:not([class*="lv-"]) .how2-list li{box-shadow:inset 0 5px 0 var(--c,var(--red)),0 0 0 1.5px var(--line);overflow:hidden}
body:not([class*="lv-"]) .how2-list li:nth-child(2){--c:var(--yellow)}
body:not([class*="lv-"]) .how2-list li:nth-child(3){--c:var(--blue)}
/* premier écran : tout tient, même sur un petit téléphone */
@media (max-width:599px) and (max-height:640px){
  .hero{padding-top:4px}
  .hero .h1{font-size:clamp(26px,8vw,32px)!important}
  .hero-lead{margin-top:10px!important;font-size:15px;line-height:1.45}
  .hero .kicker{margin-bottom:8px}
  .hero .cta{margin-top:14px}
  .hero .cta-note{margin-top:4px;font-size:13.5px}
  .hero .proofs{margin-top:10px;padding-top:8px;gap:4px 14px;font-size:13.5px}
}

/* v4b : tout ce qui glisse par-dessus l'aplat est opaque */
:where(.gets ~ section){background-color:#fff}

/* v5-1310 */
/* premier écran mobile : le texte remplit l'écran, le visuel vient juste après (comme l'accueil) */
@media (max-width:599px){
  .hero .hero-copy{min-height:calc(100svh - var(--header-h,64px) - 8px);display:flex;flex-direction:column;justify-content:center;padding:clamp(8px,2svh,20px) 0}
  .hero--contact .hero-copy{min-height:0}
}
/* « Ce que … fait pour vous » : cartes blanches sur l'aplat */
.gets .gets-list li{background:#fff;color:var(--navy);border:0!important;border-radius:14px;padding:22px 22px 24px;margin-bottom:14px;box-shadow:0 10px 24px rgba(10,28,56,.14)}
.gets .gets-list li:last-child{border:0!important}
.gets .gets-list .g-num{color:var(--text-2)}
/* mobile : le téléphone au-dessus des cartes, en taille normale (on annule la colonne étroite) */
@media (max-width:899px){
  .gets--phone .gets-grid{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"h" "v" "l"!important}
  .gets--phone .gets-visual{position:static!important;--pw:min(250px,64vw)!important;padding:4px 0 8px!important}
  .gets--phone .gets-list h3{font-size:clamp(21px,5.6vw,24px)}.gets--phone .gets-list p{font-size:16px}
}
/* étapes en frise : icône ronde, puis « Étape n », puis le titre ; un trait relie les icônes */
.how2-list li{background:none!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
.how2-list li::before{display:none}
.s2-top{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:4px}
.s2-ico{width:60px;height:60px;border-radius:50%;background:var(--lv,var(--red));position:relative;z-index:1;box-shadow:0 0 0 6px var(--surface)}
.s2-ico svg{fill:#fff}.s2-ico svg.st-line{stroke:#fff;fill:none}
body:not([class*="lv-"]) .how2-list li:nth-child(1) .s2-ico{background:var(--red)}
body:not([class*="lv-"]) .how2-list li:nth-child(2) .s2-ico{background:var(--yellow)}
body:not([class*="lv-"]) .how2-list li:nth-child(3) .s2-ico{background:var(--blue)}
body:not([class*="lv-"]) .how2-list li:nth-child(2) .s2-ico svg{fill:var(--navy)}
body:not([class*="lv-"]) .how2-list li:nth-child(2) .s2-ico svg.st-line{stroke:var(--navy);fill:none}
.lv-y .s2-ico svg{fill:var(--navy)}.lv-y .s2-ico svg.st-line{stroke:var(--navy);fill:none}
.how2-list{position:relative}
.how2-list li:not(:last-child)::after{display:none!important}
@media (min-width:900px){
  .how2-list::before{content:"";position:absolute;left:30px;right:calc((100% - 80px) / 3 - 30px);top:29px;height:3px;border-radius:2px;background:var(--navy);opacity:.14}
}
@media (max-width:899px){
  .how2-list{gap:26px}
  .how2-list li{padding-left:78px!important;min-height:60px}
  .how2-list .s2-top{position:absolute;left:0;top:0}
  .how2-list .s2-n{display:none}
  .how2-list li:not(:last-child)::before{content:"";display:block;position:absolute;left:28.5px;top:66px;bottom:-26px;width:3px;border-radius:2px;background:var(--navy);opacity:.14}
}
/* avis à hauteur égale */
.avis-list--2{align-items:stretch}
.avis-list--2 > div{display:grid}
.avis-list--2 .avis-card{height:100%}
/* À propos : « Ma façon de travailler », sans photo */
.talk-grid--text{max-width:880px}
.talk-grid--text .bio{background:none;box-shadow:none;padding:0}
.talk-grid--text .bio p{font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:#e3eaf4}

.talk-grid--text{grid-template-columns:minmax(0,1fr)!important}

/* v6-1310 */
/* le haut de page prend exactement l'écran */
.hero{min-height:calc(100svh - var(--header-h));display:grid;align-content:center}
@media (max-width:999px){.hero{min-height:0}}
/* Réalisations : la bande des logos ferme le premier écran (hauteur posée par site.js) */
@media (max-width:999px){.hero:has(+ .clients) .hero-visual--stack{display:none}.hero:has(+ .clients):not(:has(.rdv-hv)) .hero-copy{min-height:0!important}}
.hero:has(+ .clients){align-content:center}
/* À propos : plus de photo en haut, seulement les barres du logo en décor */
.hero-visual--portrait .portrait{display:none}
@media (max-width:999px){.hero-visual--portrait{display:none}}

.bio--plain{background:none!important;box-shadow:none!important;padding:0!important}
.bio--plain p{font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:#e3eaf4}

/* v6b : écrans peu hauts (portables) : le haut de page tient quand même dans l'écran */
@media (min-width:1000px) and (max-height:800px){
  .hero{padding:10px 0 14px!important}
  .hero .kicker{margin-bottom:8px}
  .hero .h1{font-size:clamp(36px,6.4svh,52px)!important}
  .hero-lead{font-size:17px;margin-top:10px!important}
  .hero .cta{margin-top:14px}
  .hero .cta-note{font-size:14px}
  .hero .proofs{margin-top:12px;padding-top:10px}
  .hero-visual{--pw:clamp(200px,calc((100svh - var(--header-h) - 70px) * .4838),280px)!important}
  .form{padding:20px 24px!important}.form .f-grid{gap:10px 16px}.form input{height:44px}.form-t{font-size:24px}.f-send{margin-top:14px}
}
/* Réalisations sur mobile : bande des logos plus compacte */
@media (max-width:999px){
  .hero:has(+ .clients){padding-bottom:16px}
  .hero:has(+ .clients) + .clients{padding:14px 0 16px}
  .hero:has(+ .clients) + .clients .clients-in{gap:10px}
  .hero:has(+ .clients) + .clients .clients-t{font-size:12.5px}
}

.talk-photo{height:auto!important;max-height:560px}

/* v7-1410 */
/* À propos : photo plus discrète */
.talk-photo{max-width:300px!important;max-height:none!important}
@media (min-width:1000px){.talk-grid--photo{grid-template-columns:300px minmax(0,1fr)!important;gap:64px!important}}
@media (max-width:999px){.talk-photo{max-width:240px!important}}
/* mobile : un seul téléphone, l'animé, dans la section de couleur */
@media (max-width:999px){body:has(.gets--phone) .hero .hero-visual{display:none}.only-desk{display:none}}

.gets-visual .phone[hidden]{display:none!important}

/* tel-1410 : numéro visible partout */
.h-tel{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;min-width:44px;height:44px;border-radius:22px;color:var(--navy);font:700 15px/1 var(--f-title);font-stretch:104%;text-decoration:none;white-space:nowrap}
.h-tel svg{width:20px;height:20px;fill:currentColor;flex:none}
.h-tel span{display:none}
.h-tel:hover{color:var(--action)}
@media (max-width:999px){.h-tel{background:var(--yellow)}}
@media (min-width:1240px){.h-tel{padding:0 6px}.h-tel span{display:inline}}
.menu-tel{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font:700 19px/1.2 var(--f-title);font-stretch:104%;color:var(--navy);text-decoration:none}
.menu-tel svg{width:22px;height:22px;fill:currentColor}
.cta-note a[href^="tel:"],.foot-meta a[href^="tel:"]{color:inherit;font-weight:700;white-space:nowrap}

/* apropos-illu-1410 */
.hero-visual--apropos{--pw:min(280px,70vw)}
@media (min-width:1000px){.hero-visual--apropos{--pw:clamp(220px,calc((100svh - var(--header-h) - 110px) * .4838),290px)}}
@media (max-width:999px){.hero-visual--apropos{display:grid!important}}
.ap-scr{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;padding:4.2em 1.4em 2em;text-align:center}
.ap-phone[data-illu="appel"] .ap-call,.ap-phone[data-illu="recents"] .ap-recents{display:flex}
.ap-call{background:linear-gradient(180deg,#0f2a52,#0a1c38);color:#fff}
.ap-lbl{font:500 .95em/1 var(--f-mono);letter-spacing:.06em;color:#9fb3d1}
.ap-ava{width:7.4em;height:7.4em;margin-top:1.6em;border-radius:50%;object-fit:cover;object-position:50% 22%;box-shadow:0 0 0 .3em #fff}
.ap-name{margin-top:1em;font:800 2em/1.1 var(--f-title);font-stretch:104%}
.ap-sub{margin-top:.35em;font-size:1em;color:#c3d0e4}
.ap-note{margin-top:1.4em;font:400 1em/1.45 var(--f-text);color:#c3d0e4;max-width:15em}
.ap-actions{margin-top:auto;display:grid;justify-items:center;gap:.7em}
.ap-ring{position:relative;display:grid;place-items:center;width:4.6em;height:4.6em;border-radius:50%;background:#22c55e}
.ap-ring svg{width:2em;height:2em;fill:#fff;position:relative;z-index:1}
.ap-ring i{position:absolute;inset:0;border-radius:50%;background:#22c55e;opacity:.5;animation:wave 1.8s var(--ease) infinite}
.ap-ring i+i{animation-delay:.9s}
.ap-ans{font:600 .95em/1 var(--f-text);color:#c3d0e4}
.ap-recents{align-items:stretch;text-align:left;background:#fff;color:var(--navy)}
.ap-title{font:800 1.9em/1 var(--f-title);font-stretch:104%}
.ap-recents ul{margin-top:1em;display:grid}
.ap-recents li{display:flex;align-items:center;gap:.8em;padding:.85em 0;border-bottom:.08em solid var(--line)}
.ap-ic{display:grid;place-items:center;width:2.4em;height:2.4em;flex:none;border-radius:50%;background:var(--yellow)}
.ap-ic svg{width:1.15em;height:1.15em;fill:var(--navy)}
.ap-recents li b{display:block;font:700 1.02em/1.2 var(--f-text)}
.ap-recents li small{display:block;margin-top:.15em;font:400 .9em/1.3 var(--f-text);color:var(--text-2)}
.ap-foot{margin-top:auto;font:600 .95em/1.3 var(--f-mono);color:var(--text-2);text-align:center}
.js-motion .ap-recents li{animation:up2 .5s var(--ease) both}
.js-motion .ap-recents li:nth-child(2){animation-delay:.12s}.js-motion .ap-recents li:nth-child(3){animation-delay:.24s}
.js-motion .ap-recents li:nth-child(4){animation-delay:.36s}.js-motion .ap-recents li:nth-child(5){animation-delay:.48s}
.illu-switch{position:fixed;left:12px;bottom:12px;z-index:190;display:flex;gap:2px;padding:4px;border-radius:999px;background:#0a1c38;box-shadow:0 6px 18px rgba(10,28,56,.3);font:700 13px/1 Archivo,system-ui,sans-serif}
.illu-switch button{height:34px;padding:0 14px;border:0;border-radius:999px;background:none;color:#fff;cursor:pointer}
.illu-switch button[aria-pressed=true]{background:#ffd21a;color:#0a1c38}

/* annot-ann-1410 : la page Publicité a aussi son téléphone annoté, comme les deux autres */
.annot-ann .r-ann,.annot-ann .r-pack li.spon{position:relative;overflow:visible}
.annot-ann .r-ann::after,.annot-ann .r-pack li.spon::after,.annot-ann .p-acct::after{position:absolute;right:-.55em;top:-.6em;z-index:5;display:grid;place-items:center;width:2.1em;height:2.1em;border-radius:50%;background:var(--navy);color:var(--yellow);font:700 1.05em/1 var(--f-mono);box-shadow:0 0 0 .2em #fff}
.annot-ann .r-ann::after{content:"1"}.annot-ann .r-pack li.spon::after{content:"2"}.annot-ann .p-acct::after{content:"3"}
.annot-ann .r-pack li.me::after{display:none}
.p-acct{position:absolute;z-index:4;left:1em;right:1em;bottom:1.4em;display:grid;gap:.35em;padding:.9em 1em;border-radius:.9em;background:#fff;box-shadow:inset 0 0 0 .14em var(--blue),0 .5em 1.2em rgba(10,28,56,.18);font:400 .9em/1.3 var(--f-text);color:var(--text)}
.p-acct b{font:700 1em/1.2 var(--f-text)}
.p-acct span{display:flex;justify-content:space-between;gap:1em}.p-acct i{font-style:normal;color:var(--text-2)}

.annot-ann .r-flow{transform:none!important;opacity:1!important}
.annot-ann .r-ann::after{right:.4em}

/* faq-1410 : fond gris clair, questions en cartes blanches (se distingue de l'appel final, blanc) */
.faq{background:var(--surface);border-top:0}
.faq .qa{border-top:0;background:#fff;border-radius:14px;box-shadow:0 0 0 1.5px var(--line);padding:0 22px;margin-bottom:12px;transition:box-shadow .2s var(--ease)}
.faq .qa:hover,.faq .qa[open]{box-shadow:0 0 0 1.5px var(--navy)}
.faq .qa summary{min-height:64px;padding:16px 0}
.faq .qa-a{padding:0 32px 22px 0}

.faq .faq-list,.faq .qa:last-child{border-bottom:0!important}

/* rdv-1510 : page Rendez-vous */
.rdv-avis{display:grid;gap:16px}
@media (min-width:900px){.rdv-avis{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rdv-form{background:var(--surface);min-height:0!important}
.rdv-form .h2{margin-bottom:6px}


/* faq-ico-1510 : icône neutre, bleu nuit à l'ouverture (plus de rond rouge ou bleu) */
.qa[open] .qa-ico{background:var(--navy)!important}
.qa[open] .qa-ico::before,.qa[open] .qa-ico::after{background:#fff!important}
.faq .qa[open]{box-shadow:0 0 0 1.5px var(--navy),inset 4px 0 0 var(--yellow)}

/* rdv-v2-1510 : carte neutre, rappel sous 48 heures, avant / après */
.rdv-carte{display:inline-flex;align-items:center;gap:14px;margin-bottom:16px;padding:8px 16px 8px 8px;border-radius:14px;background:#fff7d1;box-shadow:inset 0 0 0 1.5px #f2dc7c;text-decoration:none;color:var(--navy);font:500 14.5px/1.35 var(--f-text)}
.rdv-carte img{width:52px;height:auto;border-radius:6px;box-shadow:0 4px 10px rgba(10,28,56,.18);transform:rotate(-5deg)}
.rdv-carte b{display:block;font:700 15.5px/1.3 var(--f-text)}
.rdv-48{margin-top:10px;display:inline-flex;align-items:center;gap:8px;font:600 15px/1.3 var(--f-text);color:var(--navy)}
.rdv-48::before{content:"";width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.2)}
.rdv-aa{padding:var(--sec) 0}
.aa-grid{margin-top:40px;display:grid;gap:22px}
@media (min-width:900px){.aa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
.aa-item{position:relative;margin:0}
.aa-tag{position:absolute;z-index:2;left:14px;top:-14px;padding:7px 14px;border-radius:999px;font:700 14px/1 var(--f-title);font-stretch:104%;box-shadow:0 4px 12px rgba(10,28,56,.15)}
.aa-tag--avant{background:#fff;color:var(--text-2);box-shadow:0 0 0 1.5px var(--line),0 4px 12px rgba(10,28,56,.1)}
.aa-tag--apres{background:var(--yellow);color:var(--navy)}
.aa-item img{display:block;width:100%;height:auto}
.aa-quote{margin:28px 0 0;max-width:760px;padding:16px 20px;border-left:4px solid var(--yellow);background:var(--surface);border-radius:8px;font:600 clamp(17px,1.5vw,19px)/1.5 var(--f-text);color:var(--navy)}
.aa-quote cite{display:block;margin-top:6px;font:600 14px/1.3 var(--f-text);color:var(--text-2);font-style:normal}

/* rdv-v3-1510 : curseur avant / après */
.ba{position:relative;margin-top:36px;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1.5px var(--line),0 18px 40px rgba(10,28,56,.12);aspect-ratio:1640/1024;background:#fff;touch-action:pan-y}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.ba-before{clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--x);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(10,28,56,.2);pointer-events:none}
.ba-handle i{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--yellow);box-shadow:0 4px 14px rgba(10,28,56,.3)}
.ba-handle i::before,.ba-handle i::after{content:"";position:absolute;top:50%;width:0;height:0;margin-top:-6px;border:6px solid transparent}
.ba-handle i::before{left:7px;border-right-color:var(--navy)}.ba-handle i::after{right:7px;border-left-color:var(--navy)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba-tag{position:absolute;top:12px;padding:6px 12px;border-radius:999px;font:700 13px/1 var(--f-title);pointer-events:none}
.ba-tag--avant{left:12px;background:rgba(10,28,56,.85);color:#fff}.ba-tag--apres{right:12px;background:var(--yellow);color:var(--navy)}

/* rdv-v4-1510 : la carte recto / verso à la place du téléphone */
.rdv-carte{display:none!important}
.rdv-cards{position:relative;z-index:2;display:grid;justify-items:center;gap:18px;perspective:1600px}
.rf{width:min(330px,74vw);aspect-ratio:600/827}
.rf-in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotate(-4deg)}
.rf img{position:absolute;inset:0;width:100%;height:100%;border-radius:10px;box-shadow:0 20px 44px rgba(10,28,56,.28);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.rf-b{transform:rotateY(180deg)}
.js-motion .rf-in{animation:rfFlip 9s cubic-bezier(.65,0,.35,1) 1.2s infinite}
@keyframes rfFlip{0%,38%{transform:rotate(-4deg) rotateY(0)}50%,88%{transform:rotate(-4deg) rotateY(180deg)}100%{transform:rotate(-4deg) rotateY(360deg)}}
.rdv-cap{display:grid;gap:2px;padding:12px 20px;border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(10,28,56,.16),0 0 0 1.5px var(--line);text-align:center;font:500 15px/1.35 var(--f-text);color:var(--text-2)}
.rdv-cap b{font:800 17px/1.3 var(--f-title);font-stretch:104%;color:var(--navy)}
@media (max-width:999px){.rdv-hv{min-height:0!important;padding:8px 0 26px!important}}
/* avant / après plus petit, avec le texte à côté */
.aa-wrap{display:grid;gap:26px;align-items:center}
.rdv-aa .ba{margin-top:0;max-width:680px;width:100%;justify-self:center}
@media (min-width:1000px){.aa-wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}.rdv-aa .aa-quote{margin-top:22px}}

/* rdv-qa-1510 : sur mobile, la carte se reconnaît dès le premier écran ; sur écrans peu hauts, la carte tient dans l'écran */
@media (max-width:999px){.rdv-carte{display:inline-flex!important;margin-bottom:12px}}
@media (min-width:1000px){.rf{width:clamp(240px,calc((100svh - var(--header-h) - 150px) * .725),330px)}}

.form select{width:100%;height:52px;padding:0 14px;border:1.5px solid #cdd7e4;border-radius:10px;background:#fff;font:500 16px/1 var(--f-text);color:var(--navy)}

/* rdv-mobile-1510 : sur mobile, la carte qui se retourne ouvre la page (plus de vignette en double), puis « Prenez rendez-vous » */
@media (max-width:999px){
  .rdv-carte{display:none!important}
  .hero:has(.rdv-hv) .hero-copy{min-height:0!important;padding-top:0!important}
  .hero:has(.rdv-hv) .hero-grid{gap:14px}
  .rdv-hv{order:-1;min-height:0!important;padding:14px 0 0!important;place-items:start stretch}
  .rdv-hv .hero-mark{display:none}
  .rdv-cards{grid-template-columns:auto minmax(0,1fr);justify-items:start;align-items:center;gap:16px;padding:12px 14px;border-radius:16px;background:#fff7d1;box-shadow:inset 0 0 0 1.5px #f2dc7c}
  .rdv-hv .rf{width:96px}
  .rdv-hv .rf img{border-radius:6px;box-shadow:0 8px 18px rgba(10,28,56,.25)}
  .rdv-cap{padding:0;background:none;box-shadow:none;text-align:left;font-size:14.5px;color:var(--navy)}
  .rdv-cap b{font-size:17px}
}

/* rdv-v6-1510 */
/* espacements : la section du formulaire a le même rythme que les autres */
.rdv-form{padding:var(--sec) 0!important}
/* avant / après : sur mobile, le curseur juste après le titre, l'avis en dessous */
.aa-wrap{grid-template-areas:"head" "ba" "quote"}
.aa-head{grid-area:head}.rdv-aa .ba{grid-area:ba}.rdv-aa .aa-quote{grid-area:quote;margin-top:0}
@media (min-width:1000px){.aa-wrap{grid-template-areas:"head ba" "quote ba";grid-template-rows:auto 1fr;row-gap:22px}.rdv-aa .aa-quote{align-self:start}}
/* « Qui vous rappelle » sur mobile : photo ronde et nom côte à côte, puis le texte */
@media (max-width:999px){
  .talk .talk-grid--photo{grid-template-columns:1fr!important;justify-items:start;gap:20px}
  .talk .talk-photo{width:120px!important;max-width:120px!important;height:120px!important;aspect-ratio:1!important;border-radius:50%!important;box-shadow:none!important;object-position:50% 20%}
}

.rdv-form{background:#fff!important}

/* rdv-final-1510 : haut de page mobile = ligne discrète ; le haut de page remplit l'écran ; bandeau logos sur fond blanc */
@media (max-width:999px){
  .rdv-cards{padding:0 0 16px;background:none;box-shadow:none;border-radius:0;border-bottom:1.5px solid var(--line);gap:18px}
  .rdv-hv .rf{width:84px}
  .rdv-cap b{display:inline;background:linear-gradient(transparent 55%,var(--yellow) 55%)}
  .hero:has(.rdv-hv){min-height:calc(100svh - var(--header-h,64px));display:grid;align-content:center;padding:12px 0 20px}
}
.hero:has(.rdv-hv) + .clients{background:#fff}
/* petits téléphones : tout le haut de page tient dans l'écran */
@media (max-width:999px) and (max-height:760px){
  .hero:has(.rdv-hv){padding:6px 0 10px}
  .hero:has(.rdv-hv) .hero-grid{gap:8px}
  .hero:has(.rdv-hv) .rdv-cards{padding-bottom:10px;gap:14px}
  .hero:has(.rdv-hv) .rf{width:64px}
  .hero:has(.rdv-hv) .rdv-cap{font-size:13.5px}.hero:has(.rdv-hv) .rdv-cap b{font-size:15.5px}
  .hero:has(.rdv-hv) .h1{font-size:clamp(27px,8.2vw,34px)!important}
  .hero:has(.rdv-hv) .hero-lead{margin-top:8px!important;font-size:15px;line-height:1.45}
  .hero:has(.rdv-hv) .cta{margin-top:12px}
  .hero:has(.rdv-hv) .rdv-48{margin-top:6px;font-size:13.5px}
  .hero:has(.rdv-hv) .proofs{margin-top:10px;padding-top:8px;gap:4px 14px;font-size:13px}
}
@media (max-width:999px) and (max-height:600px){.hero:has(.rdv-hv) .proofs li + li{display:none}}
/* rdv : bande logos en gris, section suivante en blanc */
.hero:has(.rdv-hv) + .clients{background:var(--surface)!important}
.hero:has(.rdv-hv) + .clients + .how2{background:#fff}
.hero:has(.rdv-hv) + .clients + .how2 .s2-ico{box-shadow:0 0 0 6px #fff}

/* menu-1510 : Accueil en tête, page en cours en jaune (sans étiquette), plus compact, numéro lisible */
.menu-in{padding-top:8px;padding-bottom:calc(32px + env(safe-area-inset-bottom));gap:26px}
.menu-list a{min-height:56px;font-size:clamp(22px,6.4vw,30px);-webkit-tap-highlight-color:transparent}
.menu-list a[aria-current="page"]::after{content:none}
.menu-list a:hover{padding-left:0}
@media (hover:hover){.menu-list a:hover{padding-left:6px;color:var(--yellow)}}
.menu-list a:active{color:var(--yellow)}
.menu-list a:focus-visible{outline:2px solid var(--yellow);outline-offset:-2px}
.menu-panel .menu-tel{min-height:44px;margin-top:8px;color:#fff}
.menu-panel .menu-tel svg{fill:var(--yellow)}
.js-motion .menu-panel.is-open .menu-list li:nth-child(6){animation-delay:.2s}
.js-motion .menu-panel.is-open .menu-cta{animation-delay:.24s}
html.menu-open .m-cta{transform:translateY(110%)!important}

/* process-1510 : « Comment ça se passe » de A à Z, étapes numérotées */
.how-lead{margin-top:14px;max-width:46ch}
.steps{margin-top:40px;display:grid;gap:0;counter-reset:none}
.steps li{position:relative;padding:0 0 26px 64px}
.steps li:last-child{padding-bottom:0}
.steps .st-n{position:absolute;left:0;top:0;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lv,var(--red));color:#fff;font:800 18px/1 var(--f-title);font-stretch:104%;box-shadow:0 0 0 5px var(--surface)}
.lv-y .steps .st-n{color:var(--navy)}
.steps li:not(:last-child)::before{content:"";position:absolute;left:20.5px;top:50px;bottom:6px;width:3px;border-radius:2px;background:var(--navy);opacity:.14}
.steps h3{padding-top:9px;font:800 clamp(19px,1.6vw,22px)/1.2 var(--f-title);font-stretch:104%;letter-spacing:-.015em;text-wrap:balance}
.steps p{margin-top:6px;color:var(--text-2);max-width:48ch}
@media (min-width:760px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:34px}
  .steps li{padding:0 0 0 64px}
  .steps li::before{display:none}
}
@media (min-width:1000px){
  .steps.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps.c4{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px}
  .steps.c4 li{padding:58px 0 0}
  .steps.c4 .st-n{top:0}
  .steps.c4 h3{padding-top:0}
}

/* process-v2-1510 : 3 présentations à comparer (prévisualisation) */
.pv{display:none}
html:not([data-p]) .pv-1,html[data-p="1"] .pv-1,html[data-p="2"] .pv-2,html[data-p="3"] .pv-3{display:block}
.pv .how-lead{margin-top:14px}
.pv-3 .steps{margin-top:40px}
/* calendrier */
.cal{margin-top:40px;display:grid;position:relative}
.cal li{position:relative;padding:0 0 28px 40px}
.cal li:last-child{padding-bottom:0}
.cal li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:50%;background:var(--lv,var(--red));box-shadow:0 0 0 5px var(--surface)}
.cal li:not(:last-child)::after{content:"";position:absolute;left:7.5px;top:28px;bottom:2px;width:3px;border-radius:2px;background:var(--navy);opacity:.14}
.cal-t{display:block;font:600 13px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--lv-ink,var(--red))}
.lv-y .cal-t{color:var(--navy)}
.cal h3{margin-top:8px;font:800 clamp(19px,1.6vw,22px)/1.2 var(--f-title);font-stretch:104%;letter-spacing:-.015em;text-wrap:balance}
.cal p{margin-top:6px;color:var(--text-2);max-width:40ch}
@media (min-width:1000px){
  .cal{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px}
  .cal::before{content:"";position:absolute;left:9px;right:calc(25% - 9px);top:39px;height:3px;border-radius:2px;background:var(--navy);opacity:.14}
  .cal li{padding:0}
  .cal li::before{top:31px}
  .cal li::after{display:none}
  .cal h3{margin-top:44px}
}
/* encart « votre part du travail » */
.part{margin-top:40px;display:grid;gap:6px;padding:26px 26px 28px;border-radius:16px;background:var(--navy);color:#fff}
.part-k{font:600 13px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--lv,var(--yellow))}
.lv-b .part-k{color:#8fc1f5}
.part-t{font:800 clamp(22px,2.2vw,28px)/1.15 var(--f-title);font-stretch:104%;letter-spacing:-.02em;text-wrap:balance}
.part-s{color:#c3d0e4}
@media (min-width:1000px){.part{grid-template-columns:auto 1fr;column-gap:28px;align-items:baseline;padding:28px 34px}.part-k{grid-row:span 2}}
/* sélecteur de prévisualisation */
.p-switch{position:fixed;left:12px;bottom:76px;z-index:190;display:flex;gap:2px;padding:4px;border-radius:999px;background:#0a1c38;box-shadow:0 6px 18px rgba(10,28,56,.3);font:700 14px/1 Archivo,system-ui,sans-serif}
@media (min-width:700px){.p-switch{bottom:16px}}
.p-switch button{height:36px;min-width:40px;padding:0 12px;border:0;border-radius:999px;background:none;color:#fff;cursor:pointer}
.p-switch button[aria-pressed=true]{background:#ffd21a;color:#0a1c38}

/* reals-liens-1510 : les captures mènent au vrai site */
.real-a{display:block;color:inherit;text-decoration:none;border-radius:12px}
.real-a:focus-visible{outline:3px solid var(--action,var(--navy));outline-offset:6px}
.b-top span.b-url{height:auto;max-width:62%;padding:3px 9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:500 11px/1.2 var(--f-mono);letter-spacing:.02em;color:var(--text-2)}
.real-card figcaption .real-go{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font:600 14px/1.2 var(--f-text);color:var(--navy);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.real-go svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){.real-a:hover .real-go{text-decoration-color:var(--red)}}

/* process-v3-1510 : calendrier retenu, 3 présentations (A ligne, B cartes, C piste) */
.how-lead{margin-top:14px;max-width:46ch}
.cal[data-r]{opacity:1!important;transform:none!important}
/* B : cartes enchaînées */
html[data-t="b"] .cal{gap:14px}
html[data-t="b"] .cal li{padding:22px 22px 24px;border-radius:16px;background:#fff;box-shadow:0 0 0 1.5px var(--line)}
html[data-t="b"] .cal li::before{display:none}
html[data-t="b"] .cal li:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:-13px;top:auto;width:12px;height:12px;margin-left:-6px;border-right:3px solid var(--lv,var(--red));border-bottom:3px solid var(--lv,var(--red));border-radius:0 0 2px 0;background:none;opacity:1;transform:rotate(45deg)}
html[data-t="b"] .cal-t{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--lv-soft,#fde3e3);color:var(--navy)}
html[data-t="b"] .cal h3{margin-top:14px}
html[data-t="b"] .cal li.is-end{background:var(--navy);box-shadow:none}
html[data-t="b"] .cal li.is-end h3{color:#fff}html[data-t="b"] .cal li.is-end p{color:#c3d0e4}
html[data-t="b"] .cal li.is-end .cal-t{background:var(--lv,var(--red));color:var(--lv-on,#fff)}
@media (min-width:1000px){
  html[data-t="b"] .cal{column-gap:22px}
  html[data-t="b"] .cal::before{display:none}
  html[data-t="b"] .cal li{padding:24px 22px 26px}
  html[data-t="b"] .cal h3{margin-top:16px}
  html[data-t="b"] .cal li:not(:last-child)::after{left:auto;right:-17px;top:50%;bottom:auto;margin:-6px 0 0;transform:rotate(-45deg)}
}
/* C : piste qui se remplit, arrivée mise en avant */
html .cal li::before{width:26px;height:26px;left:-4px;top:1px;background:var(--surface);box-shadow:inset 0 0 0 3px var(--lv,var(--red)),0 0 0 5px var(--surface);transition:background-color .3s var(--ease) calc(var(--i,0) * .35s + .3s)}
html .cal.in li::before{background:var(--lv,var(--red))}
html .cal li:not(:last-child)::after{display:none}
html .cal::before,html .cal::after{content:"";position:absolute;left:7.5px;top:14px;bottom:40px;width:4px;border-radius:2px}
html .cal::before{background:var(--navy);opacity:.12}
html .cal::after{background:var(--lv,var(--red));transform:scaleY(0);transform-origin:top;transition:transform 1.4s var(--ease) .2s}
html .cal.in::after{transform:none}
html .cal li.is-end{margin-left:-14px;padding:18px 18px 20px 54px;border-radius:16px;background:var(--navy)}
html .cal li.is-end::before{left:10px;top:19px;box-shadow:inset 0 0 0 3px var(--lv,var(--red)),0 0 0 5px var(--navy)}
html .cal li.is-end h3{color:#fff;font-size:clamp(22px,2vw,26px)}html .cal li.is-end p{color:#c3d0e4}
html .cal li.is-end .cal-t{color:var(--lv,var(--red))}
.lv-b .cal li.is-end .cal-t{color:#8fc1f5}
@media (min-width:1000px){
  html .cal{column-gap:26px}
  html .cal::before,html .cal::after{left:12px;right:calc(25% - 12px);top:38px;bottom:auto;width:auto;height:5px}
  html .cal::after{transform:scaleX(0);transform-origin:left}
  html .cal li::before{left:0;top:28px}
  html .cal li.is-end{margin:-18px 0 0;padding:18px 20px 22px;align-self:start}
  html .cal li.is-end::before{left:20px;top:28px}
  html .cal li.is-end h3{margin-top:44px}
}
@media (prefers-reduced-motion:reduce){html .cal::after{transition:none}html .cal li::before{transition:none}}

/* process-v3b-1510 : C, point de l'arrivée sous son repère, ligne cachée sous la carte d'arrivée */
html .cal li.is-end{z-index:1}
@media (min-width:1000px){html .cal li.is-end::before{top:46px}}

/* process-n-1510 : le calendrier s'adapte au nombre d'étapes (4 ou 5) */
@media (min-width:1000px){
  .cal{grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}
  html .cal::before,html .cal::after{right:calc(100% / var(--n,4) - 12px)}
  .cal[style*="--n:5"]{column-gap:22px}
}

/* process-align-1510 : la carte d'arrivée prend la hauteur de la rangée, plus de décalage entre les blocs */
@media (min-width:1000px){html .cal li.is-end{align-self:stretch;margin-bottom:-22px}}
@media (min-width:1000px) and (max-width:1239px){.cal[style*="--n:5"] h3{font-size:18px}.cal[style*="--n:5"] p{font-size:15px}.cal[style*="--n:5"] .cal-t{font-size:11.5px}}

/* rdv-m-1610 : haut de page mobile, 3 présentations de la carte (A centrée, B pastille, C en biais) */
@keyframes rdvDrop{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@keyframes rdvSlide{from{opacity:0;transform:translateX(40px) rotate(14deg)}to{opacity:1;transform:none}}
@keyframes rdvFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:999px){
  html .hero:has(.rdv-hv) .rdv-cards{border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important}
  /* A : la carte se retourne, centrée, la légende dessous, centrée */
  html[data-m="a"] .hero:has(.rdv-hv) .rdv-cards{grid-template-columns:1fr!important;justify-items:center!important;gap:12px!important;padding:0 0 6px!important}
  html[data-m="a"] .hero:has(.rdv-hv) .rf{width:104px!important}
  html[data-m="a"] .hero:has(.rdv-hv) .rdv-cap{text-align:center!important;font-size:15px!important}
  html[data-m="a"] .hero:has(.rdv-hv) .rdv-cap b{display:block;font-size:19px!important;background:none!important;color:var(--navy)}
  html[data-m="a"] .hero:has(.rdv-hv) .rdv-cap b::after{content:"";display:block;width:54px;height:4px;margin:8px auto 0;border-radius:2px;background:var(--yellow)}
  html[data-m="a"] .js-motion .hero:has(.rdv-hv) .rdv-cards{animation:rdvDrop .7s var(--ease) both}
  /* B : pastille bleu nuit, mini carte qui se retourne + texte */
  html[data-m="b"] .hero:has(.rdv-hv) .rdv-cards{grid-template-columns:auto auto!important;justify-content:center;justify-items:start!important;align-items:center;gap:12px!important;
    width:fit-content;max-width:100%;margin:0 auto 4px;padding:8px 18px 8px 8px!important;border-radius:999px!important;background:var(--navy)!important;box-shadow:0 10px 24px rgba(10,28,56,.22)!important}
  html[data-m="b"] .hero:has(.rdv-hv) .rf{width:46px!important}
  html[data-m="b"] .hero:has(.rdv-hv) .rf img{border-radius:5px;box-shadow:0 4px 10px rgba(0,0,0,.3)}
  html[data-m="b"] .hero:has(.rdv-hv) .rdv-cap{text-align:left!important;font-size:13px!important;color:#c3d0e4!important;line-height:1.3}
  html[data-m="b"] .hero:has(.rdv-hv) .rdv-cap b{display:block;font-size:15.5px!important;color:var(--yellow)!important;background:none!important}
  html[data-m="b"] .js-motion .hero:has(.rdv-hv) .rdv-cards{animation:rdvDrop .6s var(--ease) .1s both}
  /* C : grande carte en biais qui arrive, légende à côté, le tout centré */
  html[data-m="c"] .hero:has(.rdv-hv) .rdv-cards{grid-template-columns:auto auto!important;justify-content:center;align-items:center;gap:20px!important;padding:4px 0 10px!important}
  html[data-m="c"] .hero:has(.rdv-hv) .rf{width:96px!important;transform:rotate(-8deg)}
  html[data-m="c"] .hero:has(.rdv-hv) .rdv-cap{display:block!important;text-align:left!important;font-size:15px!important;max-width:200px}
  html[data-m="c"] .hero:has(.rdv-hv) .rdv-cap b{display:inline!important;font-size:19px!important;line-height:1.3;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(transparent 58%,var(--yellow) 58%)!important}
  html[data-m="c"] .hero:has(.rdv-hv) .rdv-cap b::before{content:"";display:block;height:4px}
  html[data-m="c"] .js-motion .hero:has(.rdv-hv) .rf{animation:rdvSlide .8s var(--ease) both}
  html[data-m="c"] .js-motion .hero:has(.rdv-hv) .rdv-cap{animation:rdvFade .6s var(--ease) .45s both}
}
@media (max-width:999px) and (max-height:760px){
  html[data-m="a"] .hero:has(.rdv-hv) .rf{width:80px!important}
  html[data-m="a"] .hero:has(.rdv-hv) .rdv-cap b{font-size:17px!important}
  html[data-m="c"] .hero:has(.rdv-hv) .rf{width:76px!important}
  html[data-m="c"] .hero:has(.rdv-hv) .rdv-cap b{font-size:17px!important}
}
.m-switch{position:fixed;left:12px;bottom:84px;z-index:190;display:none;gap:2px;padding:4px;border-radius:999px;background:#0a1c38;box-shadow:0 6px 18px rgba(10,28,56,.3);font:700 14px/1 Archivo,system-ui,sans-serif}
@media (max-width:999px){.m-switch{display:flex}}
.m-switch button{height:36px;min-width:40px;padding:0 12px;border:0;border-radius:999px;background:none;color:#fff;cursor:pointer}
.m-switch button[aria-pressed=true]{background:#ffd21a;color:#0a1c38}

/* rdv-m2-1610 : D étiquette, E carte en biais à droite, F surlignage qui se dessine ; tout aligné à gauche */
@keyframes rdvCard{0%{opacity:0;transform:translateY(18px) rotate(var(--r,0deg)) scale(.92)}65%{opacity:1;transform:translateY(-3px) rotate(var(--r,0deg)) scale(1.02)}100%{opacity:1;transform:rotate(var(--r,0deg))}}
@keyframes rdvUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes rdvSweep{from{background-size:0% 40%}to{background-size:100% 40%}}
@media (max-width:999px){
  html[data-m="d"] .hero:has(.rdv-hv) .rdv-cards,html[data-m="e"] .hero:has(.rdv-hv) .rdv-cards,html[data-m="f"] .hero:has(.rdv-hv) .rdv-cards{justify-items:start!important;justify-content:start!important;text-align:left}
  html[data-m="d"] .hero:has(.rdv-hv) .rdv-cap,html[data-m="e"] .hero:has(.rdv-hv) .rdv-cap,html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap{display:block!important;text-align:left!important;background:none!important;box-shadow:none!important;padding:0!important}
  /* D : petite étiquette, mini carte + une phrase, comme une ligne d'accroche au-dessus du titre */
  html[data-m="d"] .hero:has(.rdv-hv) .rdv-cards{grid-template-columns:auto minmax(0,1fr)!important;align-items:center;gap:12px!important;padding:0 0 4px!important}
  html[data-m="d"] .hero:has(.rdv-hv) .rf{--r:-6deg;width:44px!important}
  html[data-m="d"] .hero:has(.rdv-hv) .rf img{border-radius:4px;box-shadow:0 5px 12px rgba(10,28,56,.25)}
  html[data-m="d"] .hero:has(.rdv-hv) .rdv-cap{font-size:14px!important;line-height:1.35;color:var(--text-2)}
  html[data-m="d"] .hero:has(.rdv-hv) .rdv-cap b{display:inline!important;font-size:14px!important;font-family:var(--f-text);font-weight:700;color:var(--navy);background:none!important}
  /* E : la carte arrive en biais à droite et chevauche le haut du titre, l'accroche à gauche */
  html[data-m="e"] .hero:has(.rdv-hv) .rdv-cards{grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:14px!important;padding:0!important;margin-bottom:-34px}
  html[data-m="e"] .hero:has(.rdv-hv) .rf{--r:7deg;order:2;width:96px!important;transform:rotate(7deg)}
  html[data-m="e"] .hero:has(.rdv-hv) .rdv-cap{font-size:15px!important;color:var(--text-2);padding-bottom:34px!important}
  html[data-m="e"] .hero:has(.rdv-hv) .rdv-cap b{display:block!important;margin-top:2px;font-size:19px!important;line-height:1.25;color:var(--navy);background:none!important}
  html[data-m="e"] .hero:has(.rdv-hv) .hero-copy{position:relative;z-index:3}
  /* F : mini carte + deux lignes, le surlignage jaune se dessine de gauche à droite */
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cards{grid-template-columns:auto minmax(0,1fr)!important;align-items:center;gap:16px!important;padding:0 0 6px!important}
  html[data-m="f"] .hero:has(.rdv-hv) .rf{--r:-5deg;width:64px!important;transform:rotate(-5deg)}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap{font-size:14.5px!important;color:var(--text-2)}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap b{display:inline!important;font-size:18px!important;line-height:1.35;color:var(--navy);
    background-image:linear-gradient(var(--yellow),var(--yellow))!important;background-repeat:no-repeat!important;background-position:0 88%!important;background-size:100% 40%!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap b::before{content:"";display:block;height:3px}
  /* arrivée : la carte d'abord, l'accroche ensuite, puis le titre et le reste en cascade */
  html.js-motion[data-m="d"] .hero:has(.rdv-hv) .rf,html.js-motion[data-m="e"] .hero:has(.rdv-hv) .rf,html.js-motion[data-m="f"] .hero:has(.rdv-hv) .rf{animation:rdvCard .9s cubic-bezier(.2,.8,.2,1) .05s both}
  html.js-motion[data-m="d"] .hero:has(.rdv-hv) .rdv-cap,html.js-motion[data-m="e"] .hero:has(.rdv-hv) .rdv-cap,html.js-motion[data-m="f"] .hero:has(.rdv-hv) .rdv-cap{animation:rdvUp .7s var(--ease) .25s both}
  html.js-motion[data-m="f"] .hero:has(.rdv-hv) .rdv-cap b{animation:rdvSweep .8s var(--ease) .75s both}
  html.js-motion .hero:has(.rdv-hv) .hero-copy > :nth-child(1){animation-delay:.4s}
  html.js-motion .hero:has(.rdv-hv) .hero-copy > :nth-child(2){animation-delay:.5s}
  html.js-motion .hero:has(.rdv-hv) .hero-copy > :nth-child(3){animation-delay:.6s}
  html.js-motion .hero:has(.rdv-hv) .hero-copy > :nth-child(4){animation-delay:.7s}
  html.js-motion .hero:has(.rdv-hv) .hero-copy > :nth-child(5){animation-delay:.8s}
}
@media (max-width:999px) and (max-height:760px){
  html[data-m="e"] .hero:has(.rdv-hv) .rf{width:78px!important}
  html[data-m="e"] .hero:has(.rdv-hv) .rdv-cap b,html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap b{font-size:16.5px!important}
  html[data-m="f"] .hero:has(.rdv-hv) .rf{width:54px!important}
}
/* rdv-m2b-1610 : D espace avant la 2e phrase ; E sur petit téléphone, la carte ne chevauche plus le titre */
@media (max-width:999px){html[data-m="d"] .hero:has(.rdv-hv) .rdv-cap b{margin-left:.28em}}
@media (max-width:360px){
  html[data-m="e"] .hero:has(.rdv-hv) .rdv-cards{margin-bottom:6px}
  html[data-m="e"] .hero:has(.rdv-hv) .rdv-cap{padding-bottom:0!important}
  html[data-m="e"] .hero:has(.rdv-hv) .rf{width:62px!important}
}

/* rdv-m3-1610 : F2 / G / H, carte grande et nette, aligné à gauche */
@keyframes rdvIn2{from{opacity:0;transform:translateY(22px) rotate(var(--r,0deg))}to{opacity:1;transform:rotate(var(--r,0deg))}}
@keyframes rdvFanA{from{opacity:0;transform:translateY(16px) rotate(0deg)}to{opacity:1;transform:translateX(-10%) rotate(-8deg)}}
@keyframes rdvFanB{from{opacity:0;transform:translateY(16px) rotate(0deg)}to{opacity:1;transform:translateX(16%) translateY(4%) rotate(7deg)}}
@keyframes rdvOnce{from{transform:rotateY(180deg)}to{transform:rotateY(0deg)}}
@keyframes rdvFloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-5px) rotate(var(--r,0deg))}}
@media (max-width:999px){
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cards,html[data-m="g"] .hero:has(.rdv-hv) .rdv-cards,html .hero:has(.rdv-hv) .rdv-cards{
    grid-template-columns:auto minmax(0,1fr)!important;justify-items:start!important;justify-content:start!important;align-items:center;gap:22px!important;padding:4px 0 14px!important;
    border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important}
  html[data-m="f"] .hero:has(.rdv-hv) .rf,html[data-m="g"] .hero:has(.rdv-hv) .rf,html .hero:has(.rdv-hv) .rf{width:118px!important}
  html .hero:has(.rdv-hv) .rf img{border-radius:7px!important;box-shadow:0 12px 26px rgba(10,28,56,.22)!important}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap,html[data-m="g"] .hero:has(.rdv-hv) .rdv-cap,html .hero:has(.rdv-hv) .rdv-cap{display:block!important;text-align:left!important;padding:0!important;background:none!important;box-shadow:none!important;font-size:15px!important;line-height:1.35;color:var(--text-2)}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap b,html[data-m="g"] .hero:has(.rdv-hv) .rdv-cap b,html .hero:has(.rdv-hv) .rdv-cap b{display:inline!important;margin:0!important;font:800 20px/1.32 var(--f-title)!important;font-stretch:104%;color:var(--navy);
    background-image:linear-gradient(var(--yellow),var(--yellow))!important;background-repeat:no-repeat!important;background-position:0 88%!important;background-size:100% 40%!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap b::before,html[data-m="g"] .hero:has(.rdv-hv) .rdv-cap b::before,html .hero:has(.rdv-hv) .rdv-cap b::before{content:"";display:block;height:5px}
  /* F2 : la carte se retourne en continu, légèrement inclinée */
  html[data-m="f"] .hero:has(.rdv-hv) .rf{--r:-4deg;transform:rotate(-4deg)}
  /* G : recto et verso en éventail, pas de retournement */
  html[data-m="g"] .hero:has(.rdv-hv) .rf{width:104px!important;margin-right:14px}
  html[data-m="g"] .hero:has(.rdv-hv) .rf-in{animation:none!important;transform:none!important}
  html[data-m="g"] .hero:has(.rdv-hv) .rf img{backface-visibility:visible!important;-webkit-backface-visibility:visible!important}
  html[data-m="g"] .hero:has(.rdv-hv) .rf-a{z-index:2;transform:translateX(-10%) rotate(-8deg)}
  html[data-m="g"] .hero:has(.rdv-hv) .rf-b{z-index:1;transform:translateX(16%) translateY(4%) rotate(7deg)}
  /* H : la carte se retourne une fois à l'arrivée, puis flotte doucement */
  html .hero:has(.rdv-hv) .rf{--r:-3deg;transform:rotate(-3deg)}
  html .hero:has(.rdv-hv) .rf-in{animation:none!important;transform:none}
  /* arrivée */
  html.js-motion[data-m="f"] .hero:has(.rdv-hv) .rf,html.js-motion .hero:has(.rdv-hv) .rf{animation:rdvIn2 .8s cubic-bezier(.2,.8,.2,1) .05s both}
  html.js-motion .hero:has(.rdv-hv) .rf{animation:rdvIn2 .8s cubic-bezier(.2,.8,.2,1) .05s both,rdvFloat 4.5s ease-in-out 2.4s infinite}
  html.js-motion .hero:has(.rdv-hv) .rf-in{animation:rdvOnce 1.3s cubic-bezier(.65,0,.35,1) .7s both!important}
  html.js-motion[data-m="g"] .hero:has(.rdv-hv) .rf{animation:none}
  html.js-motion[data-m="g"] .hero:has(.rdv-hv) .rf-a{animation:rdvFanA .9s cubic-bezier(.2,.8,.2,1) .15s both}
  html.js-motion[data-m="g"] .hero:has(.rdv-hv) .rf-b{animation:rdvFanB .9s cubic-bezier(.2,.8,.2,1) .05s both}
  html.js-motion[data-m="f"] .hero:has(.rdv-hv) .rdv-cap,html.js-motion[data-m="g"] .hero:has(.rdv-hv) .rdv-cap,html.js-motion .hero:has(.rdv-hv) .rdv-cap{animation:rdvUp .7s var(--ease) .3s both}
  html.js-motion[data-m="f"] .hero:has(.rdv-hv) .rdv-cap b,html.js-motion[data-m="g"] .hero:has(.rdv-hv) .rdv-cap b,html.js-motion .hero:has(.rdv-hv) .rdv-cap b{animation:rdvSweep .8s var(--ease) .8s both}
}
@media (max-width:999px) and (max-height:760px){
  html[data-m="f"] .hero:has(.rdv-hv) .rf,html .hero:has(.rdv-hv) .rf{width:96px!important}
  html[data-m="g"] .hero:has(.rdv-hv) .rf{width:86px!important}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap b,html[data-m="g"] .hero:has(.rdv-hv) .rdv-cap b,html .hero:has(.rdv-hv) .rdv-cap b{font-size:18px!important}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cards,html[data-m="g"] .hero:has(.rdv-hv) .rdv-cards,html .hero:has(.rdv-hv) .rdv-cards{gap:18px!important;padding-bottom:8px!important}
}
@media (max-width:999px) and (max-height:600px){
  html[data-m="f"] .hero:has(.rdv-hv) .rf,html .hero:has(.rdv-hv) .rf{width:76px!important}
  html[data-m="g"] .hero:has(.rdv-hv) .rf{width:70px!important}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap,html[data-m="g"] .hero:has(.rdv-hv) .rdv-cap,html .hero:has(.rdv-hv) .rdv-cap{font-size:13.5px!important}
  html[data-m="f"] .hero:has(.rdv-hv) .rdv-cap b,html[data-m="g"] .hero:has(.rdv-hv) .rdv-cap b,html .hero:has(.rdv-hv) .rdv-cap b{font-size:16px!important}
}

/* rdv-audit-1610 : bande des logos comme sur l'accueil ; fonds alternés : avant/après blanc, avis gris, questions blanc, formulaire gris */
@media (max-width:999px){
  .hero:has(.rdv-hv) + .clients{padding:30px 0 34px!important}
  .hero:has(.rdv-hv) + .clients .clients-in{gap:22px!important}
  .hero:has(.rdv-hv) + .clients .clients-t{font-size:14px!important}
}
.hero:has(.rdv-hv) ~ .proof{background:var(--surface)}
.hero:has(.rdv-hv) ~ .faq{background:#fff}
.hero:has(.rdv-hv) ~ .rdv-form{background:var(--surface)!important}

/* final-ux-1610 : le texte caché des cartes reste dans la carte (sinon la page déborde sur mobile) ; points du bas de page alignés ;
   pas de mot seul en fin de titre ; carte de /rdv sans déformation */
.real-card,.real-a{position:relative}
.foot-legal{align-items:center}
.h2,.form-t,.final h2{text-wrap:pretty}
.rf img{object-fit:cover}

/* cross-links-1610 : phrases de liens entre les pages (maillage interne) */
.cross-links{margin-top:44px;max-width:62ch;font-size:17px;line-height:1.55;color:var(--text-2)}
.cross-links a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:var(--lv,var(--yellow));text-decoration-thickness:2px;text-underline-offset:4px}
.cross-links a:hover{text-decoration-color:var(--navy)}
.talk .cross-links,.on-dark .cross-links{color:#c3d0e4}
