/* Navigation unique : même géométrie, mêmes commandes et mêmes états partout. */
html body:is(.home,.inner) header.site-header[data-site-nav] {
  --hero-nav-gap: clamp(8px,1.2vw,18px);
  position: fixed !important; inset: 0 auto auto 0 !important; z-index: 110;
  display: grid !important; grid-template-columns: auto minmax(0,1fr) auto auto auto !important;
  align-items: center; width: 100% !important; max-width: none !important; height: 64px !important;
  margin: 0 !important; padding: 0 clamp(12px,2vw,30px) !important; gap: 0 !important;
  border: 1px solid #b8d3f22e !important; border-radius: 0 0 10px 10px !important;
  color: #f7faff !important; background: linear-gradient(120deg,#0a1423,#16304c) !important;
  box-shadow: 0 16px 42px #0108134d,inset 0 1px 0 #ffffff1a !important;
  transform: none !important; transition: none !important;
}
html body:is(.home,.inner) header.site-header[data-site-nav].hero-nav-ready { transition: width .58s cubic-bezier(.22,1,.36,1),left .58s cubic-bezier(.22,1,.36,1),top .58s cubic-bezier(.22,1,.36,1),border-radius .58s ease !important; }
html body:is(.home,.inner) header.site-header[data-site-nav].hero-nav-compact { inset: 12px auto auto 12px !important; width: var(--hero-nav-compact-width,min(510px,calc(100% - 24px))) !important; border-radius: 10px !important; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .wordmark { grid-area: 1 / 1 !important; display: flex; align-items: center; width: max-content; min-width: 0; max-width: none !important; margin: 0 !important; gap: 10px !important; font-size: 25px !important; color: #fff !important; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .desktop-nav { grid-area: 1 / 2 !important; display: flex !important; justify-content: flex-end; min-width: 0; margin: 0 !important; gap: clamp(14px,2vw,29px); white-space: nowrap; font-size: 12px; opacity: 1 !important; visibility: visible !important; transform: translateY(0); transition: opacity .28s ease .18s,transform .38s ease .18s,visibility 0s .18s !important; }
html body:is(.home,.inner) header.site-header[data-site-nav] .desktop-nav a { color: #f7faff !important; }
html body:is(.home,.inner) header.site-header[data-site-nav] .nav-language { margin: 0 !important; padding: 0 !important; }
html body:is(.home,.inner) header.site-header[data-site-nav] .nav-language select { margin: 0 !important; min-height: 28px !important; height: 28px !important; background-color: transparent !important; color: #f7faff !important; opacity: 1; }
html body:is(.home,.inner) header.site-header[data-site-nav] .nav-local-time { color: #c6d4e6 !important; opacity: 1; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .nav-contact-cta { min-height: 44px !important; height: 44px; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .nav-contact-cta { grid-area: 1 / 3 !important; display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; margin: 0 0 0 var(--hero-nav-gap) !important; padding: 10px 19px !important; background: #243f62 !important; color: #fff !important; border: 1px solid #9fcaf945 !important; border-radius: 8px !important; font-size: 11px !important; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .nav-locale { grid-area: 1 / 4 !important; display: flex; width: 110px; height: 44px; margin: 0 0 0 var(--hero-nav-gap); opacity: 1; visibility: visible; overflow: hidden; transition: width .58s ease,margin-left .58s ease,opacity .28s ease .24s,visibility 0s .24s; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .menu-toggle { grid-area: 1 / 5 !important; position: relative !important; display: inline-flex !important; align-items: center; justify-content: center; width: 44px !important; min-width: 0 !important; min-height: 44px !important; height: 44px !important; margin: 0 0 0 var(--hero-nav-gap) !important; padding: 0 !important; color: #fff !important; background: #ffffff09 !important; border: 1px solid #b8d3f229 !important; border-radius: 8px !important; overflow: hidden; transition: width .45s ease,margin-left .45s ease,opacity .2s ease,visibility 0s !important; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .header-contact,
html body:is(.home,.inner) header.site-header[data-site-nav] .menu-toggle > span { display: none !important; }
html body:is(.home,.inner) header.site-header[data-site-nav] .hero-menu-icon { display: block; flex: none; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .menu-toggle::before,
html body:is(.home,.inner) header.site-header[data-site-nav] > .menu-toggle::after { content: none !important; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .menu-toggle[aria-expanded="true"] .hero-menu-icon { display: none; }
html body:is(.home,.inner) header.site-header[data-site-nav] > .menu-toggle[aria-expanded="true"]::after { content: '×' !important; font-size: 26px; }
html body:is(.home,.inner) header.site-header[data-site-nav].hero-nav-compact > .desktop-nav { opacity: 0 !important; visibility: hidden !important; transform: translateY(7px); pointer-events: none; overflow: hidden; transition-delay: 0s !important; }
html body:is(.home,.inner) header.site-header[data-site-nav].hero-nav-compact > .nav-locale { width: 0; margin-left: 0; opacity: 0; visibility: hidden; transition-delay: 0s; }
html body:is(.home,.inner) header.site-header[data-site-nav] .mobile-menu { position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100svh !important; max-height: 100svh; padding: 100px clamp(24px,6vw,80px) 32px !important; background: #0c1728 !important; color: #fff; gap: 10px !important; overflow-y: auto !important; overscroll-behavior: contain; }
html body:is(.home,.inner) header.site-header[data-site-nav] .mobile-menu > a { color: #fff !important; font-size: clamp(24px,2.5vw,36px) !important; line-height: 1.2 !important; padding: 6px 0 !important; min-height: 44px; }
@media(min-width:1100px) { html body:is(.home,.inner):not(.universe-menu-open) header.site-header[data-site-nav]:not(.hero-nav-compact) > .menu-toggle { width: 0 !important; margin-left: 0 !important; opacity: 0; visibility: hidden; border-width: 0 !important; } }
@media(max-width:1099px) {
  html body:is(.home,.inner) header.site-header[data-site-nav] > .desktop-nav { display: none !important; }
  html body:is(.home,.inner) header.site-header[data-site-nav] > .nav-locale { width: 0; margin-left: 0; opacity: 0; visibility: hidden; }
}
@media(max-width:600px) {
  html body:is(.home,.inner) header.site-header[data-site-nav] { height: 60px !important; padding-inline: 12px !important; }
  html body:is(.home,.inner) header.site-header[data-site-nav] > .wordmark { gap: 6px !important; font-size: 17px !important; }
  html body:is(.home,.inner) header.site-header[data-site-nav] .brand-name-image { width: clamp(86px,28vw,112px) !important; }
  html body:is(.home,.inner) header.site-header[data-site-nav] .brand-agency { font-size: 14px !important; }
  html body:is(.home,.inner) header.site-header[data-site-nav] .nav-brand-symbol { width: 20px !important; }
  html body:is(.home,.inner) header.site-header[data-site-nav] > .nav-contact-cta { padding: 10px !important; }
  html body:is(.home,.inner) header.site-header[data-site-nav] .mobile-menu { padding-top: 88px !important; gap: 6px !important; }
  html body:is(.home,.inner) header.site-header[data-site-nav] .mobile-menu > a { font-size: 26px !important; }
}
@media(prefers-reduced-motion:reduce) { html body:is(.home,.inner) header.site-header[data-site-nav],html body:is(.home,.inner) header.site-header[data-site-nav] > * { transition: none !important; } }

/* Une respiration ivoire choisie dans le contenu, sans changer les ouvertures sombres. */
html body.inner.site-dark.balanced-page main .surface-light {
  color-scheme: light;
  --paper: #f2f0e8; --ink: #171a20; --brand-paper: #f2f0e8; --brand-ink: #171a20;
  --surface: #f2f0e8; --panel: #faf9f5; --heading: #171a20; --copy: #35404d;
  --accent: #244d83; --line: #cbd0d6; --muted: #566271; --navy: #16304c;
  --ux-navy: #f2f0e8; --ux-text: #35404d; --ux-paper: #f2f0e8; --ux-ink: #171a20; --local-paper: #f2f0e8; --local-ink: #171a20;
  background: #f2f0e8 !important; color: #35404d !important; border-color: #cbd0d6 !important;
}
html body.inner.site-dark.balanced-page main .surface-light :is(h1,h2,h3,h4,summary,strong,b) { color: #171a20 !important; }
html body.inner.site-dark.balanced-page main .surface-light :is(p,li,dd,dt,small,figcaption,label,legend) { color: #35404d !important; }
html body.inner.site-dark.balanced-page main .surface-light :is(h1,h2,h3) em,
html body.inner.site-dark.balanced-page main .surface-light :is(.section-kicker,.eyebrow,.text-link,.step-index,a:not(.button)) { color: #244d83 !important; }
html body.inner.site-dark.balanced-page main .surface-light :is(article,.person,details,.principle,.expert-card,.contact-intro,.local-card) { background: #faf9f5 !important; border-color: #cbd0d6 !important; color: #35404d !important; }
html body.inner.site-dark.balanced-page main .surface-light :is(.button,button[type="submit"]) { background: #194fcc !important; color: #fff !important; border-color: #194fcc !important; }
html body.inner.site-dark.balanced-page main .surface-light .button.outline { background: transparent !important; color: #244d83 !important; border-color: #8ea4be !important; }
html body.inner.site-dark.balanced-page main .surface-light :is(input,textarea,select) { background: #fff !important; color: #172338 !important; border-color: #98a8ba !important; }
html body.inner.site-dark.balanced-page main .surface-light :is(input,textarea)::placeholder { color: #627184 !important; }
html body.inner.site-dark.balanced-page main .surface-light :is(.local-city-links,.service-cards,.service-card,.step-card) { background: transparent !important; color: #35404d !important; }
html body.inner.site-dark.balanced-page main .surface-light #brief-form { background: #faf9f5 !important; color: #35404d !important; border-color: #cbd0d6 !important; }
html body.inner.site-dark.balanced-page main .surface-light #brief-form label { color: #35404d !important; }
html body.inner.site-dark.balanced-page main .surface-light #brief-form :is(input,textarea,select,option) { background: #fff !important; color: #172338 !important; border-color: #98a8ba !important; }
html body.inner.site-dark.balanced-page main .surface-light #brief-form :is(input,textarea)::placeholder { color: #627184 !important; }
html body.inner.site-dark.balanced-page main .surface-light #brief-form button[type="submit"] { background: #194fcc !important; color: #fff !important; border-color: #194fcc !important; }

/* Le contact reste un petit élément ancré au coin, même lorsqu'il est ouvert. */
@media(max-width:800px) {
  html body:is(.home,.inner) .contact-float {
    left: auto !important;
    right: max(12px,env(safe-area-inset-right)) !important;
    bottom: max(12px,env(safe-area-inset-bottom)) !important;
    width: max-content !important;
    max-width: min(252px,calc(100vw - 48px)) !important;
  }
  html body.home .contact-float--dual:not(.is-collapsed) {
    display: grid; grid-template-columns: 44px minmax(0,1fr);
    align-items: center; gap: 8px !important;
    width: min(252px,calc(100vw - 48px)) !important;
    padding: 12px !important; padding-top: 34px !important;
    border-radius: 20px !important;
  }
  html body.home .contact-float--dual.is-collapsed {
    width: 62px !important; max-width: 62px !important;
  }
  html body.home .contact-float__choices { width: auto; min-width: 0; }
  html body.home .contact-float__choices a { text-align: left; padding: 8px !important; }
  html body.home .contact-float__choices small { white-space: normal; font-size: 10px; }
  html body.home .contact-float__choices strong { font-size: 12px !important; }
  html body.home .contact-float__close { width: 36px; height: 36px; }
}
