/* Page Refonte SWM, coque commune : typographie de base, header, footer, menu mobile, dock, boutons et badges.
   Copie filtrée de pilot-base.css (pilote du 24/09/2026). Seules les règles globales sont gardées ;
   les règles .refonte-page de l'ancien contenu sont retirées. Header et footer : ne rien changer sans décision de Noham. */
:root:not(#swm-x),#swm-v2{--sw-blue:#2130ea;--sw-pink:#ff5ec4;--sw-lime:#c8ff3e;--sw-ink:#12131c;--sw-copy:#51576c;--sw-line:#e2e4ed;--sw-soft:#ffffff;--sw-grid:linear-gradient(#ffffff10 1px,transparent 1px),linear-gradient(90deg,#ffffff10 1px,transparent 1px)}
html:not(#swm-x){scroll-behavior:smooth;scroll-padding-top:110px}
body:not(#swm-x){margin:0;background:white;color:var(--sw-ink);font-family:'Space Grotesk',sans-serif;font-size:17px;line-height:1.65}
*:is(#swm-v2,#swm-v2 *){box-sizing:border-box}
img:is(#swm-v2,#swm-v2 *){max-width:100%;height:auto}
button:is(#swm-v2,#swm-v2 *),input:is(#swm-v2,#swm-v2 *),select:is(#swm-v2,#swm-v2 *),textarea:is(#swm-v2,#swm-v2 *){font:inherit}
button:is(#swm-v2,#swm-v2 *),a:is(#swm-v2,#swm-v2 *),summary:is(#swm-v2,#swm-v2 *){-webkit-tap-highlight-color:transparent}
a:focus-visible:is(#swm-v2,#swm-v2 *),button:focus-visible:is(#swm-v2,#swm-v2 *),summary:focus-visible:is(#swm-v2,#swm-v2 *){outline:3px solid var(--sw-pink);outline-offset:5px}
h1:is(#swm-v2,#swm-v2 *),h2:is(#swm-v2,#swm-v2 *),h3:is(#swm-v2,#swm-v2 *),h4:is(#swm-v2,#swm-v2 *){font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.04em;line-height:1.12;text-wrap:balance;color:var(--sw-ink)}
h1:is(#swm-v2,#swm-v2 *){font-size:clamp(38px,4.6vw,64px)}
h2:is(#swm-v2,#swm-v2 *),h3:is(#swm-v2,#swm-v2 *){font-size:clamp(30px,3.5vw,48px)}
h4:is(#swm-v2,#swm-v2 *){font-size:23px}
em:is(#swm-v2,#swm-v2 *){font-style:normal;color:var(--sw-blue)}
p:is(#swm-v2,#swm-v2 *){color:var(--sw-copy);max-width:70ch}
i.pt:not(#swm-x),.pt:not(#swm-x){color:var(--sw-pink);font-style:normal}
.site-header .brand img:not(#swm-x){width:180px;height:auto}
.site-header .header-inner:not(#swm-x){max-width:1320px;padding:20px 28px}
.site-header:not(#swm-x){position:sticky;top:0;z-index:60;background:#fff}
.brand-footer .footer-logo img:not(#swm-x){width:195px;height:auto}
.brand-footer:not(#swm-x){margin-top:96px}
.brand-footer .footer-invitation h3:not(#swm-x){color:white}
.brand-footer em:not(#swm-x){color:var(--sw-lime)}
.cta-badge:not(#swm-x),.button .cta-badge *:not(#swm-x){color:#fff!important;background:var(--sw-pink)}
.button:not(#swm-x){transition:transform .24s ease,box-shadow .24s ease}
.button:hover:not(#swm-x){transform:translateY(-3px)}
.button:active:not(#swm-x){transform:translateY(0)}
.button .cta-arrow:not(#swm-x){color:var(--sw-lime)}
.has-badge:not(#swm-x){position:relative;overflow:visible}
.text-link:not(#swm-x){color:var(--sw-blue);font-weight:700;text-decoration:underline;text-underline-offset:5px;display:inline-flex;align-items:center;gap:14px}
.text-link span:not(#swm-x){color:var(--sw-pink)}
.eyebrow:not(#swm-x){font-family:'Rubik Mono One','Space Grotesk',sans-serif;font-size:11px;font-weight:400;letter-spacing:.05em;line-height:1.7;text-transform:uppercase;color:var(--sw-blue);display:block;margin:0 0 20px;max-width:75ch}
summary:is(#swm-v2,#swm-v2 *)::-webkit-details-marker{display:none}
@media(max-width:1050px){
  .site-header .header-inner>nav:not(#swm-x){gap:16px}
  .site-header .brand img:not(#swm-x){width:150px}
  .site-header .button:not(#swm-x){font-size:12px;padding:17px 20px}
}
@media(max-width:760px){
  h1:is(#swm-v2,#swm-v2 *){font-size:clamp(34px,8.7vw,48px)}
  h2:is(#swm-v2,#swm-v2 *),h3:is(#swm-v2,#swm-v2 *){font-size:32px}
  body:not(#swm-x){font-size:16px}
  .site-header .header-inner:not(#swm-x){padding:14px 18px}
  .site-header .brand img:not(#swm-x){width:150px}
  .brand-footer:not(#swm-x){margin-top:56px}
}
@media(prefers-reduced-motion:reduce){
  html:not(#swm-x){scroll-behavior:auto}
  *:is(#swm-v2,#swm-v2 *),*:is(#swm-v2,#swm-v2 *):before,*:is(#swm-v2,#swm-v2 *):after{animation:none!important;transition:none!important}
}
.skip-link:not(#swm-x){position:absolute;left:16px;top:-100px;z-index:200;background:white;padding:10px}
.skip-link:focus:not(#swm-x){top:8px}
.site-header .brand:not(#swm-x){display:flex;background:var(--sw-blue);padding:10px 12px;border-radius:10px;align-items:center;flex-shrink:0}
.site-header .brand img:not(#swm-x){display:block;width:174px;height:auto}
.brand-footer .footer-logo:not(#swm-x){background:transparent}
@media(max-width:760px){
  .site-header .brand:not(#swm-x){padding:8px;border-radius:9px}
  .site-header .brand img:not(#swm-x){width:130px}
  .site-header .header-inner:not(#swm-x){gap:10px}
}
.brand-footer.footer-v12 .footer-invitation .button:not(#swm-x){color:var(--sw-blue)}
.brand-footer.footer-v12 .footer-invitation .button .cta-label:not(#swm-x),.brand-footer.footer-v12 .footer-invitation .button .cta-arrow:not(#swm-x){color:var(--sw-blue)}
.brand-footer.footer-v12 .button .cta-badge:not(#swm-x){background:var(--sw-pink);color:white!important}
.brand-footer.footer-v12 .button .cta-badge span:not(#swm-x){background:transparent;color:white!important}
.brand-footer.footer-v12 .footer-note p:not(#swm-x){color:#fff}
