/* Moved from partials/nav.njk on 2026-10-23 (v66 refactor). Linked from that partial at the same spot. */
/* Phone menu only (2026-10-19): a dropdown's own page as its first line. On phones the top-level item only
   opens the submenu, so without this the OCTET page itself was unreachable from "OCTET CEO Groups". */
.nav-links .dropdown a.dropdown-parent { display:none; }
@media (max-width:1000px){ .nav-links .dropdown a.dropdown-parent { display:block; font-weight:600; } }
/* Small non-clickable section label inside a dropdown (e.g. "Locations" under About). */
.nav-links .dropdown-heading { display:block; margin:6px 0 0; padding:12px 18px 2px; border-top:1px solid rgba(0,0,0,0.08); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#8A6423; cursor:default; }
/* Shared nav sizing (2026-10-04). Overrides each page's own nav CSS, which still sits in its <head>
   until the head is templated. With the extra "OCTET CEO Groups" item the full menu needs ~1000px,
   so the phone-style menu now starts at 1000px (was 900px) and spacing tightens from 1001–1150px. */
@media (max-width: 1000px) {
  nav { padding: 0 20px; }
  .nav-toggle { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: none; background: none; cursor: pointer; padding: 0; }
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after { content: ''; display: block; width: 22px; height: 2px; background: #1a2332; transition: transform 0.2s ease, opacity 0.2s ease; }
  .nav-toggle span::before { transform: translateY(-7px); }
  .nav-toggle span::after { transform: translateY(5px); }
  nav.nav-open .nav-toggle span { background: transparent; }
  nav.nav-open .nav-toggle span::before { transform: translateY(0) rotate(45deg); background: #1a2332; }
  nav.nav-open .nav-toggle span::after { transform: translateY(0) rotate(-45deg); background: #1a2332; }
  .nav-links { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; background: #ffffff; border-bottom: 1px solid rgba(0,0,0,0.1); padding: 8px 24px 16px; box-shadow: 0 12px 24px rgba(0,0,0,0.08); align-self: auto; }
  nav.nav-open .nav-links { display: flex; }
  .nav-links li { width: 100%; }
  .nav-links a { display: block; padding: 12px 0; }
  .nav-links li.has-dropdown .dropdown { position: static; opacity: 1; visibility: visible; pointer-events: auto; display: none; padding-top: 0; margin-top: 0; }
  .nav-links li.has-dropdown.dropdown-open .dropdown { display: block; }
  .nav-links .dropdown-inner { border: none; box-shadow: none; padding: 0 0 4px 12px; }
  .nav-links .dropdown a { padding: 8px 0; }
  .nav-links .dropdown-heading { padding: 10px 0 2px; }
}
/* Phone/tablet bar layout (2026-10-04): keep "Book a Call" beside the ☰ button instead of mid-bar,
   and stop the logo text and button from wrapping onto two lines on phones. */
@media (max-width: 1000px) {
  .nav-cta { margin-left: auto; margin-right: 12px; white-space: nowrap; }
  .nav-logo span { white-space: nowrap; }
}
@media (max-width: 480px) {
  nav { padding: 0 14px; }
  .nav-logo { gap: 8px; }
  .nav-logo img { width: 32px; height: auto; }
  .nav-logo span { font-size: 16px !important; }
  .nav-cta { font-size: 13px; padding: 8px 12px; margin-right: 6px; }
}
@media (max-width: 360px) {
  .nav-logo span { font-size: 14px !important; }
  .nav-cta { font-size: 12px; padding: 7px 10px; }
}
/* Tagline under the wordmark */
.nav-brand { display:flex; flex-direction:column; line-height:1.1; }
.nav-tagline { font-family:'Archivo',Arial,sans-serif; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#8A6423; margin-top:4px; white-space:nowrap; }
@media (max-width:480px){ .nav-tagline { font-size:8.5px; letter-spacing:.12em; margin-top:3px; } }
/* Desktop: keep menu links level with the logo and Book a Call (pages carried old ul margins/padding). */
@media (min-width: 1001px) {
  nav .nav-links { align-self: center; margin: 0; padding: 0; align-items: center; }
  nav .nav-links > li { display: flex; align-items: center; }
}
@media (min-width: 1001px) and (max-width: 1150px) {
  nav { padding: 0 20px; }
  .nav-links { gap: 18px; }
  .nav-links a { font-size: 14px; }
}
