/* ===================================================================
   Duplix — Chrome partagé (barre utilitaire + méga-menu + footer)
   Réutilisé sur toutes les pages. Classes préfixées .sc- pour éviter
   tout conflit avec la home (Momentum). Injecté par site-chrome.js.
   =================================================================== */
:root{
  --marine:#0F0841; --marine-2:#171041; --green:#3DFD82; --green-text:#21E368; --green-soft:#ECFFF3;
  --white:#fff; --grey:#EEEDF1; --ink-soft:#544e7d; --ink-faint:#7c7694;
  --display:'Fredoka',sans-serif; --body:'Outfit',sans-serif;
  --r:26px; --rc:10px; --rf:9999px;
  /* Marques adossées (décision Cyril 09/09/2026 : une marque citée porte son logo ou ses couleurs) */
  --brand-sites:#0B57D6; --brand-sites-2:#17C9E8;      /* Duplix Sites : bleu et cyan */
  --brand-data:#D45500; --brand-data-2:#FA6500;        /* Duplix Data : orange (texte foncé, accent vif) */
}
/* ---- Mentions de marque dans le texte ---- */
.brand{font-family:var(--display);font-weight:600;white-space:nowrap}
.brand-duplix{color:var(--marine)}
.brand-sites{color:var(--brand-sites)}
.brand-data{color:var(--brand-data)}
a.brand,a .brand{text-decoration:underline;text-underline-offset:3px}
/* ---- Logo d'entité en tête de carte (remplace le pictogramme) ---- */
.sc-card-logo{height:56px;display:flex;align-items:center;margin-bottom:18px}
.sc-card-logo .tile{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 18px;border-radius:14px}
.sc-card-logo .tile img{display:block;height:26px;width:auto}
.tile-duplix{background:var(--marine)}
.tile-sites{background:#06122B}
.tile-data{background:#0F0841}
.sc-scope *{box-sizing:border-box}

/* ---- Boutons (repris de la home) ---- */
.sc-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:600;font-size:15px;padding:12px 24px;border-radius:var(--rf);border:2px solid transparent;cursor:pointer;transition:transform .18s cubic-bezier(.3,1.4,.5,1),background .18s,box-shadow .18s;white-space:nowrap;text-decoration:none}
.sc-btn-primary{background:var(--green);color:var(--marine);box-shadow:0 6px 22px rgba(61,253,130,.32)}
.sc-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(61,253,130,.46)}
.sc-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.sc-btn-ghost:hover{background:rgba(255,255,255,.08);border-color:var(--green)}
.sc-btn-outline{background:#fff;color:var(--marine);border-color:var(--grey);box-shadow:0 5px 16px rgba(15,8,65,.06)}
.sc-btn-outline:hover{border-color:var(--marine);transform:translateY(-2px)}

/* ---- Barre utilitaire ---- */
.sc-topbar{position:fixed;top:0;left:0;right:0;height:38px;z-index:1001;background:var(--green);color:var(--marine);font-size:12.5px;font-weight:300;display:flex;align-items:center;transition:transform .35s ease}
.sc-topbar .sc-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
.sc-tb-l{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden}
.sc-tb-r{display:flex;gap:18px;align-items:center;white-space:nowrap}
.sc-topbar a,.sc-tb-item{color:var(--marine);text-decoration:none;cursor:pointer;font-weight:400;display:inline-flex;align-items:center;gap:6px}
.sc-tb-item:hover{opacity:.6}
.sc-topbar svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
/* 02/10/2026 (décision de Cyril) : plus de bouton dans cette barre ; « Connexion » et « Réserver une démo » vivent dans la barre de navigation */
body.sc-scrolled .sc-topbar{transform:translateY(-100%)}
@media(max-width:1100px){.sc-tb-item.opt{display:none}}
@media(max-width:820px){.sc-tb-l{display:none}.sc-topbar .sc-wrap{justify-content:center}}

/* ---- Barre de navigation ---- */
.sc-wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.sc-nav{position:fixed;top:38px;left:0;right:0;height:72px;z-index:1000;display:flex;align-items:center;transition:top .35s ease,background .3s,backdrop-filter .3s,border-color .3s;background:rgba(15,8,65,.55);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.10)}
body.sc-scrolled .sc-nav{top:0;background:rgba(15,8,65,.82)}
.sc-nav .sc-wrap{display:flex;align-items:center;justify-content:space-between;width:100%}
.sc-brand img{height:29px;display:block}
.sc-links{display:flex;align-items:center;gap:2px}
.sc-link{font-family:var(--display);font-weight:500;font-size:15px;color:#dcd9ee;padding:9px 14px;border-radius:var(--rc);transition:color .15s,background .15s;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;background:none;border:none}
.sc-link:hover,.sc-link.open{color:#fff;background:rgba(255,255,255,.08)}
.sc-caret{width:13px;height:13px;margin-left:1px;transition:transform .25s;opacity:.75;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.open .sc-caret{transform:rotate(180deg)}
.sc-nav-cta{display:flex;align-items:center;gap:14px}
.sc-login{font-family:var(--display);font-weight:500;font-size:15px;color:#fff;text-decoration:none}
.sc-login:hover{color:var(--green)}
.sc-burger{display:none;width:42px;height:42px;border:none;background:rgba(255,255,255,.08);border-radius:10px;cursor:pointer;align-items:center;justify-content:center}
.sc-burger span{display:block;width:18px;height:2px;background:#fff;position:relative}
.sc-burger span::before,.sc-burger span::after{content:'';position:absolute;left:0;width:18px;height:2px;background:#fff}
.sc-burger span::before{top:-6px}.sc-burger span::after{top:6px}
/* Barre de progression de défilement, sous le menu (toutes les pages depuis le 08/09/2026) */
.sc-scrollbar{position:absolute;left:0;bottom:0;height:2.5px;width:100%;pointer-events:none}
.sc-scrollbar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),var(--green-text));border-radius:0 4px 4px 0;box-shadow:0 0 10px rgba(61,253,130,.55);transition:width .08s linear}
/* Home : la barre, le menu et le pied de page s'alignent sur ses gouttières (.wrap : 48 px, 24 px sous 980 px) */
body[data-dpx-home] .sc-topbar .sc-wrap,body[data-dpx-home] .sc-nav .sc-wrap,body[data-dpx-home] .sc-foot .sc-wrap{padding:0 48px}
@media(max-width:980px){body[data-dpx-home] .sc-topbar .sc-wrap,body[data-dpx-home] .sc-nav .sc-wrap,body[data-dpx-home] .sc-foot .sc-wrap{padding:0 24px}}

/* ---- Méga-menu (panneaux) ---- */
.sc-mega-wrap{position:fixed;top:110px;left:0;right:0;z-index:999;pointer-events:none;transition:top .35s ease}
body.sc-scrolled .sc-mega-wrap{top:72px}
.sc-mega-backdrop{position:fixed;inset:0;z-index:998;background:rgba(10,5,34,.34);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s;pointer-events:none}
body.sc-mega-open .sc-mega-backdrop{opacity:1;visibility:visible}
.sc-mega{pointer-events:auto;width:min(1120px,calc(100vw - 36px));background:#fff;border:1px solid var(--grey);border-radius:22px;box-shadow:0 30px 70px rgba(15,8,65,.22);padding:30px;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;position:absolute;left:50%;transform:translateX(-50%) translateY(10px)}
.sc-mega.open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.sc-mega-grid{display:grid;gap:26px}
.sc-mega-cols{display:grid;grid-template-columns:repeat(var(--c,3),1fr);gap:14px 30px}
.sc-mega-promo{background:linear-gradient(155deg,var(--marine-2),var(--marine));color:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:center;min-width:230px}
.sc-mega.has-promo .sc-mega-grid{grid-template-columns:1fr 250px}
.sc-col-title{font-family:var(--display);font-weight:600;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}
.sc-item{display:flex;gap:13px;padding:11px 12px;border-radius:12px;text-decoration:none;transition:background .15s}
.sc-item:hover{background:#f5f4f9}
.sc-item-ic{transition:background .18s,color .18s,transform .18s}
.sc-item:hover .sc-item-ic{background:var(--marine);color:var(--green);transform:scale(1.06)}
.sc-item:hover .sc-item-tt{color:var(--marine)}
.sc-item-ic{flex:none;width:38px;height:38px;border-radius:11px;background:#eef0f7;color:var(--marine);display:grid;place-items:center}
.sc-item-ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sc-item-tt{display:block;font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--marine);line-height:1.2}
.sc-item-ds{display:block;font-size:12.5px;color:var(--ink-faint);line-height:1.4;margin-top:3px}
/* Mascotte Plix (09/10/2026) : pose « buste », qui salue depuis le coin bas droit de la carte « Duplix en action ». */
.sc-mega-promo.has-plix{position:relative;overflow:hidden;justify-content:flex-start;padding-bottom:124px}
.sc-promo-plix{position:absolute;width:170px;height:auto;right:-4px;bottom:-10px;pointer-events:none;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}
.sc-mega-promo.has-plix.plix-cut{padding-bottom:140px}
.plix-cut .sc-promo-plix{width:172px;right:-8px;bottom:-135px}
.plix-cut-s .sc-promo-plix{width:200px;right:-10px;bottom:-60px}
.sc-promo-ic{width:42px;height:42px;border-radius:11px;background:rgba(61,253,130,.14);color:var(--green);display:grid;place-items:center;margin-bottom:14px}
.sc-promo-ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sc-promo-tt{font-family:var(--display);font-weight:600;font-size:18px;margin-bottom:8px}
.sc-promo-ds{font-size:13.5px;color:#b9b4d6;line-height:1.5;margin-bottom:16px}
.sc-promo-link{font-family:var(--display);font-weight:600;font-size:14px;color:var(--green);display:inline-flex;align-items:center;gap:7px}
.sc-promo-link svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.sc-promo:hover .sc-promo-link svg{transform:translateX(4px)}

/* ---- Menu simple (liste déroulante compacte) ---- */
.sc-drop{pointer-events:auto;width:308px;background:#fff;border:1px solid var(--grey);border-radius:18px;box-shadow:0 24px 60px rgba(15,8,65,.2);padding:12px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s;position:absolute;left:40px}
.sc-drop.open{opacity:1;visibility:visible;transform:translateY(0)}
.sc-ditem{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:12px;text-decoration:none;transition:background .15s}
.sc-ditem:hover{background:var(--grey)}

/* ---- Footer ---- */
.sc-foot{background:#0a0530;color:#9a94c0;padding:64px 0 30px;font-size:14.5px}
.sc-foot-top{display:grid;grid-template-columns:1.5fr .9fr .9fr .9fr .9fr;gap:34px;padding-bottom:40px}
@media(max-width:1080px){.sc-foot-top{grid-template-columns:1fr 1fr 1fr}}
.sc-foot-top img{height:30px;margin-bottom:16px}
.sc-foot-top p{max-width:300px;line-height:1.6;color:#8780ab}
.sc-foot h4{font-family:var(--display);font-weight:600;color:#fff;font-size:15px;margin-bottom:16px}
.sc-foot ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0;padding:0}
.sc-foot a{color:#cfcbe6;text-decoration:none}.sc-foot a:hover{color:var(--green)}
.sc-foot-bot{display:flex;justify-content:space-between;align-items:center;gap:16px 30px;padding-top:30px;margin-top:10px;border-top:1px solid rgba(255,255,255,.07);flex-wrap:wrap;color:#7d77a3;font-size:13px;line-height:1.7}
.sc-foot-legal{display:flex;flex-wrap:wrap;align-items:center;row-gap:8px}
.sc-foot-legal a{color:#9a94c0;padding:2px 16px;border-left:1px solid rgba(255,255,255,.14);line-height:1.2;transition:color .18s}
.sc-foot-legal a:first-child{padding-left:0;border-left:none}
.sc-foot-legal a:hover{color:var(--green)}
.sc-foot-soc{display:flex;gap:12px}
.sc-foot-soc a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);display:grid;place-items:center}
.sc-foot-soc svg{width:17px;height:17px;fill:currentColor}

/* ---- Hero générique de page ---- */
.sc-hero{background:var(--marine);color:#fff;padding:160px 0 90px;position:relative;overflow:hidden;text-align:center}
.sc-hero .sc-mesh{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.sc-blob{position:absolute;border-radius:50%;filter:blur(72px);opacity:.5}
.sc-blob.a{width:520px;height:520px;background:radial-gradient(circle,rgba(61,253,130,.4),transparent 65%);top:-180px;right:-120px}
.sc-blob.b{width:440px;height:440px;background:radial-gradient(circle,rgba(11,106,232,.34),transparent 65%);bottom:-200px;left:-140px}
.sc-hero .sc-wrap{position:relative;z-index:2}
.sc-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:500;font-size:13.5px;color:var(--green);border:1px solid rgba(61,253,130,.3);background:rgba(61,253,130,.06);padding:7px 16px;border-radius:var(--rf);margin-bottom:22px}
.sc-hero h1{font-family:var(--display);font-weight:600;font-size:clamp(36px,5.2vw,60px);line-height:1.03;letter-spacing:-.02em;margin:0 0 18px}
.sc-hero h1 em{font-style:normal;color:var(--green)}
.sc-hero .sc-sub{font-size:20px;line-height:1.55;color:#b9b4d6;max-width:640px;margin:0 auto 34px}
.sc-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---- Sections génériques ---- */
.sc-section{padding:88px 0;position:relative}
.sc-section.alt{background:var(--grey)}
.sc-eyebrow{display:inline-block;font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--green-text);margin-bottom:14px}
.sc-h2{font-family:var(--display);font-weight:600;font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:-.015em;color:var(--marine);max-width:760px}
.sc-lead{font-size:19px;line-height:1.6;color:var(--ink-soft);max-width:680px;margin-top:16px}
.sc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.sc-card{background:#fff;border:1px solid var(--grey);border-radius:var(--r);padding:30px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s}
.sc-card:hover{transform:translateY(-9px);border-color:rgba(33,227,104,.45);box-shadow:0 32px 64px rgba(15,8,65,.15)}
.sc-card-ic{width:50px;height:50px;border-radius:13px;background:var(--green-soft);color:var(--green-text);display:grid;place-items:center;margin-bottom:18px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .25s,color .25s}
.sc-card:hover .sc-card-ic{transform:rotate(-6deg) scale(1.12);background:var(--marine);color:var(--green)}
.sc-card-ic svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sc-card h3{font-family:var(--display);font-weight:600;font-size:19px;color:var(--marine);margin:0 0 8px}
.sc-card p{color:var(--ink-soft);line-height:1.55;margin:0;font-size:15.5px}
.sc-cta-band{background:var(--marine);color:#fff;text-align:center;padding:90px 0;position:relative;overflow:hidden}
.sc-cta-band h2{font-family:var(--display);font-weight:600;font-size:clamp(28px,4vw,40px);margin:0 0 14px}
.sc-cta-band h2 em{font-style:normal;color:var(--green)}
.sc-cta-band p{color:#b9b4d6;font-size:18px;max-width:540px;margin:0 auto 28px}
.sc-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2}

/* ---- Responsive ---- */
@media(max-width:900px){
  .sc-foot-top{grid-template-columns:1fr 1fr;gap:30px}
  .sc-cards{grid-template-columns:1fr}
  .sc-mega-cols{grid-template-columns:1fr 1fr}
  .sc-mega.has-promo .sc-mega-grid{grid-template-columns:1fr}
  .sc-mega-promo{display:none}
}
@media(max-width:860px){
  .sc-links,.sc-login{display:none}
  .sc-burger{display:flex}
  .sc-wrap{padding:0 22px}
}
/* Drawer mobile */
.sc-drawer{position:fixed;inset:0;z-index:1100;background:var(--marine);transform:translateX(100%);transition:transform .35s ease;overflow-y:auto;padding:80px 26px 40px;display:flex;flex-direction:column;gap:6px}
.sc-drawer.open{transform:none}
.sc-drawer-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border:none;background:rgba(255,255,255,.08);border-radius:11px;color:#fff;font-size:26px;cursor:pointer}
.sc-dr-item{appearance:none;-webkit-appearance:none;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.08);width:100%;color:#fff;font-family:var(--display);font-weight:500;font-size:18px;padding:14px 6px;text-align:left;cursor:pointer;text-decoration:none;display:flex;justify-content:space-between;align-items:center}
.sc-dr-sub{display:flex;flex-direction:column}
.sc-dr-sub a{color:#b9b4d6;font-size:15px;font-family:var(--body);padding:9px 14px;text-decoration:none}
.sc-dr-panel{max-height:0;overflow:hidden;transition:max-height .3s ease}
.sc-dr-panel.open{max-height:600px}
.sc-drawer .sc-btn{margin-top:18px;justify-content:center}
body.sc-noscroll{overflow:hidden}

/* ---- Responsive mobile (compacité verticale + petits écrans) ---- */
@media(max-width:600px){
  .sc-hero{padding:118px 0 60px}
  .sc-hero .sc-sub{font-size:17px}
  .sc-hero-actions .sc-btn{width:100%;justify-content:center}
  .sc-section{padding:54px 0}
  .sc-cta-band{padding:60px 0}
  .sc-cta-band p{font-size:16px}
  .sc-cta-row .sc-btn{width:100%;justify-content:center}
  .sc-cards{margin-top:30px}
  .sc-card{padding:24px}
  .sc-lead{font-size:17px}
}
@media(max-width:480px){
  .sc-wrap{padding:0 18px}
  .sc-hero{padding:100px 0 48px}
  .sc-section{padding:42px 0}
  .sc-foot-top{grid-template-columns:1fr;gap:26px}
  .sc-foot-social a,.sc-foot-soc a{width:44px;height:44px}
}

/* ===== Pages légales ===== */
.lg-grid{display:grid;grid-template-columns:240px 1fr;gap:48px;margin-top:44px;align-items:start}
.lg-toc{position:sticky;top:130px;border:1px solid var(--grey);border-radius:16px;padding:20px 22px;background:#fff}
.lg-toc h4{font-family:var(--display);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:0 0 12px}
.lg-toc a{display:block;font-size:14px;color:var(--ink-soft);text-decoration:none;padding:6px 0;line-height:1.4;transition:color .15s,padding .15s}
.lg-toc a:hover{color:var(--green-text);padding-left:3px}
.lg-body{max-width:760px;min-width:0}
.lg-toc{min-width:0}
.lg-body table{width:100%}
.lg-body .lg-id{max-width:100%}
.lg-body h2{font-family:var(--display);font-weight:600;font-size:22px;color:var(--marine);margin:38px 0 12px;scroll-margin-top:130px}
.lg-body h2:first-child{margin-top:0}
.lg-body h3{font-family:var(--display);font-weight:600;font-size:16.5px;color:var(--marine);margin:22px 0 8px}
.lg-body p,.lg-body li{color:var(--ink-soft);line-height:1.7;font-size:15.5px}
.lg-body p{margin:0 0 14px}
.lg-body ul{margin:0 0 16px;padding-left:20px}
.lg-body li{margin-bottom:7px}
.lg-body a{color:var(--green-text);text-decoration:underline}
.lg-id{background:#f8f8fb;border:1px solid var(--grey);border-radius:14px;padding:8px 24px;margin:0 0 16px}
.lg-id dl{display:grid;grid-template-columns:auto 1fr;gap:0 18px;margin:0}
.lg-id dt{font-family:var(--display);font-weight:600;color:var(--marine);font-size:14px;padding:9px 0;border-bottom:1px solid var(--grey)}
.lg-id dd{margin:0;color:var(--ink-soft);font-size:14px;padding:9px 0;border-bottom:1px solid var(--grey)}
.lg-id dl>dt:last-of-type,.lg-id dl>dd:last-of-type{border-bottom:none}
.lg-updated{font-size:13.5px;color:var(--ink-faint);margin:2px 0 0}
.lg-todo{display:inline-block;background:#fff7e6;border:1px solid #f0d28a;border-radius:8px;padding:1px 8px;font-size:12px;color:#9a6b00;font-weight:600;font-family:var(--display)}
@media(max-width:820px){.lg-grid{grid-template-columns:1fr;gap:28px}.lg-toc{position:static}}

/* ===== Bannière cookies ===== */
.sc-cc{position:fixed;left:0;right:0;bottom:0;z-index:1100;background:#fff;border-top:1px solid var(--grey);box-shadow:0 -14px 44px rgba(15,8,65,.16);padding:14px 24px;transform:translateY(110%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.sc-cc.show{transform:none}
.sc-cc-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:14px 32px;flex-wrap:wrap}
.sc-cc-intro{flex:1 1 420px;min-width:0}
.sc-cc h4{font-family:var(--display);font-weight:600;font-size:15px;margin:0 0 3px;color:var(--marine)}
.sc-cc p{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:0}
.sc-cc p a{color:var(--green-text)}
.sc-cc-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-left:auto}
.sc-cc-btn{font-family:var(--display);font-weight:600;font-size:14px;padding:10px 18px;border-radius:10px;cursor:pointer;border:1px solid var(--grey);background:#fff;color:var(--marine);transition:.15s;min-height:44px}
.sc-cc-btn:hover{border-color:var(--marine)}
.sc-cc-btn.primary{background:var(--green);border-color:var(--green);color:var(--marine)}
.sc-cc-btn.primary:hover{filter:brightness(1.05)}
.sc-cc-btn.link{border:none;background:none;color:var(--ink-faint);text-decoration:underline;padding:10px 6px}
.sc-cc-prefs{display:none;flex:1 1 100%;grid-template-columns:repeat(3,1fr);gap:0 28px}
.sc-cc-prefs h4{grid-column:1/-1;margin:0 0 2px}
.sc-cc.prefs .sc-cc-prefs{display:grid}
.sc-cc.prefs .sc-cc-intro{display:none}
.sc-cc.prefs .sc-cc-row{margin-left:0}
.sc-cc-opt{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--grey)}
.sc-cc-opt .t{font-family:var(--display);font-weight:600;font-size:14px;color:var(--marine)}
.sc-cc-opt .d{font-size:12px;color:var(--ink-faint);margin-top:2px;line-height:1.4}
.sc-cc-sw{width:42px;height:24px;border-radius:9999px;background:#d9d8e2;position:relative;cursor:pointer;border:none;flex:none;padding:0}
.sc-cc-sw.on{background:var(--green-text)}
.sc-cc-sw.lock{opacity:.45;cursor:not-allowed}
.sc-cc-sw i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s}
.sc-cc-sw.on i{left:21px}
@media(max-width:860px){.sc-cc-prefs{grid-template-columns:1fr}}
@media(max-width:600px){.sc-cc{padding:12px 16px}.sc-cc-in{gap:10px}.sc-cc h4{font-size:14px}.sc-cc p{font-size:12.5px}.sc-cc-row{margin-left:0;width:100%;gap:8px}.sc-cc-btn{flex:1 1 auto;padding:10px 10px;font-size:13.5px;text-align:center}.sc-cc-btn.link{flex:0 0 auto;padding:10px 2px}}
/* Pictogramme en trait dans un texte (remplace les émojis, 08/09/2026) */
.sc-ti{display:inline-block;width:1em;height:1em;vertical-align:-.15em;margin-right:.35em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* Modules tiers derrière le consentement Marketing : carte de repli .sc-gate, module masqué tant que le bloc est .sc-gated */
.sc-gate{display:none}
.sc-gated>.sc-gate{display:block;background:#F5F5F9;border:1px solid var(--grey);border-radius:16px;padding:22px 24px;text-align:center}
.sc-gated .hs-form-frame,.sc-gated .meetings-iframe-container{display:none}
.sc-gate p{margin:0 0 14px;color:var(--ink-soft);font-size:14.5px;line-height:1.55}
.sc-gate p b{color:var(--marine)}
.sc-gate-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.sc-gate-alt{margin-top:14px;font-size:13.5px;color:var(--ink-faint)}
.sc-gate-alt a{color:var(--marine);font-weight:600;text-decoration:none}
.sc-gate-alt a:hover{color:var(--green-text)}

/* a11y & perf */
:focus-visible{outline:2px solid var(--green-text);outline-offset:2px;border-radius:3px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

.sc-link[aria-current="page"]{color:#fff;background:rgba(255,255,255,.08)}

html{scroll-behavior:smooth;scroll-padding-top:96px}
/* Ancres méga-menu : les sections (padding 88px) annulent ce padding pour que
   le sur-titre arrive pile sous la nav, comme les ancres posées sur une carte. */
.sc-section[id]{scroll-margin-top:-88px}
/* liens contextuels in-body (maillage interne) */
.flist li a,.plist li a,.feats li a,.obl p a,.sc-lead a,.sc-sub a{color:var(--green-text);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color .15s}
.flist li a:hover,.plist li a:hover,.feats li a:hover,.obl p a:hover,.sc-lead a:hover,.sc-sub a:hover{color:var(--green)}
.prodcard.flag .plist li a{color:var(--green)}
.sc-btn{transition:transform .15s,filter .15s,box-shadow .15s}
.sc-btn:active{transform:translateY(1px)}

/* boutons premium (shine au survol) */
.sc-btn-primary{position:relative;overflow:hidden}
.sc-btn-primary::after{content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);transition:left .55s;pointer-events:none}
.sc-btn-primary:hover::after{left:140%}
.sc-btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(61,253,130,.5)}

.sc-foot-social{display:flex;gap:10px;margin-top:18px}
.sc-foot-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);color:#cfcbe6;display:grid;place-items:center;transition:.18s}
.sc-foot-social a:hover{background:var(--green);color:var(--marine);transform:translateY(-2px)}
.sc-foot-social svg{width:18px;height:18px}
/* ===== Vie & dynamisme : apparition au défilement (ajoutée par JS, sous-pages) ===== */
.sc-rv{opacity:0;transform:translateY(40px) scale(.96);transition:opacity .5s ease,transform .72s cubic-bezier(.2,1.18,.32,1)}
.sc-rv.in{opacity:1;transform:none}
.cu-done{animation:cuPop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes cuPop{0%{transform:scale(1)}45%{transform:scale(1.18)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.sc-rv{opacity:1;transform:none;transition:none}.cu-done{animation:none}}

/* ---- Compteur « machine à sous » (bascule mensuel/annuel) ---- */
.sd{display:inline-block;height:1.08em;overflow:hidden;vertical-align:bottom}
.sd .sr{display:block;line-height:1.08}
@media(prefers-reduced-motion:reduce){.sd .sr{transition:none!important}}

/* ---- Bande de réassurance (pages conversion) ---- */
.sc-truststrip{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;align-items:center;background:var(--marine);color:#cfc9e8;border-radius:18px;padding:18px 28px;font-size:13.5px}
.sc-truststrip b{color:#fff;font-family:var(--display);font-weight:600}
.sc-truststrip .it{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.sc-truststrip .dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none}

/* ---- Encart calculateur de gain (réutilisable) ---- */
.sc-roi-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(120deg,#ECFFF3,#f4fff9 55%,#eafff3);border:1.5px solid rgba(33,227,104,.45);border-radius:20px;padding:22px 28px;box-shadow:0 16px 42px rgba(33,227,104,.14);text-align:left}
.sc-roi-cta .ic{width:52px;height:52px;border-radius:14px;background:var(--marine);color:var(--green);display:grid;place-items:center;flex:none}
.sc-roi-cta .ic svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sc-roi-cta .tx{flex:1;min-width:260px}
.sc-roi-cta .tt{font-family:var(--display);font-weight:600;font-size:18px;color:var(--marine);line-height:1.25}
.sc-roi-cta .ds{font-size:14px;color:var(--ink-soft);margin-top:4px;line-height:1.45}

/* ---- Survol de tuile unifié (même rendu que la home) ---- */
.sc-hovertile{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s,background .3s}
.sc-hovertile:hover{transform:translateY(-7px);border-color:rgba(33,227,104,.5)!important;box-shadow:0 26px 56px rgba(15,8,65,.15)}
.sc-card.sc-hovertile:hover{background:linear-gradient(180deg,#fff,#f4fffa)}

/* ---- « français » tricolore + drapeau (réutilisable) ---- */
.fr-tri{background:linear-gradient(90deg,#2b6fd6 0 33.33%,#fff 33.33% 66.66%,#EF4135 66.66% 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:inherit}
.fr-flag{display:inline-block;width:21px;height:14px;border-radius:2px;vertical-align:-2px;margin-left:6px;background:linear-gradient(90deg,#2b6fd6 33.33%,#fff 33.33% 66.66%,#EF4135 66.66%);box-shadow:0 0 0 1px rgba(15,8,65,.15)}
.sc-truststrip .fr-flag{vertical-align:-2px;margin-left:5px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}

/* Plan du site : page de préproduction — marqueur rouge (retirée au go-live) */
.sc-mega a[href="pages.html"],.sc-drawer a[href="pages.html"],.sc-mega a[href="pages.html"] .sc-item-tt,.sc-mega a[href="pages.html"] .sc-item-ds{color:#e11d2a!important}
.sc-mega a[href="pages.html"] .sc-item-ic{color:#e11d2a!important}
.sc-mega a[href="pages.html"] .sc-item-tt::after,.sc-drawer a[href="pages.html"]::after{content:" · préprod";font-weight:700;color:#e11d2a}

/* ---- Polices vendorisées (point 7, 08/09/2026) : Fredoka (titres) et Outfit (texte), servies par le site, aucun appel à Google Fonts ---- */
@font-face{font-family:'Fredoka';font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../fonts/fredoka-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:300 700;font-stretch:100%;font-display:swap;src:url(../fonts/fredoka-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Outfit';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/outfit-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Outfit';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/outfit-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ===================================================================
   Formulaires maison (moteur de formulaires, 12/09/2026)
   Classes .sc-f-, partagées par toutes les pages qui portent un
   formulaire. Aucun script tiers, aucun cookie : le formulaire
   s'affiche pour tout le monde, consentement ou pas — c'est la
   différence avec l'embed HubSpot qu'il remplace.
   =================================================================== */
.sc-f{display:flex;flex-direction:column;gap:17px}
.sc-f-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.sc-f-row{display:flex;flex-direction:column;gap:6px;min-width:0}
.sc-f-row>label{font-family:var(--display);font-weight:500;font-size:13.5px;color:var(--marine)}
.sc-f-row>label .opt{font-weight:400;color:var(--ink-faint)}
.sc-f-row input,.sc-f-row select,.sc-f-row textarea{
  font-family:var(--body);font-size:15px;color:var(--marine);background:#fff;
  border:1px solid var(--grey);border-radius:var(--rc);padding:11px 13px;width:100%;
  transition:border-color .16s,box-shadow .16s;-webkit-appearance:none;appearance:none}
.sc-f-row textarea{min-height:118px;resize:vertical;line-height:1.55}
.sc-f-row select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23544e7d' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:17px;padding-right:38px}
.sc-f-row input::placeholder,.sc-f-row textarea::placeholder{color:#a7a2bb}
.sc-f-row input:focus,.sc-f-row select:focus,.sc-f-row textarea:focus{
  outline:none;border-color:var(--green-text);box-shadow:0 0 0 3px var(--green-soft)}
.sc-f-row [aria-invalid="true"]{border-color:#c8341c}
.sc-f-row [aria-invalid="true"]:focus{border-color:#c8341c;box-shadow:0 0 0 3px #fbe9e5}
.sc-f-err{font-size:13px;color:#a82e1c;display:none}
.sc-f-row.bad .sc-f-err{display:block}

/* case à cocher : l'opt-in newsletter, et rien d'autre — jamais de consentement pré-coché */
.sc-f-check{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--ink-soft);line-height:1.5}
.sc-f-check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--green-text);
  -webkit-appearance:auto;appearance:auto;border-radius:4px;cursor:pointer}
.sc-f-check label{cursor:pointer}

/* boutons de choix : un groupe radio rendu en pastilles (canal « avis », 29/09/2026).
   Le bouton natif reste dans la page, accessible au clavier et aux lecteurs d'écran,
   seulement retiré de l'écran ; c'est son libellé qui se voit et se clique. */
.sc-f-choix{display:flex;flex-wrap:wrap;gap:10px}
.sc-f-row .sc-f-choix input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;border:0;pointer-events:none}
.sc-f-choix label{font-family:var(--display);font-weight:500;font-size:14.5px;color:var(--marine);background:#fff;
  border:1px solid var(--grey);border-radius:var(--rf);padding:10px 18px;cursor:pointer;
  transition:border-color .16s,background .16s,box-shadow .16s}
.sc-f-choix label:hover{border-color:var(--ink-faint)}
.sc-f-choix input:checked+label{background:var(--green-soft);border-color:var(--green-text);box-shadow:0 0 0 3px var(--green-soft)}
.sc-f-choix input:focus-visible+label{outline:2px solid var(--green-text);outline-offset:2px}
.sc-f-row.bad .sc-f-choix label{border-color:#c8341c}

/* piège à robots : hors flux, hors tabulation, invisible aux lecteurs d'écran */
.sc-f-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.sc-f-send{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:2px}
.sc-f-send .sc-btn{justify-content:center}
.sc-f-send .sc-f-legal{font-size:12.5px;color:var(--ink-faint);line-height:1.5;flex:1;min-width:190px}
.sc-f-send .sc-f-legal a{color:var(--ink-soft);text-underline-offset:2px}

/* bandeau de résultat : lu à voix haute (aria-live), jamais masqué par une animation */
.sc-f-status{border-radius:14px;padding:16px 18px;font-size:14.5px;line-height:1.55;display:none}
.sc-f-status.on{display:block}
.sc-f-status.ok{background:var(--green-soft);border:1px solid rgba(33,227,104,.42);color:#0b6b34}
.sc-f-status.ko{background:#FCEAE6;border:1px solid rgba(200,52,28,.32);color:#a82e1c}
.sc-f-status b{font-family:var(--display);font-weight:600;display:block;margin-bottom:4px;font-size:15.5px}
.sc-f-status a{color:inherit;font-weight:500}
.sc-f[hidden]{display:none}

@media(max-width:560px){.sc-f-grid{grid-template-columns:1fr}}

/* ===================================================================
   Être rappelé (02/10/2026) — la porte qui remplace le numéro
   La ligne sous les boutons des bandeaux de fin de page, et la fenêtre
   ouverte par tout lien [data-rappel] quand la page ne porte pas déjà
   le formulaire. Le formulaire lui-même garde les classes .sc-f-.
   Styles complets et préfixés : la fenêtre s'ouvre aussi sur la home,
   dont la feuille propre stylise h2, p et boutons à sa façon.
   =================================================================== */
.sc-cta-band p.sc-cta-alt{position:relative;z-index:2;font-size:15px;margin:22px auto 0;color:#b9b4d6}
.sc-cta-alt a{color:var(--green);font-family:var(--display);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(61,253,130,.45);padding-bottom:1px}
.sc-cta-alt a:hover{border-bottom-color:var(--green)}
dialog.sc-rappel-dlg{margin:auto;padding:0;border:0;border-radius:var(--r);background:#fff;color:var(--marine);width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 30px 90px rgba(15,8,65,.35);font-family:var(--body)}
dialog.sc-rappel-dlg::backdrop{background:rgba(15,8,65,.55)}
.sc-rappel-in{position:relative;padding:34px 34px 30px}
.sc-rappel-in::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--green),#0b6ae8)}
.sc-rappel-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--grey);background:#fff;color:var(--marine);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.sc-rappel-x:hover{border-color:var(--marine)}
.sc-rappel-k{display:inline-block;font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-text);margin:0 0 6px}
.sc-rappel-dlg h2{font-family:var(--display);font-weight:600;font-size:24px;line-height:1.25;letter-spacing:0;color:var(--marine);margin:0 0 8px;padding-right:44px}
.sc-rappel-dlg .sc-rappel-s{font-family:var(--body);font-size:15px;line-height:1.55;color:var(--ink-soft);margin:0 0 22px;max-width:none;text-align:left}
.sc-rappel-dlg .sc-f-legal a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px}
@media(max-width:560px){.sc-rappel-in{padding:28px 20px 22px}.sc-rappel-dlg h2{font-size:21px}}


/* ===== Mascotte Plix sur les sous-pages (10/10/2026) =====
   Plix surgit de derrière une ligne (le haut d'une carte, d'une barre) : la zone .sc-plix coupe tout ce qui dépasse
   en bas, l'image monte quand la zone entre à l'écran (classe .in posée par site-chrome.js). Décoratif, alt vide,
   masqué sous 1100 px (mobile et tablette : on n'y touche pas avant la mise en ligne). La spirale de la queue reste
   toujours visible : la ligne ne coupe que les pattes. Taille et place réglées dans chaque page. */
.sc-plix{position:absolute;overflow:hidden;pointer-events:none;z-index:2}
.sc-plix img{position:absolute;left:50%;bottom:0;width:var(--plix-w,150px);height:auto;margin-bottom:calc(-1 * var(--plix-cache,0px));transform:translate(-50%,105%);transition:transform .9s cubic-bezier(.2,1.15,.35,1) .15s;filter:drop-shadow(0 8px 12px rgba(15,8,65,.16))}
.sc-plix.in img{transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){.sc-plix img{transform:translate(-50%,0);transition:none}}
@media(max-width:1100px){.sc-plix{display:none}}
