/* Picsoo Mauritius : charte picsoo.cloud (bleu nuit, vert, blanc, Poppins) avec une mise en scène immersive.
   Layout : bandeaux bleu nuit texturés par la vague Picsoo, captures réelles du logiciel en vitrine et en défilé,
   sections blanches pour lire, trio bleu / gris / vert, boutons rectangulaires. */
:root{
  --nuit:#093A59; --nuit-profond:#052438; --nuit-carte:#0D4466;
  --vert:#36DF68; --lien:#166AEA;
  --blanc:#FFFFFF; --gris:#F3F3F3; --gris-fond:#EFF1F2;
  --encre:#20303C; --encre-douce:#5B6B78; --sur-nuit:#CFE0EA; --filet:#DCE4EA; --filet-nuit:rgba(207,224,234,.16);
  --font:"Poppins","Avenir Next","Segoe UI",Arial,sans-serif;
  --r-btn:0; --r-ecran:0;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--blanc);color:var(--encre);font:400 16px/1.65 var(--font);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--lien)}
:focus-visible{outline:3px solid var(--vert);outline-offset:2px}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.15;text-wrap:balance;color:var(--nuit)}
p{margin:0}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:20px}
.vert{color:var(--vert)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-btn);padding:13px 24px;font:600 15px var(--font);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn-vert{background:var(--vert);color:var(--nuit)}
.btn-vert:hover{background:#2FC85D}
.btn-nuit{background:var(--nuit);color:var(--blanc)}
.btn-nuit:hover{background:var(--nuit-profond)}
.btn-contour{border-color:rgba(255,255,255,.55);color:var(--blanc)}
.btn-contour:hover{background:rgba(255,255,255,.08)}
.btn-contour-nuit{border-color:var(--nuit);color:var(--nuit)}
.btn-contour-nuit:hover{background:var(--gris)}

/* ---------- barre de navigation ---------- */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--nuit-profond);border-bottom:1px solid var(--filet-nuit)}
.topbar .wrap{display:flex;align-items:center;gap:24px;padding-block:12px}
.logo img{height:34px;width:auto}
.menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0 0 0 auto;padding:0}
.menu > li{position:relative}
.menu a,.menu button{display:block;color:var(--blanc);text-decoration:none;font:600 14px var(--font);padding:10px 12px;border:0;background:none;cursor:pointer;border-radius:var(--r-btn)}
.menu a:hover,.menu button:hover,.menu a[aria-current="page"],.menu button.courant{color:var(--vert)}
.menu .sous{position:absolute;left:0;top:100%;min-width:230px;background:var(--nuit-profond);border:1px solid var(--filet-nuit);border-radius:0;padding:8px;list-style:none;margin:0;box-shadow:none}
.menu .sous a{font-weight:500;padding:9px 12px}
.menu .sous .titre{display:block;color:var(--sur-nuit);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px 4px}
.topbar .btn{padding:10px 18px;font-size:14px}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--filet-nuit);color:var(--blanc);border-radius:var(--r-btn);padding:8px 12px;font:600 14px var(--font)}
@media (max-width:1200px){
  .burger{display:block}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--nuit-profond);padding:12px 20px 20px;border-bottom:1px solid var(--filet-nuit);max-height:80vh;overflow-y:auto}
  .menu.ouvert{display:flex}
  .menu .sous{position:static;box-shadow:none;border:0;padding:0 0 0 12px;display:block!important}
  .menu > li > button{display:none}
  .topbar .btn{display:none}
  .menu .cta-mobile{display:block;margin-top:10px}
}
@media (min-width:1201px){.menu .cta-mobile{display:none}}
.menu .cta-mobile a{background:var(--vert);color:var(--nuit);text-align:center}
.menu .cta-mobile a.login-mobile{background:none;border:2px solid rgba(255,255,255,.55);color:var(--blanc)}
.btn-login{border-color:rgba(255,255,255,.55);color:var(--blanc)}
.btn-login:hover{border-color:var(--vert);color:var(--vert)}
.topbar .btn-login + .btn{margin-left:-12px}

/* ---------- bandeaux bleu nuit ---------- */
.nuit-zone{position:relative;background:var(--nuit-profond);color:var(--sur-nuit);isolation:isolate;overflow:hidden}
.nuit-zone::before{content:"";position:absolute;inset:0;z-index:-2;background:url("../img/hero-wave.jpg") center/cover no-repeat;opacity:.9}
.nuit-zone::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,36,56,.35) 0%,rgba(5,36,56,.85) 100%)}
.nuit-zone h1,.nuit-zone h2,.nuit-zone h3{color:var(--blanc)}
.fumee::before{background-image:url("../img/pq-visuel.png")}

