/* Compact language flags; the primary Komori menu retains its existing geometry. */
.top-subheader-langs .lang-chip { gap:6px; min-height:34px; padding:6px 10px; letter-spacing:.04em; }
.lang-chip__flag { display:block; width:26px; height:18px; object-fit:cover; border-radius:3px; border:1px solid #ffffff65; box-shadow:0 1px 3px #02163030; flex:none; }
.lang-chip.is-active .lang-chip__flag { border-color:#bacfdd; }
.top-subheader-langs .lang-chip:focus-visible { outline:2px solid #7ce9ff; outline-offset:2px; }

/* One compact, native sticky bar; scroll motion never changes its layout height. */
.km-entry { --km-header-offset:calc(var(--header-height,80px) + 80px); }
.km-entry .km-department-nav-anchor { display:block; height:0; }
.km-entry .km-brand-strip[data-department-navigation] {
 position:sticky; top:var(--header-height,80px); z-index:50; height:64px;
 box-sizing:border-box; background:var(--komori-paper,#fff); color:#19385b;
 transition:transform .24s ease,opacity .2s ease,visibility .24s;
}
.km-entry .km-brand-strip[data-department-navigation]>.km-wrap {
 display:flex; align-items:center; justify-content:center; flex-wrap:nowrap;
 height:100%; gap:12px; padding:0 20px; overflow-x:auto; scrollbar-width:none;
 overscroll-behavior-x:contain; box-sizing:border-box;
}
.km-entry .km-brand-strip[data-department-navigation]>.km-wrap::-webkit-scrollbar { display:none; }
.km-entry .km-brand-strip[data-department-navigation] .km-strip-label {
 width:auto; max-width:none; margin-right:12px; flex:none; font-size:9px; letter-spacing:.08em;
}
.km-entry .km-brand-strip[data-department-navigation] a {
 display:inline-flex; align-items:center; justify-content:center; flex:none;
 min-height:44px; padding:0 12px; box-sizing:border-box; border:1px solid transparent;
 border-radius:12px; font-size:15px; font-weight:700; white-space:nowrap;
 color:#244666; text-decoration:none; transition:background-color .18s,border-color .18s,color .18s;
}
.km-entry .km-brand-strip[data-department-navigation] a:hover { background:#eaf6fc; color:#0479aa; }
.km-entry .km-brand-strip[data-department-navigation] a[aria-current="true"] {
 background:#e8f7ff; border-color:#12a8dd; color:#075782;
}
.km-entry .km-brand-strip[data-department-navigation] a:focus-visible { outline:2px solid #039fd6; outline-offset:-3px; }
.km-entry .km-brand-strip[data-department-navigation].is-docked { box-shadow:0 5px 15px #061b3212; }
.km-entry .km-brand-strip[data-department-navigation].is-retracted {
 transform:translateY(-100%); opacity:0; visibility:hidden; pointer-events:none;
}
body.mobile-nav-open .km-entry .km-brand-strip[data-department-navigation] { visibility:hidden; pointer-events:none; }
.km-entry [data-department-preview] { scroll-margin-top:calc(var(--header-height,80px) + 64px); }
@media(max-width:900px) {
 .km-entry .km-brand-strip[data-department-navigation] .km-strip-label { display:none; }
 .km-entry .km-brand-strip[data-department-navigation]>.km-wrap { justify-content:flex-start; width:100%; max-width:none; gap:6px; padding-inline:12px; }
 .km-entry .km-brand-strip[data-department-navigation] a { font-size:14px; padding-inline:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .km-entry .km-brand-strip[data-department-navigation],
 .km-entry .km-brand-strip[data-department-navigation] a { transition:none; }
}
@media(max-width:700px) {
 .top-subheader-langs .lang-chip { gap:5px; padding:6px 8px; font-size:10px; }
 .lang-chip__flag { width:24px; height:16px; }
}
