/* SITE NAV — shared by every page (index, crew, reports, watch).
   Desktop (>=900px) is the original sticky top bar. Below 900px the links
   collapse behind a burger button into a drop-down panel (see nav.js).
   Colors fall back to the styles.css palette so watch.html (which only loads
   watch.css) renders the same bar. */
:root { --nav-h: 67px; }
html { scroll-padding-top: var(--nav-h); }

.site-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(11, 9, 7, 0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 2px solid var(--orange, #e24a12);
  font-family: "Oswald", sans-serif;
  line-height: 1.5;
}
.site-nav .wrap {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  gap: 16px;
}
.site-nav .brand {
  font-family: "Bangers", cursive;
  font-size: 1.7rem;
  letter-spacing: 2px;
  color: var(--yellow, #f4c430);
  text-shadow: 2px 2px 0 #000, -1px 0 var(--orange, #e24a12);
  text-decoration: none;
  white-space: nowrap;
}
.site-nav .brand:hover { color: var(--yellow, #f4c430); }
.nav-links {
  display: flex;
  gap: 22px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.nav-links a { color: var(--cream, #f3ead6); text-decoration: none; }
.nav-links a:hover { color: var(--orange-hot, #ff6a2a); }

/* Burger button: hidden on desktop and when JS is off */
.nav-toggle { display: none; }

@media (max-width: 899.98px) {
  /* Without JS the links simply wrap under the brand so nothing is lost */
  .site-nav .wrap { flex-wrap: wrap; }
  .nav-links { flex-wrap: wrap; gap: 6px 14px; font-size: 0.8rem; }

  html.nav-js .site-nav .wrap { flex-wrap: nowrap; }
  html.nav-js .nav-toggle {
    display: inline-grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 40px;
    padding: 0;
    background: transparent;
    border: 2px solid var(--orange, #e24a12);
    box-shadow: 3px 3px 0 #000;
    color: var(--cream, #f3ead6);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  html.nav-js .nav-toggle:hover,
  html.nav-js .nav-toggle:focus-visible { border-color: var(--yellow, #f4c430); color: var(--yellow, #f4c430); }
  html.nav-js .nav-toggle:focus-visible { outline: 2px dashed var(--yellow, #f4c430); outline-offset: 3px; }
  .nav-toggle-bars,
  .nav-toggle-bars::before,
  .nav-toggle-bars::after {
    display: block;
    width: 22px;
    height: 3px;
    background: currentColor;
    transition: transform .18s ease, background-color .18s ease;
  }
  .nav-toggle-bars { position: relative; }
  .nav-toggle-bars::before,
  .nav-toggle-bars::after { content: ""; position: absolute; left: 0; }
  .nav-toggle-bars::before { top: -7px; }
  .nav-toggle-bars::after { top: 7px; width: 15px; } /* a little crooked, like the porch */
  .site-nav.is-open .nav-toggle { background: var(--orange, #e24a12); color: #111; }
  .site-nav.is-open .nav-toggle-bars { background: transparent; }
  .site-nav.is-open .nav-toggle-bars::before { transform: translateY(7px) rotate(45deg); background: #111; }
  .site-nav.is-open .nav-toggle-bars::after { transform: translateY(-7px) rotate(-45deg); width: 22px; background: #111; }

  /* The menu panel: out of flow (never pushes the page), gone when closed */
  html.nav-js .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 2px; /* sit below the orange border */
    flex-direction: column;
    gap: 0;
    padding: 6px 20px 14px;
    max-height: calc(100vh - var(--nav-h) - 8px);
    max-height: calc(100dvh - var(--nav-h) - 8px);
    overflow-y: auto;
    background: var(--dirt, #1c1610);
    border-bottom: 3px solid var(--orange, #e24a12);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .65);
    font-size: 1.05rem;
    letter-spacing: 2px;
  }
  html.nav-js .site-nav.is-open .nav-links { display: flex; animation: nav-drop .16s ease-out; }
  html.nav-js .nav-links li { border-bottom: 1px dashed var(--line, #3a3228); }
  html.nav-js .nav-links li:last-child { border-bottom: 0; }
  html.nav-js .nav-links a { display: block; padding: 12px 4px; }
  html.nav-js .nav-links a:hover,
  html.nav-js .nav-links a:focus-visible { color: var(--yellow, #f4c430); }
  html.nav-js .nav-links a[aria-current="page"] { color: var(--orange-hot, #ff6a2a); }
}
@keyframes nav-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  html.nav-js .site-nav.is-open .nav-links { animation: none; }
  .nav-toggle-bars, .nav-toggle-bars::before, .nav-toggle-bars::after { transition: none; }
}
