/* ============================================================
   conciergerie.css — page Conciergerie locative, dans le système « Corsiva nuit » (ds.css).
   Chargée après styles.css et ds.css, <body class="dk cgpage">.
   Tout sur le canevas #090909, sans rupture de fond entre les sections ; accents en dégradés Prime.
   Seul îlot clair : le formulaire de contact (lisibilité de la saisie).
   Règle de la maison : aucune petite pastille arrondie en sur-titre au-dessus d'un titre.
   ============================================================ */

.cgpage main{display:block}
/* styles.css met html et body en overflow-x:hidden, ce qui fait de body un conteneur de défilement et casse position:sticky.
   clip rogne de la même façon sans créer de conteneur (repli sur hidden si le navigateur ne le connaît pas). */
html:has(body.cgpage),body.cgpage{overflow-x:clip}
.cgpage .sec-head .lead{max-width:52ch}
.cgpage .h-sec.rv{filter:blur(8px);transition:opacity .8s var(--ease-out),transform .9s var(--ease-out),filter .8s var(--ease-out)}
.cgpage .h-sec.rv.in{filter:none}
.cg-ctas{display:flex;flex-wrap:wrap;gap:12px}
/* Halos de ds.css (.glow) : fondus en haut et en bas, sinon leur bord supérieur dessine une ligne (« cut ») */
.cgpage .glow::before{-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}

/* ---------- Hero ---------- */
.cg-hero{position:relative;isolation:isolate;padding:132px 0 0;overflow:hidden}
.cg-hero-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%);
  background:radial-gradient(780px 540px at 80% 18%,rgba(0,153,255,.2),transparent 62%),
             radial-gradient(620px 440px at 2% 92%,rgba(0,69,255,.14),transparent 60%)}
.cg-hero-glow::after{content:"";position:absolute;inset:0;background:url(/assets/img/conciergerie-antoine-poster.webp) 75% 30%/cover no-repeat;
  filter:blur(80px) saturate(1.2);opacity:.16;transform:scale(1.2)}
