/* Site navigation: full text links on desktop, a compact panel on small screens. */
.site-header{height:auto;min-height:78px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand nav";align-items:center;gap:1.2rem;padding:.55rem clamp(1rem,2vw,2.5rem);background:rgba(7,7,9,.97);box-shadow:0 12px 35px #0006}
.site-header .brand{grid-area:brand;font-size:1.18rem}
.site-header .brand img{width:42px;height:42px}
.site-header #nav{grid-area:nav;position:static;display:flex;flex-direction:row;flex:initial;align-items:center;justify-content:center;gap:clamp(.48rem,.7vw,.85rem);min-width:0;padding:0;background:none}
.site-header #nav a{position:relative;display:inline-flex;align-items:center;min-height:38px;padding:.2rem 0;color:#dedde0;font-size:clamp(.72rem,.78vw,.85rem);font-weight:750;white-space:nowrap;line-height:1.15}
.site-header #nav a:hover,.site-header #nav a[aria-current=page]{color:#fff}
.site-header #nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:99px;background:#ee4051}
.site-header .login-key{width:42px;height:42px;display:grid;place-items:center;flex:none;border:1px solid #494950;border-radius:50%;background:#19191e;color:#c7c6cc;text-decoration:none;transition:border-color .2s,background .2s,color .2s}
.site-header .login-key:hover{border-color:#f06472;background:#2b1b20;color:#fff}
.site-header .site-menu{display:none}
@media(min-width:1000px) and (max-width:1499px){
  .site-header{grid-template-columns:1fr;grid-template-areas:"brand" "nav";row-gap:.25rem;padding-bottom:.35rem}
  .site-header #nav{width:100%;min-height:40px;justify-content:center;gap:clamp(.5rem,.9vw,.95rem);border-top:1px solid #2e2e34;overflow-x:auto;scrollbar-width:none}
  .site-header #nav::-webkit-scrollbar{display:none}
  .site-header #nav a{font-size:clamp(.72rem,.88vw,.83rem)}
}
@media(max-width:999px){
  .site-header{display:flex;min-height:72px;padding:.6rem 1rem;gap:.65rem}
  .site-header .brand{margin-right:auto}
  .site-header .site-menu{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;padding:0;border:1px solid #47474e;border-radius:12px;background:#1a1a1f;color:#fff;cursor:pointer;order:2}
  .site-header .site-menu:hover,.site-header .site-menu[aria-expanded=true]{border-color:#ed5968;background:#342026}
  .site-header .menu-lines{width:17px;display:grid;gap:3px}
  .site-header .menu-lines i{display:block;height:2px;border-radius:2px;background:#fff}
  .site-header #nav{position:absolute;top:calc(100% + .4rem);left:1rem;right:1rem;z-index:25;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.15rem;max-height:calc(100dvh - 95px);padding:.65rem;border:1px solid #4c353a;border-radius:18px;background:linear-gradient(155deg,#242025,#101014 78%);box-shadow:0 24px 55px #000c;overflow-y:auto}
  .site-header #nav.open{display:flex}
  .site-header #nav a{width:100%;min-height:43px;padding:.68rem .85rem;border-radius:10px;font-size:.92rem;color:#f0eff1}
  .site-header #nav a:hover,.site-header #nav a[aria-current=page]{background:#3b242b;color:#fff}
  .site-header #nav a[aria-current=page]::after{left:auto;right:.85rem;top:50%;bottom:auto;width:6px;height:6px;transform:translateY(-50%);border-radius:50%}
}
@media(max-width:620px){
  .site-header{justify-content:flex-end}
  .site-header .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;z-index:1}
  .site-header .brand img{width:52px;height:52px}
  .site-header .brand span{display:none}
  .site-header .site-menu{position:relative;z-index:2}
  .site-header .login-key{width:40px;height:40px}
}
@media(max-width:380px){.site-header{gap:.45rem;padding-inline:.65rem}}
@media(prefers-reduced-motion:reduce){.site-header .login-key,.site-header .menu-chevron{transition:none}}

/* Keep every desktop link reachable as the navigation grows. */
@media(min-width:1000px){
 .site-header .nav-scroll-shell{grid-area:nav;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:.35rem;min-width:0}
 .site-header #nav{grid-area:auto;width:100%;overflow-x:auto;overflow-y:hidden;justify-content:safe center;scrollbar-width:thin;scrollbar-color:var(--red) #222;padding:4px 3px 8px;scroll-padding-inline:8px}
 .site-header #nav a{flex-shrink:0}
 .site-header #nav::-webkit-scrollbar{display:block;height:4px}
 .site-header #nav::-webkit-scrollbar-thumb{background:var(--red);border-radius:4px}
 .site-header .nav-scroll-arrow{width:32px;height:38px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--white);font-size:1.8rem;line-height:1;cursor:pointer}
 .site-header .nav-scroll-arrow:hover{border-color:var(--red);color:var(--red2)}
 .site-header .nav-scroll-arrow:disabled{opacity:.3;cursor:default}
 .site-header .nav-scroll-shell:not(.has-overflow) .nav-scroll-arrow{visibility:hidden}
}
@media(max-width:999px){.site-header .nav-scroll-shell{display:contents}.site-header .nav-scroll-arrow{display:none}}

/* Comfortable mobile navigation, with the same station colours as the pages. */
@media(max-width:999px){
 .site-header #nav{left:.75rem;right:.75rem;top:calc(100% + .5rem);max-height:calc(100dvh - 100px);padding:.65rem .65rem max(.65rem,env(safe-area-inset-bottom));gap:.3rem;border:1px solid #3d3033;border-radius:20px;background:linear-gradient(145deg,#20191c,#151518 55%);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#665159 #151518}
 .site-header #nav a{min-height:50px;padding:.85rem 2rem .85rem 1rem;white-space:normal;font-size:.96rem;line-height:1.35;border:1px solid transparent;border-radius:12px}
 .site-header #nav a:hover{background:#282126;border-color:#493239}
 .site-header #nav a[aria-current=page]{background:#381c23;border-color:#74303b;color:var(--white)}
 .site-header #nav a[aria-current=page]::after{right:1rem;background:var(--red2)}
 .site-header #nav .nav-aux{color:#c8c5ca}
 .site-header #nav a:focus-visible,.site-header .site-menu:focus-visible{outline:2px solid var(--red2);outline-offset:2px}
}
