.site-header {
  position: relative !important;
  top: auto !important;
  z-index: 10;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #e6ebf3;
}
.site-header-inner {
  width: min(1200px, 92%);
  min-height: 112px;
  margin: 0 auto;
  padding: 12px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.site-logo {
  display: inline-flex;
  align-items: center;
}
.site-logo-image {
  display: block;
  width: 220px;
  max-width: 70vw;
  max-height: 82px;
  height: auto;
  object-fit: contain;
}
.site-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .2rem .85rem;
  width: 100%;
  min-height: 54px;
  padding: .5rem 4%;
  background: #f5f7fb;
  border-bottom: 1px solid #dce3ed;
  font: 600 .9rem/1.5 system-ui, -apple-system, Segoe UI, sans-serif;
}
.site-nav a {
  display: inline-block;
  padding: .35rem .45rem;
  color: #243b62;
  text-decoration: none;
  border-radius: 7px;
}
.site-nav a:hover,
.site-nav a:focus-visible {
  background: #e7edf7;
  text-decoration: underline;
}
.site-nav a[aria-current="page"] {
  color: #172f59;
  background: #e7edf7;
}
@media (max-width: 640px) {
  .site-header-inner { min-height: 84px; padding: 9px 0; }
  .site-logo-image { width: 175px; max-height: 64px; }
  .site-nav { gap: .1rem .4rem; padding: .5rem 3%; font-size: .84rem; }
  .site-nav a { padding: .3rem .35rem; }
}

/* Shared styles kept here because imported pages previously bundled them
   with their navigation rules. Listing cards and legal footers use them. */
.photo-placeholder {
  width: 100%;
  height: var(--imgH, 280px);
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  padding: 2rem;
  text-align: center;
  color: #243b62;
  background: linear-gradient(145deg, #eaf0f9, #d9e4f2);
}
.photo-placeholder strong { font-size: 1.3rem; line-height: 1.35; }
.photo-placeholder span { font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.footer-quicklinks { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: .5rem 0 1rem; }
.footer-quicklinks a { color: #e8eef8; }

/* 2026 cohesive design refresh */
:root { --pw-navy:#1f2035; --pw-ink:#24283a; --pw-muted:#596577; --pw-border:#e4e8ef; }
body { color:var(--pw-ink); -webkit-font-smoothing:antialiased; }
.site-header { box-shadow:0 2px 14px rgba(31,32,53,.045); }
.site-header-inner { min-height:96px; }
.site-nav { background:#fff; border-bottom:1px solid var(--pw-border); gap:.25rem 1.1rem; }
.site-nav a { color:var(--pw-navy); border-radius:6px; transition:background .2s,color .2s; }
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current="page"] { background:#eff1f6; color:#1f2035; text-decoration:none; }
main h1 { letter-spacing:-.025em; line-height:1.18; }
button,.btn,.cta-btn { transition:transform .2s,box-shadow .2s; }
button:hover,.btn:hover,.cta-btn:hover { transform:translateY(-1px); }
:focus-visible { outline:3px solid #7c91ba!important; outline-offset:3px; }
@media(max-width:640px){.site-nav { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; white-space:nowrap; scrollbar-width:thin; }.site-nav a{flex:0 0 auto;}}
