/* Elementor's Theme Builder wrapper is the sticky element. */
body.elementor-page > .elementor-location-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  overflow: visible !important;
}
body.admin-bar.elementor-page > .elementor-location-header { top: 32px !important; }

.msa-header {
  width: 100%;
  min-height: var(--msa-header-h);
  background: rgba(248, 244, 237, .985);
  color: var(--msa-ink);
  border-top: 3px solid var(--msa-accent-deep);
  border-bottom: 1px solid #b9afa3;
  box-shadow: 0 3px 18px rgba(27, 26, 23, .07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: background .22s var(--msa-ease), box-shadow .22s var(--msa-ease), border-color .22s var(--msa-ease);
}

.msa-header.is-scrolled {
  background: rgba(239, 231, 220, .985);
  border-bottom-color: #978c80;
  box-shadow: 0 10px 28px rgba(27, 26, 23, .13);
}

.msa-header__inner {
  min-height: calc(var(--msa-header-h) - 3px);
  display: grid;
  grid-template-columns: minmax(245px, 1fr) auto auto;
  align-items: center;
  gap: clamp(28px, 3.2vw, 54px);
}

.msa-header__brand {
  width: max-content;
  display: grid;
  gap: 3px;
  padding: 7px 0 5px;
}

.msa-header__name {
  color: var(--msa-ink);
  font-family: var(--msa-display);
  font-size: 28px;
  line-height: .95;
  font-weight: 500;
  letter-spacing: -.026em;
}

.msa-header__role {
  color: var(--msa-muted);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.msa-header__nav {
  display: flex;
  align-items: center;
  gap: clamp(20px, 1.8vw, 30px);
}

.msa-header__nav a {
  position: relative;
  padding: 10px 0;
  color: #514b44;
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .2s var(--msa-ease);
}

.msa-header__nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 3px;
  height: 1px;
  background: var(--msa-accent-deep);
  transition: right .24s var(--msa-ease);
}

.msa-header__nav a:hover { color: var(--msa-ink); }
.msa-header__nav a:hover::after { right: 0; }

.msa-header__cta {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  padding: 0 17px 0 19px;
  border: 1px solid var(--msa-ink);
  background: var(--msa-ink);
  color: var(--msa-white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background .2s var(--msa-ease), color .2s var(--msa-ease), border-color .2s var(--msa-ease), transform .2s var(--msa-ease);
}

.msa-header__cta:hover {
  background: var(--msa-accent-deep);
  border-color: var(--msa-accent-deep);
  transform: translateY(-1px);
}

@media (max-width: 1080px) {
  .msa-header__inner { grid-template-columns: minmax(220px,1fr) auto auto; gap: 20px; }
  .msa-header__nav { gap: 16px; }
  .msa-header__nav a { font-size: 10px; }
  .msa-header__name { font-size: 26px; }
}

@media (max-width: 820px) {
  body.admin-bar.elementor-page > .elementor-location-header { top: 46px !important; }
  .msa-header__inner { grid-template-columns: 1fr auto; gap: 16px; }
  .msa-header__nav { display: none; }
  .msa-header__name { font-size: 25px; }
  .msa-header__role { font-size: 8px; }
  .msa-header__cta { min-height: 42px; gap: 15px; padding-inline: 14px; font-size: 9px; }
}

@media (max-width: 430px) {
  .msa-header__name { font-size: 23px; }
  .msa-header__role { letter-spacing: .1em; }
  .msa-header__cta { padding-inline: 12px; }
  .msa-header__cta span:last-child { display: none; }
}
