/* BOZONNET v3 — socle partagé par TOUTES les pages : police, jetons, en-tête, pied.
   Chargé aussi par les pages historiques (Vision, CV, mentions) : tout est préfixé .bz-
   pour ne rien changer à leur propre mise en page. */

@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/v3/fonts/ibm-plex-sans-latin-300-normal.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:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/v3/fonts/ibm-plex-sans-latin-400-normal.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:'IBM Plex Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/v3/fonts/ibm-plex-sans-latin-400-italic.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:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/v3/fonts/ibm-plex-sans-latin-500-normal.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:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/v3/fonts/ibm-plex-sans-latin-600-normal.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:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/v3/fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/v3/fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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}

:root{
  --bz-bg:#FFFFFF;
  --bz-bg-2:#F6F7F8;   /* fond secondaire : regroupe, ne décore pas */
  --bz-red:#C8102E;
  --bz-link:#CC0000;   /* liens au repos (aligné sur le logo) ; survol et clic : --bz-red */
  --bz-ink:#1F2933;
  --bz-ink-2:#45515E;
  --bz-rule:#E4E7EB;
  --bz-red-press:color-mix(in srgb,#C8102E 84%,#000);
  --bz-font:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --bz-max:1200px;
  --bz-wrap:calc(var(--bz-max) + 2 * var(--bz-gutter));
  --bz-gutter:clamp(16px,4vw,32px);
  --bz-head-h:64px;
  --bz-sec:64px;        /* espacement vertical commun des sections (accueil, Profil & Parcours, Vision) */
}
@media (max-width:879px){:root{--bz-head-h:56px}}
@media (max-width:767px){:root{--bz-sec:44px}}
html{scroll-padding-top:calc(var(--bz-head-h) + 16px)}

.bz-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}