/* hero d'accueil */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center;padding-block:72px 64px}
.surtitre{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--sur-nuit);border:1px solid var(--filet-nuit);border-radius:var(--r-btn);padding:6px 12px;background:rgba(5,36,56,.5)}
.surtitre i{width:8px;height:8px;background:var(--vert);display:inline-block}
.hero h1{font-size:clamp(36px,5.2vw,68px);line-height:1.04;letter-spacing:-.025em;margin-top:22px}
.hero .accroche{color:var(--vert);font-weight:600;font-size:clamp(18px,1.8vw,22px);margin-top:20px}
.hero .chapo{margin-top:12px;max-width:52ch;font-size:17px}
.hero .actions,.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero .note{font-size:13px;margin-top:14px;color:var(--sur-nuit)}
.ecran-flottant{position:relative}
.ecran-flottant img{width:100%;height:auto;transform:scale(1.25) translateY(calc(var(--p,0) * -60px));transform-origin:center;will-change:transform}
@media (max-width:900px){.ecran-flottant img{transform:none}}
@media (max-width:900px){.hero{grid-template-columns:1fr;padding-block:44px}}

/* preuves */
.preuves{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--filet-nuit);border:1px solid var(--filet-nuit);margin-bottom:56px}
.preuves div{background:rgba(5,36,56,.72);padding:20px 22px}
.preuves b{display:block;color:var(--blanc);font-size:22px;font-weight:700;line-height:1.2}
.preuves span{font-size:13.5px}
@media (max-width:820px){.preuves{grid-template-columns:1fr 1fr}}

/* hero de page intérieure */
.page-hero{padding-block:64px 56px}
.fil{font-size:13px;color:var(--sur-nuit);margin-bottom:16px}
.fil a{color:var(--sur-nuit);text-decoration:none}.fil a:hover{color:var(--vert)}
.page-hero h1{font-size:clamp(32px,4.4vw,56px);letter-spacing:-.02em;max-width:22ch}
.page-hero p{margin-top:16px;max-width:62ch;font-size:17px}
.page-hero.avec-image{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:40px;align-items:center}
.page-hero.avec-image img{border-radius:var(--r-ecran);box-shadow:none}
@media (max-width:900px){.page-hero.avec-image{grid-template-columns:1fr}}

/* ---------- écrans de l'accueil ---------- */
.ecrans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-bottom:72px}
.ecrans .capture{width:auto}
.capture figcaption{display:block;padding:8px 12px;font-size:12.5px;font-weight:600;color:var(--nuit);background:var(--blanc);border-top:1px solid var(--filet)}
@media (max-width:900px){.ecrans{grid-template-columns:1fr 1fr}}
/* ---------- défilé de captures ---------- */
.defile{display:grid;gap:18px;padding-block:8px 64px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.rang{display:flex;gap:18px;width:max-content;animation:file var(--d,70s) linear infinite}
.rang.inverse{animation-direction:reverse}
.defile:hover .rang{animation-play-state:paused}
@keyframes file{to{transform:translateX(-50%)}}
.capture{flex:none;width:340px;margin:0;border-radius:0;overflow:hidden;background:var(--blanc);border:1px solid var(--filet-nuit);box-shadow:none}
.capture img{width:100%;height:200px;object-fit:cover;object-position:top left}
.capture span{display:block;padding:8px 12px;font-size:12.5px;font-weight:600;color:var(--nuit);background:var(--blanc);border-top:1px solid var(--filet)}

/* ---------- sections ---------- */
.section{padding-block:88px}
.section.gris{background:var(--gris)}
.section.serre{padding-block:56px}
.entete{max-width:780px}
.entete.centre{text-align:center;margin-inline:auto}
.etiquette{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nuit);border-bottom:3px solid var(--vert);padding-bottom:4px;margin-bottom:16px}
.nuit-zone .etiquette{color:var(--blanc)}
.entete h2{font-size:clamp(28px,3.6vw,46px);letter-spacing:-.02em}
.entete p{color:var(--encre-douce);margin-top:14px;font-size:17px}
.nuit-zone .entete p{color:var(--sur-nuit)}

