.lge-header {
  --lge-ink: #191729;
  --lge-plum: #6d345a;
  --lge-clay: #a65437;
  --lge-gold: #e6b958;
  --lge-cream: #faf6f0;
  --lge-paper: #fffdf9;
  --lge-line: #e8ddd2;
  --lge-focus: #7a3057;
  --lge-space-1: .45rem;
  --lge-space-2: .8rem;
  --lge-space-3: 1.1rem;
  --lge-space-4: 1.5rem;
  --lge-speed: 180ms;
  position: relative;
  z-index: 20;
  width: 100%;
  color: var(--lge-ink);
  background: var(--lge-paper);
  border-bottom: 1px solid var(--lge-line);
  font-family: 'Segoe UI', Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
}
.lge-header, .lge-header * { box-sizing: border-box; }
.lge-header__placeholder { width: 100%; min-width: 0; }
.lge-header a { text-decoration: none; }
.lge-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--lge-space-4);
  width: min(100%, 90rem);
  min-height: 5.5rem;
  margin-inline: auto;
  padding: .65rem max(1rem, env(safe-area-inset-left)) .65rem max(1rem, env(safe-area-inset-right));
}
.lge-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--lge-space-2);
  min-width: 0;
  color: var(--lge-ink) !important;
}
.lge-header__logo {
  flex: none;
  width: 3.625rem;
  height: 3.625rem;
  object-fit: contain;
  border-radius: 50%;
  background: white;
}
.lge-header__brand-text { display: grid; gap: .1rem; min-width: 0; line-height: 1.16; }
.lge-header__brand-text strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.15rem, 1.5vw, 1.38rem);
  font-weight: 700;
  letter-spacing: -.025em;
  white-space: nowrap;
}
.lge-header__brand-text span { color: var(--lge-plum); font-size: .68rem; font-weight: 700; letter-spacing: .105em; text-transform: uppercase; white-space: nowrap; }
.lge-header__nav { display: flex; align-items: center; gap: clamp(.7rem, 1.6vw, 1.55rem); }
.lge-header__menu { display: flex; align-items: center; gap: clamp(.15rem, .55vw, .6rem); list-style: none; margin: 0; padding: 0; }
.lge-header__menu li { position: relative; list-style: none; margin: 0; padding: 0; }
.lge-header__menu > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: .5rem .58rem;
  border-radius: .35rem;
  color: var(--lge-ink) !important;
  font-size: .86rem;
  font-weight: 650;
  line-height: 1.25;
  white-space: nowrap;
  transition: color var(--lge-speed) ease, background-color var(--lge-speed) ease;
}
.lge-header__menu > li > a:hover,
.lge-header__menu > li.current-menu-item > a,
.lge-header__menu > li.current-menu-ancestor > a { color: var(--lge-plum) !important; background: var(--lge-cream); }
.lge-header__menu .menu-item-has-children > a::after { content: '⌄'; margin-left: .35rem; font-size: 1.05rem; line-height: 0; }
.lge-header__menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 13rem;
  display: none;
  margin: 0;
  padding: .4rem;
  list-style: none;
  background: var(--lge-paper);
  border: 1px solid var(--lge-line);
  border-radius: .5rem;
  box-shadow: 0 .6rem 1.5rem rgb(25 23 41 / 12%);
}
.lge-header__menu li:hover > .sub-menu,
.lge-header__menu li:focus-within > .sub-menu { display: block; }
.lge-header__menu .sub-menu a { display: block; padding: .7rem .8rem; color: var(--lge-ink) !important; border-radius: .3rem; line-height: 1.35; }
.lge-header__menu .sub-menu a:hover { background: var(--lge-cream); color: var(--lge-plum) !important; }
.lge-header__cta {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 2.75rem;
  padding: .65rem 1rem;
  border: 1px solid var(--lge-plum);
  border-radius: 100rem;
  color: white !important;
  background: var(--lge-plum);
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  transition: background-color var(--lge-speed) ease, border-color var(--lge-speed) ease, transform var(--lge-speed) ease;
}
.lge-header__cta:hover { background: var(--lge-ink); border-color: var(--lge-ink); transform: translateY(-1px); }
.lge-header__user { max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--lge-plum); font-size: .83rem; font-weight: 700; }
.lge-header__logout { color: var(--lge-plum) !important; font-size: .82rem; font-weight: 700; text-decoration: underline !important; text-underline-offset: .2em; white-space: nowrap; }
.lge-header a:focus-visible, .lge-header button:focus-visible { outline: 3px solid var(--lge-focus); outline-offset: 3px; }
.lge-header__toggle { display: none; }
@media (max-width: 64rem) {
  .lge-header.is-mobile-fixed {
    position: fixed;
    top: var(--lge-mobile-top, 0px);
    left: 0;
    right: 0;
    z-index: 99990;
    width: 100%;
    max-width: 100vw;
  }
  .lge-header__inner { min-height: 4.8rem; }
  .lge-header__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1px solid var(--lge-line);
    border-radius: .5rem;
    color: var(--lge-ink);
    background: var(--lge-cream);
    cursor: pointer;
  }
  .lge-header__toggle-bars { display: grid; gap: .26rem; }
  .lge-header__toggle-bars span { width: 1.2rem; height: 2px; border-radius: 2px; background: currentColor; }
  .lge-header__nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: .8rem;
    max-height: calc(100vh - 5rem);
    max-height: calc(100dvh - var(--lge-mobile-top, 0px) - var(--lge-header-height, 5rem));
    overflow-y: auto;
    padding: .6rem max(1rem, env(safe-area-inset-right)) 1rem max(1rem, env(safe-area-inset-left));
    background: var(--lge-paper);
    border-bottom: 1px solid var(--lge-line);
    box-shadow: 0 .8rem 1.2rem rgb(25 23 41 / 10%);
  }
  .lge-header.is-open .lge-header__nav { display: flex; }
  .lge-header__menu { flex-direction: column; align-items: stretch; gap: .15rem; }
  .lge-header__menu > li > a { display: flex; width: 100%; min-height: 2.9rem; padding: .72rem .8rem; font-size: 1rem; white-space: normal; }
  .lge-header__menu .sub-menu { position: static; display: block; min-width: 0; margin: 0 0 .45rem .65rem; padding: .1rem 0 .1rem .55rem; border: 0; border-left: 2px solid var(--lge-gold); border-radius: 0; box-shadow: none; }
  .lge-header__menu .sub-menu a { min-height: 2.75rem; }
  .lge-header__cta { width: 100%; }
  .lge-header__user { max-width: none; padding: .4rem .8rem; }
  .lge-header__logout { min-height: 2.75rem; padding: .7rem .8rem; }
}
@media (max-width: 25rem) {
  .lge-header__logo { width: 3rem; height: 3rem; }
  .lge-header__brand-text strong { font-size: 1.05rem; }
  .lge-header__brand-text span { font-size: .56rem; letter-spacing: .075em; }
}
@media (prefers-reduced-motion: reduce) {
  .lge-header *, .lge-header *::before, .lge-header *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media (forced-colors: active) {
  .lge-header, .lge-header__nav, .lge-header__cta { border: 1px solid CanvasText; }
  .lge-header__cta { color: ButtonText !important; background: ButtonFace; }
}
