/* Dimensions et typographie du menu Synapsteria ; les animations restent décoratives. */
html { scroll-padding-top:102px; }
.lab-experience .experience-section,.lab-experience #planning { scroll-margin-top:20px; }
.lab-experience .experience-section.hero-section { padding-top:86px; }
.brand-site-header { --dock-width:184px; position:fixed; z-index:1000; top:16px; left:50%; transform:translateX(-50%); width:min(1240px,calc(100% - 36px)); display:flex; align-items:center; gap:24px; min-height:68px; padding:8px 18px; box-sizing:border-box; border:1px solid #dce3f02b; border-radius:18px; color:#fff; font-family:Arial,Helvetica,sans-serif; isolation:isolate; transition:box-shadow .3s,border-color .3s; }
.brand-nav-surface { position:absolute; inset:0; z-index:-1; border-radius:inherit; overflow:hidden; background:rgba(12,19,34,.4); backdrop-filter:blur(12px); pointer-events:none; }
.brand-nav-paper,.brand-nav-wave { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.brand-nav-paper { background:#fff; opacity:0; }
.brand-site-header.is-filled { border-color:#e3e7ef; box-shadow:0 8px 24px #00000016; }
.brand-site-home { display:flex; flex:none; align-items:center; border-radius:50%; }
.brand-site-home img { display:block; width:44px; height:44px; object-fit:contain; }
.brand-site-menu { display:flex; flex:1; align-items:center; gap:20px; }
.brand-site-menu a { position:relative; display:inline-flex; align-items:center; min-height:48px; padding:9px 0; color:#fff; text-decoration:none; font-size:15px; font-weight:600; letter-spacing:-.3px; line-height:1.4; white-space:nowrap; transition:color .18s; }
.brand-site-menu a::after { content:""; position:absolute; left:0; bottom:5px; width:100%; height:2px; background:linear-gradient(90deg,#ce492f,#8d3bac); transform:scaleX(0); transform-origin:right; transition:transform .28s; }
.brand-site-menu a:hover::after,.brand-site-menu a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.brand-site-menu a.is-on-paper,.brand-site-header.is-filled .brand-site-menu a { color:#172033; }
.brand-site-menu a:hover,.brand-site-header.is-filled .brand-site-menu a:hover { color:#b657ae; }
.brand-nav-actions { display:flex; align-items:center; flex:none; gap:0; margin-left:auto; }
.brand-site-contact { display:inline-flex; align-items:center; justify-content:center; flex:none; min-height:44px; padding:10px 18px; border-radius:12px; background:linear-gradient(110deg,#ca175f,#6438b7); color:#fff; font-size:16px; font-weight:600; line-height:1.4; white-space:nowrap; text-decoration:none; }
.brand-site-contact:hover { box-shadow:0 5px 18px #b7287733; }
.brand-launch-slot { display:flex; align-items:center; justify-content:flex-end; flex:none; width:0; overflow:hidden; transition:width .52s cubic-bezier(.22,.65,.18,1); }
.brand-site-header.has-launch-slot .brand-launch-slot { width:calc(var(--dock-width) + 10px); }
.brand-site-header.is-resizing .brand-launch-slot { transition:none; }
.brand-nav-launch { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:7px; width:var(--dock-width); min-height:44px; padding:10px; border:1px solid #d6c4e4; border-radius:12px; background:linear-gradient(120deg,#fbf5fb,#efe8fb); color:#704188; font:600 14px/1.4 Arial,Helvetica,sans-serif; white-space:nowrap; opacity:0; visibility:hidden; }
.brand-nav-launch svg { width:18px; height:18px; fill:currentColor; flex:none; }
.brand-site-header.is-launch-ready .brand-nav-launch { visibility:visible; opacity:1; transition:opacity .18s; }
.brand-nav-launch:hover { background:#e9dcf5; color:#522671; }
.brand-site-header :is(a,button):focus-visible { outline:3px solid #27b6bd; outline-offset:4px; }
.brand-menu-toggle { display:none; }
.brand-nav-drop { position:fixed; z-index:1200; display:grid; place-items:center; pointer-events:none; transform-origin:center; border:1px solid #ffecf0a6; background:radial-gradient(ellipse at 32% 18%,#fff9 0%,#ffcfec42 16%,transparent 47%),linear-gradient(130deg,#e6749799,#8e509cdd 53%,#5b51a8ee); box-shadow:inset 0 1px 2px #ffffffe0,inset 0 -6px 10px #41297066,0 6px 20px #6b356329; color:#fff; font:600 14px Arial,Helvetica,sans-serif; white-space:nowrap; }
.brand-nav-drop::before { content:""; position:absolute; top:3px; left:5px; right:5px; height:30%; border-radius:50%; border-top:1px solid #fff9; }
@media (min-width:1051px) and (max-width:1250px) {
    .brand-site-header { gap:26px; --dock-width:166px; }
    .brand-site-menu { gap:20px; }
    .brand-site-contact { font-size:15px; padding:12px 17px; }
    .brand-nav-launch { font-size:13px; }
}
@media (max-width:1050px) {
    html { scroll-padding-top:88px; }
    .lab-experience .experience-section.hero-section { padding-top:76px; }
    .brand-site-header { --dock-width:164px; top:10px; width:calc(100% - 20px); min-height:64px; gap:10px; padding:9px 12px; border-radius:16px; }
    .brand-site-home img { width:38px; height:38px; }
    .brand-nav-actions { margin-left:auto; }
    .brand-site-contact { width:150px; min-height:44px; padding:8px 10px; font-size:13px; }
    .brand-launch-slot,.brand-site-header.has-launch-slot .brand-launch-slot { position:absolute; top:calc(100% + 8px); right:0; width:var(--dock-width); overflow:visible; }
    .brand-site-header.is-open .brand-launch-slot { display:none; }
    .brand-nav-launch { min-height:44px; padding:10px; }
    .brand-menu-toggle { display:flex; flex:none; align-items:center; justify-content:center; width:40px; height:40px; padding:8px; border:1px solid #ffffff38; border-radius:10px; color:#fff; background:#ffffff0b; cursor:pointer; }
    .brand-menu-toggle svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
    .brand-menu-toggle.is-on-paper,.brand-site-header.is-filled .brand-menu-toggle { color:#172033; border-color:#e3dfeb; background:#faf8fc; }
    .brand-menu-toggle[aria-expanded="true"] { border-color:#ab57bf; color:#7c2794; background:#f4eafa; }
    .brand-site-menu { position:absolute; top:calc(100% + 8px); left:0; right:0; display:none; gap:2px; padding:12px; border:1px solid #e3e7ef; border-radius:16px; background:#fff; box-shadow:0 16px 35px #00000026; max-height:calc(100dvh - 100px); overflow-y:auto; }
    .brand-site-header.is-open .brand-site-menu { display:flex; flex-direction:column; align-items:stretch; }
    .brand-site-header .brand-site-menu a { display:flex; align-items:center; min-height:44px; padding:10px 14px; border-radius:9px; font-size:16px; font-weight:600; color:#172033; }
    .brand-site-menu a::after { left:14px; right:14px; width:auto; }
    .brand-site-menu a:hover { background:#f5eff8; }
}
@media (max-width:420px) { .brand-site-home img { width:32px; height:32px; } }
@media (max-width:360px) {
    .brand-site-header { gap:6px; padding:9px 10px; }
    .brand-site-home img { width:28px; height:28px; }
    .brand-site-contact { width:136px; font-size:12px; }
    .brand-menu-toggle { width:36px; }
}
@media (prefers-reduced-motion:reduce) {
    .brand-site-header,.brand-site-menu a,.brand-site-menu a::after,.brand-launch-slot,.brand-nav-launch { transition:none!important; }
}