/* trio bleu / gris / vert */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.trio article{padding:48px 36px;display:grid;gap:14px;align-content:start}
.trio svg{width:56px;height:56px;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.trio h3{font-size:20px}
.trio p{font-size:15px}
.t-nuit{background:var(--nuit);color:var(--sur-nuit)}.t-nuit h3{color:var(--blanc)}.t-nuit svg{stroke:var(--vert)}
.t-gris{background:var(--gris)}.t-gris svg{stroke:var(--nuit)}
.t-vert{background:var(--vert);color:var(--nuit)}.t-vert svg{stroke:var(--nuit)}
.trio a{font-weight:600;color:inherit}
@media (max-width:860px){.trio{grid-template-columns:1fr}}

/* grille d'atouts (icônes) */
.atouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px}
.atout{border:1px solid var(--filet);border-radius:0;padding:28px;display:grid;gap:10px;align-content:start;background:var(--blanc);transition:border-color .2s,transform .2s}
.atout:hover{border-color:var(--vert)}
.atout svg{width:44px;height:44px;fill:none;stroke:var(--nuit);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.atout h3{font-size:18px;font-weight:600}
.atout p{color:var(--encre-douce);font-size:15px}
.nuit-zone .atout{background:rgba(13,68,102,.55);border-color:var(--filet-nuit)}
.nuit-zone .atout p{color:var(--sur-nuit)}
.nuit-zone .atout svg{stroke:var(--vert)}
@media (max-width:900px){.atouts{grid-template-columns:1fr 1fr}}
@media (max-width:580px){.atouts{grid-template-columns:1fr}}

/* vitrine : fonctionnalités avec capture */
.vitrine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:48px}
.carte-capture{background:var(--blanc);border:1px solid var(--filet);border-radius:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.carte-capture:hover{box-shadow:none}
.carte-capture img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left;border-bottom:1px solid var(--filet);background:var(--gris)}
.carte-capture div{padding:20px 22px 24px;display:grid;gap:8px}
.carte-capture h3{font-size:18px}
.carte-capture p{font-size:14.5px;color:var(--encre-douce)}
.carte-capture.large{grid-column:span 2}
@media (max-width:900px){.vitrine{grid-template-columns:1fr 1fr}.carte-capture.large{grid-column:span 2}}
@media (max-width:580px){.vitrine{grid-template-columns:1fr}.carte-capture.large{grid-column:auto}}

/* deux colonnes texte + image */
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.duo + .duo{margin-top:80px}
.duo.inverse > :first-child{order:2}
.duo img{border:1px solid var(--filet)}
.duo h2{font-size:clamp(26px,3vw,38px)}
.duo p{color:var(--encre-douce);margin-top:14px}
@media (max-width:860px){.duo{grid-template-columns:1fr;gap:28px}.duo.inverse > :first-child{order:0}}

/* liste à puces carrées */
.liste{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.liste li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px}
.liste li::before{content:"";width:11px;height:11px;margin-top:8px;background:var(--vert)}
.liste b{color:var(--nuit);font-weight:600}
.nuit-zone .liste b{color:var(--blanc)}

/* cartes de fonctionnalités (gestion commerciale) */
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:44px}
.cartes article{background:rgba(13,68,102,.6);border:1px solid var(--filet-nuit);border-radius:0;padding:24px}
.cartes h3{font-size:17px;color:var(--blanc)}
.cartes p{margin-top:8px;font-size:14.5px}
.cartes article::before{content:"";display:block;width:28px;height:4px;background:var(--vert);margin-bottom:16px}

/* tarifs */
.offres{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:44px}
.offre{background:var(--blanc);border:1px solid var(--filet);border-radius:0;padding:28px;display:flex;flex-direction:column;gap:10px}
.offre.phare{background:var(--nuit);border-color:var(--nuit);color:var(--sur-nuit)}
.offre.phare h3{color:var(--blanc)}
.offre .gamme{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--encre-douce)}
.offre.phare .gamme{color:var(--vert)}
.offre h3{font-size:22px}
.offre .pour{font-size:14px;color:var(--encre-douce)}
.offre.phare .pour{color:var(--sur-nuit)}
.prix{display:grid;gap:0;margin-top:8px;border-top:1px solid var(--filet)}
.offre.phare .prix{border-color:var(--filet-nuit)}
.prix div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--filet);font-size:15px}
.offre.phare .prix div{border-color:var(--filet-nuit)}
.prix b{color:var(--nuit);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.offre.phare .prix b{color:var(--vert)}
.prix small{display:block;color:var(--encre-douce);font-size:12.5px}
.offre.phare .prix small{color:var(--sur-nuit)}
.offre .btn{margin-top:auto}
.mention{font-size:13px;color:var(--encre-douce);margin-top:18px}
.tableau{overflow-x:auto;border:1px solid var(--filet);border-radius:0;background:var(--blanc);margin-top:44px}
.tableau table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tableau th{background:var(--nuit);color:var(--blanc);text-align:left;font-size:13px;font-weight:600;padding:12px 20px}
.tableau td{padding:12px 20px;border-bottom:1px solid var(--filet)}
.tableau td.n,.tableau th.n{text-align:right}
.tableau td.n{font-weight:700;color:var(--nuit)}
.choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:44px}
.choix a{display:grid;gap:12px;text-decoration:none;color:var(--sur-nuit);background:rgba(13,68,102,.6);border:1px solid var(--filet-nuit);border-radius:0;padding:36px;transition:border-color .2s,transform .2s}
.choix a:hover{border-color:var(--vert)}
.choix h2{font-size:26px;color:var(--blanc)}
.choix span.lien{color:var(--vert);font-weight:600}
@media (max-width:760px){.choix{grid-template-columns:1fr}}

