.mi-header {
  position: sticky;
  top: 0;
  z-index: 10;
  overflow: visible;
}

.mi-header-inner,
.mi-nav,
.mi-services,
.mi-footer-brand,
.mi-footer-contact,
.mi-footer-actions,
.mi-footer-bottom,
.mi-social,
.mi-legal,
.mi-hero-actions {
  display: flex;
  align-items: center;
}

.mi-header-inner {
  justify-content: space-between;
  gap: 1.25rem;
  min-height: 66px;
}

.mi-wordmark {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  flex-shrink: 0;
}

.mi-wordmark small { margin-top: 4px; }
.mi-nav { gap: clamp(.75rem, 1.7vw, 1.5rem); margin: 0; }
.mi-nav > a { white-space: nowrap; }
.mi-nav > .btn:hover { color: var(--navy); background: #dfbc84; }
.mi-services { position: relative; }
.mi-services { gap: .2rem; }
.mi-services-link { padding-block: .5rem; }

.mi-services-toggle,
.mi-menu-toggle {
  border: 1px solid #8d9aaa;
  background: transparent;
  color: #fff;
  min-height: 36px;
  padding: .3rem .6rem;
  font: inherit;
  cursor: pointer;
}

.mi-services-toggle {
  display: grid;
  place-items: center;
  border-color: transparent;
  min-width: 36px;
  list-style: none;
}

.mi-services-toggle::-webkit-details-marker { display: none; }
.mi-menu-toggle { display: none; }

.mi-chevron {
  display: inline-block;
  width: .45rem;
  height: .45rem;
  border: solid var(--gold);
  border-width: 0 2px 2px 0;
  transform: translateY(-2px) rotate(45deg);
}

.mi-services-disclosure[open] .mi-chevron {
  transform: translateY(1px) rotate(225deg);
}

.mi-subnav {
  list-style: none;
  margin: 0;
  padding: .25rem 0;
}

.mi-subnav {
  position: absolute;
  top: 100%;
  left: 0;
  width: max-content;
  max-width: min(18rem, calc(100vw - 44px));
  background: var(--navy2);
  border: 1px solid #506178;
  box-shadow: 0 8px 20px #0003;
}

.mi-subnav a { display: block; padding: .5rem .85rem; }
.mi-header [hidden] { display: none; }

.mi-skip {
  position: absolute;
  z-index: 3;
  inset: .5rem auto auto .5rem;
  transform: translateY(-200%);
  padding: .6rem 1rem;
  background: #fff;
  color: var(--navy);
}

.mi-skip:focus { transform: none; }
.mi-header :focus-visible,
.mi-footer :focus-visible,
.mi-hero :focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.mi-hero {
  position: relative;
  isolation: isolate;
  padding: 0;
  overflow: hidden;
  background: var(--navy);
  color: #fff;
}

.mi-hero-art {
  position: absolute;
  z-index: -1;
  inset: 0 0 0 34%;
}

.mi-hero-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}

.mi-hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--navy), #10223ae8 27%, #10223a48 64%, transparent);
}

.mi-hero-inner {
  display: grid;
  align-items: center;
  min-height: 200px;
  padding-block: 1.5rem;
}

.mi-hero-home .mi-hero-inner { min-height: 300px; }
.mi-hero-copy { max-width: min(35rem, 65%); }
.mi-hero-copy h1 {
  font-size: clamp(1.9rem, 4vw, 2.75rem);
  margin: 0 0 .5rem;
  text-wrap: balance;
}

