/* Barre marine commune, issue de l'état formé du site et du Livre d'or.
   Tout est préfixé pour préserver les styles et contenus propres à chaque page. */
html { scroll-padding-top:calc(var(--umm-header-height,64px) + 16px) }
.umm-head {
  --umm-navy:oklch(22% .035 282); --umm-paper:oklch(99% .003 221); --umm-cyan:oklch(67% .145 221);
  --umm-fit:min(100vw,1600px); --umm-gutter:clamp(20px,calc(var(--umm-fit) * .04),64px);
  position:sticky; top:0; z-index:150; width:100%; margin:0; padding:0;
  color:var(--umm-paper); background:var(--umm-navy); box-shadow:0 18px 40px -30px rgba(6,7,18,.9);
  font:16px/1.6 "Atkinson Hyperlegible",sans-serif; letter-spacing:0; text-align:left;
}
.umm-head,.umm-head *,.umm-head *::before,.umm-head *::after { box-sizing:border-box }
.umm-head__row { position:relative; display:flex; align-items:center; gap:20px; width:min(calc(100% - 2 * var(--umm-gutter)),1440px); min-height:64px; margin:0 auto; padding:0 }
.umm-head a { color:var(--umm-paper); font-family:inherit; line-height:1.6; text-decoration:none; touch-action:manipulation }
.umm-head a:focus-visible,.umm-head button:focus-visible { outline:3px solid var(--umm-cyan); outline-offset:4px }
.umm-head__brand { display:block; flex:none; margin:0; padding:0 }
.umm-head__brand img { display:block; width:auto; max-width:none; height:44px; margin:0; border:0; border-radius:0; object-fit:contain; transform:none }
.umm-head__links { display:flex; align-items:center; gap:20px; min-width:0; margin-left:auto }
.umm-head__links a { display:flex; align-items:center; min-height:44px; font-size:14.4px; font-weight:700; white-space:nowrap }
.umm-head__links a:hover,.umm-head__links a:focus-visible { text-decoration:underline; text-underline-offset:6px }
.umm-head__links a[aria-current="page"] { text-decoration:underline; text-decoration-color:var(--umm-cyan); text-decoration-thickness:3px; text-underline-offset:8px }
.umm-head .umm-head__support { display:inline-flex; align-items:center; justify-content:center; flex:none; min-height:44px; padding:0 20px; border-radius:999px; color:var(--umm-navy); background:var(--umm-cyan); font-size:14.4px; font-weight:700; white-space:nowrap }
.umm-head__links .umm-head__support-in-menu { display:none }
.umm-head__languages { display:flex; flex:none; align-items:center; gap:0; padding:0 3px; border:1px solid rgba(255,255,255,.34); border-radius:999px; font-size:12.5px; font-weight:700; letter-spacing:.06em }
.umm-head__languages a { display:grid; place-items:center; min-width:38px; min-height:44px; border-radius:999px }
.umm-head__languages a[aria-current] { color:var(--umm-navy); background:var(--umm-paper) }
.umm-head__toggle { display:none; flex:none; width:44px; height:44px; margin:0; padding:0; border:1px solid rgba(255,255,255,.34); border-radius:999px; background:transparent; color:var(--umm-paper); cursor:pointer }
.umm-head__toggle span,.umm-head__toggle span::before,.umm-head__toggle span::after { display:block; width:18px; height:2px; margin:auto; border-radius:2px; background:currentcolor; content:"" }
.umm-head__toggle span::before { transform:translateY(-6px) }.umm-head__toggle span::after { transform:translateY(4px) }
/* Le menu compact est mesuré depuis ses vrais liens, dans les deux langues. */
.umm-head[data-compact] .umm-head__row { gap:10px }
.umm-head[data-compact] .umm-head__toggle { display:block; order:3 }
.umm-head[data-compact] .umm-head__support { display:none }
.umm-head[data-compact] .umm-head__languages { margin-left:auto; order:2 }
.umm-head[data-compact] .umm-head__links { display:none; position:absolute; top:calc(100% + 10px); left:0; right:0; width:auto; max-height:calc(100dvh - 90px); overflow-y:auto; overscroll-behavior:contain; flex-direction:column; align-items:stretch; gap:2px; margin:0; padding:14px; border-radius:22px; background:var(--umm-navy); box-shadow:0 24px 54px -28px rgba(6,7,18,.9) }
.umm-head[data-compact][data-open] .umm-head__links { display:flex }
.umm-head[data-compact] .umm-head__links a { min-height:48px; padding:0 12px }
.umm-head[data-compact] .umm-head__links .umm-head__support-in-menu { display:flex }
.umm-head[data-measuring] .umm-head__links { display:flex; position:absolute; top:-10000px; left:0; right:auto; width:max-content; max-height:none; overflow:visible; visibility:hidden; flex-direction:row; gap:20px; margin:0; padding:0 }
.umm-head[data-measuring] .umm-head__links .umm-head__support-in-menu { display:none }
.umm-head[data-measuring] .umm-head__links a { padding:0 }
.umm-head[data-measuring] .umm-head__support { display:inline-flex; position:absolute; top:-10000px; visibility:hidden; width:max-content }
body.umm-menu-open { overflow:hidden }
/* Sans JS les liens restent présents dans l'HTML et visibles en plusieurs lignes. */
.umm-head:not([data-enhanced]) .umm-head__row { flex-wrap:wrap; gap:8px 20px; padding-block:8px }
.umm-head:not([data-enhanced]) .umm-head__links { order:9; width:100%; flex-wrap:wrap; gap:0 20px; margin:0 }
.umm-head:not([data-enhanced]) .umm-head__support { margin-left:auto }
@media(max-width:420px) {
  .umm-head__brand img { height:36px }
  .umm-head__row { gap:10px }
  .umm-head:not([data-enhanced]) .umm-head__support { display:none }
  .umm-head:not([data-enhanced]) .umm-head__languages { margin-left:auto }
  .umm-head:not([data-enhanced]) .umm-head__links .umm-head__support-in-menu { display:flex }
}
/* Accueil : le header commun remplace le logo morphing, pas le contenu du hero. */
html[data-site-page="home"] { --header-space:0px; --topscrim-h:0px }
/* Pages de confirmation : barre en haut, message centré dans l'espace restant. */
html[data-site-page="thanks"] body { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; min-height:100svh; padding:0 }
html[data-site-page="thanks"] main { flex:1; width:100%; max-width:608px; margin:auto; padding:60px 24px; align-content:center }
@media print { .umm-head { position:static }.umm-head__toggle { display:none } }
