/* OC LOGISTIQUE 2.9 — compact, grouped navigation and clearer company story. */
header .top { padding:4px 0; }
header .top .wrap { display:flex; justify-content:space-between; align-items:center; gap:20px; }
header .top-nav { display:flex; align-items:center; gap:22px; }
header .top-nav a { display:inline-flex; align-items:center; min-height:34px; padding:4px 0; border:0; border-radius:0; background:transparent; color:#fff; font-size:12px; font-weight:500; text-decoration:none; text-underline-offset:4px; }
header .top-nav a:hover { background:transparent; color:#a5e4ed; text-decoration:underline; }
header .nav { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:clamp(12px,1.5vw,22px); }
header .nav>.ocl-search-button { margin-left:0; }
header .nav .brand img,header .nav .custom-logo-link img,header .nav .custom-logo { display:block; flex:none; width:auto!important; height:auto!important; max-width:150px; max-height:96px; object-fit:contain; }
header .links { flex:1 1 auto; flex-basis:auto; display:flex; flex-wrap:nowrap; justify-content:flex-end; align-items:center; gap:clamp(2px,.5vw,9px); }
header .links .navlink { color:#193d45; }
header .nav-group { position:relative; }
header .nav-group summary { display:inline-flex; align-items:center; gap:8px; min-height:46px; padding:12px 11px; border-radius:8px; color:#193d45; font-size:13px; font-weight:600; line-height:1.3; white-space:nowrap; cursor:pointer; list-style:none; }
header .nav-group summary::-webkit-details-marker { display:none; }
header .nav-group summary::after { content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .16s ease; }
header .nav-group[open] summary::after { transform:rotate(225deg) translate(-1px,-1px); }
header .nav-group summary:hover,header .nav-group[open] summary { background:#e9f4f3; color:#006f83; }
header .nav-submenu { position:absolute; top:calc(100% + 6px); left:0; z-index:80; display:grid; min-width:245px; padding:8px; border:1px solid #dce8e7; border-radius:10px; background:#fff; box-shadow:0 12px 32px #153e451c; }
header .nav-submenu .navlink { display:flex; align-items:center; min-height:42px; padding:10px 12px; border-radius:6px; color:#193d45; font-size:14px; line-height:1.4; text-decoration:none; white-space:normal; }
header .nav-submenu .navlink:hover,header .nav-submenu .navlink[aria-current="page"] { background:#edf6f5; color:#006f83; text-decoration:none; }
header .links>.navlink { padding:12px 10px; border-radius:8px; color:#193d45; font-size:13px; font-weight:600; white-space:nowrap; }
header .links>.navlink:hover,header .links>.navlink[aria-current="page"] { background:#e9f4f3; color:#006f83; text-decoration:none; }
header .links>.button { flex:none; margin-left:5px; padding:12px 16px; font-size:13px; }
header .menu-toggle { flex:none; }
.company-story-photo img { aspect-ratio:4 / 3; object-fit:cover; border-radius:4px; }
@media (max-width:1270px) {
 header .top { padding:6px 0; }
 header .top .wrap { justify-content:center; }
 header .top .wrap>span:first-child { display:none; }
 header .top-nav { display:flex!important; width:auto; justify-content:center; gap:clamp(14px,4vw,38px); }
 header .top-nav a { min-height:36px; padding:4px 0; border:0; background:transparent; font-size:12px; }
 header .nav { flex-wrap:wrap; justify-content:space-between; gap:12px 16px; }
 header .links { display:none; flex:1 0 100%; flex-basis:100%; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:3px; max-height:70vh; overflow-y:auto; padding:10px 0 14px; }
 header .links.open { display:flex; }
 header .links .navlink,header .links>.navlink { display:block; padding:12px 14px; min-height:44px; font-size:15px; white-space:normal; }
 header .nav-group { display:block; }
 header .nav-group summary { display:flex; justify-content:space-between; min-height:46px; padding:12px 14px; font-size:15px; }
 header .nav-submenu { position:static; min-width:0; padding:4px 0 8px 12px; border:0; border-left:2px solid #c8dfdc; border-radius:0; background:transparent; box-shadow:none; }
 header .nav-submenu .navlink { padding:9px 14px; }
 header .links>.button { align-self:stretch; width:100%; margin:8px 0 0; }
}
@media (max-width:540px) {
 header .top .wrap { padding-inline:10px; }
 header .top-nav { width:100%; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
 header .top-nav a { justify-content:center; min-height:40px; padding:4px; font-size:11px; line-height:1.3; text-align:center; }
 header .nav { min-height:76px; gap:8px; }
 header .nav .brand img,header .nav .custom-logo-link img,header .nav .custom-logo { max-width:120px; max-height:72px; width:auto!important; height:auto!important; object-fit:contain; }
 header .ocl-search-button { padding:9px 10px; font-size:12px; }
 header .menu-toggle { padding:9px 11px; font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { header .nav-group summary::after { transition:none; } }
