.la-header {
  --la-menu-blush: #f9eaf0;
  --la-menu-border: #e8dbe0;
  --la-menu-wine: #521b31;
  z-index: 60;
  border-color: var(--la-menu-border);
}

.la-header > .e-con-inner { position: relative; }
.la-header .la-nav--mega, .la-header .la-nav--mega > .elementor-widget-container { position: static; }
.la-header .la-nav--mega { flex: 1 1 auto; min-width: 0; }
.la-header .la-header-phone .elementor-button { border-radius: 6px; }
.la-site-nav { color: var(--la-ink); font: 750 .875rem/1.4 var(--la-display); }
.la-site-nav :is(ul, li, p) { margin: 0; }
.la-site-nav ul { list-style: none; padding: 0; }
.la-site-nav a { text-decoration: none; }
.la-site-nav svg { width: 1em; height: 1em; flex: 0 0 auto; }
.la-site-nav .la-menu-compact, .la-site-nav .la-menu-book { display: none; }

.la-site-nav .la-menu-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3px;
}

.la-site-nav .la-menu-top-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  min-height: 44px;
  padding-inline: clamp(.6rem, 1.17vw, .95rem);
  border-radius: 6px;
  color: var(--la-ink);
  white-space: nowrap;
}

.la-site-nav summary.la-menu-top-link { cursor: pointer; list-style: none; }
.la-site-nav summary.la-menu-top-link::-webkit-details-marker { display: none; }
.la-site-nav .la-menu-top-link svg { color: var(--la-accent); transition: transform .18s ease; }
.la-site-nav details[open] > .la-menu-top-link svg { transform: rotate(180deg); }
.la-site-nav .la-menu-top-link:is(:hover, [aria-current="page"]),
.la-site-nav details:is([open], .la-menu-disclosure--current) > .la-menu-top-link {
  background: var(--la-menu-blush);
  color: var(--la-accent-deep);
}

.la-site-nav .la-menu-panel {
  position: absolute;
  z-index: 1;
  top: calc(100% - 1px);
  box-sizing: border-box;
  color: var(--la-ink);
  background: var(--la-white);
  border: 1px solid var(--la-menu-border);
  border-radius: 0 0 14px 14px;
  box-shadow: 0 24px 52px rgba(44, 18, 30, .13);
}

.la-site-nav .la-menu-panel--offer {
  display: grid;
  grid-template-columns: minmax(168px, .85fr) repeat(3, minmax(0, 1fr));
  gap: clamp(.6rem, 1.5vw, 1.25rem);
  inset-inline: clamp(.7rem, 1.8vw, 1.15rem);
  max-height: min(72vh, 665px);
  max-height: min(72dvh, 665px);
  padding: clamp(.85rem, 1.7vw, 1.4rem);
  overflow: auto;
  overscroll-behavior: contain;
}

.la-site-nav .la-menu-panel--simple {
  top: calc(100% + .25rem);
  inset-inline-start: 0;
  min-width: 13.5rem;
  padding: .45rem;
  border-radius: 10px;
}
.la-site-nav .la-menu-disclosure:not(.la-menu-disclosure--offer) { position: relative; }
.la-site-nav .la-menu-disclosure:not([open]) > .la-menu-panel { display: none; }

