/* ==========================================================================
   HEADER — primary navigation (header.php)
   Solid white, gains a shadow once the page scrolls. Sticks together with the
   address bar above it as one unit.
   ========================================================================== */

.aumtm-headwrap {
  position: sticky;
  top: 0;
  z-index: 90;
}

.aumtm-header {
  background: #fff;
  border-bottom: 1px solid var(--aumtm-line);
  transition: box-shadow var(--aumtm-dur) var(--aumtm-ease);
}
.aumtm-headwrap.is-stuck .aumtm-header {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.07);
}

.aumtm-header__inner {
  max-width: var(--aumtm-container);
  margin-inline: auto;
  padding-inline: var(--aumtm-gutter);
  min-height: var(--aumtm-header-h);
  display: flex;
  align-items: center;
  gap: 2rem;
}

/* ---------- Logo ---------- */
.aumtm-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-right: auto;
}
.aumtm-logo__mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: none;
  border: 1px solid var(--aumtm-blue);
  border-radius: 50%;
  color: var(--aumtm-blue);
  font-family: var(--aumtm-font-display);
  font-size: 1.25rem;
  line-height: 1;
}
.aumtm-logo__text {
  display: grid;
  gap: 2px;
  line-height: 1.1;
}
.aumtm-logo__text strong {
  font-family: var(--aumtm-font-display);
  font-size: 1.1875rem;
  font-weight: 500;
  color: var(--aumtm-heading);
  letter-spacing: 0.01em;
}
.aumtm-logo__text span {
  font-size: var(--aumtm-fs-2xs);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--aumtm-text-dim);
}

/* ---------- Uploaded logo ----------
   These rules live here rather than in base.css on purpose: .aumtm-logo__mark
   is defined just above at the same specificity, and base.css is loaded first,
   so an override placed there would silently lose and the logo would stay
   trapped inside the default bordered circle. */
.aumtm-logo__mark--img {
  border: 0;
  width: auto;
  height: 46px;
  padding: 0;
}
.aumtm-logo__mark--img .aumtm-logo__img {
  width: auto;
  height: 100%;
  object-fit: contain;
}
.aumtm-logo--full .aumtm-logo__img { max-height: 52px; width: auto; }
.aumtm-footer__about .aumtm-logo__mark--img { height: 42px; }

@media (max-width: 900px) {
  .aumtm-logo__mark--img { height: 36px; }
  .aumtm-logo--full .aumtm-logo__img { max-height: 38px; }
}

/* ---------- Navigation ---------- */
.aumtm-nav > ul {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.aumtm-nav a {
  position: relative;
  display: block;
  padding-block: 0.5rem;
  font-size: var(--aumtm-fs-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--aumtm-heading);
  transition: color var(--aumtm-dur) var(--aumtm-ease);
}
.aumtm-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--aumtm-cyan);
  transition: width var(--aumtm-dur) var(--aumtm-ease);
}
.aumtm-nav a:hover { color: var(--aumtm-blue); }
.aumtm-nav a:hover::after,
.aumtm-nav a[aria-current="page"]::after { width: 100%; }
.aumtm-nav a[aria-current="page"] { color: var(--aumtm-blue); }

.aumtm-header__cta { flex: none; }

/* The drawer button appears on narrow screens only; the header already
   carries one on the right at desktop width. */
.aumtm-nav__cta { display: none; }

/* ---------- Menu toggle ---------- */
.aumtm-navtoggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--aumtm-line);
  border-radius: var(--aumtm-radius);
  background: transparent;
  cursor: pointer;
}
.aumtm-navtoggle span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  background: var(--aumtm-heading);
  transition: transform var(--aumtm-dur) var(--aumtm-ease),
              opacity var(--aumtm-dur) var(--aumtm-ease);
}
.aumtm-navtoggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.aumtm-navtoggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.aumtm-navtoggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---------- Mobile drawer ---------- */
@media (max-width: 980px) {
  .aumtm-navtoggle { display: block; order: 3; }
  .aumtm-header__cta { display: none; }

  .aumtm-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    border-bottom: 1px solid var(--aumtm-line);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.08);
    display: none;
  }
  .aumtm-nav.is-open { display: block; }
  .aumtm-nav > ul {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0.5rem var(--aumtm-gutter) 1.5rem;
  }
  .aumtm-nav > ul > li + li { border-top: 1px solid var(--aumtm-line-soft); }
  .aumtm-nav a { padding-block: 0.9375rem; font-size: 1rem; }
  .aumtm-nav a::after { display: none; }
  .aumtm-nav__cta { display: block; margin-top: 1.25rem; }
  .aumtm-nav__cta .aumtm-btn { width: 100%; }
}

/* A long business name wraps onto a second line on a narrow phone and pushes
   the header taller. Step the lockup down rather than let it wrap. */
@media (max-width: 480px) {
  .aumtm-logo__text strong { font-size: 1rem; }
  .aumtm-logo__text span { font-size: 0.625rem; letter-spacing: 0.12em; }
  .aumtm-header__inner { gap: 1rem; }
}