.mi-hero-home h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); }
.mi-hero-copy p { margin: 0 0 1rem; color: #e0e6ec; }
.mi-hero-actions { gap: .6rem; flex-wrap: wrap; }

.footer.mi-footer { background: var(--navy); color: #c9d1da; padding: 1.25rem 0; }
.mi-footer-brand {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .65rem 1rem;
}

.mi-footer-groups,
.mi-footer-bottom {
  margin-top: .65rem;
}
.mi-footer-groups {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem 1rem;
}

.mi-footer-capsule {
  max-width: 100%;
  padding: .45rem .65rem;
  border: 1px solid rgba(201, 163, 101, .48);
  background: #243c57;
  border-radius: 1rem;
}

.mi-footer-contact { min-width: 0; flex-wrap: wrap; gap: .45rem .85rem; }
.mi-footer-brand .logo { text-decoration: none; }
.mi-contact-name { display: grid; gap: .1rem; }
.mi-contact-name strong { color: #fff; font-size: 1.125rem; font-weight: 700; }
.mi-footer-actions { flex-wrap: wrap; gap: .5rem; }
.mi-footer-actions .btn { padding: .55rem .75rem; text-decoration: none; }
.mi-footer-actions .btn.outline:hover { border-color: var(--gold); color: var(--gold); }
.mi-footer-actions .btn:not(.outline):hover { background: #dfbc84; }
.mi-brokerage { display: block; margin-inline-start: auto; }
.mi-brokerage img {
  display: block;
  width: clamp(104px, 15vw, 176px);
  aspect-ratio: 19 / 10;
  object-fit: cover;
  /* The square source has white margins above and below the artwork. */
  object-position: center 46%;
}
.mi-social, .mi-legal { gap: .5rem; flex-wrap: wrap; }
.mi-social { margin-inline-start: auto; }
.mi-legal { gap: .35rem 1rem; }
.mi-legal small { font-size: inherit; }
.mi-footer .mi-social a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--gold);
  border-radius: 3px;
  color: #fff;
  text-decoration: none;
}

.mi-footer .mi-social svg {
  display: block;
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.mi-footer .mi-social a:hover,
.mi-footer .mi-social a:focus-visible { background: var(--navy); }

.mi-footer .mi-social a:focus-visible { outline-color: var(--gold); }

@media (max-width: 760px) {
  .mi-header-inner { flex-wrap: wrap; padding-block: .75rem; gap: .65rem; }
  .mi-enhanced .mi-menu-toggle { display: block; }
  .mi-nav { max-height: 70dvh; overflow-y: auto; align-items: flex-start; flex-direction: column; gap: .25rem; width: 100%; }
  .mi-nav > a { padding: .45rem 0; }
  .mi-nav > .btn { padding: .6rem 1rem; }
  .mi-services { display: block; width: 100%; }
  .mi-services-link { display: inline-block; }
  .mi-services-toggle { position: absolute; top: 0; left: 4rem; }
  .mi-subnav { position: static; width: max-content; box-shadow: none; }
  .mi-hero-copy { max-width: 30rem; }
  .mi-hero-art { inset-inline-start: 0; }
  .mi-hero-art::after {
    background: linear-gradient(90deg, var(--navy), #10223ae8 55%, #10223aa6);
  }
}

.svc-btn{display:inline-block;padding:11px 20px;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;border:1px solid var(--gold);background:var(--gold);color:var(--navy);border-radius:4px;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.svc-btn:hover{background:#B8924F;border-color:#B8924F}
.svc-btn:focus-visible{outline:3px solid var(--gold-text-light);outline-offset:2px}

.svc-cta {
  background: #fff;
  border-top: 1px solid var(--border);
  padding: 28px 0;
}

.svc-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.25rem;
  flex-wrap: wrap;
}

.svc-cta h2 {
  font: 24px/1.2 Georgia, serif;
  color: var(--navy);
  margin: 0 0 4px;
}

.svc-cta p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: #435368;
  max-width: 640px;
}

@media (max-width: 800px) {
  .svc-cta-inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

.mi-listings-cta,
.mi-starter-kit-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .4rem 1rem;
  width: 100%;
  margin-top: .85rem;
  padding: .4rem .8rem;
}

.mi-listings-cta {
  border-inline-start: 2px solid var(--gold);
  background: var(--cream);
}

.mi-listings-cta p,
.mi-starter-kit-strip p { margin: 0; }

.mi-listings-cta .btn,
.mi-starter-kit-strip .btn {
  flex-shrink: 0;
  max-width: 100%;
  padding: .4rem .75rem;
}

.mi-listings-cta .btn {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}

.mi-listings-cta .btn:hover { background: var(--navy2); }

.mi-starter-kit-strip {
  border-radius: 4px;
  background: var(--navy);
  color: #fff;
}

.mi-starter-kit-strip #starter-kit-title {
  color: inherit;
  font-size: 1.125rem;
  line-height: 1.2;
  margin: 0 0 .15rem;
}

.mi-listings-cta .btn:focus-visible,
.mi-starter-kit-strip .btn:focus-visible,
.mi-lease-nav a:focus-visible {
  outline: 2px solid var(--gold-text-light);
  outline-offset: 2px;
}

.mi-starter-kit-strip .btn:focus-visible { outline-color: #fff; }

.mi-lease-nav {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 100%;
  margin: .85rem 0 0;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  background: var(--cream);
}

.mi-lease-nav a {
  display: grid;
  place-items: center;
  padding: .45rem .8rem;
  color: var(--navy);
  font-weight: 700;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.mi-lease-nav a + a { border-inline-start: 1px solid var(--gold); }
.mi-lease-nav a:hover { color: var(--gold-text-light); }

@media (max-width: 600px) {
  .mi-listings-cta,
  .mi-starter-kit-strip { align-items: flex-start; flex-direction: column; }
}