.cg-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.cg-hero-copy{min-width:0}
.cg-lockup{display:block;height:30px;width:auto;margin-bottom:30px}
.cg-hero h1{color:#fff;font-size:clamp(40px,5vw,66px);letter-spacing:-.045em;line-height:1.02;text-wrap:balance;margin-bottom:20px}
.cg-hero .lead{color:rgba(255,255,255,.72);max-width:46ch;margin-bottom:28px}
.cg-hero .lead b{color:#fff;font-weight:600}
.cg-trust{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:26px;font-size:14px;color:rgba(255,255,255,.66)}
.cg-trust img{width:16px;height:16px}
.cg-trust .stars{color:#f5b43c;letter-spacing:1px;font-size:13px}
.cg-trust b{color:#fff;font-weight:600}
.cg-trust .sep{color:rgba(255,255,255,.28);margin:0 2px}

/* Reel d'Antoine (vidéo à la demande, fx.js) */
.cg-hero-reel{justify-self:center;width:100%;display:flex;justify-content:center}
.cg-reel{position:relative;width:min(100%,380px,calc(min(640px,74vh) * .5625));aspect-ratio:9/16;border-radius:30px;overflow:hidden;
  background:#111 url(/assets/img/conciergerie-antoine-poster.webp) center/cover;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 50px 100px -30px rgba(0,0,0,.85),0 0 0 8px rgba(255,255,255,.03),0 0 140px -30px rgba(0,120,255,.5)}
.cg-reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cg-reel::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.62))}
.cg-reel .exp-sound{z-index:3}
.cg-reel-cap{position:absolute;left:18px;right:70px;bottom:16px;z-index:2;margin:0;font-size:13.5px;line-height:1.35;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.cg-reel-cap b{font-weight:600}
.cg-reel-cap span{display:block;color:rgba(255,255,255,.72);font-size:12.5px}

/* Chiffres, dans le prolongement du hero */
.cg-stats{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:72px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.cg-stats li{padding:28px 14px;text-align:center;display:flex;flex-direction:column;gap:6px}
.cg-stats li+li{border-left:1px solid var(--hair)}
.cg-stats b{font-family:var(--display);font-weight:600;font-size:clamp(34px,4vw,50px);letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums;
  background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.cg-stats b small{font-size:.5em;letter-spacing:-.02em}
.cg-stats li>span{font-size:14px;color:var(--muted);line-height:1.4}

/* Entrée en scène : après l'intro de marque (loader.js), sinon fondu court */
.js-intro .cg-hero [data-intro]{opacity:0;transform:translateY(26px);filter:blur(8px)}
.js-intro.is-ready .cg-hero [data-intro]{opacity:1;transform:none;filter:none;transition:opacity .9s var(--ease-out),transform 1s var(--ease-out),filter .9s var(--ease-out)}
.js-intro.is-ready .cg-hero [data-intro="2"]{transition-delay:.08s}
.js-intro.is-ready .cg-hero [data-intro="3"]{transition-delay:.16s}
.js-intro.is-ready .cg-hero [data-intro="4"]{transition-delay:.24s}
.js-intro.is-ready .cg-hero [data-intro="5"]{transition-delay:.32s}
html:not(.js-intro) .cg-hero [data-intro]{animation:cg-in .8s var(--ease-out) both}
html:not(.js-intro) .cg-hero [data-intro="2"]{animation-delay:.06s}
html:not(.js-intro) .cg-hero [data-intro="3"]{animation-delay:.12s}
html:not(.js-intro) .cg-hero [data-intro="4"]{animation-delay:.18s}
html:not(.js-intro) .cg-hero [data-intro="5"]{animation-delay:.24s}
@keyframes cg-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- Simulateur ---------- */
.sim{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;align-items:stretch;max-width:1080px;margin:0 auto}
.sim-panel{position:relative;z-index:2;display:flex;flex-direction:column;gap:28px;padding:30px;border-radius:26px;
  background:linear-gradient(180deg,#131417,#0e0f11);border:1px solid var(--hair)}
.sim-lbl{display:flex;align-items:baseline;gap:10px;font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.015em;color:#fff;margin-bottom:12px}
.sim-lbl i{font-style:normal;font-size:13px;font-weight:600;background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.sim-lbl i::after{content:"."}
.sim-combo{position:relative}
.sim-ic{position:absolute;left:16px;top:27px;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.9;stroke-linecap:round;pointer-events:none;z-index:1}
.sim-combo input{width:100%;height:54px;padding:0 50px 0 46px;border-radius:15px;border:1px solid rgba(255,255,255,.14);background:#0a0b0d;color:#fff;
  font-family:var(--body);font-size:16px;font-weight:500;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.sim-combo input::placeholder{color:var(--muted-2);font-weight:400}
.sim-combo input:focus{outline:none;border-color:rgba(51,173,255,.7);box-shadow:0 0 0 4px rgba(0,153,255,.16)}
.sim-clear{position:absolute;right:10px;top:27px;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.08);display:grid;place-items:center;cursor:pointer;color:#fff}
.sim-clear:hover{background:rgba(255,255,255,.16)}
.sim-clear svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.sim-list{position:absolute;left:0;right:0;top:62px;z-index:30;list-style:none;margin:0;padding:6px;max-height:min(340px,52vh);overflow-y:auto;overscroll-behavior:contain;
  border-radius:16px;background:#15161a;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px -20px rgba(0,0,0,.9);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.sim-list[hidden]{display:none}
.sim-list-h{padding:8px 12px 6px;font-size:12px;color:var(--muted-2)}
.sim-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:11px;cursor:pointer;color:#fff}
.sim-opt:hover,.sim-opt.act{background:rgba(255,255,255,.06)}
.sim-opt[aria-selected="true"]{background:rgba(0,153,255,.16)}
.sim-opt .o-n{min-width:0;display:flex;flex-direction:column}
.sim-opt .o-n small{font-size:11.5px;color:var(--muted);line-height:1.3}
.sim-opt .o-n b{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.02em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sim-opt mark{background:none;color:#7cc4ff}
.sim-opt .o-v{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.sim-opt .o-v small{font-weight:500;font-size:11px;color:var(--muted);margin-left:3px}
.sim-list .sim-none{padding:12px;font-size:14px;color:var(--muted);line-height:1.5}
.sim-help{margin-top:10px;font-size:13px;color:var(--muted-2)}
.sim-picks{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.sim-picks-lbl{width:100%;font-size:12.5px;color:var(--muted-2)}
.sim-pick{border:1px solid rgba(255,255,255,.14);background:transparent;color:rgba(255,255,255,.85);border-radius:100px;padding:8px 14px;
  font-family:var(--display);font-weight:500;font-size:13.5px;letter-spacing:-.01em;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.sim-pick:hover{border-color:rgba(255,255,255,.35);color:#fff}
.sim-pick.on{background:#fff;color:#0a0a0a;border-color:#fff}
.sim-lbl-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.sim-lbl-row .sim-lbl{margin:0}
.sim-out{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.01em;color:#7cc4ff}
.sim-range{--p:50%;-webkit-appearance:none;appearance:none;display:block;width:100%;height:30px;margin:0;background:transparent;cursor:pointer}
.sim-range::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,#0045ff,#0099ff) 0 0/var(--p) 100% no-repeat,rgba(255,255,255,.12)}
.sim-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;border:0;background:#fff;
  box-shadow:0 0 0 6px rgba(0,153,255,.24),0 6px 16px rgba(0,0,0,.5);transition:box-shadow .2s,transform .2s}
.sim-range::-moz-range-track{height:6px;border-radius:6px;background:rgba(255,255,255,.12)}
.sim-range::-moz-range-progress{height:6px;border-radius:6px;background:linear-gradient(90deg,#0045ff,#0099ff)}
.sim-range::-moz-range-thumb{width:26px;height:26px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(0,153,255,.24),0 6px 16px rgba(0,0,0,.5)}
.sim-range:focus{outline:none}
.sim-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 9px rgba(0,153,255,.45),0 6px 16px rgba(0,0,0,.5)}
.sim-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 9px rgba(0,153,255,.45),0 6px 16px rgba(0,0,0,.5)}
.sim-range:active::-webkit-slider-thumb{transform:scale(1.08)}
.sim-ticks{display:grid;grid-template-columns:repeat(3,1fr);margin-top:8px;font-size:12.5px;color:var(--muted-2)}
.sim-ticks span{transition:color .2s;white-space:nowrap}
.sim-ticks span:nth-child(2){text-align:center}
.sim-ticks span:nth-child(3){text-align:right}
.sim-ticks span.on{color:#fff}
.sim-hyp{margin-top:auto;padding-top:18px;border-top:1px solid var(--hair);font-size:12.5px;line-height:1.55;color:var(--muted-2)}

/* Résultat : carte « spot » Prime */
.sim-result{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:30px;border-radius:26px;color:#fff;
  background:linear-gradient(180deg,rgba(3,12,36,0) 30%,rgba(3,12,36,.62) 100%),var(--g-spot);border:1px solid rgba(124,196,255,.3);
  box-shadow:0 40px 90px -40px rgba(0,90,255,.7)}
.sim-result::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(420px 260px at 100% 0%,rgba(255,255,255,.16),transparent 60%)}
.sr-head{display:flex;flex-direction:column;gap:3px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.2)}
.sr-model{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.025em;line-height:1.2}
.sr-kind{font-size:13px;color:rgba(255,255,255,.75)}
.sr-lbl{margin-top:20px;font-size:14.5px;color:rgba(255,255,255,.82)}
.sr-main{font-family:var(--display);font-weight:600;font-size:clamp(48px,6vw,74px);letter-spacing:-.055em;line-height:1;margin:8px 0 10px;font-variant-numeric:tabular-nums}
.sr-main span{display:inline-block;transform-origin:left bottom}
.sr-main span.bump{animation:sr-bump .5s var(--ease-out)}
@keyframes sr-bump{30%{transform:scale(1.035)}}
.sr-sub{font-size:15px;color:rgba(255,255,255,.84)}
.sr-sub b{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.sr-split{margin-top:22px}
.sr-bar{display:flex;gap:4px;height:10px}
.sr-bar i{display:block;border-radius:10px;transform-origin:left center}
.sr-bar-o{flex:0 0 calc(70% - 2px);background:#fff}
.sr-bar-c{flex:1;background:rgba(255,255,255,.34)}
.sim-result.in .sr-bar-o{animation:sr-grow 1.1s var(--ease-out) .2s both}
.sim-result.in .sr-bar-c{animation:sr-grow 1.1s var(--ease-out) .45s both}
@keyframes sr-grow{from{transform:scaleX(0)}}
.sr-lines{margin:14px 0 0;display:flex;flex-direction:column;gap:9px}
.sr-lines div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14.5px;color:rgba(255,255,255,.84)}
.sr-lines dt{display:flex;align-items:center}
.sr-lines dd{margin:0;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.sr-lines .tot{padding-top:9px;border-top:1px solid rgba(255,255,255,.2)}
.sr-lines .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:9px}
.sr-lines .dot.o{background:#fff}
.sr-lines .dot.c{background:rgba(255,255,255,.4)}
.sim-covers{padding:18px 18px 16px;border-radius:18px;background:rgba(0,153,255,.06);border:1px solid rgba(0,153,255,.18)}
.sim-covers p{font-size:13px;color:var(--muted);margin-bottom:12px}
.sim-covers ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 16px}
.sim-covers li{display:flex;gap:9px;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.sim-covers li::before{content:"";flex:0 0 16px;height:16px;margin-top:1px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237cc4ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E") center/contain no-repeat}
.sim-result .sr-split{margin-bottom:26px}
.sr-compare{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}
.sr-compare p{font-size:13px;color:rgba(255,255,255,.72);margin-bottom:4px}
.sr-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:12px;width:100%;padding:7px 10px;margin:0 -10px;width:calc(100% + 20px);
  border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.78);font-family:var(--body);font-size:13.5px;text-align:left;cursor:pointer;transition:background-color .2s,color .2s}
.sr-row:hover{background:rgba(255,255,255,.07)}
.sr-row.on{color:#fff;background:rgba(255,255,255,.1)}
.sr-row-b{position:relative;height:6px;border-radius:6px;background:rgba(255,255,255,.14);overflow:hidden}
.sr-row-b i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:6px;background:rgba(255,255,255,.5);transition:width .7s var(--ease-out)}
.sr-row.on .sr-row-b i{background:#fff}
.sr-row b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:72px;text-align:right}
.sim-result .btn-w{margin-top:auto}
.sr-legal{margin-top:10px;font-size:12px;color:rgba(255,255,255,.66);text-align:center}
.sim-legal{max-width:880px;margin:22px auto 0;text-align:center;font-size:12.5px;line-height:1.6;color:var(--muted-2)}

/* ---------- Comment ça marche ---------- */
.cg-steps{position:relative;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cg-steps::before{content:"";position:absolute;left:44px;right:44px;top:44px;height:1px;z-index:0;
  background:linear-gradient(90deg,rgba(0,153,255,.7),rgba(0,69,255,.35) 60%,rgba(255,255,255,.06))}
.cg-step{position:relative;z-index:1;padding:22px 22px 24px;border-radius:22px;background:var(--s1);border:1px solid var(--hair);transition:border-color .3s}
.cg-step:hover{border-color:rgba(255,255,255,.18)}
.cg-step-n{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;margin-bottom:18px;background:var(--g-spot);color:#fff;
  font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:-.01em;box-shadow:0 10px 30px -10px rgba(0,110,255,.75)}
.cg-step h3{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.15;letter-spacing:-.025em;margin-bottom:8px}
.cg-step p{font-size:14.5px;line-height:1.55;color:var(--muted)}

/* ---------- Ce que Corsiva prend en charge ---------- */
.cg-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cg-bento-photo{position:relative;grid-column:span 2;grid-row:span 2;margin:0;min-height:360px;border-radius:24px;overflow:hidden;border:1px solid var(--hair);background:#111}
.cg-bento-photo img{position:absolute;left:0;top:-6%;width:100%;height:112%;object-fit:cover;will-change:transform}
.cg-bento-photo::after,.cg-store-photos figure.big::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.6))}
.cg-bento-photo figcaption,.cg-store-photos figcaption{position:absolute;left:18px;bottom:16px;z-index:1;font-size:13.5px;font-weight:500;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.cg-tile{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:20px;background:var(--s1);border:1px solid var(--hair);transition:border-color .3s}
.cg-tile:hover{border-color:rgba(255,255,255,.18)}
.cg-ic{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:rgba(0,153,255,.12);border:1px solid rgba(0,153,255,.26);margin-bottom:6px}
.cg-ic svg{width:20px;height:20px;fill:none;stroke:#7cc4ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cg-tile h3{font-family:var(--display);font-weight:600;font-size:16.5px;line-height:1.2;letter-spacing:-.02em}
.cg-tile p{font-size:13.5px;line-height:1.5;color:var(--muted)}
.cg-ins{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.cg-ins img{height:28px;width:auto;padding:5px 8px;border-radius:8px;background:#fff}

/* ---------- Avec ou sans chauffeur ---------- */
.cg-modes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cg-mode{position:relative;isolation:isolate;display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:var(--s1);border:1px solid var(--hair);
  transition:transform .5s var(--ease-out),border-color .3s}
.cg-mode-media{aspect-ratio:16/9;overflow:hidden;background:#111}
.cg-mode-media picture{display:block;width:100%;height:100%}
.cg-mode-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.cg-mode-body{flex:1;display:flex;flex-direction:column;gap:10px;padding:24px 26px 26px}
.cg-mode h3{font-family:var(--display);font-weight:600;font-size:clamp(22px,2.4vw,28px);line-height:1.1;letter-spacing:-.03em}
.cg-mode p{font-size:15px;line-height:1.55;color:var(--muted)}
.cg-link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;font-family:var(--display);font-weight:500;font-size:14.5px;color:#7cc4ff}
.cg-link:hover{color:#fff}
@media(hover:hover){
  .cg-mode:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.18)}
  
  .cg-mode:hover .cg-mode-media img{transform:scale(1.05)}
}
.cg-checks{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:4px}
.cg-checks li{display:flex;gap:10px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.cg-checks li::before{content:"";flex:0 0 20px;height:20px;border-radius:50%;
  background:rgba(0,153,255,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237cc4ff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E") center/12px no-repeat}

/* ---------- Stockage ---------- */
.cg-store-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;align-items:stretch}
.cg-store-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.45fr 1fr;gap:12px;min-height:480px}
.cg-store-photos figure{position:relative;margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--hair);background:#111}
.cg-store-photos figure.big{grid-column:1/-1}
.cg-store-photos picture{display:block;position:absolute;inset:0}
.cg-store-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cg-store-opts{display:flex;flex-direction:column;gap:12px}
.cg-opt{display:flex;gap:16px;padding:22px;border-radius:22px;background:var(--s1);border:1px solid var(--hair)}
.cg-opt .cg-ic{margin:0}
.cg-opt h3{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.15;letter-spacing:-.025em;margin-bottom:6px}
.cg-opt p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.cg-guar{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.cg-guar li{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:16px;border:1px solid var(--hair);background:rgba(255,255,255,.02)}
.cg-guar b{font-family:var(--display);font-weight:600;font-size:14.5px;letter-spacing:-.015em;color:#fff}
.cg-guar span{font-size:12.5px;line-height:1.45;color:var(--muted)}

/* ---------- L'équipe ---------- */
.cg-team-copy .h-sec,.cg-ev-copy .h-sec{margin-bottom:16px}
.cg-team-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center}
.cg-team-pts{list-style:none;display:flex;flex-direction:column;gap:16px;margin:28px 0 30px}
.cg-team-pts li{position:relative;display:flex;flex-direction:column;gap:3px;padding-left:20px}
.cg-team-pts li::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:2px;border-radius:2px;background:linear-gradient(180deg,#0099ff,#0045ff)}
.cg-team-pts b{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.02em}
.cg-team-pts span{font-size:14.5px;line-height:1.5;color:var(--muted)}
.cg-team-tel svg{width:16px;height:16px;fill:currentColor}
.cg-team-wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.cg-team-wall figure{position:relative;margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--hair);background:#111;grid-column:span 2;aspect-ratio:3/4}
.cg-team-wall figure.t4{grid-column:span 4;aspect-ratio:auto}
.cg-team-wall img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
@media(hover:hover){.cg-team-wall figure:hover img{transform:scale(1.05)}}

/* ---------- Événements et visibilité ---------- */
.cg-ev-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.cg-ev-copy{order:2}
.cg-ev-stat{display:flex;align-items:center;gap:16px;margin:28px 0 24px;padding:18px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.cg-ev-stat b{font-family:var(--display);font-weight:600;font-size:clamp(40px,4.4vw,56px);line-height:1;letter-spacing:-.05em;white-space:nowrap;
  background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.cg-ev-stat span{font-size:14.5px;line-height:1.45;color:var(--muted);max-width:26ch}
.cg-ev-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:540px}
.cg-ev-mosaic figure{position:relative;margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--hair);background:#111}
.cg-ev-mosaic figure.tall{grid-row:1/3}
.cg-ev-mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
@media(hover:hover){.cg-ev-mosaic figure:hover img{transform:scale(1.05)}}

/* ---------- FAQ ---------- */
.cg-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.cg-faq-grid .sec-head{position:sticky;top:110px;margin-bottom:0}
.cg-faq .lead a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}
.cgpage .qa{border-radius:16px;transition:border-color .3s}
.cgpage .qa[open]{border-color:rgba(255,255,255,.18)}
.cgpage .qa summary{color:#fff}
.cgpage .qa summary::after{color:#7cc4ff}

/* ---------- Contact : carte d'appel + formulaire (îlot clair) ---------- */
.cg-contact-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
.cg-contact-card::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(520px 300px at 90% 110%,rgba(0,40,120,.5),transparent 60%)}
.cg-contact-copy{padding-top:6px}
.cg-lines{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.cg-line{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);transition:background-color .2s,transform .2s}
.cg-line:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.cg-line b{display:block;font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.02em}
.cg-line small{font-size:13px;color:rgba(255,255,255,.76)}
.cg-line-ic{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.14)}
.cg-line-ic svg{width:19px;height:19px;fill:#fff}
.cg-line-ic svg.st{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cg-line-ic img{width:22px;height:22px}
.cg-form{color-scheme:only light;--canvas:#fff;--s1:#f6f7f9;--s2:#eef1f5;--s3:#e7ebf1;--hair:#e4e8ee;--hair-soft:#edf0f4;--ink:#0e1217;--ink-2:#2b3340;--muted:#5b6573;--muted-2:#8a93a1;
  --accent:#0099ff;--accent-d:#0a7ad6;--accent-soft:#e6f4ff;
  display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:24px;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 40px 80px -30px rgba(0,16,50,.65)}
.cg-form .field.full{grid-column:1/-1}
.cg-form textarea{font-family:var(--body);font-size:15px;color:var(--ink);background:var(--s1);border:1px solid var(--hair);border-radius:11px;padding:12px 13px;width:100%;min-height:92px;resize:vertical}
.cg-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,153,255,.14);background:#fff}
.cg-form .btn{grid-column:1/-1;margin-top:4px}
.cg-form .cg-form-note{grid-column:1/-1;max-width:none;font-size:12px;line-height:1.5;color:var(--muted-2)}
.cg-form-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cg-form .cg-form-ok{color:#0a7a3a;font-weight:500}

/* ---------- Tablette ---------- */
@media(max-width:1060px){
  .cg-hero-grid{gap:36px}
  .cg-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cg-steps::before{display:none}
  .cg-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cg-bento-photo{grid-row:auto;min-height:0;aspect-ratio:16/9}
}
@media(max-width:980px){
  .cg-hero-grid,.cg-store-grid,.cg-team-grid,.cg-ev-grid,.cg-faq-grid,.cg-invest,.cg-contact-card{grid-template-columns:minmax(0,1fr)}
  .sim{grid-template-columns:minmax(0,1fr);max-width:640px}
  .cg-faq-grid .sec-head{position:static}
  .cg-ev-copy{order:0}
  .cg-faq-grid,.cg-team-grid,.cg-ev-grid{gap:30px}
  .cg-ev-mosaic{height:auto;aspect-ratio:1/1}
  .cg-store-photos{min-height:0;aspect-ratio:4/3.4}
  .cg-invest-img{aspect-ratio:16/9}
}

/* ---------- Mobile : épuré, moins de texte ---------- */
@media(max-width:760px){
  .cg-hero{padding:108px 0 0}
  .cg-hero-copy{text-align:center}
  .cg-lockup{height:24px;margin:0 auto 24px}
  .cg-hero h1{font-size:clamp(34px,9.6vw,46px)}
  .cg-hero .lead{margin-inline:auto;font-size:16px}
  .cg-ctas{justify-content:center}
  .cg-hero .cg-ctas .btn{flex:1 1 100%}
  .cg-trust{justify-content:center;margin-top:20px}
  .cg-reel{width:min(76vw,300px)}
  .cg-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}
  .cg-stats li{padding:22px 10px}
  .cg-stats li:nth-child(3){border-left:0}
  .cg-stats li:nth-child(n+3){border-top:1px solid var(--hair)}
  .cg-stats li>span{font-size:13px}
  .sim-panel,.sim-result{padding:22px;border-radius:22px}
  .sim-panel{gap:24px}
  .sim-help,.sim-hyp{display:none}
  .sim-ticks{font-size:11.5px}
  .sim-covers,.sr-compare{display:none}
  .sim-result .btn-w{margin-top:22px}
  .cg-steps{grid-template-columns:minmax(0,1fr);gap:10px}
  .cg-step{display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding:18px}
  .cg-step-n{grid-row:span 2;margin:0}
  .cg-step h3{font-size:17px;margin:2px 0 4px}
  .cg-step p{font-size:14px}
  .cg-bento{gap:10px}
  .cg-tile{flex-direction:row;align-items:center;padding:12px;gap:10px;border-radius:16px}
  .cg-tile .cg-ic{width:34px;height:34px;border-radius:10px;margin:0}
  .cg-tile .cg-ic svg{width:17px;height:17px}
  .cg-tile p{display:none}
  .cg-tile h3{font-size:14px;line-height:1.25}
  .cg-tile-ins{grid-column:1/-1;flex-direction:column;align-items:flex-start;padding:16px;gap:6px}
  .cg-tile-ins p{display:block}
  .cg-bento .cg-tile:last-child{grid-column:1/-1}
  .cg-modes-grid{grid-template-columns:minmax(0,1fr)}
  .cg-mode-body{padding:20px}
  .cg-opt{padding:18px;gap:14px}
  .cg-opt p{font-size:14px}
  .cg-guar li{padding:12px 14px}
  .cg-team-wall{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -24px;padding:0 24px 4px;scrollbar-width:none}
  .cg-team-wall::-webkit-scrollbar{display:none}
  .cg-team-wall figure,.cg-team-wall figure.t4{flex:0 0 62%;aspect-ratio:3/4;scroll-snap-align:center}
  .cg-team-pts{margin:22px 0 24px}
  .cg-ev-stat{margin:22px 0 18px}
  .cg-invest{padding:24px;border-radius:24px;gap:26px}
  .cg-contact-card{padding:26px 20px;gap:26px;border-radius:26px}
  .cg-form{grid-template-columns:1fr;padding:18px;border-radius:20px}
  .cg-form .field.full{grid-column:auto}
}
@media(max-width:420px){
  .cg-team-wall{margin:0 -16px;padding:0 16px 4px}
}

@media(prefers-reduced-motion:reduce){
  .js-intro .cg-hero [data-intro],html:not(.js-intro) .cg-hero [data-intro]{opacity:1;transform:none;filter:none;animation:none;transition:none}
  .cgpage .h-sec.rv{filter:none}
  .sim-result.in .sr-bar-o,.sim-result.in .sr-bar-c,.sr-main span.bump{animation:none}
}

/* ============================================================
   Refonte du 5 octobre 2026 (demande du dirigeant) : investissement, usages avec chauffeur, preuves,
   zone des villes, rendez-vous en personne, mobile allégé.
   ============================================================ */

/* ---------- Investir : trois étapes + calculateur de couverture des frais ---------- */
.inv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.inv-steps{list-style:none;position:relative;display:flex;flex-direction:column;gap:12px}
.inv-steps::before{content:"";position:absolute;left:31px;top:34px;bottom:34px;width:1px;background:linear-gradient(180deg,rgba(0,153,255,.7),rgba(0,69,255,.2))}
.inv-steps li{position:relative;display:flex;gap:18px;align-items:flex-start;padding:22px;border-radius:22px;background:var(--s1);border:1px solid var(--hair);flex:1}
.inv-n{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;margin:4px 0 0;border-radius:50%;background:var(--g-spot);color:#fff;
  font-family:var(--display);font-weight:600;font-size:11.5px;box-shadow:0 0 0 6px #0f1013,0 0 18px rgba(0,120,255,.6);position:relative;z-index:1}
.inv-steps h3{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.15;letter-spacing:-.025em;margin-bottom:6px}
.inv-steps p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.inv-calc{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:28px;border-radius:26px;color:#fff;
  background:radial-gradient(520px 320px at 100% 0%,rgba(0,153,255,.45),transparent 60%),radial-gradient(420px 280px at 0% 100%,rgba(0,69,255,.35),transparent 62%),#0b0f1a;
  border:1px solid rgba(0,153,255,.32);box-shadow:0 40px 90px -40px rgba(0,80,255,.55)}
.ic-t{font-family:var(--display);font-weight:600;font-size:clamp(20px,2vw,24px);line-height:1.15;letter-spacing:-.03em}
.ic-model{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:8px 0 22px;font-size:14px;color:rgba(255,255,255,.7)}
.ic-model span{color:#fff;font-weight:500}
.ic-model a{color:#7cc4ff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(124,196,255,.4)}
.ic-model a:hover{color:#fff}
.ic-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:20px}
.ic-row span{font-size:14.5px;color:rgba(255,255,255,.75)}
.ic-row b{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.ic-row b small{font-size:13px;font-weight:500;color:rgba(255,255,255,.65);letter-spacing:0}
.ic-lbl-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:6px}
.ic-lbl{display:flex;flex-direction:column;gap:2px;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.015em}
.ic-lbl small{font-family:var(--body);font-weight:400;font-size:12.5px;color:rgba(255,255,255,.62);letter-spacing:0}
.ic-out{font-family:var(--display);font-weight:600;font-size:18px;font-variant-numeric:tabular-nums}
.ic-gauge{position:relative;height:12px;margin:18px 0 14px;border-radius:12px;background:rgba(255,255,255,.1);overflow:hidden}
.ic-gauge i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:12px;background:linear-gradient(90deg,#0045ff,#0099ff 70%,#7cc4ff);transition:width .6s var(--ease-out)}
.ic-gauge.full i{background:linear-gradient(90deg,#0099ff,#22c55e)}
.ic-res{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;font-size:14.5px;line-height:1.45;color:rgba(255,255,255,.8)}
.ic-res b{font-family:var(--display);font-weight:600;font-size:clamp(34px,3.6vw,44px);line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:#fff}
.ic-res span{flex:1 1 200px}
.ic-legal{margin-top:auto;padding-top:18px;font-size:12px;line-height:1.5;color:rgba(255,255,255,.55)}
.inv-prime{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin-top:18px;padding:24px 28px;border-radius:24px;
  background:linear-gradient(110deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--hair)}
.inv-prime-copy{display:flex;flex-direction:column;gap:10px;max-width:56ch}
.inv-prime .lk{height:20px;width:auto}
.inv-prime p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.cg-inv2 .cg-legal a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}
.cg-legal{margin-top:18px;font-size:12.5px;line-height:1.5;color:var(--muted-2)}
.faq-more{display:none}

/* ---------- Avec chauffeur : preuve + six usages + deux modes ---------- */
.dr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:18px;align-items:stretch}
.dr-proof{position:relative;margin:0;min-height:420px;border-radius:26px;overflow:hidden;border:1px solid var(--hair);background:#111}
.dr-proof picture{position:absolute;inset:0}
.dr-proof img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.dr-proof::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78))}
.dr-proof figcaption{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;display:flex;flex-direction:column;gap:4px;color:#fff}
.dr-proof figcaption b{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.025em}
.dr-proof figcaption span{font-size:13.5px;color:rgba(255,255,255,.78)}
@media(hover:hover){.dr-proof:hover img{transform:scale(1.04)}}
.dr-uses{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dr-uses li{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:20px;background:var(--s1);border:1px solid var(--hair);transition:border-color .3s}
.dr-uses li:hover{border-color:rgba(255,255,255,.18)}
.dr-uses .cg-ic{margin:0 0 4px}
.dr-uses h3{font-family:var(--display);font-weight:600;font-size:16.5px;line-height:1.2;letter-spacing:-.02em;margin-bottom:4px}
.dr-uses p{font-size:13.5px;line-height:1.5;color:var(--muted)}
.dr-uses p a{color:#7cc4ff;white-space:nowrap}
.dr-uses p a:hover{color:#fff}
.dr-modes{display:grid;grid-template-columns:1fr 1fr auto;gap:12px 28px;align-items:center;margin-top:18px;padding:22px 26px;border-radius:24px;border:1px solid var(--hair);background:rgba(255,255,255,.02)}
.dr-mode h3{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.02em;margin-bottom:4px}
.dr-mode p{font-size:13.5px;line-height:1.5;color:var(--muted)}

/* ---------- Preuves ---------- */
.pv-stats{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.pv-stats li{display:flex;flex-direction:column;gap:8px;padding:24px 20px;border-radius:22px;background:var(--s1);border:1px solid var(--hair)}
.pv-stats b{font-family:var(--display);font-weight:600;font-size:clamp(34px,3.8vw,48px);line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;
  background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.pv-stats b small{font-size:.5em}
.pv-stats span{font-size:14px;line-height:1.45;color:var(--muted)}
.pv-mosaic{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:520px}
.pv-mosaic figure{position:relative;margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--hair);background:#111}
.pv-mosaic figure.tall{grid-row:1/3}
.pv-mosaic figure:last-child{grid-column:2/4}
.pv-mosaic picture{position:absolute;inset:0}
.pv-mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.pv-mosaic figure::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.6))}
.pv-mosaic figcaption{position:absolute;left:14px;bottom:12px;z-index:1;font-size:13px;font-weight:500;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.6)}
@media(hover:hover){.pv-mosaic figure:hover img{transform:scale(1.05)}}

/* ---------- Zone : pages villes ---------- */
.zone-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.zone-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:20px 22px;border-radius:20px;background:var(--s1);border:1px solid var(--hair);
  transition:border-color .3s,background .3s,transform .4s var(--ease-out)}
.zone-card b{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.03em;color:#fff}
.zone-card span{font-size:13.5px;color:var(--muted)}
.zone-card i{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-style:normal;color:#7cc4ff;transition:transform .3s var(--ease-out)}
@media(hover:hover){
  .zone-card:hover{border-color:rgba(255,255,255,.2);background:var(--s2);transform:translateY(-3px)}
  .zone-card:hover i{transform:translate(4px,-50%)}
}

/* ---------- Rendez-vous en personne : fenêtre (rdv-popup.js) ---------- */
.rdv-pop{position:fixed;z-index:60;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));width:380px;max-width:calc(100vw - 24px);
  display:grid;grid-template-columns:96px 1fr;border-radius:24px;overflow:hidden;color:#fff;
  background:linear-gradient(180deg,#15171c,#0d0e11);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 40px 90px -20px rgba(0,0,0,.8),0 0 0 1px rgba(0,153,255,.08),0 0 80px -30px rgba(0,120,255,.5);
  animation:rdv-in .55s var(--ease-out) both}
.rdv-pop.out{animation:rdv-out .25s ease-in forwards;pointer-events:none}
@keyframes rdv-in{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:none}}
@keyframes rdv-out{to{opacity:0;transform:translateY(14px) scale(.98)}}
.rdv-pop-img{position:relative;background:#111}
.rdv-pop-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rdv-pop-body{position:relative;padding:18px 18px 16px}
.rdv-pop h2{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.15;letter-spacing:-.03em;margin:0 30px 6px 0}
.rdv-pop p{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.7);margin:0 0 14px}
.rdv-pop-acts{display:flex;flex-direction:column;gap:8px}
.rdv-pop-acts .btn{min-height:44px;width:100%;justify-content:center;font-size:14px}
.rdv-pop-wa{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;color:rgba(255,255,255,.7)}
.rdv-pop-wa:hover{color:#fff}
.rdv-pop-x{position:absolute;top:6px;right:6px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.7);cursor:pointer}
.rdv-pop-x:hover{color:#fff;background:rgba(255,255,255,.08)}
.rdv-pop-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
@media(max-width:760px){
  /* au-dessus du bouton « Gérer mes cookies » (bas gauche) */
  .rdv-pop{left:12px;right:12px;bottom:calc(66px + env(safe-area-inset-bottom));width:auto;grid-template-columns:1fr;border-radius:22px}
  .rdv-pop-img{display:none}
  .rdv-pop-body{padding:16px 16px 14px}
  .rdv-pop h2{font-size:18px}
  .rdv-pop p{margin-bottom:12px}
  .rdv-pop-acts{flex-direction:row}
  .rdv-pop-acts .btn{flex:1 1 0;padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){.rdv-pop,.rdv-pop.out{animation:none}}

/* ---------- Tablette ---------- */
@media(max-width:1060px){
  .zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .inv-grid,.dr-grid{grid-template-columns:minmax(0,1fr)}
  .dr-proof{min-height:0;aspect-ratio:16/9}
  .dr-modes{grid-template-columns:1fr 1fr}
  .dr-modes .dr-cta{grid-column:1/-1;justify-self:start}
}

/* ---------- Mobile : moins long, plus lisible ---------- */
@media(max-width:760px){
  body.dk.cgpage .sec{padding:56px 0}
  .inv-steps::before{left:29px}
  .inv-steps li{padding:16px 18px;gap:14px}
  .inv-steps h3{font-size:17px;margin-bottom:4px}
  .inv-steps p{font-size:14px}
  .inv-calc{padding:22px;border-radius:22px}
  .ic-row b{font-size:21px}
  .inv-prime{padding:20px;gap:16px}
  .inv-prime .cg-ctas{width:100%}
  .inv-prime .cg-ctas .btn{flex:1 1 100%}
  .dr-proof{aspect-ratio:4/3;border-radius:22px}
  .dr-proof figcaption b{font-size:17px}
  .dr-uses{gap:10px}
  .dr-uses li{padding:14px;border-radius:16px;gap:6px}
  .dr-uses .cg-ic{width:34px;height:34px;border-radius:10px}
  .dr-uses .cg-ic svg{width:17px;height:17px}
  .dr-uses h3{font-size:14.5px;margin:0}
  .dr-uses p{font-size:12.5px;line-height:1.45}
  .dr-modes{grid-template-columns:minmax(0,1fr);padding:18px;gap:14px}
  .dr-modes .dr-cta{width:100%}
  .pv-stats{gap:10px}
  .pv-stats li{padding:16px 14px;border-radius:18px;gap:6px}
  .pv-stats span{font-size:12.5px}
  .pv-mosaic{display:flex;height:auto;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -24px;padding:0 24px 4px;scrollbar-width:none}
  .pv-mosaic::-webkit-scrollbar{display:none}
  .pv-mosaic figure,.pv-mosaic figure.tall,.pv-mosaic figure:last-child{flex:0 0 72%;aspect-ratio:4/5;scroll-snap-align:center}
  .zone-grid{gap:8px}
  .zone-card{padding:14px 16px;border-radius:16px}
  .zone-card b{font-size:16.5px}
  .zone-card span{font-size:12px}
  .zone-card i{right:14px}
  .cg-store-photos{min-height:0;grid-template-rows:auto;grid-template-columns:1fr}
  .cg-store-photos figure.big{aspect-ratio:16/10}
  .cg-store-photos figure:not(.big){display:none}
  .cgpage .faq .qa:nth-child(n+8){display:none}
  .cgpage .faq.all .qa{display:block}
  .faq-more{display:flex;width:100%;margin-top:6px}
}
@media(max-width:420px){
  .pv-mosaic{margin:0 -16px;padding:0 16px 4px}
}

/* ============================================================
   Pages villes de la conciergerie et page « Voiture avec chauffeur » (body.cvpage),
   générées par tools/build-conciergerie-villes.mjs (5 octobre 2026).
   ============================================================ */
.cv-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;font-size:13.5px;color:var(--muted)}
.cv-crumbs a{color:rgba(255,255,255,.75)}
.cv-crumbs a:hover{color:#fff}
.cv-crumbs span[aria-hidden]{color:rgba(255,255,255,.3)}
.cv-hero h1{font-size:clamp(38px,4.6vw,60px)}
.cv-photo{position:relative;margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/5;max-height:600px;width:100%;border:1px solid rgba(255,255,255,.12);background:#111;
  box-shadow:0 50px 100px -30px rgba(0,0,0,.85),0 0 140px -40px rgba(0,120,255,.45)}
.cv-photo picture{position:absolute;inset:0}
.cv-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cv-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.6))}
.cv-photo figcaption{position:absolute;left:16px;right:16px;bottom:12px;z-index:1;font-size:11.5px;line-height:1.4;color:rgba(255,255,255,.72)}
.cv-photo figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cv-photo-proof{aspect-ratio:4/3}
.cv-photo-proof figcaption{font-size:13.5px;color:#fff}
.cv-photo-proof figcaption b{font-weight:600}
.cv-why-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:start}
.cv-prose{display:flex;flex-direction:column;gap:16px;font-size:16.5px;line-height:1.7;color:rgba(255,255,255,.78);max-width:68ch}
.cv-prose strong{color:#fff;font-weight:600}
.cv-prose a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(124,196,255,.55)}
.cv-prose a:hover{text-decoration-color:#fff}
.cv-example{position:sticky;top:110px;display:flex;flex-direction:column;padding:26px;border-radius:26px;color:#fff;
  background:radial-gradient(420px 260px at 100% 0%,rgba(0,153,255,.45),transparent 60%),radial-gradient(360px 240px at 0% 100%,rgba(0,69,255,.35),transparent 62%),#0b0f1a;
  border:1px solid rgba(0,153,255,.32);box-shadow:0 40px 90px -40px rgba(0,80,255,.55)}
.cv-example h3{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.015em;color:rgba(255,255,255,.85)}
.cv-ex-big{font-family:var(--display);font-weight:600;font-size:clamp(44px,4.6vw,58px);line-height:1;letter-spacing:-.05em;margin:14px 0 6px;font-variant-numeric:tabular-nums}
.cv-ex-sub{font-size:14px;line-height:1.5;color:rgba(255,255,255,.75)}
.cv-ex-rows{margin:18px 0 20px;border-top:1px solid rgba(255,255,255,.12)}
.cv-ex-rows div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:14px}
.cv-ex-rows dt{color:rgba(255,255,255,.72)}
.cv-ex-rows dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.cv-ex-legal{margin-top:14px;font-size:12px;line-height:1.5;color:rgba(255,255,255,.55)}
.cv-org-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center}
.cv-org-copy{display:flex;flex-direction:column;gap:26px}
.cv-org-photo{position:relative;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--hair);background:#111}
.cv-org-photo picture{position:absolute;inset:0}
.cv-org-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cv-org-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.6))}
.cv-org-photo figcaption{position:absolute;left:18px;bottom:16px;z-index:1;font-size:13.5px;font-weight:500;color:#fff}
.cv-uses{grid-template-columns:repeat(4,minmax(0,1fr))}
.cv-uses-more{margin-top:20px;font-size:15px}
.cv-uses-more a{color:#7cc4ff;font-family:var(--display);font-weight:500}
.cv-uses-more a:hover{color:#fff}
.cv-care{margin-top:18px;padding:24px 26px;border-radius:22px;border:1px solid var(--hair);background:rgba(255,255,255,.02)}
.cv-care h3{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.02em;margin-bottom:14px}
.cv-care .cg-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px}
.cvpage .cg-faq .lead a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(124,196,255,.55)}
.cg-zone .lead a{color:#7cc4ff;white-space:nowrap}
.cg-zone .lead a:hover{color:#fff}
.ch-uses{grid-template-columns:repeat(3,minmax(0,1fr))}
.ch-cars{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ch-car{display:flex;flex-direction:column;gap:4px;height:100%;padding:10px 10px 18px;border-radius:22px;background:var(--s1);border:1px solid var(--hair);transition:border-color .3s,transform .4s var(--ease-out)}
.ch-car-img{position:relative;display:block;aspect-ratio:4/3;margin-bottom:12px;border-radius:14px;overflow:hidden;background:#111}
.ch-car-img picture{position:absolute;inset:0}
.ch-car-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.ch-car b{padding:0 8px;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.02em;color:#fff}
.ch-car>span:last-child{padding:0 8px;font-size:13.5px;line-height:1.45;color:var(--muted)}
@media(hover:hover){.ch-car:hover{border-color:rgba(255,255,255,.18);transform:translateY(-3px)}.ch-car:hover .ch-car-img img{transform:scale(1.05)}}
.ch-owner{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;padding:clamp(26px,4vw,44px);border-radius:28px;
  border:1px solid rgba(0,153,255,.28);background:radial-gradient(560px 340px at 96% 112%,rgba(0,69,255,.38),transparent 62%),#0b0c0f}
.ch-owner>div{max-width:62ch}
.ch-owner .lead{margin-top:12px;color:rgba(255,255,255,.72)}
.ch-contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
@media(max-width:1060px){
  .cv-uses{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ch-cars{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .cv-why-grid,.cv-org-grid{grid-template-columns:minmax(0,1fr)}
  .cv-example{position:relative;top:auto}
  .cv-photo{aspect-ratio:16/10;max-height:none}
  .cv-care .cg-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ch-uses{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ch-contact{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
  .cv-crumbs{justify-content:center;margin-bottom:16px;font-size:12.5px}
  .cv-hero h1{font-size:clamp(32px,9vw,42px)}
  .cv-hero .cg-hero-grid{gap:30px}
  .cv-photo{border-radius:22px;aspect-ratio:4/3}
  .cv-prose{font-size:15.5px;line-height:1.65}
  .cv-example{padding:22px;border-radius:22px}
  .cv-org-grid{gap:24px}
  .cv-care{padding:18px}
  .cv-care .cg-checks{grid-template-columns:minmax(0,1fr)}
  .ch-uses{grid-template-columns:minmax(0,1fr)}
  .ch-cars{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -24px;padding:0 24px 4px;scrollbar-width:none}
  .ch-cars::-webkit-scrollbar{display:none}
  .ch-cars li{flex:0 0 70%;scroll-snap-align:center}
  .ch-owner{padding:22px;border-radius:22px}
  .ch-owner .btn{width:100%}
}
@media(max-width:420px){.ch-cars{margin:0 -16px;padding:0 16px 4px}}

/* ============================================================
   Refonte complète de la page (6 octobre 2026, demande du dirigeant) : en-tête et pied de page en vidéo,
   plus d'images, moins de texte, sections animées. Classes .cx-* ; body.cxpage.
   ============================================================ */
.cxpage .sec-head .lead{max-width:56ch}
/* Hero vidéo plein cadre */
.cx-hero{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px 0 0;overflow:hidden;color:#fff}
.cx-hero-media{position:absolute;inset:0;z-index:-1;background:#0b0b0b}
.cx-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0b0b0b url(/assets/img/cg/cg-hero-m-poster.webp) center/cover no-repeat}
@media(min-width:901px){.cx-hero-video{background-image:url(/assets/img/cg/cg-hero-d-poster.webp)}}
.cx-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,9,.55) 0%,rgba(9,9,9,.12) 30%,rgba(9,9,9,.35) 58%,rgba(9,9,9,.94) 100%),radial-gradient(900px 500px at 12% 80%,rgba(0,70,200,.22),transparent 60%)}
.cx-hero-in{position:relative;padding-bottom:34px;max-width:var(--wrap)}
.cx-hero h1{font-size:clamp(40px,5.6vw,78px);letter-spacing:-.045em;line-height:1.02;max-width:15ch;text-wrap:balance;margin-bottom:18px;color:#fff}
.cx-hero .lead{color:rgba(255,255,255,.82);max-width:44ch;margin-bottom:26px;font-size:clamp(17px,1.5vw,20px)}
.cx-hero .lead b{color:#fff}
.cx-hero .cg-lockup{margin-bottom:26px}
.cx-pp{position:absolute;right:24px;top:calc(50% - 22px);z-index:2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;
  background:rgba(9,9,9,.35);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s}
.cx-pp:hover{background:rgba(255,255,255,.14)}
.cx-pp svg{width:18px;height:18px}
.cx-pp .pp-pause{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.cx-pp .pp-play{fill:currentColor}
.cx-pp[aria-pressed="true"] .pp-pause,.cx-pp:not([aria-pressed="true"]) .pp-play{display:none}
.cx-stats{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.16)}
.cx-stats li{display:flex;align-items:baseline;gap:10px;padding:22px 14px 26px 0}
.cx-stats b{font-family:var(--display);font-weight:600;font-size:clamp(26px,2.6vw,38px);letter-spacing:-.045em;line-height:1;white-space:nowrap}
.cx-stats b small{font-size:.55em}
.cx-stats li>span{font-size:13.5px;color:rgba(255,255,255,.7);line-height:1.35}
.js-intro .cx-hero [data-intro]{opacity:0;transform:translateY(26px);filter:blur(8px)}
.js-intro.is-ready .cx-hero [data-intro]{opacity:1;transform:none;filter:none;transition:opacity .9s var(--ease-out),transform 1s var(--ease-out),filter .9s var(--ease-out)}
.js-intro.is-ready .cx-hero [data-intro="2"]{transition-delay:.08s}
.js-intro.is-ready .cx-hero [data-intro="3"]{transition-delay:.16s}
.js-intro.is-ready .cx-hero [data-intro="4"]{transition-delay:.24s}
.js-intro.is-ready .cx-hero [data-intro="5"]{transition-delay:.32s}
html:not(.js-intro) .cx-hero [data-intro]{animation:cg-in .8s var(--ease-out) both}

/* Apparition des images : léger zoom arrière à l'entrée (l'élément observé n'est jamais rogné) */
.cxpage .rv img{transform:scale(1.08);transition:transform 1.6s var(--ease-out)}
.cxpage .rv.in img{transform:none}
.cxpage .cg-reel video,.cxpage .cg-reel img{transform:none}

/* C'est quoi : film + trois étapes */
.cx-what-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(24px,4vw,56px);align-items:center}
.cx-what-reel{display:flex;justify-content:center}
.cx-what-reel .cg-reel{width:min(100%,340px)}
.cx-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cx-step{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:var(--s1);border:1px solid var(--hair)}
.cx-step figure{margin:0;aspect-ratio:4/5;overflow:hidden;background:#111}
.cx-step figure img{width:100%;height:100%;object-fit:cover}
.cx-step>div:last-child{padding:18px 18px 22px;position:relative}
.cx-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--g-spot);font-family:var(--display);font-weight:600;font-size:13px;margin-bottom:12px;box-shadow:0 8px 22px -8px rgba(0,110,255,.8)}
.cx-step h3{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.025em;margin-bottom:6px}
.cx-step p{font-size:14px;line-height:1.5;color:var(--muted)}
.cx-step-big{background:radial-gradient(420px 300px at 100% 0%,rgba(0,153,255,.5),transparent 60%),radial-gradient(360px 260px at 0% 100%,rgba(0,69,255,.4),transparent 62%),#0b0f1a;border-color:rgba(0,153,255,.32)}
.cx-70{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.cx-70 b{font-family:var(--display);font-weight:600;font-size:clamp(64px,7vw,104px);letter-spacing:-.06em;line-height:.9}
.cx-70 b small{font-size:.45em}
.cx-70 span{font-size:15px;color:rgba(255,255,255,.75)}

/* Ce que nous gérons : mosaïque photo */
.cx-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(150px,auto);gap:12px}
.cx-tile{position:relative;margin:0;border-radius:22px;overflow:hidden;background:var(--s1);border:1px solid var(--hair);min-height:260px}
.cx-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-tile-xl{grid-column:span 2;grid-row:span 2;min-height:420px}
.cx-tile-xl>img{top:-5%;height:110%}
.cx-tile::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78))}
.cx-tile figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;display:flex;flex-direction:column;gap:3px}
.cx-tile figcaption b{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.02em;color:#fff}
.cx-tile figcaption span{font-size:13.5px;color:rgba(255,255,255,.75)}
.cx-tile-ins{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:20px;min-height:0}
.cx-tile-ins::after{display:none}
.cx-tile-ins b{font-family:var(--display);font-weight:600;font-size:18px}
.cx-tile-ins>span:last-child{font-size:13.5px;line-height:1.5;color:var(--muted)}
.cx-chips{list-style:none;grid-column:1/-1;display:flex;flex-wrap:wrap;align-content:center;gap:8px;padding:18px;border-radius:22px;border:1px solid var(--hair);background:rgba(255,255,255,.02)}
.cx-chips li{padding:9px 14px;border-radius:999px;background:var(--s2);border:1px solid var(--hair);font-size:13.5px;color:var(--ink-2)}
@media(hover:hover){.cx-tile:hover>img{transform:scale(1.04);transition:transform 1.2s var(--ease-out)}}

/* Usages premium : rail horizontal */
.cx-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 40px;flex-wrap:wrap}
.cx-head-acts{display:flex;align-items:center;gap:10px}
.cx-arrow{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;background:var(--s1);border:1px solid var(--hair);transition:background .2s,border-color .2s}
.cx-arrow:hover{background:var(--s2);border-color:rgba(255,255,255,.2)}
.cx-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(hover:none){.cx-arrow{display:none}}
.cx-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(24px,calc((100vw - var(--wrap)) / 2 + 24px)) 8px;scrollbar-width:none;scroll-padding-left:max(24px,calc((100vw - var(--wrap)) / 2 + 24px))}
.cx-rail::-webkit-scrollbar{display:none}
.cx-use{position:relative;flex:0 0 clamp(240px,24vw,340px);aspect-ratio:4/5;margin:0;border-radius:24px;overflow:hidden;scroll-snap-align:start;background:#111;border:1px solid var(--hair)}
.cx-use img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-use::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.8))}
.cx-use figcaption{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;display:flex;flex-direction:column;gap:4px}
.cx-use figcaption b{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.025em;color:#fff}
.cx-use figcaption span{font-size:13.5px;color:rgba(255,255,255,.78)}
@media(hover:hover){.cx-use:hover img{transform:scale(1.05);transition:transform 1.2s var(--ease-out)}}

/* Le parc : défilé de photos */
.cx-fleet{padding:clamp(28px,4vw,56px) 0;overflow:hidden}
.cx-marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cx-marquee-track{display:flex;gap:14px;width:max-content;animation:cx-mq 70s linear infinite}
.cx-marquee figure{margin:0;flex:0 0 auto;height:clamp(150px,17vw,250px);aspect-ratio:16/10;border-radius:18px;overflow:hidden;border:1px solid var(--hair);background:#111}
.cx-marquee img{width:100%;height:100%;object-fit:cover}
.cx-marquee:hover .cx-marquee-track{animation-play-state:paused}
@keyframes cx-mq{to{transform:translateX(-50%)}}

/* Nos villes */
.cx-city-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cx-city{position:relative;display:block;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:#111;border:1px solid var(--hair)}
.cx-city img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-city::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.82))}
.cx-city-t{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;display:flex;flex-direction:column;gap:2px}
.cx-city-t b{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.03em;color:#fff}
.cx-city-t small{font-size:13px;color:rgba(255,255,255,.75)}
@media(hover:hover){.cx-city:hover img{transform:scale(1.06);transition:transform 1.2s var(--ease-out)}.cx-city:hover{border-color:rgba(255,255,255,.2)}}

/* Notre équipe */
.cx-team-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:center}
.cx-team-copy .lead{margin:14px 0 22px}
.cx-team-pts{list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:26px}
.cx-team-pts li{display:flex;flex-direction:column;gap:2px;padding-left:16px;border-left:2px solid #0099ff}
.cx-team-pts b{font-family:var(--display);font-weight:600;font-size:16.5px}
.cx-team-pts span{font-size:14px;color:var(--muted)}
.cx-team-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cx-team-wall figure{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/5;background:#111;border:1px solid var(--hair)}
.cx-team-wall figure.t-wide{grid-column:1/-1;aspect-ratio:16/8}
.cx-team-wall img{width:100%;height:100%;object-fit:cover}

/* Communauté */
.cx-comm-stats{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.cx-comm-stats li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 22px;border-radius:18px;background:var(--s1);border:1px solid var(--hair);min-width:180px}
.cx-comm-stats b{font-family:var(--display);font-weight:600;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.04em;background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.cx-comm-stats span{font-size:13px;color:var(--muted)}
.cx-reels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1040px;margin:0 auto}
.cx-reel{position:relative;aspect-ratio:9/16;border-radius:26px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.cx-reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-reel-h{position:absolute;left:12px;top:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(9,9,9,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;color:#fff}
.cx-reel-h img{filter:invert(1)}
.cx-comm-cta{display:flex;justify-content:center;margin-top:26px}

/* Avis Google */
.cx-reviews-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:center}
.cx-score h2{display:flex;flex-direction:column;font-family:var(--display);font-weight:600;letter-spacing:-.05em;line-height:.9;margin-bottom:16px}
.cx-score-n{font-size:clamp(88px,11vw,160px);background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.cx-score-l{font-size:clamp(26px,3vw,40px);color:#fff;letter-spacing:-.035em}
.cx-stars{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--muted);margin-bottom:22px}
.cx-stars span{color:#f5b43c;letter-spacing:2px;font-size:17px}
.cx-score .btn img{width:16px;height:16px}
.cx-quotes{list-style:none;display:flex;flex-direction:column;gap:12px}
.cx-quotes li{padding:22px 24px;border-radius:22px;background:var(--s1);border:1px solid var(--hair)}
.cx-quotes p{font-family:var(--display);font-size:clamp(17px,1.5vw,21px);line-height:1.4;letter-spacing:-.015em;color:#fff;margin-bottom:10px}
.cx-quotes span{font-size:13px;color:var(--muted)}

/* Pied de page en vidéo */
.cx-outro{position:relative;isolation:isolate;overflow:hidden}
.cx-outro-media{position:absolute;inset:0;z-index:-1;background:#090909}
.cx-outro-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#090909 url(/assets/img/cg/cg-foot-m-poster.webp) center/cover no-repeat}
@media(min-width:901px){.cx-outro-media video{background-image:url(/assets/img/cg/cg-foot-d-poster.webp)}}
.cx-outro-veil{position:absolute;inset:0;background:linear-gradient(180deg,#090909 0%,rgba(9,9,9,.62) 22%,rgba(9,9,9,.78) 60%,rgba(9,9,9,.95) 100%)}
.cxpage .cx-outro .ftr2{background:transparent;border-top:0;padding-top:clamp(90px,12vw,170px)}
.cx-contact{padding-bottom:clamp(40px,5vw,72px)}

/* Tablette */
@media(max-width:1060px){
  .cx-what-grid{grid-template-columns:minmax(0,1fr)}
  .cx-what-reel{order:2}
  .cx-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx-chips{grid-column:1/-1}
  .cx-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx-team-grid,.cx-reviews-grid{grid-template-columns:minmax(0,1fr)}
  .cx-reels{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}
}
/* Mobile : moins de texte, plus d'images */
@media(max-width:760px){
  body.dk.cxpage .sec{padding:52px 0}
  .cx-hero{padding-top:96px;min-height:92svh}
  .cx-hero-in{text-align:center;padding-bottom:22px}
  .cx-hero h1{font-size:clamp(32px,9vw,42px);margin-inline:auto}
  .cx-hero .lead{margin-inline:auto;font-size:15.5px;margin-bottom:20px}
  .cx-hero .cg-lockup{height:22px;margin:0 auto 18px}
  .cx-hero .cg-ctas{justify-content:center}
  .cx-hero .cg-ctas .btn{flex:1 1 100%}
  .cx-hero .cg-trust{justify-content:center}
  .cx-pp{top:auto;bottom:118px;right:14px;width:40px;height:40px}
  .cx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx-stats li{flex-direction:column;align-items:flex-start;gap:4px;padding:14px 0}
  .cx-stats li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .cx-stats li>span{font-size:12px}
  .cx-steps{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -24px;padding:0 24px 4px;scrollbar-width:none}
  .cx-steps::-webkit-scrollbar{display:none}
  .cx-step{flex:0 0 72%;scroll-snap-align:center}
  .cx-step p{display:none}
  .cx-step figure,.cx-70{aspect-ratio:1/1}
  .cx-bento{gap:8px;grid-auto-rows:auto}
  .cx-tile{min-height:0;aspect-ratio:4/5}
  .cx-tile-xl{grid-column:1/-1;grid-row:auto;aspect-ratio:16/11;min-height:0}
  .cx-tile figcaption span{display:none}
  .cx-tile figcaption b{font-size:15px}
  .cx-tile-ins{aspect-ratio:auto;grid-column:1/-1}
  .cx-chips{padding:12px}
  .cx-chips li{font-size:12.5px;padding:7px 11px}
  .cx-rail{padding:0 24px 6px;scroll-padding-left:24px}
  .cx-use{flex-basis:70vw}
  .cx-city{aspect-ratio:1/1;border-radius:18px}
  .cx-city-t b{font-size:18px}
  .cx-city-grid{gap:8px}
  .cx-team-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cx-team-wall figure:last-child{display:none}
  .cx-team-pts{display:none}
  .cx-comm-stats li{min-width:0;flex:1 1 40%;padding:12px}
  .cx-comm-stats li:last-child{flex-basis:100%}
  .cx-reels{gap:8px}
  .cx-reel{border-radius:18px}
  .cx-quotes li{padding:16px 18px}
  .cx-quotes li:nth-child(3){display:none}
  .cxpage .sim-legal{display:none}
  .cx-bento>figure:last-of-type{grid-column:1/-1;aspect-ratio:16/10}
  .cxpage .cg-inv2 .sec-head .lead,.cxpage .inv-steps p{display:none}
  .cxpage .inv-steps li{padding:14px 16px}
}
@media(max-width:420px){.cx-steps{margin:0 -16px;padding:0 16px 4px}.cx-rail{padding:0 16px 6px;scroll-padding-left:16px}}
@media(prefers-reduced-motion:reduce){
  .cx-marquee-track{animation:none}
  .cxpage .rv img{transform:none;transition:none}
  .js-intro .cx-hero [data-intro],html:not(.js-intro) .cx-hero [data-intro]{opacity:1;transform:none;filter:none;animation:none;transition:none}
}

/* ============================================================
   6 oct. 2026 (2) — demande du dirigeant : « un pop up nous appeler + Calendly, prise de rendez-vous ;
   anime les textes et les chiffres ; version mobile parfaite ».
   ============================================================ */
/* Titres : les mots montent un à un, la partie en dégradé s'éclaire ensuite (conciergerie.js, classe .sp).
   Seuls les mots portent la translation : l'élément observé (h2.rv) n'est jamais rogné ni masqué. */
.cxpage .h-sec.sp.rv{opacity:1;transform:none;filter:none}
.sp .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.sp .w>span{display:inline-block;transform:translate3d(0,108%,0);transition:transform .95s var(--ease-out);transition-delay:calc(var(--i,0) * 60ms)}
.sp.in .w>span{transform:none}
.sp .accent{opacity:0;filter:blur(10px);transition:opacity 1.1s var(--ease-out),filter 1.1s var(--ease-out);transition-delay:calc(var(--i,0) * 60ms + 140ms)}
.sp.in .accent{opacity:1;filter:none}
/* Chiffres : léger éclat à l'arrivée */
.cxpage [data-count]{font-variant-numeric:tabular-nums}
.cx-70 b,.cx-score-n{display:inline-block}
.cx-step-big.rv .cx-70 b{transform:scale(.86);opacity:.4;transition:transform 1.2s var(--ease-out) .15s,opacity 1.2s var(--ease-out) .15s}
.cx-step-big.rv.in .cx-70 b{transform:none;opacity:1}
.cx-team-acts{display:flex;flex-wrap:wrap;gap:10px}
.cx-comm-stats b [data-count],.cx-70 b [data-count]{font-size:inherit;color:inherit}
.cx-avis{font-style:normal;font-size:14.5px;color:var(--muted);letter-spacing:0}
.cx-avis b{font-weight:600;color:#fff}

/* ---------- Fenêtre « Nous appeler / Prendre rendez-vous » (rdv-book.js) ---------- */
html.bk-open{overflow:hidden}
.bk{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px}
.bk[hidden]{display:none}
.bk-back{position:absolute;inset:0;background:rgba(4,5,8,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .26s ease}
.bk.in .bk-back{opacity:1}
.bk-card{position:relative;width:100%;max-width:480px;max-height:min(760px,calc(100svh - 40px));overflow:auto;overscroll-behavior:contain;
  background:radial-gradient(520px 260px at 100% 0%,rgba(0,110,255,.16),transparent 62%),#101114;border:1px solid rgba(255,255,255,.1);border-radius:26px;
  padding:26px 24px 22px;color:#fff;box-shadow:0 40px 90px -30px rgba(0,0,0,.9);
  opacity:0;transform:translateY(18px) scale(.98);transition:opacity .26s ease,transform .32s var(--ease-out)}
.bk.in .bk-card{opacity:1;transform:none}
.bk-x{position:absolute;top:10px;right:10px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.7);cursor:pointer}
.bk-x:hover{color:#fff;background:rgba(255,255,255,.08)}
.bk-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.bk h2{font-family:var(--display);font-weight:600;font-size:23px;line-height:1.12;letter-spacing:-.035em;margin:0 40px 6px 0}
.bk-sub{font-size:14px;color:rgba(255,255,255,.66);margin:0 0 18px}
.bk-call{width:100%;min-height:50px;justify-content:center;gap:9px;font-size:15px}
.bk-call svg{width:18px;height:18px;fill:currentColor}
.bk-or{display:flex;align-items:center;gap:12px;margin:18px 0 14px;font-size:12.5px;color:rgba(255,255,255,.5)}
.bk-or::before,.bk-or::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.1)}
.bk-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}
.bk-type{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 4px 10px;border-radius:16px;cursor:pointer;color:#fff;font:inherit;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);transition:background .18s,border-color .18s,transform .18s}
.bk-type svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:3px;opacity:.85}
.bk-type b{font-size:13px;font-weight:600;letter-spacing:-.01em;line-height:1.15;text-align:center}
.bk-type small{font-size:11px;color:rgba(255,255,255,.55)}
.bk-type:hover{background:rgba(255,255,255,.07)}
.bk-type[aria-checked="true"]{background:rgba(0,120,255,.18);border-color:rgba(0,153,255,.6)}
.bk-type[aria-checked="true"] svg{opacity:1}
.bk-lbl{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.6);margin:0 0 8px}
.bk-days{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding:0 24px;margin:0 -24px 16px;padding:2px 24px 4px;scrollbar-width:none}
.bk-days::-webkit-scrollbar{display:none}
.bk-day{flex:0 0 auto;width:60px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 0 8px;border-radius:14px;cursor:pointer;color:#fff;font:inherit;scroll-snap-align:start;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);transition:background .18s,border-color .18s}
.bk-day small{font-size:11px;color:rgba(255,255,255,.55)}
.bk-day small:first-child{text-transform:capitalize}
html.bk-open #cm-icone{opacity:0;pointer-events:none}
.bk-day b{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.03em;line-height:1.1}
.bk-day[aria-selected="true"]{background:#fff;color:#0a0a0a;border-color:#fff}
.bk-day[aria-selected="true"] small{color:rgba(10,10,10,.6)}
.bk-day:disabled{opacity:.3;cursor:not-allowed}
.bk-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.bk-slot{min-height:44px;border-radius:12px;cursor:pointer;color:#fff;font:inherit;font-size:14px;font-weight:600;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);transition:background .18s,border-color .18s,transform .18s;
  animation:bk-pop .35s var(--ease-out) both;animation-delay:calc(var(--i,0) * 28ms)}
.bk-slot:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1)}
@keyframes bk-pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bk-cal p{font-size:14px;line-height:1.55;color:rgba(255,255,255,.72);margin:0 0 14px}
.bk-cal-link{display:block;margin-top:14px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.62);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.25)}
.bk-cal-link:hover{color:#fff}
.bk-cal-btn{width:100%;min-height:48px;justify-content:center}
.bk-sum{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;margin-bottom:16px;
  background:rgba(0,120,255,.14);border:1px solid rgba(0,153,255,.4);font-size:14px;font-weight:600}
.bk-sum-t::first-letter{text-transform:uppercase}
.bk-edit{border:0;background:transparent;color:#7cc4ff;font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:6px 0 6px 8px;min-height:36px;white-space:nowrap}
.bk-form{display:flex;flex-direction:column;gap:12px}
.bk-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.bk-f{display:flex;flex-direction:column;gap:6px}
.bk-f[hidden]{display:none}
.bk-f>span{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.66)}
.bk-f input{min-height:48px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:16px}
.bk-f input:focus{outline:0;border-color:#0099ff;box-shadow:0 0 0 3px rgba(0,153,255,.25)}
.bk-f small{font-size:12px;line-height:1.45;color:rgba(255,255,255,.5)}
.bk-err{margin:0;font-size:13.5px;color:#ff8a8a}
.bk-send{width:100%;min-height:50px;justify-content:center;margin-top:2px}
.bk-note{margin:0;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.55)}
.bk-note a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.bk-done{text-align:center;padding:14px 0 6px}
.bk-done-ic{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--g-spot)}
.bk-done-ic svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bk-done b{display:block;font-family:var(--display);font-size:22px;letter-spacing:-.03em;margin-bottom:6px}
.bk-done p{font-size:14.5px;color:rgba(255,255,255,.7);margin:0}
.bk-step{animation:bk-step .3s var(--ease-out)}
@keyframes bk-step{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
/* Mobile : feuille qui monte du bas, pouce sur les créneaux */
@media(max-width:760px){
  .bk{place-items:end stretch;padding:0}
  .bk-card{max-width:none;max-height:92svh;border-radius:24px 24px 0 0;padding:22px 16px calc(18px + env(safe-area-inset-bottom));transform:translateY(100%);transition:opacity .2s ease,transform .38s var(--ease-out)}
  .bk-card::before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:rgba(255,255,255,.22);margin:-10px auto 14px}
  .bk h2{font-size:21px}
  .bk-sub{margin-bottom:14px;font-size:13.5px}
  .bk-types{gap:6px}
  .bk-type{padding:10px 2px 9px;border-radius:14px}
  .bk-type b{font-size:12px}
  .bk-type small{font-size:10.5px}
  .bk-days{margin:0 -16px 14px;padding:2px 16px 4px;scroll-padding:0 16px}
  .bk-slots{gap:6px}
  .bk-row{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Barre d'action mobile : Appeler / Prendre rendez-vous ---------- */
.cx-dock{display:none}
@media(max-width:760px){
  .cx-dock{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:50;
    padding:7px;border-radius:20px;background:rgba(16,17,20,.82);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
    box-shadow:0 18px 40px -16px rgba(0,0,0,.8);transform:translateY(calc(100% + 24px));transition:transform .45s var(--ease-out)}
  .cx-dock.on{transform:none}
  .cx-dock a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:14px;font-weight:600;font-size:14.5px;color:#fff}
  .cx-dock svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .cx-dock-tel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
  .cx-dock-tel svg{fill:currentColor;stroke:none}
  .cx-dock-rdv{background:var(--g-btn);box-shadow:0 8px 22px -8px rgba(0,110,255,.7)}
  html.dock-on .rdv-pop{bottom:calc(80px + env(safe-area-inset-bottom))}
  /* Le bouton « Gérer mes cookies » (module commun, non modifié) remonte au-dessus de la barre */
  #cm-icone{transition:bottom .45s var(--ease-out)}
  html.dock-on #cm-icone{bottom:calc(86px + env(safe-area-inset-bottom))!important}
  html.dock-on .cxpage .cx-outro .ftr2{padding-bottom:96px}
  .cx-team-acts .btn{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){
  .sp .w>span{transform:none;transition:none}
  .sp .accent{opacity:1;filter:none;transition:none}
  .cx-step-big.rv .cx-70 b{transform:none;opacity:1;transition:none}
  .bk-card,.bk-back,.cx-dock{transition:none}
  .bk-step,.bk-slot{animation:none}
}

/* ============================================================
   Page cachée « Programme apporteurs » (/apporteurs, noindex) — 7 oct. 2026, refondue le même jour
   (demande du dirigeant) : film de fond repris de la page Prime « Société à l'étranger », blocs Prime et
   conciergerie illustrés, communauté (plus de 2 millions de vues), équipes, acteur local et événements,
   barre d'action mobile. Hero : structure .cx-hero (intro, bouton pause .hero-pp de fx.js).
   Survol : bordure neutre seulement, jamais de contour bleu ni de halo qui suit la souris.
   Aucune pastille arrondie au-dessus d'un titre.
   ============================================================ */

/* ---------- Hero : le film Prime en fond, voile sombre, contenu calé en bas ---------- */
.ap-hero{min-height:min(100svh,1000px)}
/* le poster du bon format est le fond CSS de la vidéo : première image du film, aucun saut */
.ap-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0b0b0b url(/assets/img/ap/prime-societe-m-poster.webp) center/cover no-repeat}
@media(min-width:901px){.ap-hero-video{background-image:url(/assets/img/ap/prime-societe-d-poster.webp)}}
.ap-hero-veil{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(9,9,9,.66) 0%,rgba(9,9,9,.34) 26%,rgba(9,9,9,.52) 56%,rgba(9,9,9,.97) 100%),
  linear-gradient(90deg,rgba(9,9,9,.74) 0%,rgba(9,9,9,.3) 52%,rgba(9,9,9,0) 78%),
  radial-gradient(900px 520px at 10% 86%,rgba(0,70,200,.24),transparent 62%)}
/* conteneur flex en colonne : sans largeur explicite, les marges automatiques de .wrap le rétréciraient et le centreraient */
.ap-hero>.wrap{width:100%}
.ap-hero h1{max-width:14ch;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.ap-hero .lead{max-width:48ch;text-wrap:pretty}
.ap-m-only{display:none}
@media(max-width:640px){.ap-m-only{display:inline}}
.ap-private{display:flex;align-items:center;gap:8px;margin:20px 0 0;font-size:13.5px;color:rgba(255,255,255,.66)}
.ap-private svg{flex:0 0 auto;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ap-stats li{padding:0}
.ap-stats a{display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:100%;padding:22px 18px 26px 0;color:#fff}
.ap-stats a span{font-size:13.5px;color:rgba(255,255,255,.7);line-height:1.35;transition:color .2s}
.ap-stats a:hover span{color:#fff}
.ap-stats li:first-child b{background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* ---------- Trois temps ---------- */
.ap-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ap-steps li{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:22px;background:var(--s1);border:1px solid var(--hair)}
.ap-n{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--g-spot);font-family:var(--display);font-weight:600;font-size:14px;color:#fff;box-shadow:0 10px 26px -10px rgba(0,110,255,.75)}
.ap-steps h3{font-family:var(--display);font-weight:600;font-size:18px;line-height:1.2;letter-spacing:-.025em;margin:7px 0 5px}
.ap-steps p{font-size:14.5px;color:var(--muted);line-height:1.5}

/* ---------- Blocs produit (Prime, conciergerie) ---------- */
.ap-prod-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center}
.ap-prod-grid--rev .ap-prod-copy{order:2}
.ap-prod-copy{min-width:0}
.ap-logo{display:block;height:24px;width:auto;margin-bottom:22px}
.ap-prod .h-sec{text-wrap:balance}
.ap-prod .lead{margin:16px 0 22px;max-width:54ch}
.ap-facts{list-style:none;display:grid;border-top:1px solid var(--hair);margin-bottom:22px}
.ap-facts li{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--hair)}
.ap-facts b{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.03em;white-space:nowrap;color:#fff}
.ap-facts li:first-child b{background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ap-facts span{font-size:14.5px;line-height:1.5;color:var(--muted)}
.ap-types{font-size:14px;line-height:1.55;color:var(--muted);margin-bottom:22px}
.ap-types b{color:#fff;font-weight:600}
.ap-share{display:flex;flex-wrap:wrap;gap:10px}
.ap-share .btn{min-height:46px;padding-inline:18px;font-size:14.5px}
.ap-fine{margin-top:14px;font-size:12.5px;line-height:1.5;color:var(--muted-2)}

/* Visuel du bloc Prime : la Classe G grise du parc, chiffre de l'apporteur en surimpression */
.ap-visual{position:relative;margin:0;aspect-ratio:1/1;border-radius:28px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 50px 100px -30px rgba(0,0,0,.85),0 0 140px -40px rgba(0,120,255,.45)}
.ap-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% 50%}
.ap-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,9,9,0) 42%,rgba(9,9,9,.84) 100%)}
.ap-visual figcaption{position:absolute;left:26px;right:26px;bottom:22px;z-index:1;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px}
.ap-visual figcaption b{font-family:var(--display);font-weight:600;font-size:clamp(46px,5vw,70px);line-height:1;letter-spacing:-.055em;white-space:nowrap;
  background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ap-visual figcaption span{font-size:15px;color:rgba(255,255,255,.82)}

/* « Comment en parler » */
.ap-pitch{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px 48px;align-items:center;margin-top:clamp(28px,4vw,48px);padding:clamp(22px,3vw,36px);border-radius:26px;
  background:radial-gradient(520px 300px at 100% 0%,rgba(0,153,255,.15),transparent 60%),var(--s1);border:1px solid var(--hair)}
.ap-pitch h3{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.025em;margin-bottom:12px}
.ap-quote{font-family:var(--display);font-size:clamp(17px,1.5vw,21px);line-height:1.45;letter-spacing:-.015em;color:#fff}
.ap-dos{list-style:none;display:grid;gap:12px}
.ap-dos li{position:relative;padding-left:32px;font-size:14.5px;color:var(--muted);line-height:1.5}
.ap-dos li::before{content:"";position:absolute;left:0;top:0;width:21px;height:21px;border-radius:50%}
.ap-dos li.ok::before{background:rgba(0,153,255,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237cc4ff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E") center/12px no-repeat}
.ap-dos li.no::before{background:rgba(255,120,120,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9a9a' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/11px no-repeat}

/* Conciergerie : reel d'Antoine + usages avec chauffeur (film à l'ordinateur, photos) */
.ap-video{display:flex;justify-content:center;min-width:0}
.ap-video .cg-reel{width:min(100%,360px)}
.ap-uses{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(28px,4vw,48px);height:clamp(260px,26vw,340px)}
.ap-use,.ap-b,.ap-reel{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#111;border:1px solid var(--hair)}
.ap-use img,.ap-use video,.ap-b img,.ap-reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ap-use::after,.ap-b::after,.ap-reel::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.78))}
.ap-use figcaption,.ap-b figcaption,.ap-reel figcaption{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;display:flex;flex-direction:column;gap:2px}
.ap-use figcaption b,.ap-b figcaption b,.ap-reel figcaption b{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.02em;color:#fff}
.ap-use figcaption span,.ap-b figcaption span,.ap-reel figcaption span{font-size:13px;line-height:1.4;color:rgba(255,255,255,.76)}
@media(hover:hover){
  .ap-use:hover,.ap-b:hover{border-color:rgba(255,255,255,.2)}
  .cxpage .ap-use.rv.in:hover img,.cxpage .ap-b.rv.in:hover img{transform:scale(1.04);transition:transform 1.2s var(--ease-out)}
}

/* ---------- Communauté ---------- */
/* titre centré : la phrase en dégradé passe à la ligne ; chapeaux centrés équilibrés */
.apage .sec-head .lead{text-wrap:balance}
.ap-comm .h-sec .accent{display:block}
.ap-kpis{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;margin:0 auto 30px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.ap-kpis li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 12px;text-align:center}
.ap-kpis li+li{border-left:1px solid var(--hair)}
.ap-kpis b{font-family:var(--display);font-weight:600;font-size:clamp(32px,3.6vw,48px);line-height:1;letter-spacing:-.05em;white-space:nowrap;font-variant-numeric:tabular-nums;
  background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ap-kpis b [data-count]{font-size:inherit;color:inherit}
.ap-kpis li>span{font-size:13.5px;line-height:1.4;color:var(--muted)}
.ap-reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:900px;margin:0 auto}
.ap-reel{aspect-ratio:9/16;border-radius:26px;border-color:rgba(255,255,255,.12);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.ap-reel-h{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(9,9,9,.5);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;color:#fff}
/* instagram.svg est noir (currentColor) : inversé ; tiktok.svg est gris clair (#bbb) : éclairci, jamais inversé */
.ap-reel-h img[src*="instagram"]{filter:invert(1)}
.ap-reel-h img[src*="tiktok"]{filter:brightness(1.4)}
.ap-reel figcaption b{font-size:20px;letter-spacing:-.03em}
.ap-comm-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:28px}

/* ---------- Le groupe : équipes, acteur local, événements ----------
   7 oct. 2026 (3), retours du dirigeant : plus de photo de groupe (portraits individuels seulement) et la région, sans
   voiture, pour « Acteur local ». Damier : deux portraits et la région, puis les événements, le rassemblement, un portrait.
   Chaque image garde son sens : portraits et rassemblement en 4:5, région et événements en large. */
.ap-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;grid-template-areas:"p1 p2 lc lc" "ev ev ra p3"}
.ap-b-p1{grid-area:p1}.ap-b-p2{grid-area:p2}.ap-b-p3{grid-area:p3}.ap-b-lc{grid-area:lc}.ap-b-ev{grid-area:ev}.ap-b-ra{grid-area:ra}
.ap-b-p1,.ap-b-p2,.ap-b-p3,.ap-b-ra{aspect-ratio:4/5}
.ap-b-ra img{object-position:50% 58%}
.ap-b figcaption span{text-wrap:balance}
.ap-b-lc figcaption b,.ap-b-ev figcaption b{font-size:20px}
/* crédit de la photo du lac (Wikimedia Commons, CC BY-SA 4.0), comme sur les pages Aix-les-Bains */
.ap-credit{margin-top:3px;font-size:11px;line-height:1.35;color:rgba(255,255,255,.6)}
.ap-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,255,255,.3)}
.ap-credit a:hover{color:#fff}
.ap-group{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 40px;margin-top:clamp(24px,3vw,36px);padding:22px 26px;border-radius:22px;border:1px solid var(--hair);background:rgba(255,255,255,.02)}
.ap-group-t{font-size:13px;color:var(--muted-2)}
.ap-group a{display:block;line-height:0}
.ap-group img{height:19px;width:auto;opacity:.8;transition:opacity .2s}
.ap-group a:hover img{opacity:1}

/* ---------- Soumettre un apport ----------
   7 oct. 2026 (3), « plus cool, classe » : carte sombre, service en grandes cartes sélectionnables, trois groupes (vous,
   votre contact, le projet), étiquettes nettes, états de saisie (focus, valide, à corriger), bouton d'envoi, réassurance.
   Survol : bordure neutre seulement ; le bleu ne marque que le choix fait et le champ en cours de saisie. */
.ap-form-wrap{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(24px,5vw,80px);align-items:start}
.ap-form-head{position:sticky;top:110px}
.ap-form-head .lead{margin-top:14px;max-width:40ch}
.ap-need{list-style:none;display:grid;gap:10px;margin-top:24px}
.ap-need li{position:relative;padding-left:30px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.ap-need li::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;
  background:rgba(0,153,255,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237cc4ff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E") center/12px no-repeat}
.ap-form{position:relative;isolation:isolate;display:grid;gap:28px;padding:clamp(20px,3.2vw,40px);border-radius:30px;color:#fff;
  background:radial-gradient(620px 300px at 100% 0%,rgba(0,120,255,.14),transparent 62%),radial-gradient(420px 260px at 0% 100%,rgba(0,69,255,.07),transparent 62%),linear-gradient(180deg,#121317,#0b0c0f);
  border:1px solid rgba(255,255,255,.1);box-shadow:0 60px 120px -50px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.06)}
.ap-form fieldset{border:0;padding:0;margin:0;min-width:0}
.ap-leg{display:flex;align-items:center;gap:14px;width:100%;padding:0;margin:0 0 16px;font-family:var(--display);font-weight:600;font-size:15.5px;letter-spacing:-.02em;color:#fff}
.ap-leg::after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,0))}
/* Le service : deux grandes cartes (bouton radio invisible par-dessus, toute la carte est cliquable) */
.ap-svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ap-type-opt{position:relative;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ap-type-opt input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ap-type-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr;grid-template-areas:"name dot" "what what" "amt amt";column-gap:12px;
  height:100%;min-height:158px;padding:20px;border-radius:20px;background-color:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.12);
  transition:border-color .25s,background-color .25s,box-shadow .3s var(--ease-out)}
.ap-type-name{grid-area:name;font-family:var(--display);font-weight:600;font-size:17px;line-height:1.2;letter-spacing:-.02em;color:#fff}
.ap-type-what{grid-area:what;margin-top:4px;font-size:13.5px;line-height:1.4;color:var(--muted)}
.ap-type-amt{grid-area:amt;align-self:end;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;padding-top:18px}
.ap-type-amt b{font-family:var(--display);font-weight:600;font-size:clamp(30px,3vw,38px);line-height:1;letter-spacing:-.05em;white-space:nowrap;color:#fff}
.ap-type-amt small{font-size:12.5px;line-height:1.3;color:var(--muted)}
.ap-type-dot{grid-area:dot;align-self:start;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);transition:border-color .2s,box-shadow .25s}
@media(hover:hover){.ap-type-opt:hover input:not(:checked)+.ap-type-card{border-color:rgba(255,255,255,.24);background-color:rgba(255,255,255,.04)}}
.ap-type-opt input:checked+.ap-type-card{background:radial-gradient(280px 170px at 100% 0%,rgba(0,153,255,.24),transparent 70%),rgba(0,80,255,.07);border-color:rgba(124,196,255,.5);box-shadow:0 22px 50px -30px rgba(0,110,255,.9)}
.ap-type-opt input:checked+.ap-type-card .ap-type-amt b{background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ap-type-opt input:checked+.ap-type-card .ap-type-dot{border-color:transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E") center/12px no-repeat,var(--g-btn);box-shadow:0 6px 16px -6px rgba(0,110,255,.9)}
.ap-type-opt input:focus-visible+.ap-type-card{outline:2px solid #fff;outline-offset:3px}
/* Champs */
.ap-grid{display:grid;gap:16px}
.ap-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.ap-f{position:relative;display:grid;gap:8px;min-width:0}
.ap-f[hidden]{display:none}
.ap-l{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px;font-weight:600;line-height:1.3;color:var(--ink-2);transition:color .2s}
.ap-l em{font-style:normal;font-weight:500;font-size:12px;color:var(--muted-2)}
.ap-f input,.ap-f textarea{width:100%;min-height:54px;padding:15px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background-color:rgba(255,255,255,.035);color:#fff;
  font:inherit;font-size:16px;line-height:1.35;-webkit-appearance:none;appearance:none;transition:border-color .2s,background-color .2s,box-shadow .2s}
.ap-f input::placeholder,.ap-f textarea::placeholder{color:var(--muted-2);opacity:1}
.ap-f textarea{min-height:112px;resize:vertical}
@media(hover:hover){.ap-f input:hover,.ap-f textarea:hover{border-color:rgba(255,255,255,.22)}}
.ap-f input:focus,.ap-f textarea:focus{outline:0;border-color:rgba(124,196,255,.72);background-color:rgba(255,255,255,.055);box-shadow:0 0 0 4px rgba(0,153,255,.15)}
.ap-f:focus-within .ap-l{color:#fff}
/* valide (apporteurs.js, après saisie) : coche discrète ; à corriger : bordure et étiquette rouges */
.ap-f.is-ok input{padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235fd39a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}
.ap-f input[aria-invalid="true"]{border-color:rgba(255,128,128,.8);box-shadow:0 0 0 4px rgba(255,80,80,.12)}
.ap-f:has(input[aria-invalid="true"]) .ap-l{color:#ffb3b3}
.ap-f input:-webkit-autofill{-webkit-text-fill-color:#fff;caret-color:#fff;-webkit-box-shadow:0 0 0 60px #17191d inset;transition:background-color 9999s}
.ap-f input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 60px #17191d inset,0 0 0 4px rgba(0,153,255,.15)}
/* Accord du contact : case dessinée, toute la ligne est cliquable */
.ap-consent{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:start;min-height:56px;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.02);font-size:14.5px;line-height:1.45;color:var(--ink-2);cursor:pointer;transition:border-color .2s,background-color .2s}
.ap-consent input{-webkit-appearance:none;appearance:none;display:block;width:24px;height:24px;margin:-1px 0 0;border-radius:8px;border:1.5px solid rgba(255,255,255,.32);background:transparent;cursor:pointer;transition:background-color .2s,border-color .2s}
.ap-consent input:checked{border-color:transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E") center/13px no-repeat,var(--g-btn)}
.ap-consent input:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(hover:hover){.ap-consent:hover{border-color:rgba(255,255,255,.2)}}
.ap-consent:has(input:checked){border-color:rgba(124,196,255,.32);background:rgba(0,110,255,.06)}
.ap-consent:has(input[aria-invalid="true"]){border-color:rgba(255,128,128,.6)}
.ap-err{display:flex;align-items:flex-start;gap:10px;margin:0;padding:13px 16px;border-radius:14px;background:rgba(255,80,80,.08);border:1px solid rgba(255,128,128,.32);color:#ffc4c4;font-size:14px;line-height:1.45}
.ap-err[hidden]{display:none}
.ap-err::before{content:"";flex:0 0 18px;height:18px;margin-top:1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffb3b3' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.4v.1'/%3E%3C/svg%3E") center/contain no-repeat}
/* Envoi */
.apage .ap-form .ap-send{width:100%;min-height:60px;padding:16px 24px;gap:12px;font-size:16px;font-weight:600;letter-spacing:-.015em;white-space:normal;text-align:center;
  box-shadow:0 18px 40px -16px rgba(0,110,255,.75),inset 0 1px 0 rgba(255,255,255,.22)}
.ap-send svg{flex:0 0 auto;width:20px;height:20px}
.ap-send-wa{fill:currentColor}
.ap-send-go{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease-out)}
@media(hover:hover){.ap-send:hover .ap-send-go{transform:translateX(4px)}}
.ap-done{display:grid;grid-template-columns:40px minmax(0,1fr);gap:2px 14px;align-items:center;padding:16px 18px;border-radius:18px;background:rgba(61,220,132,.07);border:1px solid rgba(61,220,132,.3)}
.ap-done[hidden]{display:none}
.ap-done::before{content:"";grid-row:1/3;width:40px;height:40px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235fd39a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E") center/18px no-repeat,rgba(61,220,132,.16)}
.ap-done b{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.015em}
.ap-done p{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}
/* Réassurance */
.ap-after{display:grid;justify-items:center;gap:4px;text-align:center}
.ap-note{margin:0;font-size:13.5px;line-height:1.5;color:var(--muted)}
.ap-note a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;color:#fff;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}
.ap-note a:hover{text-decoration-color:#fff}
.ap-trust{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;width:100%;margin:6px 0 0;padding:18px 0 0;border-top:1px solid var(--hair)}
.ap-trust li{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12.5px;line-height:1.35;color:var(--muted);text-align:center;text-wrap:balance}
.ap-trust svg{flex:0 0 auto;width:16px;height:16px;fill:none;stroke:#7cc4ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Contact ---------- */
.ap-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.ap-contact h2{font-family:var(--display);font-weight:600;font-size:clamp(26px,3vw,40px);letter-spacing:-.035em;margin-bottom:8px}
.ap-contact h2 span{white-space:nowrap}
.ap-contact p{color:rgba(255,255,255,.75)}
.ap-contact-btns{display:flex;flex-wrap:wrap;gap:10px}
.ap-legal{margin-top:22px;font-size:13px;color:var(--muted-2);max-width:90ch;line-height:1.55}

/* ---------- Barre d'action mobile (apporteurs.js) ---------- */
.ap-dock{display:none}

/* ---------- Pied de page de cette page seulement : court, vidéo en fond (7 oct. 2026, dirigeant) ----------
   Modèle : pied « fv » de corsiva-os-commercial. Une phrase et deux boutons, une ligne de liens et les réseaux, le groupe
   (Corsiva OS et Corsiva Lab : en pied de page seulement), les mentions. Le poster est le fond CSS de la vidéo. */
.ap-fv{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#090909}
.ap-fv-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.ap-fv-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;background:#090909 url(/assets/img/ap/ap-foot-m-poster.webp) center/cover no-repeat}
@media(min-width:901px){.ap-fv-bg video{background-image:url(/assets/img/ap/ap-foot-d-poster.webp)}}
.ap-fv-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#090909 0%,rgba(9,9,9,.42) 28%,rgba(9,10,14,.6) 60%,rgba(9,9,9,.95) 100%),radial-gradient(760px 320px at 50% 22%,rgba(0,110,255,.16),transparent 72%)}
.ap-fv-cta{display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center;padding-top:clamp(100px,12vw,170px);padding-bottom:clamp(52px,6vw,80px)}
.ap-fv-cta h2{max-width:20ch;margin:0;font-family:var(--display);font-weight:600;font-size:clamp(30px,3.8vw,50px);line-height:1.05;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.ap-fv-cta h2 span{background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ap-fv-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ap-fv-btns .btn{min-height:52px;padding-inline:26px}
.ap-fv-btns svg{flex:0 0 auto;width:17px;height:17px;fill:currentColor}
.ap-fv-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 28px;padding-top:16px;padding-bottom:16px;border-top:1px solid rgba(255,255,255,.1)}
.ap-fv-logo{display:inline-flex;align-items:center;min-height:44px}
.ap-fv-logo img{height:22px;width:auto}
.ap-fv-links{display:flex;flex-wrap:wrap;gap:0 28px}
.ap-fv-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14.5px;color:rgba(255,255,255,.8);transition:color .2s}
.ap-fv-links a:hover{color:#fff}
.ap-fv-soc{display:flex;gap:8px}
.ap-fv-soc a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff;transition:background-color .2s,border-color .2s}
.ap-fv-soc a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.ap-fv-soc svg{width:18px;height:18px}
.ap-fv-group{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 30px;padding-top:6px;padding-bottom:6px;border-top:1px solid rgba(255,255,255,.06)}
.ap-fv-group span{font-size:12.5px;color:rgba(255,255,255,.48)}
.ap-fv-group a{display:inline-flex;align-items:center;min-height:44px}
.ap-fv-group img{display:block;height:14px;width:auto;opacity:.55;transition:opacity .2s}
.ap-fv-group a:hover img{opacity:.95}
.ap-fv-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 24px;padding-top:4px;padding-bottom:20px;font-size:12.5px;color:rgba(255,255,255,.48);border-top:1px solid rgba(255,255,255,.06)}
.ap-fv-legal>span{padding:13px 0;line-height:18px}
.ap-fv-legal a{display:inline-flex;align-items:center;min-height:44px;color:rgba(255,255,255,.62);transition:color .2s}
.ap-fv-legal a:hover{color:#fff}

/* ---------- Tablette ---------- */
@media(max-width:1060px){
  .ap-uses{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .ap-prod-grid,.ap-pitch,.ap-form-wrap,.ap-contact{grid-template-columns:minmax(0,1fr)}
  .ap-prod-grid--rev .ap-prod-copy{order:0}
  .ap-prod-grid .ap-visual,.ap-prod-grid .ap-video{order:-1}
  .ap-visual{aspect-ratio:16/10;max-width:720px;width:100%;justify-self:center}
  .ap-form-head{position:static}
  .ap-uses{grid-template-columns:repeat(3,minmax(0,1fr));height:auto}
  .ap-use{aspect-ratio:4/5}
  .ap-use-film{display:none}
}

/* ---------- Mobile : épuré, moins de texte ---------- */
@media(max-width:760px){
  .ap-hero{min-height:92svh}
  .ap-hero-veil{background:linear-gradient(180deg,rgba(9,9,9,.6) 0%,rgba(9,9,9,.32) 24%,rgba(9,9,9,.58) 52%,rgba(9,9,9,.97) 100%)}
  .ap-hero h1{margin-inline:auto}
  .ap-hero .lead{text-wrap:balance}
  .ap-private{justify-content:center;margin-top:16px;font-size:13px}
  /* bouton pause du film : en haut à droite, sous la barre de navigation (en bas, il chevaucherait les chiffres) */
  .ap-hero .cx-pp{top:88px;bottom:auto;right:14px}
  .ap-stats li{padding:0}
  .ap-stats a{flex-direction:column;align-items:flex-start;gap:4px;padding:14px 8px 14px 0}
  .ap-stats a span{font-size:12px}
  .ap-steps{grid-template-columns:minmax(0,1fr);gap:10px}
  .ap-steps li{padding:16px 18px;gap:14px}
  .ap-steps h3{font-size:16.5px;margin:6px 0 3px}
  .ap-steps p{font-size:14px}
  .ap-logo{height:21px;margin-bottom:18px}
  .ap-visual{border-radius:22px}
  .ap-visual figcaption{left:18px;right:18px;bottom:16px}
  .ap-visual figcaption b{font-size:44px}
  .ap-visual figcaption span{font-size:14px}
  .ap-facts li{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px 0}
  .ap-facts b{font-size:18px}
  .ap-facts span{font-size:14px}
  .ap-share .btn{flex:1 1 100%}
  .ap-pitch{padding:20px;border-radius:22px;gap:18px}
  .ap-pitch h3{font-size:18px}
  .ap-video .cg-reel{width:min(76vw,300px)}
  /* rails horizontaux : la page ne déborde jamais, seul le rail défile */
  .ap-uses,.ap-reels{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:22px -24px 0;padding:0 24px 4px;scrollbar-width:none;max-width:none}
  .ap-uses::-webkit-scrollbar,.ap-reels::-webkit-scrollbar{display:none}
  .ap-use{flex:0 0 64%;aspect-ratio:4/5;scroll-snap-align:center;border-radius:18px}
  .ap-reels{margin-top:0}
  .ap-reel{flex:0 0 60%;scroll-snap-align:center;border-radius:20px}
  .ap-kpis{margin-bottom:22px}
  .ap-kpis li{padding:18px 6px}
  .ap-kpis b{font-size:clamp(24px,7.4vw,32px)}
  .ap-kpis li>span{font-size:12px}
  .ap-comm-cta .btn{flex:1 1 100%}
  .ap-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-template-areas:"p1 p2" "lc lc" "ra p3" "ev ev"}
  .ap-b{border-radius:18px}
  .ap-b-lc,.ap-b-ev{aspect-ratio:16/10}
  .ap-b figcaption{left:12px;right:12px;bottom:11px}
  .ap-b figcaption b{font-size:15px}
  .ap-b figcaption span{font-size:12px}
  .ap-b-lc figcaption b,.ap-b-ev figcaption b{font-size:17px}
  .ap-credit{font-size:10.5px}
  .ap-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:18px 12px;padding:18px 14px}
  .ap-group-t{grid-column:1/-1}
  .ap-group img{height:15px}
  .ap-need{margin-top:18px}
  .ap-form{padding:20px 16px;border-radius:24px;gap:26px}
  .ap-row{grid-template-columns:minmax(0,1fr)}
  .ap-grid,.ap-row{gap:14px}
  .ap-leg{font-size:15px;margin-bottom:14px}
  .ap-type-card{min-height:146px;padding:16px;border-radius:18px}
  .ap-type-name{font-size:16px}
  .ap-type-amt b{font-size:30px}
  .ap-consent{padding:14px 16px;font-size:14px}
  .apage .ap-form .ap-send{padding:16px 18px;font-size:15.5px}
  .ap-trust{gap:10px}
  .ap-fv-cta{padding-top:88px;padding-bottom:36px;gap:22px}
  .ap-fv-cta h2{font-size:clamp(27px,7.6vw,34px)}
  .ap-fv-btns{width:100%;flex-direction:column}
  .ap-fv-btns .btn{width:100%}
  .ap-fv-bar{flex-direction:column;justify-content:center;gap:6px;padding-top:20px;padding-bottom:12px}
  .ap-fv-links{justify-content:center;gap:0 22px}
  .ap-fv-group{gap:0 24px;padding-top:10px;padding-bottom:10px}
  .ap-fv-group span{width:100%;padding-top:6px;text-align:center}
  .ap-fv-group img{height:13px}
  .ap-fv-legal{gap:0 18px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .ap-contact-btns .btn{flex:1 1 100%}
  .ap-dock{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:50;
    padding:7px;border-radius:20px;background:rgba(16,17,20,.84);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
    box-shadow:0 18px 40px -16px rgba(0,0,0,.8);transform:translateY(calc(100% + 24px));visibility:hidden;transition:transform .45s var(--ease-out),visibility 0s linear .45s}
  .ap-dock.on{transform:none;visibility:visible;transition:transform .45s var(--ease-out)}
  .ap-dock a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:14px;font-weight:600;font-size:14.5px;color:#fff;white-space:nowrap}
  .ap-dock svg{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .ap-dock-tel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
  .ap-dock-tel svg{fill:currentColor;stroke:none}
  .ap-dock-go{background:var(--g-btn);box-shadow:0 8px 22px -8px rgba(0,110,255,.7)}
}
@media(max-width:560px){
  /* service : deux cartes en lignes (pastille de choix, nom, montant à droite) */
  .ap-svc{grid-template-columns:minmax(0,1fr);gap:10px}
  .ap-type-card{grid-template-columns:22px minmax(0,1fr) auto;grid-template-rows:auto auto;grid-template-areas:"dot name amt" "dot what amt";column-gap:14px;min-height:0;padding:16px}
  .ap-type-dot{align-self:center}
  .ap-type-what{margin-top:2px;font-size:13px}
  .ap-type-amt{align-self:center;flex-direction:column;align-items:flex-end;gap:3px;padding-top:0;text-align:right}
  .ap-type-amt b{font-size:26px}
  .ap-type-amt small{font-size:11.5px}
  .ap-trust{grid-template-columns:minmax(0,1fr);justify-items:center}
  .ap-trust li{flex-direction:row}
}
@media(max-width:420px){
  .ap-uses,.ap-reels{margin-inline:-16px;padding-inline:16px}
  .ap-fv-links{gap:0 16px}
  .ap-fv-links a{font-size:14px}
  .ap-dock a{font-size:14px;gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .ap-dock{transition:none}
  .cxpage .ap-use.rv.in:hover img,.cxpage .ap-b.rv.in:hover img{transform:none}
  .ap-send-go,.ap-type-card,.ap-f input,.ap-f textarea,.ap-consent{transition:none}
}

/* ---------- /apporteurs, 8 oct. 2026 : conciergerie en trois étapes, formulaire court ---------- */
.ap-cg .sec-head .ap-logo{margin:0 auto 18px;display:block}
.ap-cg-foot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-top:clamp(26px,3.5vw,40px)}
.ap-cg-foot .ap-types{max-width:62ch}
.ap-cg-foot .ap-share{justify-content:center}
.ap-more{border:1px solid var(--hair);border-radius:16px;background:rgba(255,255,255,.02);margin:4px 0 2px}
.ap-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;font-weight:500;font-size:15px}
.ap-more summary::-webkit-details-marker{display:none}
.ap-more summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s var(--ease-out,ease)}
.ap-more[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.ap-more summary em{font-style:normal;font-size:12.5px;color:var(--muted)}
.ap-more .ap-grid{padding:4px 16px 16px}
.ap-more summary:focus-visible{outline:2px solid #0099ff;outline-offset:2px;border-radius:16px}
@media(max-width:760px){.ap-cg-foot .ap-share{width:100%}.ap-cg-foot .ap-share .btn{flex:1 1 100%}}

/* ============================================================
   13 oct. 2026 — règle mobile du dirigeant (09/10/2026) : aucun rail horizontal ni bouton pause sur mobile.
   Les trois étapes et les usages passent en grille fixe ; le film du hero tourne sans bouton.
   Guides du propriétaire (.cx-guides, maillage vers le journal) : cartes .zone-card, titres seuls sur mobile.
   ============================================================ */
.cx-guides .zone-card{padding-right:44px}
@media(max-width:760px){
  .cx-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;scroll-snap-type:none;margin:0;padding:0}
  .cx-step{flex:none;border-radius:18px}
  .cx-step>div:last-child{padding:14px 14px 16px}
  .cx-step h3{font-size:16px;margin-bottom:0}
  .cx-n{width:26px;height:26px;font-size:12px;margin-bottom:10px}
  .cx-step-big{grid-column:1/-1;flex-direction:row;align-items:center}
  .cx-step-big .cx-70{aspect-ratio:auto;flex:0 0 44%;padding:20px 0}
  .cx-step-big .cx-70 b{font-size:58px}
  .cx-step-big>div:last-child{flex:1 1 auto;padding:16px 16px 16px 0}
  .cx-head-acts .cx-arrow{display:none}
  .cx-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;scroll-snap-type:none;padding:0 24px}
  .cx-use{flex:none;border-radius:18px}
  .cx-use figcaption{left:12px;right:12px;bottom:12px}
  .cx-use figcaption b{font-size:16px}
  .cx-use figcaption span{display:none}
  .cx-use:last-child{grid-column:1/-1;aspect-ratio:16/10}
  .cx-pp{display:none}
  .cx-guides .zone-card{padding-right:34px}
  .cx-guides .zone-card span{display:none}
  .cx-guides .zone-card b{font-size:15px;line-height:1.25}
}
@media(max-width:420px){.cx-steps{margin:0;padding:0}.cx-rail{padding:0 16px}}
/* Pages villes (13/10/2026) : guides à lire sous le titre de la FAQ (maillage vers le journal) */
.cv-reads{list-style:none;display:flex;flex-direction:column;gap:2px;margin-top:18px;padding:0}
.cv-reads a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--hair);font-size:15px;line-height:1.4;color:#fff;text-decoration:none;transition:color .2s}
.cv-reads a i{font-style:normal;color:#7cc4ff;flex:none;transition:transform .3s var(--ease-out)}
@media(hover:hover){.cv-reads a:hover{color:#cfe9ff}.cv-reads a:hover i{transform:translateX(4px)}}
@media(max-width:760px){.cv-reads{margin-top:12px}.cv-reads a{font-size:14.5px;padding:10px 0}}
