.site-header{position:sticky;top:0;z-index:10;background:var(--white);border-bottom:1px solid rgba(0,0,0,.06)}
.site-header .header-inner{width:min(1410px,calc(100% - 48px));min-height:66px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:36px}
.site-header .brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content}
.site-header .logo-mark{width:52px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:2px dashed var(--teal);border-radius:8px;color:var(--teal);font-size:13px;font-weight:800;letter-spacing:-.04em}
.site-header .logo-text{font-size:clamp(20px,2vw,30px);font-weight:400;letter-spacing:-.06em;line-height:1;white-space:nowrap}.site-header .logo-text span{color:var(--teal);font-weight:800}
.site-header .primary-nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:700}.site-header .primary-nav a:not(.btn){padding:8px 0}.site-header .primary-nav a:not(.btn):hover,.site-header .primary-nav a:not(.btn):focus-visible{color:var(--teal-dark)}.site-header .search-link svg{fill:currentColor}
.site-header .btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 15px;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}.site-header .btn-outline{color:var(--teal-dark);background:transparent;border:1px solid var(--teal)}.site-header .btn-solid{color:var(--white);background:var(--teal);border:1px solid var(--teal)}.site-header .btn-outline:hover,.site-header .btn-solid:hover{transform:translateY(-1px)}
.site-header .header-logout-form{display:inline-flex;margin:0;padding:0}.site-header .member-name-link{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-header .nav-toggle{display:none;width:44px;height:40px;border:1px solid rgba(0,0,0,.15);border-radius:8px;background:var(--white);padding:9px}.site-header .nav-toggle span{display:block;height:2px;margin:5px 0;background:var(--ink)}
@media(max-width:1040px){.site-header .header-inner{min-height:72px}.site-header .nav-toggle{display:block}.site-header .primary-nav{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:16px 24px 22px;background:var(--white);border-top:1px solid rgba(0,0,0,.08);box-shadow:0 14px 32px rgba(0,0,0,.12)}.site-header .primary-nav.is-open{display:flex}.site-header .primary-nav a{padding:14px 0!important}.site-header .primary-nav .btn{width:100%;margin-top:10px}.site-header .header-logout-form{width:100%}.site-header .member-name-link{max-width:none}}
@media(max-width:640px){.site-header .header-inner{width:min(100% - 28px,1410px)}.site-header .logo-text{font-size:18px}.site-header .logo-mark{width:44px;height:32px}}


/* =========================================================
   Header Search — match CRP header styling
   ========================================================= */

.site-header .header-search {
  display: flex;
  align-items: center;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--teal);
  border-radius: 8px;
  background: var(--white);
  overflow: hidden;
}

.site-header .header-search__input {
  width: 0;
  min-width: 0;
  height: 34px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font-family: inherit;
  font-size: 14px;
  transition: width .2s ease, padding .2s ease;
}

.site-header .header-search.is-open .header-search__input {
  width: 190px;
  padding: 0 10px 0 12px;
}

.site-header .header-search__input::placeholder {
  color: #6f7f80;
}

.site-header .header-search__button {
  width: 38px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  padding: 0;
  border: 0;
  background: var(--teal);
  color: var(--white);
  cursor: pointer;
}

.site-header .header-search__button:hover,
.site-header .header-search__button:focus-visible {
  background: var(--teal-dark);
}

.site-header .header-search__button svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* When search is expanded, keep everything looking like one control */
.site-header .header-search.is-open {
  box-shadow: 0 0 0 3px rgba(45, 154, 146, .12);
}

/* Mobile */
@media (max-width: 1040px) {
  .site-header .header-search {
    width: 100%;
    height: 42px;
    margin: 8px 0;
  }

  .site-header .header-search__input,
  .site-header .header-search.is-open .header-search__input {
    width: 100%;
    height: 40px;
    padding: 0 12px;
  }

  .site-header .header-search__button {
    width: 44px;
    height: 40px;
    flex-basis: 44px;
  }
}