.bz-skip{position:absolute;left:var(--bz-gutter);top:-100px;z-index:1100;background:var(--bz-ink);color:#fff;font:600 15px/1 var(--bz-font);padding:14px 16px;text-decoration:none}
.bz-skip:focus{top:8px;outline:2px solid var(--bz-red);outline-offset:2px}

/* ---------- En-tête ---------- */
.bz-head{position:sticky;top:0;z-index:1000;background:var(--bz-bg);border-bottom:1px solid var(--bz-rule);font-family:var(--bz-font);color:var(--bz-ink);-webkit-font-smoothing:antialiased}
.bz-head *,.bz-head *::before,.bz-head *::after{box-sizing:border-box}
.bz-head a{color:inherit;text-decoration:none}
.bz-head :focus-visible{outline:2px solid var(--bz-red);outline-offset:3px}
.bz-bar{max-width:var(--bz-wrap);margin:0 auto;padding:0 var(--bz-gutter);height:var(--bz-head-h);display:flex;align-items:center;gap:8px}
/* Logo fourni (600×128) : 14 % de réserve en haut/bas et 3 % à gauche dans le fichier, compensés ici */
.bz-brand{--h:44px;display:flex;align-items:center;margin-right:auto;padding:4px 0}
.bz-brand img{height:var(--h);width:auto;max-width:none;margin:calc(var(--h) * -0.1406) 0 calc(var(--h) * -0.1406) calc(var(--h) * -0.1445)}
.bz-nav{display:flex;align-items:center;gap:36px;margin-right:24px}
.bz-nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.bz-nav li{margin:0;padding:0}
.bz-nav ul a{display:inline-block;font-size:15px;font-weight:500;line-height:1;padding:12px 0;color:var(--bz-ink-2);border-bottom:2px solid transparent}
.bz-nav ul a:hover{color:var(--bz-ink)}
.bz-nav ul a[aria-current]{color:var(--bz-ink);border-bottom-color:var(--bz-ink)}
.bz-lang{display:flex;align-items:center;gap:2px;margin:0;font-size:14px;font-weight:500;line-height:1;color:var(--bz-ink-2)}
.bz-lang__cur{padding:10px 6px;color:var(--bz-ink);font-weight:600}
.bz-lang__sep{color:var(--bz-rule)}
.bz-lang a{padding:10px 6px;color:var(--bz-ink-2)}
.bz-lang a:hover{color:var(--bz-ink);text-decoration:underline;text-underline-offset:4px}
.bz-quick{display:flex;align-items:center;gap:6px}
.bz-quick__cv{display:none;font-size:15px;font-weight:500;padding:12px 10px;color:var(--bz-ink)}
.bz-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;background:var(--bz-red);color:#fff!important;font-size:15px;font-weight:600;line-height:1;border-radius:2px}
.bz-cta:hover{background:var(--bz-red-press)}
.bz-cta:active{background:var(--bz-red-press)}
.bz-menu-btn{display:none;min-height:44px;padding:0 12px;margin-right:-4px;background:none;border:1px solid var(--bz-rule);border-radius:2px;font:500 15px/1 var(--bz-font);color:var(--bz-ink);cursor:pointer}
.bz-menu-btn[aria-expanded="true"]{border-color:var(--bz-ink)}
.bz-panel{display:none}

@media (max-width:879px){
  .bz-nav{display:none}
  .bz-brand{--h:34px}
  .bz-quick__cv,.bz-menu-btn{display:inline-flex;align-items:center}
  .bz-cta{padding:0 14px}
  .bz-panel:not([hidden]){display:block;position:absolute;left:0;right:0;top:100%;background:var(--bz-bg);border-bottom:1px solid var(--bz-ink)}
  .bz-panel ul{list-style:none;margin:0 auto;padding:4px var(--bz-gutter) 0;max-width:var(--bz-wrap)}
  .bz-panel li{margin:0;border-top:1px solid var(--bz-rule)}
  .bz-panel li:first-child{border-top:0}
  .bz-panel ul a{display:flex;align-items:center;min-height:52px;font-size:17px;font-weight:500}
  .bz-panel ul a[aria-current]{font-weight:600;text-decoration:underline;text-underline-offset:6px}
  .bz-panel .bz-lang{max-width:var(--bz-wrap);margin:0 auto;padding:8px calc(var(--bz-gutter) - 6px) 16px;font-size:16px;border-top:1px solid var(--bz-rule)}
  .bz-panel .bz-lang a,.bz-panel .bz-lang__cur{padding:12px 6px}
}
@media (max-width:359px){
  .bz-brand{--h:26px}
  .bz-quick{gap:2px}
  .bz-quick__cv{padding:12px 8px}
  .bz-cta{padding:0 12px}
  .bz-menu-btn{padding:0 10px}
}

/* ---------- Pied ---------- */
.bz-foot{margin:0;padding:0;background:var(--bz-bg);color:var(--bz-ink-2);border-top:1px solid var(--bz-rule);font:400 15px/1.5 var(--bz-font);-webkit-font-smoothing:antialiased}
.bz-foot__in{max-width:var(--bz-wrap);margin:0 auto;padding:28px var(--bz-gutter) 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 32px}
.bz-foot p{margin:0;color:var(--bz-ink-2)}
.bz-foot__brand{display:flex;align-items:center;gap:12px}
.bz-foot__brand img{width:28px;height:28px}
.bz-foot ul{display:flex;flex-wrap:wrap;gap:0 24px;list-style:none;margin:0;padding:0}
.bz-foot li{margin:0;padding:0}
.bz-foot a{display:inline-block;padding:10px 0;color:var(--bz-ink-2);text-decoration:underline;text-decoration-color:var(--bz-rule);text-underline-offset:4px}
.bz-foot a:hover{color:var(--bz-ink);text-decoration-color:currentColor}
.bz-foot a:focus-visible{outline:2px solid var(--bz-red);outline-offset:2px}
/* LinkedIn : picto seul (nom accessible dans .bz-sr), 24 px de large sur 44 px de haut, aligné au bord comme les autres liens */
.bz-foot a.bz-foot__social{display:inline-flex;align-items:center;height:44px;padding:0;vertical-align:middle}
.bz-foot__social svg{display:block;width:24px;height:24px}
