/* Round 01: shared crawlable service navigation. Loaded after page styles. */
body.v5 .site-header .container { width:min(1384px,calc(100% - 48px)); max-width:1384px; }
body.v5 .site-header .header-inner { height:80px; min-height:80px; gap:18px; }
body.v5 .site-header .site-nav { position:static; margin-left:auto; }
body.v5 .site-header .nav-top { display:flex; flex-direction:row; align-items:center; gap:16px; }
body.v5 .site-header .nav-item { position:relative; border:0; }
body.v5 .site-header .nav-parent { display:flex; align-items:center; gap:2px; }
body.v5 .site-header .nav-parent > a,
body.v5 .site-header .nav-direct { display:block; padding:12px 0; font-size:15px; line-height:21px; font-weight:600; white-space:nowrap; }
body.v5 .site-header .nav-toggle { display:grid; place-items:center; width:24px; height:40px; padding:0; flex:none; border:0; border-radius:6px; background:transparent; color:#006889; cursor:pointer; }
body.v5 .site-header .nav-toggle svg { width:14px; height:14px; transition:transform .18s; }
body.v5 .site-header .nav-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
body.v5 .site-header .nav-panel { display:none; position:absolute; top:100%; left:0; width:360px; padding:22px; border:1px solid #cbdde8; border-top:3px solid #007b9c; border-radius:0 0 16px 16px; background:#f7fbff; box-shadow:0 18px 38px #08293f26; max-height:calc(100dvh - 90px); overflow:auto; overscroll-behavior:contain; z-index:2; }
body.v5 .site-header .nav-panel--wide { width:700px; grid-template-columns:1fr 1fr; gap:24px; }
body.v5 .site-header .nav-panel--right { left:auto; right:0; }
body.v5 .site-header .nav-group-title { margin:0 0 10px; padding:0 6px 10px; color:#365366; font-size:13px; line-height:19px; font-weight:700; border-bottom:1px solid #cbdde8; }
body.v5 .site-header .nav-panel ul { display:flex; flex-direction:column; align-items:stretch; gap:2px; margin:0; padding:0; width:auto; list-style:none; }
body.v5 .site-header .nav-panel li { border:0; }
body.v5 .site-header .nav-panel a { display:block; padding:8px 9px; font-size:15px; line-height:21px; font-weight:500; border-radius:7px; color:#08293f; overflow-wrap:anywhere; }
body.v5 .site-header .site-nav a::after { display:none; }
body.v5 .site-header .nav-panel a:hover,
body.v5 .site-header .nav-panel a:focus-visible { background:#dfedf4; color:#005d7d; }
body.v5 .site-header :is(a,button):focus-visible { outline:3px solid #0075a4; outline-offset:2px; }
body.v5 .site-header .nav-item.is-expanded > .nav-panel { display:grid; }
@media (min-width:1151px) {
 body.v5 .site-header .site-nav:not(.nav-ready) .nav-item:is(:hover,:focus-within) > .nav-panel { display:grid; }
}
@media (min-width:1151px) and (max-width:1240px) {
 body.v5 .site-header .header-inner { gap:12px; }
 body.v5 .site-header .nav-top { gap:9px; }
 body.v5 .site-header .nav-parent > a,
 body.v5 .site-header .nav-direct { font-size:14px; }
 body.v5 .site-header .nav-toggle { width:20px; }
}
@media (max-width:1150px) {
 body.v5 .site-header .site-nav { position:fixed; top:80px; left:0; right:0; display:block; margin:0; padding:12px 24px calc(24px + env(safe-area-inset-bottom)); max-height:calc(100dvh - 80px); overflow:auto; overscroll-behavior:contain; background:#f7fbff; }
 body.v5 .site-header .nav-top { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 body.v5 .site-header .nav-item { border-bottom:1px solid #cbdde8; }
 body.v5 .site-header .nav-parent { justify-content:space-between; gap:12px; }
 body.v5 .site-header .nav-parent > a,
 body.v5 .site-header .nav-direct { padding:14px 0; font-size:18px; line-height:25px; white-space:normal; }
 body.v5 .site-header .nav-toggle { width:44px; height:44px; border:1px solid #cbdde8; background:#edf5fc; }
 body.v5 .site-header .nav-panel { position:static; width:auto; max-height:none; padding:8px 8px 18px; margin:0 0 10px; border:0; border-radius:10px; box-shadow:none; background:#edf5fc; overflow:visible; }
 body.v5 .site-header .nav-panel--wide { grid-template-columns:1fr; gap:18px; }
 body.v5 .site-header .nav-panel a { padding:11px 10px; font-size:16px; line-height:22px; min-height:44px; }
 body.v5 .site-header .nav-group-title { padding:8px 10px 10px; margin-bottom:4px; }
 body.v5 .site-header .site-nav:not(.nav-ready) .nav-panel { display:grid; }
}
@media (max-width:600px) {
 body.v5 .site-header .container { width:calc(100% - 32px); }
 body.v5 .site-header .header-inner { height:64px; min-height:64px; gap:0 12px; }
 body.v5 .site-header .site-nav { top:64px; max-height:calc(100dvh - 64px - 76px - env(safe-area-inset-bottom)); padding:10px 16px calc(24px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) {
 body.v5 .site-header .nav-toggle svg { transition:none; }
}