/* rôles outsourcing */
.roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:44px}
.roles article{padding:36px}
.roles .r1{background:var(--gris)}
.roles .r2{background:var(--nuit);color:var(--sur-nuit)}
.roles .r2 h3{color:var(--blanc)}
.roles h3{font-size:21px;margin-bottom:14px}
@media (max-width:760px){.roles{grid-template-columns:1fr}}
.citation{margin-top:32px;font-size:19px;font-weight:600;color:var(--nuit);text-align:center;text-wrap:balance}

/* détail des fonctionnalités */
.detail{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:start}
.sommaire{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow-y:auto;border:1px solid var(--filet);border-radius:0;padding:14px}
.sommaire b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--encre-douce);margin:4px 8px 8px}
.sommaire a{display:block;padding:6px 8px;border-radius:0;color:var(--encre);text-decoration:none;font-size:14px}
.sommaire a:hover{background:var(--gris);color:var(--nuit)}
.bloc-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:32px;align-items:start;padding-block:36px;border-bottom:1px solid var(--filet);scroll-margin-top:90px}
.bloc-detail.sans-image{grid-template-columns:1fr}
.bloc-detail h2{font-size:24px}
.bloc-detail p{color:var(--encre-douce);margin-top:10px}
.bloc-detail img{border:1px solid var(--filet);border-radius:0}
@media (max-width:960px){.detail{grid-template-columns:1fr}.sommaire{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:4px}.sommaire b{width:100%}.bloc-detail{grid-template-columns:1fr}}

/* vidéos */
.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin-top:44px}
.video{display:block;text-decoration:none;color:var(--encre);border:1px solid var(--filet);border-radius:0;overflow:hidden;background:var(--blanc);transition:transform .2s,border-color .2s}
.video:hover{border-color:var(--vert)}
.video .vignette{position:relative}
.video img{width:100%;aspect-ratio:16/9;object-fit:cover}
.video .lecture{position:absolute;inset:0;display:grid;place-items:center}
.video .lecture i{width:56px;height:56px;border-radius:0;background:var(--vert);display:grid;place-items:center}
.video .lecture i::after{content:"";border-left:16px solid var(--nuit);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.video .duree{position:absolute;right:10px;bottom:10px;background:rgba(5,36,56,.85);color:var(--blanc);font-size:12px;font-weight:600;padding:2px 8px;border-radius:0;font-variant-numeric:tabular-nums}
.video b{display:block;padding:14px 16px;color:var(--nuit)}

/* FAQ */
.faq{max-width:860px;margin:44px auto 0;display:grid;gap:12px}
.faq details{border:1px solid var(--filet);border-radius:0;background:var(--blanc)}
.faq summary{list-style:none;cursor:pointer;padding:18px 56px 18px 22px;font-weight:600;color:var(--nuit);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--nuit)}
.faq details[open] summary::after{content:"–"}
.faq details[open]{border-color:var(--vert)}
.faq details > div{padding:0 22px 20px;color:var(--encre-douce)}

/* formulaires */
.formulaire{display:grid;gap:14px;max-width:560px}
.formulaire label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--nuit)}
.nuit-zone .formulaire label{color:var(--blanc)}
.formulaire input,.formulaire select,.formulaire textarea{font:400 15px var(--font);padding:12px 14px;border:1px solid var(--filet);border-radius:var(--r-btn);background:var(--blanc);color:var(--encre);min-width:0}
.formulaire .deux{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.formulaire .deux{grid-template-columns:1fr}}
.merci{margin-top:12px;font-weight:600;color:var(--nuit)}
.nuit-zone .merci{color:var(--vert)}

/* coordonnées */
.coord{display:grid;gap:10px;font-size:16px}
.coord b{color:var(--nuit);user-select:all}
.nuit-zone .coord b{color:var(--blanc)}

/* texte légal */
.legal{max-width:860px;margin-inline:auto}
.legal h2{font-size:22px;margin:36px 0 10px}
.legal p{color:var(--encre);margin:0 0 12px;font-size:15px}

