/* Ground Radar Techs: shared header + footer styles, copied from index.html.
   Used by the /blog pages and utility.html so the header and footer match the homepage.
   If the homepage header/footer styling changes, update this file too. */
  /* Colors scoped to the header/footer so they look the same on any page */
  nav, .mobile-menu, .mobile-call-bar, footer {
    --olive: #757C66;
    --olive-dark: #4a5040;
    --cream: #F7F4EE;
    --bar: #2A2A2A;
    --white: #ffffff;
    --border: #CCCCCC;
    --muted: #6b6b6b;
    --ink: #2A2A2A;
  }
  nav a, .mobile-menu a, footer a { font-family: inherit; }
  nav, .mobile-menu, .mobile-call-bar, footer { box-sizing: border-box; }
  nav *, .mobile-menu *, .mobile-call-bar *, footer * { box-sizing: border-box; }
  nav ul, footer ul { margin: 0; padding: 0; }
  footer h4, footer p { margin-top: 0; }
  /* ── NAV ── */
  nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 48px;
    height: 68px;
    background: rgba(247,244,238,0.92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
  }

  .nav-logo {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1em;
    letter-spacing: 2px;
    color: var(--bar);
    text-decoration: none;
    white-space: nowrap;
  }
  .nav-logo span { color: var(--olive); }

  .nav-links {
    display: flex;
    gap: 36px;
    list-style: none;
  }
  .nav-links a {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    text-decoration: none;
    transition: color 0.2s;
  }
  .nav-links a:hover { color: var(--olive-dark); }

  .nav-cta {
    background: var(--bar);
    color: var(--white) !important;
    padding: 10px 22px;
    border-radius: 2px;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: background 0.2s !important;
  }
  .nav-cta:hover { background: var(--olive-dark) !important; color: var(--white) !important; }

  footer {
    background: var(--ink); color: rgba(247, 244, 238, 0.7);
    padding: 54px 0 30px;
  }
  .footer-inner {
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 40px; margin-bottom: 40px;
  }
  footer h4 {
    font-family: 'Poppins', sans-serif; font-size: 14px;
    letter-spacing: 0.22em; color: var(--olive); margin-bottom: 18px;
  }
  footer a { color: rgba(247, 244, 238, 0.7); text-decoration: none; font-size: 14px; }
  footer a:hover { color: var(--cream); }
  footer ul { list-style: none; }
  footer ul li { margin-bottom: 10px; }
  .foot-brand .logo { color: var(--cream); margin-bottom: 14px; }
  .foot-brand p { font-size: 14px; line-height: 1.6; max-width: 360px; }
  .footer-bottom {
    padding-top: 24px; border-top: 1px solid rgba(117, 124, 102, 0.3);
    text-align: center; font-size: 12px; letter-spacing: 0.08em;
    color: rgba(247, 244, 238, 0.5);
  }

  .footer-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 28px;
  }

  .logo {
    display: flex; align-items: center; gap: 12px;
    font-family: 'Poppins', sans-serif;
    font-size: 22px; letter-spacing: 0.06em;
    color: var(--ink); text-decoration: none;
  }
  .logo-mark { width: 42px; height: 42px; display: grid; place-items: center; flex-shrink: 0; }
  .logo-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }

  /* ── MOBILE NAV HAMBURGER ── */
  .nav-hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 4px;
    background: none;
    border: none;
    z-index: 200;
  }
  .nav-hamburger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--bar);
    border-radius: 2px;
    transition: transform 0.3s, opacity 0.3s;
  }
  .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-hamburger.open span:nth-child(2) { opacity: 0; }
  .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .mobile-menu {
    display: none;
    position: fixed;
    top: 68px; left: 0; right: 0; bottom: 0;
    background: var(--cream);
    z-index: 99;
    flex-direction: column;
    padding: 40px 28px;
    gap: 0;
    overflow-y: auto;
  }
  .mobile-menu.open { display: flex; }
  .mobile-menu a {
    font-family: 'Poppins', sans-serif;
    font-size: 36px;
    letter-spacing: 2px;
    color: var(--bar);
    text-decoration: none;
    padding: 18px 0;
    border-bottom: 1px solid var(--border);
    transition: color 0.2s;
  }
  .mobile-menu a:hover { color: var(--olive); }
  .mobile-menu-cta {
    margin-top: 32px;
    background: var(--bar) !important;
    color: var(--white) !important;
    text-align: center;
    padding: 20px !important;
    border-bottom: none !important;
    border-radius: 2px;
    font-size: 20px !important;
  }

  /* ── STICKY MOBILE CALL BAR ── */
  .mobile-call-bar {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 98;
    background: var(--bar);
    padding: 14px 24px;
    text-align: center;
  }
  .mobile-call-bar a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--white);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
  }
  .mobile-call-bar svg { flex-shrink: 0; }


  @media (max-width: 1024px) {
    footer { padding: 40px 48px; }
  }
  @media (max-width: 768px) {
    nav { padding: 0 20px; }
    .nav-links { display: none; }
    .nav-hamburger { display: flex; }
    .mobile-call-bar { display: block; }
    footer { padding: 36px 24px 80px; }
    .footer-inner { display: flex; flex-direction: column; gap: 28px; }
    .footer-inner h4 { overflow-wrap: break-word; word-break: break-word; }
  }

/* Header fit: keep menu items on one line; drop the email link on smaller
   laptops and use the menu button below 1100px */
.nav-links a { white-space: nowrap; }
@media (max-width: 1400px) {
  .nav-links { gap: 26px; }
  .nav-links .nav-email { display: none; }
}
@media (max-width: 1100px) {
  nav { padding: 0 24px; }
  .nav-links { display: none; }
  .nav-hamburger { display: flex; }
}
