/* One header geometry for real estate, branding, and the client portal. */
.cp-nav, .nav {
  position: sticky; top: 0; z-index: 50; margin: 0;
  background: rgba(255,255,255,.94); backdrop-filter: blur(20px);
  border-bottom: 1px solid #d2d2d7;
}
.cp-nav__inner, .nav__inner {
  max-width: 1280px; margin-inline: auto; padding: 16px 24px;
  min-height: 77px; display: grid;
  grid-template-columns: 80px minmax(0,1fr) 246px 224px;
  align-items: center; gap: 20px;
}
.cp-nav__brand, .nav__logo { grid-column: 1; display: inline-flex; align-items:center; height:44px; }
.cp-nav__brand img, .nav__logo img { height:44px; width:auto; display:block; }
.cp-nav__links { grid-column:2; justify-content:center; gap:18px; }
.nav__tabs { display:contents; }
.cp-nav__inner .cp-switch, .nav__inner .cp-switch {
  grid-column:3; margin:0; width:246px; display:grid;
  grid-template-columns:114px 58px 58px; gap:8px; align-items:center;
}
.cp-switch__label { display:block; font-size:12px; white-space:nowrap; min-height:44px; }
.cp-nav__inner .cp-switch__destination, .nav__inner .cp-switch__destination {
  display:inline-flex !important; align-items:center; justify-content:flex-end;
  color:#041e42; font-weight:600; line-height:1.2; text-align:right;
  cursor:pointer;
}
.cp-switch__destination:hover { text-decoration:underline; text-underline-offset:3px; }
.cp-switch__destination:focus-visible { outline:2px solid #041e42; outline-offset:3px; border-radius:4px; }
.cp-switch__track { width:58px; height:32px; }
.cp-header-login {
  color:#041e42; font:600 13px var(--font-sans); text-align:center;
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; border-radius:999px;
}
.cp-header-login:hover { background:#e6ecf4; }
.cp-header-login:focus-visible { outline:2px solid #041e42; outline-offset:3px; }
.cp-nav__cta, .nav__cta { grid-column:4; justify-self:end; }
.nav__cta { display:inline-flex; font-size:14px; min-height:44px; padding:10px 20px; }
.cp-nav__cta .btn { min-height:44px; }
.cp-header--branding .tagbar { position:static; }
@media(max-width:1180px) and (min-width:941px) {
  .cp-nav__inner, .nav__inner { grid-template-columns:80px minmax(0,1fr) 246px 160px; gap:14px; }
  .cp-nav__links { gap:10px; }
  .cp-nav__links a { font-size:12px; }
  .cp-nav__cta .btn-ghost { display:none; }
}
@media(max-width:940px) {
  .cp-nav__inner, .nav__inner {
    grid-template-columns:minmax(48px,1fr) 108px 58px 132px;
    padding:16px 24px; gap:16px; min-height:77px;
  }
  .cp-nav__links { display:none; }
  .cp-nav__inner .cp-switch, .nav__inner .cp-switch { display:contents; }
  .cp-switch__destination { grid-column:2; grid-row:1; white-space:normal; }
  .cp-switch__track { grid-column:3; grid-row:1; }
  .cp-nav__cta { grid-column:4; grid-row:1; width:132px; }
  .cp-nav__cta .btn-ghost { display:none; }
  .cp-nav__cta .btn-primary, .cp-header-login { width:132px; min-height:44px; padding:10px 12px; font-size:14px; }
  .cp-header-login { grid-column:4; grid-row:1; background:#041e42; color:#fff; }
  .cp-header-login:hover { background:#0a2e5c; color:#fff; }
  .nav__cta { display:none; }
  .tagbar__inner { padding:10px 24px; font-size:12px; }
  .tagbar__inner span { display:none; }
}
@media(max-width:560px) {
  .cp-nav__inner, .nav__inner { padding-inline:16px; gap:8px; grid-template-columns:48px minmax(0,1fr) 58px 116px; }
  .cp-nav__cta, .cp-nav__cta .btn-primary, .cp-header-login { width:116px; }
}
@media(max-width:380px) {
  .cp-nav__inner, .nav__inner { grid-template-columns:48px minmax(0,1fr) 58px 100px; }
  .cp-nav__cta, .cp-nav__cta .btn-primary, .cp-header-login { width:100px; font-size:12px; }
}
