/* Shared framing and background, based on the public site's palette. */
body, body.explorer-preview, body.bakvind-site {
  min-height: 100vh;
  background:
    radial-gradient(ellipse at top left, rgba(102, 215, 196, .18), transparent 38%),
    radial-gradient(ellipse at top right, rgba(74, 170, 213, .18), transparent 34%),
    linear-gradient(180deg, #102531 0%, #08131a 100%);
  background-attachment: fixed;
}
.site-header, .site-header {
  background: rgba(8, 22, 30, .82);
  border-bottom: 1px solid rgba(139, 178, 194, .2);
  box-shadow: 0 8px 30px rgba(0, 0, 0, .1);
}
body:not(.explorer-preview):not(.bakvind-site) main.shell,
.explorer-preview:not(.station-list-preview):not(.station-map-preview) main.shell {
  margin-top: 32px;
  padding: 32px;
  border: 1px solid rgba(139, 178, 194, .22);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(18, 40, 52, .94), rgba(10, 25, 34, .96));
  box-shadow: 0 20px 60px rgba(0, 0, 0, .22), inset 0 1px rgba(255, 255, 255, .025);
}
body:not(.explorer-preview):not(.bakvind-site) main.shell > .section:first-child,
.explorer-preview:not(.station-list-preview):not(.station-map-preview) main.shell > .section:first-child { margin-top: 0; }
body:not(.explorer-preview):not(.bakvind-site) main.shell > .page-intro,
.explorer-preview main.shell > .page-intro { padding-top: 4px; }
.explorer-preview .card,
.bakvind-site:not(.explorer-preview) .card,
.bakvind-site:not(.explorer-preview) .hero {
  background: linear-gradient(145deg, rgba(18, 40, 52, .94), rgba(10, 25, 34, .96));
  border: 1px solid rgba(139, 178, 194, .22);
  border-radius: 20px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .18);
}
.story-photo { border: 1px solid rgba(139, 178, 194, .16); }
@media (max-width: 620px) {
  body:not(.explorer-preview):not(.bakvind-site) main.shell,
  .explorer-preview:not(.station-list-preview):not(.station-map-preview) main.shell {
    margin-top: 20px;
    padding: 18px;
    border-radius: 16px;
  }
}

/* Let the complete menu wrap on narrow screens. */
.navigation nav { flex-wrap: wrap; }
