/* Source commune de la navigation pour toutes les pages. */
.site-header { position:sticky; top:0; z-index:50; background:#fff; border:0; box-shadow:0 3px 16px #05234c08; }
.site-header .header-inner { width:min(1240px,calc(100% - 64px)); min-height:82px; margin-inline:auto; padding:10px 0; display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:20px; }
.site-header .logo { margin:0; display:inline-flex; align-items:center; gap:12px; flex:none; font-size:1.4rem; line-height:1.4; color:#05234c; text-decoration:none; white-space:nowrap; }
.site-header .logo small { display:none; }
.site-header .brand-symbol { width:65px; height:40px; object-fit:contain; flex:none; }
.site-header #navigation { display:flex!important; position:static; width:auto; margin:0; padding:0; border:0; background:transparent; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:flex-end; gap:16px; }
.site-header #navigation > a { display:inline-flex; align-items:center; min-height:48px; margin:0; padding:5px 0; font-size:1rem; line-height:1.5; color:#405367; text-decoration:none; white-space:nowrap; }
.site-header #navigation > a[aria-current="page"] { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:2px; }
.site-header #navigation > a:hover { color:#00634e; }
.site-header #navigation .header-phone { color:#00634e; font-weight:750; flex-basis:auto; }
.site-header #navigation .button.small { min-height:48px; padding:12px 20px; border:1px solid #007e65; border-radius:40px; background:#007e65; color:#fff; font-size:1rem; font-weight:700; line-height:1.4; }
.site-header #navigation .button.small:hover { background:#006a56; color:#fff; }
.site-header .menu-toggle { display:none; }
@media(min-width:801px) and (max-width:1150px) {
 .site-header .header-inner { flex-direction:column; flex-wrap:nowrap; gap:8px; padding:12px 0; }
 .site-header #navigation { width:100%; justify-content:center; flex-wrap:wrap; gap:8px 18px; }
}
@media(max-width:800px) {
 .site-header { position:relative; }
 .site-header .header-inner { width:calc(100% - 36px); min-height:76px; flex-direction:row; flex-wrap:wrap; gap:12px; padding:10px 0; }
 .site-header .brand-symbol { width:55px; height:36px; }
 .site-header .logo { font-size:1.4rem; }
 .site-header #navigation { display:flex!important; width:100%; padding:12px 0 0; border-top:1px solid #d4e0e4; flex-direction:column; flex-wrap:nowrap; align-items:stretch; gap:6px; }
 .js .site-header #navigation { display:none!important; }
 .js .site-header #navigation.open { display:flex!important; }
 .site-header #navigation > a { font-size:1.125rem; padding:10px 12px; min-height:48px; white-space:normal; }
 .site-header #navigation .header-phone { text-align:left; }
 .site-header #navigation .button.small { padding:14px 20px; min-height:52px; font-size:1.125rem; }
 .js .site-header .menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:10px 16px; border:1px solid #6c8495; border-radius:8px; background:#fff; color:#05234c; font:inherit; }
}
@media(max-width:360px) { .site-header .logo { font-size:1.25rem; gap:8px; } .site-header .brand-symbol { width:44px; } }
@media print { .site-header { display:none; } }

/* Symbole choisi par Tech-Atout, distinct du nom déjà présent à côté. */
.site-header .brand-symbol { width:56px; height:56px; object-fit:contain; }
footer .footer-grid .brand-symbol { width:60px; height:60px; object-fit:contain; background:#fff; border-radius:12px; padding:3px; }
@media(max-width:800px) { .site-header .brand-symbol { width:52px; height:52px; } }
@media(max-width:360px) { .site-header .brand-symbol { width:44px; height:44px; } }
