/* Socle commun Mexar / ROI-first : police, jetons, en-tête, pied de page, fil d’Ariane et signature auteur.
   Chargé par toutes les pages. Les styles propres à l’accueil sont dans styles.css ; ceux d’une page dans son page.css. */
@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --ink:#101d42;--ink-2:#253964;--muted:#5b6880;--blue:#335cff;--blue-deep:#2447e0;--blue-soft:#eaf0ff;--blue-mist:#f3f7ff;
  --line:#dce5f3;--pale:#f5f8ff;--white:#fff;--radius:24px;--radius-sm:14px;--ease:cubic-bezier(.22,1,.36,1);
  --wrap:1220px;--gutter:32px;--shadow:0 18px 40px #335cff17;--glass:linear-gradient(140deg,#ffffffd9,#e3ecffb3)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto}
a{color:inherit}
button,input,textarea,select{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
::selection{background:#d7e3ff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;top:-100px;left:20px;z-index:60;background:#fff;padding:10px 14px;border-radius:10px;box-shadow:var(--shadow)}
.skip:focus{top:10px}

/* Boutons et capsules communs, préfixés pour ne pas dépendre de styles.css */
.m-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--blue);border:1px solid #4268fc;color:#fff;border-radius:999px;padding:14px 22px;font-size:15px;font-weight:500;line-height:1.2;text-decoration:none;box-shadow:0 4px 7px #264cd019,inset 0 1px 1px #ffffff60;transition:background .2s,transform .25s var(--ease)}
.m-button span{font-size:20px;line-height:1}
.m-button:hover{background:var(--blue-deep)}
.m-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border:1px solid #b5ccfc;background:var(--glass);border-radius:999px;color:#294ca7;box-shadow:inset 0 1px 2px #fff;font-size:13px;font-weight:500;line-height:1.3;text-decoration:none}

/* En-tête */
.site-header{position:sticky;top:0;z-index:40;background:#ffffffd6;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid #e7eef9}
.site-header-inner{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;display:flex;align-items:center;gap:28px;height:76px}
.site-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:23px;font-weight:620;letter-spacing:-.04em;line-height:1;color:var(--ink);flex:none}
.site-brand img{width:34px;height:34px;display:block}
.site-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.site-nav a{font-size:14px;color:#4a5875;text-decoration:none;padding:8px 12px;border-radius:999px;white-space:nowrap;transition:color .2s,background .2s}
.site-nav a:hover{color:var(--blue);background:var(--blue-mist)}
.site-nav a[aria-current]{color:var(--blue-deep);background:var(--blue-soft)}
.site-header .m-button{padding:11px 17px;font-size:13.5px;gap:12px;flex:none}
.site-header .m-button span{font-size:17px}
.site-header .cta-text,.site-header .cta-text i{font-weight:500;font-style:normal}

/* Fil d’Ariane */
.crumbs{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin:22px auto 0;font-size:13px;color:var(--muted)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.crumbs li+li:before{content:"/";margin-right:8px;color:#a8b5cc}
.crumbs a{text-decoration:none;color:#4a5875}
.crumbs a:hover{color:var(--blue)}
.crumbs [aria-current]{color:var(--ink-2)}

/* Signature auteur (composant facultatif, insérable avec <!--@byline-->) */
.byline{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted);line-height:1.4}
.byline img{width:44px;height:44px;border-radius:50%;background:var(--blue-soft);object-fit:cover;flex:none}
.byline a[rel~=author]{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid #b5ccfc}
.byline a[rel~=author]:hover{color:var(--blue);border-color:var(--blue)}
.byline time{white-space:nowrap}

/* Pied de page */
.site-footer{margin-top:96px;}
.site-footer.flush{margin-top:0}
.site-footer{background:linear-gradient(180deg,#f7faff,#eef4ff);border-top:1px solid #e3ebf8}
.site-footer-cta{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:56px 0 40px;border-bottom:1px solid #dbe5f5}
.site-footer-cta p{margin:0;font-size:clamp(22px,3vw,32px);font-weight:450;letter-spacing:-.035em;line-height:1.2;max-width:640px}
.site-footer-cta p span{color:var(--blue)}
.site-footer-grid{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;padding:40px 0 28px;font-size:14px}
.site-footer-grid h2{font-size:13px;font-weight:600;letter-spacing:0;color:var(--ink);margin:0 0 12px}
.site-footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer-grid a{color:#4a5875;text-decoration:none}
.site-footer-grid a:hover{color:var(--blue)}
.site-footer-grid .site-brand{margin-bottom:14px}
.site-footer-grid p{margin:0;color:var(--muted);max-width:300px}
.site-footer-legal{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto;padding:0 0 32px;font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

/* Pages historiques d’assistance et de confidentialité */
.legal-main{width:min(860px,calc(100% - 2*var(--gutter)));margin:48px auto 0}
.legal-main h1{font-size:clamp(34px,5vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:0 0 20px}
.legal-main h2{font-size:24px;font-weight:500;letter-spacing:-.03em;margin:44px 0 12px}
.legal-main p,.legal-main li{color:#2e3b5a}
.legal-main a:not(.m-button):not(.m-pill){color:var(--blue)}
.lang-switch{display:flex;gap:8px;margin:0 0 20px;font-size:14px}.lang-switch a{padding:4px 12px;border:1px solid #b5ccfc;border-radius:999px;text-decoration:none}.lang-switch [aria-current]{background:var(--blue-soft)}
.legal-main .small{font-size:13px;color:var(--muted)}
.legal-main .eyebrow{font-size:13px;color:var(--muted);font-weight:500}
.app-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}
.app-links a{padding:6px 13px;border:1px solid #b5ccfc;border-radius:999px;text-decoration:none;font-size:14px}
.legal-main details{border-bottom:1px solid var(--line);padding:14px 0}
.legal-main summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-weight:500}
.legal-main summary::-webkit-details-marker{display:none}
.legal-main summary span{color:var(--blue)}
.legal-main details p{margin:10px 0 0}
.legal-toc{display:flex;flex-wrap:wrap;gap:8px 18px;padding:18px 0;border-block:1px solid var(--line);font-size:14px;margin-block:24px}
.legal-scope{padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--blue-mist)}
.legal-main p,.legal-main li{max-width:75ch}
.legal-main section{scroll-margin-top:140px}
.legal-main .app-links a{min-height:44px;display:inline-flex;align-items:center}

@media(max-width:900px){
  :root{--gutter:20px}
  .site-header-inner{flex-wrap:wrap;height:auto;padding:12px 0 0;gap:10px 16px}
  .site-header .m-button{margin-left:auto}
  html{scroll-padding-top:136px}
  .site-nav{order:3;width:100%;margin:0 -8px;padding:4px 8px 10px;overflow-x:auto;scrollbar-width:none;gap:2px}
  .site-nav a:focus-visible{outline-offset:-3px}
  .site-nav::-webkit-scrollbar{display:none}
  .site-nav{-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}
  .site-nav a:last-child{margin-right:28px}
  .site-footer-grid{grid-template-columns:1fr 1fr}
  .site-footer-grid>div:first-child{grid-column:1/-1}
  .site-footer-cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:420px){
  :root{--gutter:16px}
  .site-brand{font-size:20px}.site-brand img{width:30px;height:30px}
  .site-header .m-button{padding:10px 14px;font-size:13px}
  .site-header .m-button .long{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Choix d’audience non modal, sans bloquer la lecture ni déplacer le focus au chargement. */
.audience-choice{position:fixed;z-index:50;bottom:18px;left:18px;width:min(620px,calc(100% - 36px));max-height:calc(100dvh - 36px);overflow:auto;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--pale);box-shadow:0 12px 38px #101d4226;color:var(--ink);font-size:14px;line-height:1.6}
.audience-choice h2{font-size:19px;letter-spacing:-.02em;line-height:1.3;font-weight:550;margin:0 0 10px}
.audience-choice p{margin:0 0 14px;max-width:70ch}.audience-choice a{color:var(--blue-deep)}
.audience-choice>div{display:flex;flex-wrap:wrap;gap:12px}
.audience-choice button{border:1px solid #a8bef5;border-radius:999px;color:var(--ink);background:var(--pale);padding:10px 22px;min-height:44px;cursor:pointer;font-weight:500;font-size:14px}
.audience-choice button:hover{background:var(--blue-soft)}.audience-choice button:disabled{opacity:.55;cursor:not-allowed}
.audience-manage{border:0;background:transparent;color:var(--blue-deep);text-decoration:underline;font:inherit;padding:0;cursor:pointer;min-height:32px;text-align:left}
@media(max-width:560px){.audience-choice{padding:18px;bottom:10px;left:10px;width:calc(100% - 20px)}.audience-choice button{flex:1}}
