/* Clearly separated navigation buttons, shared by every public page. */
header:is(.main-header,.articles-header,.lg-header) nav{gap:7px;align-items:center}
header:is(.main-header,.articles-header,.lg-header) nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 11px;border:1px solid #6f94b4;border-radius:8px;background:#12314f;color:#fff;font:700 14px/1.4 Arial,Helvetica,sans-serif;text-align:center;text-decoration:none;transition:background .15s,border-color .15s}
header:is(.main-header,.articles-header,.lg-header) nav a:hover{background:#214c70;border-color:#c6e1f6;color:#fff;text-decoration:none}
header:is(.main-header,.articles-header,.lg-header) nav a:focus-visible{outline:3px solid #c3fff1;outline-offset:3px}
header:is(.main-header,.articles-header,.lg-header) nav a[aria-current="page"]{background:#15575d;border-color:#a4e6d8;color:#fff}
header:is(.main-header,.articles-header,.lg-header) nav a.nav-book{background:#075bd8;border-color:#85baff;color:#fff}
header:is(.main-header,.articles-header,.lg-header).open nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;position:absolute;top:86px;left:0;right:0;max-height:calc(100dvh - 86px);overflow:auto;padding:20px 24px;background:#06172e;border-bottom:1px solid #6f94b4;box-shadow:0 16px 32px #0005}
header:is(.main-header,.articles-header,.lg-header).open nav a{width:100%;min-height:50px;padding:13px 14px;white-space:normal;font-size:16px;border:1px solid #6f94b4}
@media(min-width:1841px){header.main-header{gap:18px;padding-left:24px;padding-right:24px}header.main-header nav a{padding-left:9px;padding-right:9px}}
@media(max-width:1840px){header.main-header nav{display:none}header.main-header .menu{display:inline-flex}}
@media(max-width:1600px){header.lg-header nav{display:none}header.lg-header .menu{display:inline-flex}}
@media(max-width:2100px){html[lang="fr"] header.main-header nav{display:none}html[lang="fr"] header.main-header .menu{display:inline-flex}html[lang="fr"] header.main-header.open nav{display:grid}}
@media(max-width:900px){header:is(.main-header,.articles-header,.lg-header).open nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){header:is(.main-header,.articles-header,.lg-header).open nav{top:74px;max-height:calc(100dvh - 74px);padding:16px 20px}}
@media(max-width:520px){header:is(.main-header,.articles-header,.lg-header).open nav{grid-template-columns:1fr;gap:10px}}
@media(prefers-reduced-motion:reduce){header:is(.main-header,.articles-header,.lg-header) nav a{transition:none}}

/* Professional social profiles, shared by all page footers. */
footer .social-profiles{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex-shrink:0;margin:16px 0}
footer .social-profiles a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border:1px solid #92adc7;border-radius:8px;background:#12314f;color:#fff;font:700 14px/1.4 Arial,Helvetica,sans-serif;text-decoration:none}
footer .social-profiles a:hover{background:#214c70;border-color:#c6e1f6}
footer .social-profiles a:focus-visible{outline:3px solid #58d3ef;outline-offset:3px}
@media(max-width:720px){footer .social-profiles{width:100%}}
