/* Site header (injected by header.js) - the home-page toolbar, identical on every page.
   Fixed positioning, compact state, mobile menu and the .menu-toggle live in site-ui.css/site-ui.js. */
header.site-header{display:block!important;height:auto!important;margin:0!important;padding:0!important;gap:0!important;border-bottom:1px solid transparent;box-sizing:border-box}
.site-header .wrap{width:min(1440px,91vw);height:auto;margin:auto;padding:0}
.site-header .top{display:flex;align-items:center;justify-content:space-between;gap:25px;height:67px;transition:height .25s ease}
.site-header.compact .top{height:53px}
.site-header .brand{display:inline-flex;align-items:center;color:var(--color-white);text-decoration:none}
.site-header .brand img{display:block;width:128px!important;height:auto!important;max-height:none!important;filter:none!important}

.site-header .nav{display:flex;gap:31px;margin:0}
@media(min-width:761px){
  .site-header .nav a{padding:0 0 6px!important;border-bottom:2px solid transparent!important;color:#f2f6f8!important;font-size:.68rem!important;font-weight:700!important;letter-spacing:.12em!important;line-height:1.2!important;text-transform:uppercase;text-decoration:none;white-space:nowrap}
  .site-header .nav a:hover{color:var(--color-accent)!important}
  .site-header .nav a.active{color:var(--color-white)!important;border-bottom-color:var(--color-accent)!important}
}

.site-header .head-actions{display:flex;align-items:center;gap:30px}
.site-header .appointment{display:inline-flex;align-items:center;gap:12px;box-sizing:border-box;height:40px;padding:0 16px!important;border:1px solid var(--color-accent);border-radius:0!important;background:transparent;color:var(--color-accent);font:800 .62rem Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.site-header .appointment b{margin:0!important;font-size:1.2em;font-weight:400}
.site-header .appointment:hover{background:var(--color-accent);color:var(--color-navy)}
.site-header .lang{display:flex;gap:20px;border:0!important;background:none!important}
.site-header .lang [data-lang]{padding:0 0 6px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:#aeb9c4!important;font-family:Arial,Helvetica,sans-serif;font-size:.7rem!important;font-weight:700;line-height:1.2;cursor:pointer}
.site-header .lang [data-lang]:hover{color:var(--color-white)!important}
.site-header .lang [data-lang].on{color:var(--color-white)!important;border-bottom-color:var(--color-accent)!important}

/* Inner pages: the header is fixed, so this spacer reserves its height (navy, like the hero below). */
.site-header-spacer{height:68px;background:var(--color-navy)}
.hero .site-header-spacer{background:transparent}

/* Space is limited between roughly 760 and 1300px: the button goes first, then the menu tightens (also for French). */
@media(min-width:1101px) and (max-width:1300px){.site-header .nav{gap:18px}}
@media(max-width:1250px){.site-header .appointment{display:none!important}}
@media(min-width:761px) and (max-width:1100px){.site-header .top{gap:24px}.site-header .nav{gap:18px}.site-header .nav a{font-size:.62rem!important;letter-spacing:.08em!important}}
@media(min-width:761px) and (max-width:900px){.site-header .wrap{width:calc(100% - 40px)}.site-header .top{gap:14px}.site-header .nav{gap:10px}.site-header .nav a{font-size:.58rem!important;letter-spacing:.05em!important}.site-header .brand img{width:84px!important}.site-header .lang{gap:12px}}
@media(min-width:761px) and (max-width:830px){.site-header .wrap{width:calc(100% - 24px)}.site-header .top{gap:10px}.site-header .nav{gap:6px}.site-header .nav a{font-size:.55rem!important;letter-spacing:.03em!important}.site-header .brand img{width:76px!important}.site-header .lang{gap:8px}}
@media(min-width:761px) and (max-width:790px){.site-header .wrap{width:calc(100% - 12px)}.site-header .nav{gap:3px}.site-header .nav a{font-size:.52rem!important;letter-spacing:0!important}.site-header .brand img{width:66px!important}.site-header .lang{gap:6px}}
@media(max-width:760px){.site-header .wrap{width:91vw}.site-header .head-actions{gap:20px}}

.site-header .nav a{text-decoration:none}

.site-header .lang a { text-decoration: none; }