.la-site-nav .la-menu-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: .85rem;
  padding: clamp(.85rem, 2vw, 1.65rem);
  border-radius: 8px;
  background: var(--la-menu-wine);
  color: #fff;
}
.la-site-nav .la-menu-intro > p { color: #f8e2eb; font-weight: 550; }
.la-site-nav .la-menu-intro .la-menu-eyebrow {
  color: #f7a8c1;
  font: 800 .65rem/1.35 var(--la-display);
  letter-spacing: .13em;
}
.la-site-nav .la-menu-intro .la-menu-intro-title {
  color: #fff;
  font: 800 clamp(1.4rem, 2.28vw, 2rem)/1.14 var(--la-display);
  letter-spacing: -.025em;
}
.la-site-nav .la-menu-all {
  display: flex;
  gap: .4rem;
  align-items: center;
  min-height: 44px;
  margin-top: .15rem;
  color: #fff;
  font-weight: 800;
}
.la-site-nav .la-menu-all:hover { text-decoration: underline; text-underline-offset: .25em; }
.la-site-nav .la-menu-all:focus-visible { outline-color: #f7a8c1; }

.la-site-nav .la-menu-group { min-width: 0; }
.la-site-nav .la-menu-group + .la-menu-group {
  padding-inline-start: clamp(.55rem, 1vw, .9rem);
  border-inline-start: 1px solid var(--la-menu-border);
}
.la-site-nav .la-menu-group-heading,
.la-site-nav .la-menu-group-link {
  display: flex;
  align-items: center;
  gap: .56rem;
  min-height: 44px;
  padding-inline: .45rem;
  color: var(--la-menu-wine);
  font: 800 .97rem/1.35 var(--la-display);
}
.la-site-nav .la-menu-group-heading { min-height: 66px; align-items: flex-start; padding-block-start: .7rem; }
.la-site-nav .la-menu-group-caption {
  margin-bottom: .15rem;
  padding-inline: .45rem;
  color: var(--la-muted);
  font-size: .71rem;
  font-weight: 700;
}
.la-site-nav .la-menu-group-link:hover { text-decoration: underline; text-underline-offset: .22em; }
.la-site-nav .la-menu-services { display: grid; gap: 2px; }
.la-site-nav .la-menu-service {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-height: 40px;
  padding: .23rem .35rem;
  border-radius: 6px;
  color: var(--la-ink);
  font-weight: 700;
  line-height: 1.32;
}
.la-site-nav .la-menu-service > span:last-child { overflow-wrap: normal; }
.la-site-nav .la-menu-service:is(:hover, [aria-current="page"]),
.la-site-nav .la-menu-group-link[aria-current="page"] { background: var(--la-menu-blush); color: var(--la-accent-deep); }
.la-site-nav .la-menu-service--overview { color: var(--la-accent-deep); }
.la-site-nav .la-menu-icon {
  display: grid;
  place-items: center;
  flex: 0 0 29px;
  height: 29px;
  border-radius: 6px;
  color: var(--la-accent-deep);
  background: var(--la-menu-blush);
  font-size: 1rem;
}
.la-site-nav .la-menu-group-link .la-menu-icon { background: var(--la-menu-wine); color: #fff; }
.la-site-nav :is(summary, a, button):focus-visible { outline-offset: -2px; }

@media (max-width: 1024px) {
  .la-header .la-nav--mega { order: 0; flex: 0 1 auto; width: auto; max-width: none; margin-inline: auto 0; }
  .la-header .la-header-phone { margin-inline-start: 0; }
  .la-site-nav .la-menu-compact { display: block; }
  .la-site-nav .la-menu-toggle {
    display: flex;
    align-items: center;
    gap: .4rem;
    min-height: 44px;
    padding: .45rem .65rem;
    border: 1px solid var(--la-menu-border);
    border-radius: 6px;
    background: var(--la-white);
    color: var(--la-menu-wine);
    font: 800 .81rem/1.4 var(--la-display);
    cursor: pointer;
    list-style: none;
  }
  .la-site-nav .la-menu-toggle::-webkit-details-marker { display: none; }
  .la-site-nav .la-menu-toggle > span { display: flex; }
  .la-site-nav .la-menu-toggle svg { width: 1.2rem; height: 1.2rem; }
  .la-site-nav .la-menu-compact[open] .la-menu-toggle { background: var(--la-menu-blush); }
  .la-site-nav .la-menu-compact:not([open]) .la-menu-close-icon,
  .la-site-nav .la-menu-compact[open] .la-menu-open-icon { display: none; }
  .la-site-nav .la-menu-primary {
    position: absolute;
    z-index: 1;
    top: 100%;
    inset-inline: 0;
    display: block;
    max-height: min(74vh, 39rem);
    max-height: min(74dvh, 39rem);
    overflow: auto;
    overscroll-behavior: contain;
    padding: .5rem .85rem .85rem;
    border: 1px solid var(--la-menu-border);
    border-radius: 0 0 10px 10px;
    box-shadow: 0 24px 46px rgba(44, 18, 30, .14);
    background: var(--la-white);
  }
  .la-site-nav .la-menu-compact:not([open]) + .la-menu-primary { display: none; }
  .la-site-nav .la-menu-top-link { padding-inline: .65rem; justify-content: space-between; }
  .la-site-nav .la-menu-top-link svg { margin-inline-start: .2rem; }
  .la-site-nav .la-menu-panel { position: static; box-shadow: none; border-radius: 8px; margin-block: .25rem .5rem; }
  .la-site-nav .la-menu-panel--offer { grid-template-columns: 1fr; max-height: none; padding: .65rem; overflow: visible; }
  .la-site-nav .la-menu-intro { gap: .45rem; padding: .8rem 1rem; }
  .la-site-nav .la-menu-intro > p:not([class]) { display: none; }
  .la-site-nav .la-menu-intro .la-menu-intro-title { font-size: 1.34rem; }
  .la-site-nav .la-menu-all { margin-top: 0; }
  .la-site-nav .la-menu-group + .la-menu-group { padding: .35rem 0 0; border-inline-start: 0; border-top: 1px solid var(--la-menu-border); }
  .la-site-nav .la-menu-group-heading { min-height: 42px; align-items: center; padding-block-start: 0; }
  .la-site-nav .la-menu-service { min-height: 44px; }
  .la-site-nav .la-menu-book { display: block; margin-block-start: .4rem; }
  .la-site-nav .la-menu-book a {
    display: flex;
    gap: .5rem;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: 6px;
    background: var(--la-accent-deep);
    color: #fff;
  }
  .la-site-nav .la-menu-book a:focus-visible { outline-color: #fff; }
}

@media (max-width: 370px) {
  .la-header .la-nav--mega { margin-inline-start: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .la-site-nav .la-menu-top-link svg { transition: none; }
}
