/* Desktop navigation and compact, image-first catalogues. */
@media (min-width:960px){
 body.mobile-hub.midnight .nav{height:76px;gap:24px;padding-inline:clamp(24px,4vw,72px)}
 body.mobile-hub.midnight .nav .desktop-nav{gap:clamp(18px,2.5vw,40px);min-width:0}
 body.mobile-hub.midnight .nav .desktop-nav a{font-size:15px;line-height:1.3}
 body.mobile-hub.midnight .nav .language-picker{position:relative;display:flex;flex:0 0 auto;width:154px;gap:0;margin:0}
 body.mobile-hub.midnight .nav .language-picker>span{display:none}
 body.mobile-hub.midnight .nav .language-picker .language-flag{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:24px;height:17px;z-index:2;pointer-events:none;object-fit:cover;border-radius:2px}
 body.mobile-hub.midnight .nav .language-picker select{box-sizing:border-box;width:154px;min-width:154px;max-width:154px;height:46px;padding:8px 24px 8px 48px!important;border:1px solid #587381;border-radius:999px;background:#092039;color:white;font-size:14px}
 body.mobile-hub.midnight main:has(>#maps:not([hidden])),body.mobile-hub.midnight main:has(>#tracks:not([hidden])){max-width:1520px;margin:16px auto;padding:0 24px}
 body.mobile-hub.midnight main>#maps,body.mobile-hub.midnight main>#tracks{padding:16px 20px;margin:0;border-radius:18px;min-height:0}
 body.mobile-hub.midnight #maps .back-menu,body.mobile-hub.midnight #tracks .back-menu{display:inline-block;font-size:13px;margin:0 0 6px}
 body.mobile-hub.midnight #maps .section-head,body.mobile-hub.midnight #tracks .section-head{margin:0 0 12px;padding:0 0 10px;min-height:0}
 body.mobile-hub.midnight #maps .section-head h2,body.mobile-hub.midnight #tracks .section-head h2{font-size:26px;line-height:1.2;margin:0}
 body.mobile-hub.midnight #maps .section-head .eyebrow,body.mobile-hub.midnight #tracks .section-head .eyebrow{font-size:10px;margin:0 0 4px;letter-spacing:1.5px}
 body.mobile-hub.midnight #maps .section-head>p,body.mobile-hub.midnight #tracks .section-head>p,body.mobile-hub.midnight #maps>.hint{display:none}
 body.mobile-hub.midnight #maps .map-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 body.mobile-hub.midnight #tracks .track-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
 body.mobile-hub.midnight #maps .map-card,body.mobile-hub.midnight #tracks .track-card{min-width:0;min-height:0;border-radius:12px;overflow:hidden}
 body.mobile-hub.midnight #maps .circuit-photo{height:clamp(100px,calc((100dvh - 360px)/2),230px);min-height:0;aspect-ratio:auto}
 body.mobile-hub.midnight #maps .circuit-overlay{padding:12px 14px}
 body.mobile-hub.midnight #maps .circuit-overlay strong{font-size:17px;max-width:none;line-height:1.15}
 body.mobile-hub.midnight #maps .circuit-overlay>span,body.mobile-hub.midnight #maps .circuit-photo figcaption{display:none}
 body.mobile-hub.midnight #maps .map-body{padding:10px 14px;gap:4px}
 body.mobile-hub.midnight #maps .map-body h3{font-size:17px;line-height:1.25;margin:0}
 body.mobile-hub.midnight #maps .map-body>.eyebrow,body.mobile-hub.midnight #maps .map-body>p:not(.tour-host),body.mobile-hub.midnight #maps .map-meta,body.mobile-hub.midnight #maps .course-order,body.mobile-hub.midnight #maps .map-body>a{display:none}
 body.mobile-hub.midnight #maps .map-body .tour-host{font-size:12px!important;line-height:1.3;margin:0;min-height:0;flex:none}
 body.mobile-hub.midnight #maps .tour-host img{width:19px;height:13px}
 body.mobile-hub.midnight #tracks #guide-map{display:none}
 body.mobile-hub.midnight #tracks .filters{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}
 body.mobile-hub.midnight #tracks .filters button{font-size:13px;min-height:32px;padding:5px 14px}
 body.mobile-hub.midnight #tracks .obstacle-art{height:clamp(92px,calc((100dvh - 410px)/2),210px);min-height:0;aspect-ratio:auto;background-size:200% auto}
 body.mobile-hub.midnight #tracks .obstacle-art>span{width:28px;height:28px;top:8px;left:8px;font-size:13px}
 body.mobile-hub.midnight #tracks .obstacle-copy{padding:10px 12px;min-height:46px;justify-content:center}
 body.mobile-hub.midnight #tracks .track-card h3{font-size:15px;line-height:1.35;margin:0;overflow-wrap:anywhere}
 body.mobile-hub.midnight #tracks .track-top,body.mobile-hub.midnight #tracks .track-card p,body.mobile-hub.midnight #tracks .zones{display:none}
 body.mobile-hub.midnight #maps .gallery-note,body.mobile-hub.midnight #tracks .gallery-note{font-size:11px;line-height:1.4;margin:10px 0 0}
}

/* Keep every desktop screen on the same horizontal rails, including short pages. */
@media (min-width:960px){
 html{overflow-y:scroll;scrollbar-gutter:stable}
 body.mobile-hub.midnight main,
 body.mobile-hub.midnight main:has(>#maps:not([hidden])),
 body.mobile-hub.midnight main:has(>#tracks:not([hidden])){
  box-sizing:border-box;width:100%;max-width:1640px;margin:24px auto;padding:0 32px;
 }
 body.mobile-hub.midnight main>.app-screen{
  box-sizing:border-box;width:100%;max-width:none;margin:0;
 }
 body.mobile-hub.midnight main>.glass-page,
 body.mobile-hub.midnight main>.cinematic-page,
 body.mobile-hub.midnight main>#guide.journey-page{
  width:100%;max-width:none;margin:0;
 }
 body.mobile-hub.midnight #guide.journey-page .journey-intro,
 body.mobile-hub.midnight #guide.journey-page .journey-feature,
 body.mobile-hub.midnight #guide.journey-page .journey-path,
 body.mobile-hub.midnight #guide.journey-page .journey-legend{
  max-width:980px;margin-left:auto;margin-right:auto;
 }
 body.mobile-hub.midnight #story.cinematic-page>:not(.glass-heading){max-width:900px;margin-left:auto;margin-right:auto}
 body.mobile-hub.midnight #menu.cinematic-page .menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 body.mobile-hub.midnight #menu.cinematic-page .menu-grid a{min-width:0}
}
@media (min-width:960px) and (max-width:1199px){
 body.mobile-hub.midnight #menu.cinematic-page .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* One wider canvas for every desktop page. */
@media(min-width:960px){
 body.mobile-hub.midnight main,
 body.mobile-hub.midnight main:has(>#maps:not([hidden])),
 body.mobile-hub.midnight main:has(>#tracks:not([hidden])){
  box-sizing:border-box;width:calc(100% - 48px);max-width:1840px;padding:0;margin:24px auto;
 }
}
