/* Keep the mobile menu compact and separate from floating page controls. */
@media (max-width:1150px) {
  html.navigation-open { overflow:hidden; overscroll-behavior:none; }
  html.navigation-open body {
    position:fixed;
    top:var(--navigation-scroll-top,0px);
    left:0;
    width:100%;
    padding-top:var(--navigation-header-height,77px);
  }
  html.navigation-open .site-header { position:fixed; top:0; left:0; right:0; }
  html.navigation-open body::before {
    content:"";
    position:fixed;
    inset:0;
    z-index:49;
    background:rgb(7 26 49 / 35%);
  }
  html.navigation-open #hira-dock,
  html.navigation-open #back-to-top { display:none; }
  .primary-nav {
    gap:0;
    justify-content:flex-start;
    max-height:calc(100dvh - var(--navigation-bottom,77px) - var(--privacy-banner-space,0px));
    padding-block:6px max(20px,env(safe-area-inset-bottom,0px));
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .primary-nav > *, .primary-nav .mega-toggle { flex-shrink:0; }
  .primary-nav .nav-link {
    min-height:52px;
    padding-block:14px;
    font-size:15px;
    line-height:24px;
  }
  .primary-nav .nav-demo {
    min-height:48px;
    margin-top:16px;
    padding:12px 16px;
    font-size:14px;
  }
  .primary-nav .mega-menu { margin-block:4px 10px; }
  .primary-nav .mega-heading { padding:16px; }
  .primary-nav .mega-grid { padding:12px 16px; }
  .primary-nav .group-toggle { min-height:44px; }
}

/* The rounded navigation floats on scroll; the page top keeps its full background. */
body .site-header{transition:background-color .25s,box-shadow .25s}
body .site-header.is-scrolled{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}
body .site-header.is-scrolled .main-navigation{pointer-events:auto;background:#fffffff7;box-shadow:0 7px 24px #102c4714;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body .site-header.is-scrolled>.scroll-progress{left:max(36px,calc((100% - 1480px)/2));right:max(36px,calc((100% - 1480px)/2));width:auto;bottom:10px;opacity:0}
@media(prefers-reduced-motion:reduce){body .site-header{transition:none}}
.motion-reduced .site-header{transition:none}

/* Refined header surfaces and controls, without changing navigation behaviour. */
body .site-header .main-navigation{border-color:#dce4ed;border-radius:16px;background:linear-gradient(180deg,#fff,#fcfdff);box-shadow:inset 0 1px 0 #fff,0 4px 18px #152f4806}
body .site-header .main-navigation::before{content:"";position:absolute;top:-1px;left:30px;width:88px;height:1px;background:linear-gradient(90deg,transparent,#dc4b70,transparent);pointer-events:none}
body:is(.page-ana,.page-interior) .site-header.is-scrolled .main-navigation{background:linear-gradient(180deg,#fffffff7,#fcfdfff7);box-shadow:inset 0 1px 0 #fff,0 8px 26px #102c4717;border-color:#dce5ef}
body .site-header .main-navigation .nav-demo{position:relative;isolation:isolate;min-height:44px;padding:7px 9px 7px 16px;gap:15px;border:1px solid #d51649;border-radius:10px;background:linear-gradient(115deg,#ce0f43,#ed1752);color:#fff;box-shadow:inset 0 1px 0 #ffffff35,0 4px 12px #cf17471a;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:-.01em;transition:background .2s,box-shadow .2s,transform .2s}
body .site-header .main-navigation .nav-demo::after{display:none}
body .site-header .main-navigation .nav-demo>.icon{flex:0 0 28px;width:28px;height:28px;padding:6px;border:1px solid #ffffff25;border-radius:6px;background:#ffffff13;stroke-width:1.5;transition:background .2s,transform .2s}
body .site-header .main-navigation .nav-demo:hover{background:linear-gradient(115deg,#b60b39,#e3144b);box-shadow:inset 0 1px 0 #ffffff35,0 6px 16px #cf17472a;transform:translateY(-1px)}
body .site-header .main-navigation .nav-demo:hover>.icon{background:#ffffff25;transform:translate(1px,-1px)}
body .site-header .main-navigation .nav-demo:focus-visible{outline:2px solid #9d173e;outline-offset:4px}
body .site-header .language-switch{position:relative;border:1px solid #e0e7ef;border-radius:9px;padding:3px;gap:2px;background:#f0f4f8;box-shadow:inset 0 1px 2px #15334b04}
body .site-header .language-switch>a{min-width:29px;min-height:30px;border:1px solid transparent;border-radius:6px;font-size:10px;font-weight:600;line-height:1;letter-spacing:.025em;color:#6d8298;transition:background .2s,color .2s,box-shadow .2s}
body .site-header .language-switch>a[aria-current=true]{background:linear-gradient(135deg,#203d58,#132b42);color:#fff;border-color:#122a40;box-shadow:0 2px 5px #16344c1c}
body .site-header .language-switch>a:not([aria-current=true]):hover{color:#16334e;background:#fff;box-shadow:0 1px 4px #102b4712}
@media(min-width:1151px){
 body .site-header .main-navigation{gap:15px;padding-inline:23px}
 body .site-header .main-navigation .primary-nav{gap:2px;align-items:center}
 body .site-header .primary-nav>.nav-link:not(.nav-demo),body .site-header .primary-nav>.platform-nav{align-self:center}
 body .site-header .primary-nav>.platform-nav{height:38px}
 body .site-header .primary-nav>.nav-link:not(.nav-demo),body .site-header .platform-nav>.mega-toggle{min-height:38px;padding:9px 10px;border:1px solid transparent;border-radius:7px;color:#405970;font-size:13px;font-weight:500;line-height:1.5;letter-spacing:-.01em;transition:color .2s,background .2s,border-color .2s}
 body .site-header .primary-nav>.nav-link:not(.nav-demo)::after,body .site-header .platform-nav>.mega-toggle::after{display:none}
 body .site-header .primary-nav>.nav-link:not(.nav-demo):hover,body .site-header .platform-nav>.mega-toggle:hover{color:#17354e;background:#f1f5f9}
 body .site-header .primary-nav>.nav-link.current:not(.nav-demo),body .site-header .platform-nav>.mega-toggle.current,body .site-header .platform-nav>.mega-toggle[aria-expanded=true]{color:#a72549;background:#fff2f5;border-color:#f0dce3}
 body .site-header .primary-nav>.nav-link:focus-visible,body .site-header .platform-nav>.mega-toggle:focus-visible{outline:2px solid #c92e57;outline-offset:3px}
 body .site-header .main-navigation .nav-demo{margin-left:12px}
 body .site-header .language-switch{margin-left:12px}
 body .site-header .language-switch::before{content:"";position:absolute;left:-15px;top:4px;bottom:4px;width:1px;background:linear-gradient(transparent,#dce4ed 25%,#dce4ed 75%,transparent)}
}
@media(min-width:1151px) and (max-width:1350px){
 body .site-header .main-navigation{gap:10px;padding-inline:18px}
 body .site-header .primary-nav>.nav-link:not(.nav-demo),body .site-header .platform-nav>.mega-toggle{padding-inline:9px;font-size:12px}
 body .site-header .main-navigation .nav-demo{margin-left:8px;gap:10px;padding-left:12px;font-size:12px}
 body .site-header .language-switch{margin-left:9px}
 body .site-header .language-switch::before{left:-11px}
}
@media(max-width:1150px){body .site-header .main-navigation .nav-demo{min-height:46px;font-size:13px;justify-content:space-between;padding:8px 12px 8px 17px}body .site-header .language-switch{margin-right:12px}body .site-header .main-navigation::before{left:25px;width:68px}}
@media(max-width:700px){body .site-header .language-switch{margin-right:8px;padding:2px;gap:0}body .site-header .language-switch>a{min-width:27px;min-height:32px;font-size:10px}body .site-header .main-navigation{border-radius:13px}}
@media(max-width:370px){body .site-header .language-switch{margin-right:6px}body .site-header .language-switch>a{min-width:24px}}
@media(prefers-reduced-motion:reduce){body .site-header .nav-link,body .site-header .nav-demo>.icon,body .site-header .language-switch>a{transition:none!important}body .site-header .main-navigation .nav-demo:hover,body .site-header .main-navigation .nav-demo:hover>.icon{transform:none}}
.motion-reduced .site-header .nav-link,.motion-reduced .site-header .nav-demo>.icon,.motion-reduced .site-header .language-switch>a{transition:none!important}.motion-reduced .site-header .main-navigation .nav-demo:hover,.motion-reduced .site-header .main-navigation .nav-demo:hover>.icon{transform:none}
