
/* ===== WHITE EXPANDED HEADER — v5 (logo with tagline) ===== */
.site-nav {
  background: #ffffff;
  border-bottom: 1px solid rgba(26,35,50,0.10);
}
.site-nav__inner {
  height: 132px;
}
.site-nav__logo img,
.site-nav__logo svg {
  height: 88px;
  max-height: 88px;
  width: auto;
}
.site-nav__links a {
  color: var(--ink, #1a2332);
}
.site-nav__links a:hover,
.site-nav__links a.is-active {
  color: var(--accent, #0064AD);
}
.site-nav__cta {
  background: var(--accent, #0064AD);
  color: #fff !important;
}
.site-nav__cta:hover {
  background: var(--accent-dk, #004d87) !important;
}
@media (max-width: 900px) {
  .site-nav__inner { height: 96px; }
  .site-nav__logo img,
  .site-nav__logo svg { height: 60px; max-height: 60px; }
  .site-nav__toggle { border-color: rgba(26,35,50,0.25); }
  .site-nav__toggle span,
  .site-nav__toggle span::before,
  .site-nav__toggle span::after { background: #1a2332; }
  .site-nav__links {
    top: 96px;
    background: rgba(255,255,255,0.98);
    border-bottom: 1px solid rgba(26,35,50,0.10);
  }
  .site-nav__links li { border-top: 1px solid rgba(26,35,50,0.08); }
  .site-nav__links a { color: var(--ink, #1a2332); }
  .site-nav__links a.is-active { color: var(--accent, #0064AD); }
}
@media (max-width: 480px) {
  .site-nav__logo img,
  .site-nav__logo svg { height: 48px; max-height: 48px; }
}

/* ============================================================
   PATCH 2026-07-12 — performance, touch & form fixes
   (lives here because this file loads AFTER geodrill.css
   on every page, so these rules win the cascade)
   ============================================================ */

/* 1. PERFORMANCE: background-attachment:fixed forces whole-page
   repaints on scroll and is ignored/broken on iOS. Disable it;
   sections keep their imagery, scrolling normally. */
.imgbg--fixed { background-attachment: scroll; }

/* 2. TOUCH: photo-strip captions were hover-only — invisible on
   phones/tablets. Show them by default wherever hover isn't
   available or the screen is small. */
@media (max-width: 900px), (hover: none) {
  .photo-strip__label { opacity: 1; transform: none; }
  .photo-strip__cell::after { opacity: 1; }
}

/* 3. MOBILE NAV: hamburger animates to an X while menu is open. */
@media (max-width: 900px) {
  .site-nav__toggle span { transition: background 0.2s; }
  .site-nav__toggle span::before,
  .site-nav__toggle span::after {
    transition: transform 0.25s var(--ease-out, ease), top 0.25s var(--ease-out, ease);
  }
  .site-nav__check:checked ~ .site-nav__toggle span { background: transparent; }
  .site-nav__check:checked ~ .site-nav__toggle span::before { top: 0; transform: rotate(45deg); }
  .site-nav__check:checked ~ .site-nav__toggle span::after  { top: 0; transform: rotate(-45deg); }
}

/* 4. CONTACT FORM: honeypot (off-screen, bots only) + status states */
.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px;
  overflow: hidden;
}
.form-status {
  display: none;
  margin-top: 24px;
  padding: 18px 22px;
  border-radius: 2px;
  font-size: 15px;
  line-height: 1.5;
}
.form-status--ok {
  display: block;
  background: rgba(24,180,233,0.10);
  border: 1px solid rgba(24,180,233,0.35);
  color: #fff;
}
.form-status--err {
  display: block;
  background: rgba(233,84,24,0.12);
  border: 1px solid rgba(233,84,24,0.45);
  color: #fff;
}
