/* Menu PC immersif ; les menus mobiles conservent leurs styles. */
.desktop-globe-trigger[hidden], .desktop-globe-dialog:not([open]) { display: none !important; }
.desktop-globe-trigger { display: none; }
@media (min-width: 1000px) and (hover: hover) and (pointer: fine) {
  .site-header.has-desktop-globe > nav { display: none; }
  .desktop-globe-trigger { display: inline-flex; align-items: center; gap: 11px; min-height: 46px; padding: 11px 19px; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: .83rem; cursor: pointer; white-space: nowrap; }
  .desktop-globe-trigger:hover { background: rgb(132 171 144 / .15); }
  .desktop-globe-trigger svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.3; }
}
body.desktop-globe-open { overflow: hidden; }
.desktop-globe-dialog {
  box-sizing: border-box; position: fixed; inset: 0; width: 100%; height: 100dvh; max-width: none; max-height: none;
  margin: 0; padding: 0; border: 0; border-radius: 0; color: #e8eeee; background: #000;
  overflow: hidden; isolation: isolate; animation: desktop-globe-enter .65s ease-out both;
}
.desktop-globe-dialog::backdrop { background: #000; }
.desktop-globe-panel { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: 100%; height: 100%; min-height: 0; padding: 30px clamp(28px, 4vw, 72px) 24px; box-sizing: border-box; }
.desktop-globe-heading { position: relative; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 46px; }
.desktop-globe-brand { color: #e8eeee; font-size: .78rem; letter-spacing: .28em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.desktop-globe-close { display: inline-flex; align-items: center; gap: 14px; min-height: 46px; padding: 8px 2px 8px 14px; border: 0; border-radius: 0; color: #e8eeee; background: transparent; font: inherit; font-size: .8rem; cursor: pointer; }
.desktop-globe-close svg { width: 25px; height: 25px; stroke: currentColor; stroke-width: 1; }
.desktop-globe-close:hover { color: #fff; }
.desktop-globe-world { position: relative; min-height: 0; }
.desktop-globe-stage { position: absolute; inset: 0; cursor: grab; touch-action: none; user-select: none; }
.desktop-globe-stage.is-dragging { cursor: grabbing; }
.desktop-globe-stage canvas { display: block; width: 100%; height: 100%; }
.desktop-globe-preview { position: absolute; top: 50%; left: 50%; width: var(--globe-disc, min(calc(100dvh - 165px), 76vw)); aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%); overflow: hidden; opacity: 0; pointer-events: none; transition: opacity .35s ease; background: #080b0b; }
.desktop-globe-preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.38); }
.desktop-globe-preview p { position: absolute; top: 50%; left: 50%; width: min(58%, 26rem); margin: 0; transform: translate(-50%, -50%); text-align: center; color: #fff; font: 400 clamp(1rem, 1.35vw, 1.25rem)/1.5 Georgia, 'Times New Roman', serif; }
.desktop-globe-dialog.is-preview .desktop-globe-preview { opacity: 1; }
.desktop-globe-dialog.is-preview .desktop-globe-stage canvas { opacity: 0; }
.desktop-globe-links { position: absolute; inset: 0; pointer-events: none; }
.desktop-globe-link { position: absolute; display: flex; flex-direction: column; align-items: center; gap: 12px; width: clamp(155px, max(19vw, 7.5rem), 260px); min-height: 70px; padding: 10px; box-sizing: border-box; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.1rem, 2.05vw, 1.9rem); line-height: 1.16; text-align: center; text-decoration: none; color: #cdd3d4; pointer-events: auto; transition: color .25s ease; transform: translate(-50%, -50%); }
.desktop-globe-link > span:first-child { max-width: 100%; overflow-wrap: anywhere; }
.desktop-globe-link-dot { display: block; flex: 0 0 auto; width: 25px; height: 25px; border: 1px solid #d6dcde; border-radius: 50%; background: #0008; transition: box-shadow .25s ease, background .25s ease, transform .25s ease; }
.desktop-globe-link:hover, .desktop-globe-link:focus-visible { color: #fff; }
.desktop-globe-link:hover .desktop-globe-link-dot, .desktop-globe-link:focus-visible .desktop-globe-link-dot { background: #dce8e8; box-shadow: 0 0 22px #bacfdc50; transform: scale(.75); }
.desktop-globe-link:nth-child(1) { left: 15%; top: 31%; }
.desktop-globe-link:nth-child(2) { left: 36%; top: max(calc(2rem + 24px), 10%); }
.desktop-globe-link:nth-child(3) { left: 85%; top: 23%; }
.desktop-globe-link:nth-child(4) { left: 18%; top: 78%; flex-direction: column-reverse; }
.desktop-globe-link:nth-child(5) { left: 79%; top: 88%; flex-direction: column-reverse; }
.desktop-globe-footer { position: relative; z-index: 5; display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 14px 22px; margin: 0; padding-top: 16px; color: #a8b0b2; background: #000; font-size: .66rem; line-height: 1.6; }
.desktop-globe-footer p { margin: 0; color: inherit; font-size: inherit; line-height: inherit; }
.desktop-globe-rotation { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.desktop-globe-rotation button { min-width: 40px; min-height: 42px; padding: 8px 12px; border: 1px solid #ffffff26; border-radius: 999px; background: transparent; color: #d9dfe0; font: inherit; font-size: .7rem; cursor: pointer; }
.desktop-globe-rotation button:hover { border-color: #ffffff80; background: #ffffff0a; }
.desktop-globe-rotation button:disabled { color: #a8b0b2; cursor: default; }
.desktop-globe-credit { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.desktop-globe-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.desktop-globe-dialog :is(a, button, [tabindex]):focus-visible { outline: 2px solid #e1eeee; outline-offset: 5px; }
.desktop-globe-stage:focus-visible { outline-offset: -2px !important; }
.desktop-globe-trigger:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@keyframes desktop-globe-enter { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 1100px) {
  .desktop-globe-link:nth-child(1) { top: 42%; }
  .desktop-globe-link:nth-child(2) { left: 24%; }
}
@media (max-height: 650px) {
  .desktop-globe-panel { padding-block: 16px; }
  .desktop-globe-link { gap: 7px; }
  .desktop-globe-link:nth-child(5) { top: 83%; }
  .desktop-globe-footer { padding-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .desktop-globe-dialog, .desktop-globe-link, .desktop-globe-link-dot, .desktop-globe-preview { animation: none; transition: none; }
}
body[data-motion='paused'] :is(.desktop-globe-dialog, .desktop-globe-link, .desktop-globe-link-dot, .desktop-globe-preview) { animation: none; transition: none; }