/* bandeau final */
.final{text-align:center;padding-block:96px}
.final h2{font-size:clamp(30px,4vw,52px);letter-spacing:-.02em;max-width:20ch;margin-inline:auto}
.final p{margin:16px auto 0;max-width:56ch;font-size:17px}
.final .actions{justify-content:center}

/* pied de page */
footer{background:var(--nuit);color:var(--sur-nuit);font-size:14px;padding-block:56px 32px}
.pied{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr)) 1.3fr;gap:28px}
footer h4{color:var(--blanc);font-size:15px;margin-bottom:12px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{color:var(--sur-nuit);text-decoration:none}
footer a:hover{color:var(--vert)}
footer .logo img{height:32px;margin-bottom:14px}
footer .bas{margin-top:40px;padding-top:20px;border-top:1px solid var(--filet-nuit);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12.5px}
@media (max-width:900px){.pied{grid-template-columns:1fr 1fr}}


/* ---------- mouvement ---------- */
/* fond à la vague : dérive lente */
.nuit-zone::before{animation:derive 26s ease-in-out infinite alternate}
@keyframes derive{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.12) translate(-2%,1.5%)}}
/* entrée du hero, élément par élément */
.hero > div:first-child > *, .page-hero > div > *{animation:monte 1s cubic-bezier(.16,1,.3,1) both}
.hero > div:first-child > :nth-child(2), .page-hero > div > :nth-child(2){animation-delay:.08s}
.hero > div:first-child > :nth-child(3), .page-hero > div > :nth-child(3){animation-delay:.16s}
.hero > div:first-child > :nth-child(4){animation-delay:.24s}
.hero > div:first-child > :nth-child(5){animation-delay:.32s}
.hero > div:first-child > :nth-child(6){animation-delay:.4s}
.ecran-flottant, .page-hero.avec-image > img{animation:arrive 1.4s cubic-bezier(.16,1,.3,1) .2s both}
@keyframes monte{from{opacity:0;transform:translateY(26px)}}
@keyframes arrive{from{opacity:0;transform:translateY(50px) scale(.96)}}
/* apparitions au défilement, en cascade */
html.js .revele{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--delai,0s)}
html.js .revele.vu{opacity:1;transform:none}
/* trait vert qui se dessine sous les titres de section */
.entete h2::after,.duo h2::after{content:"";display:block;width:64px;height:4px;background:var(--vert);margin-top:18px;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.16,1,.3,1) .25s}
.entete.centre h2::after{margin-inline:auto;transform-origin:center}
.vu h2::after,.vu.entete h2::after,html:not(.js) h2::after{transform:scaleX(1)}
/* survol : la carte se remplit de bleu nuit */
.atout{position:relative;overflow:hidden;isolation:isolate;transition:border-color .3s,color .3s}
.atout::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--nuit);transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.atout:hover::before{transform:scaleY(1)}
.atout:hover h3{color:var(--blanc)}.atout:hover p{color:var(--sur-nuit)}.atout:hover svg{stroke:var(--vert)}
.atout h3,.atout p,.atout svg{transition:color .3s,stroke .3s}
/* images : léger zoom au survol */
.duo img,.carte-capture img,.capture img{transition:transform .8s cubic-bezier(.16,1,.3,1)}
.carte-capture{overflow:hidden}.carte-capture:hover img,.capture:hover img{transform:scale(1.04)}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.js .revele{opacity:1;transform:none}h2::after{transform:scaleX(1)!important}.ecran-flottant img{transform:scale(1.25)}}
.vert.bloc{display:block}
.nw{white-space:nowrap}
.atouts.quatre{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.atouts.quatre{grid-template-columns:1fr 1fr}}
@media (max-width:580px){.atouts.quatre{grid-template-columns:1fr}}
/* étapes numérotées */
.etapes{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:e}
.etapes li{background:var(--blanc);padding:36px 32px;border-top:4px solid var(--vert);display:grid;gap:10px;align-content:start}
.etapes li + li{border-left:1px solid var(--filet)}
.etapes b{font-size:56px;line-height:1;font-weight:700;color:var(--vert)}
.etapes h3{font-size:20px}
.etapes p{color:var(--encre-douce);font-size:15px}
@media (max-width:820px){.etapes{grid-template-columns:1fr}.etapes li + li{border-left:0;border-top:4px solid var(--vert)}}
/* pictos des deux espaces tarifaires */
.choix svg{width:60px;height:60px;padding:16px;box-sizing:content-box;background:var(--vert);fill:none;stroke:var(--nuit);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:background .3s}
.choix a:hover svg{background:var(--blanc)}
