:root {
  --lts-nav-night: var(--lts-blue, #4352A6);
  --lts-nav-ink: var(--lts-ink, #20344D);
  --lts-nav-muted: var(--lts-ink-soft, #5F6B7A);
  --lts-nav-line: var(--lts-parchment-deep, #E9E1D6);
  --lts-nav-surface: var(--lts-paper, #FFFFFF);
  --lts-nav-soft: var(--lts-parchment, #F6F1E8);
  --lts-nav-sun: var(--lts-sun, #FFC229);
  --lts-nav-sun-hover: var(--lts-sun-hover, #F2B310);
  --lts-nav-on-night: var(--lts-on-blue-soft, #DDE1F5);
  --lts-nav-radius: 12px;
}



/* Nachthimmel v3 global page canvas: parchment is the page, paper is content. */
body.lts-core-navigation-v1 {
  background: var(--lts-nav-soft);
  color: var(--lts-nav-ink);
}
body.lts-core-navigation-v1 .wp-site-blocks,
body.lts-core-navigation-v1 main {
  background-color: transparent;
}

/* Theme takeover is scoped to the explicit Navigation v1 body class. */
body.lts-core-navigation-v1 #masthead:not(.lts-site-header),
body.lts-core-navigation-v1 .site-header:not(.lts-site-header),
body.lts-core-navigation-v1 header.wp-block-template-part {
  display: none !important;
}


/* Public/commercial navigation uses the clean Paper surface requested for
 * the marketing site: Ink navigation, the original two-tone wordmark, one
 * thin Klee Blue divider and a Sun CTA. Signed-in learning state uses the
 * same Paper surface. */
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-site-header {
  background: var(--lts-nav-surface);
  border-bottom: 2px solid var(--lts-nav-night);
}

body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__brand-logo img {
  filter: none;
}

body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__brand,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__brand:hover,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__link,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__login,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__menu-button {
  color: var(--lts-nav-ink);
}

body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__link:hover,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__login:hover,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__link.is-current,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__link[aria-current="page"] {
  color: var(--lts-nav-ink);
}

body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__link.is-current::after,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__link[aria-current="page"]::after {
  background: var(--lts-nav-sun);
  height: 3px;
}

body.lts-core-navigation-v1--signed-in .lts-nav__link.is-current::after,
body.lts-core-navigation-v1--signed-in .lts-nav__link[aria-current="page"]::after {
  background: var(--lts-nav-sun);
  height: 3px;
}

body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__primary {
  background: var(--lts-nav-sun);
  color: var(--lts-nav-ink) !important;
}

body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__primary:focus-visible,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__login:focus-visible,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__link:focus-visible,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-nav__menu-button:focus-visible {
  outline-color: var(--lts-nav-sun);
}

body.lts-core-navigation-v1--signed-in .lts-site-header {
  background: var(--lts-nav-surface);
}
.lts-nav__skip {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 100000;
  padding: 10px 14px;
  background: var(--lts-nav-surface);
  color: var(--lts-nav-ink);
  border: 2px solid var(--lts-nav-sun);
  border-radius: 8px;
}

.lts-nav__skip:focus {
  top: 12px;
}

.lts-site-header {
  position: sticky;
  top: 0;
  z-index: 9990;
  width: 100%;
  background: color-mix(in srgb, var(--lts-nav-surface) 97%, transparent);
  border-bottom: 1px solid var(--lts-nav-line);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: box-shadow .18s ease, transform .22s ease;
}

.admin-bar .lts-site-header { top: 32px; }

.lts-site-header.is-scrolled {
  box-shadow: 0 8px 22px rgba(32, 52, 77, .08);
}

.lts-nav__inner {
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 36px;
  box-sizing: border-box;
}

.lts-nav__row {
  min-height: 64px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
  align-items: center;
  gap: 24px;
}

.lts-nav__left,
.lts-nav__right {
  display: flex;
  align-items: center;
}

.lts-nav__right {
  justify-content: flex-end;
  gap: 12px;
}

.lts-nav__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--lts-nav-ink);
  text-decoration: none;
  font-weight: 750;
  white-space: nowrap;
}

.lts-nav__brand:hover { color: var(--lts-nav-ink); }

.lts-nav__brand-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
}

.lts-nav__brand-logo img {
  display: block;
  width: auto;
  height: 30px;
  max-width: 270px;
  object-fit: contain;
}

.lts-nav__brand-mark {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 10px;
  background: var(--lts-nav-sun);
  color: var(--lts-nav-ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  overflow: hidden;
}

.lts-nav__brand-mark--image {
  background: transparent;
}

.lts-nav__brand-mark--image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lts-nav__brand-name {
  font-size: 15px;
  line-height: 1.15;
}

.lts-nav__center {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  min-height: 64px;
}

.lts-nav__dropdown {
  position: relative;
  display: flex;
  align-items: stretch;
}

.lts-nav__dropdown > summary {
  list-style: none;
  cursor: pointer;
}

.lts-nav__dropdown > summary::-webkit-details-marker { display: none; }

.lts-nav__dropdown-summary {
  gap: 5px;
}

.lts-nav__dropdown-chevron {
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  transition: transform .16s ease;
}

.lts-nav__dropdown-chevron svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lts-nav__dropdown[open] .lts-nav__dropdown-chevron { transform: rotate(180deg); }

.lts-nav__dropdown-menu {
  position: absolute;
  top: calc(100% - 8px);
  left: 50%;
  z-index: 30;
  min-width: 180px;
  padding: 8px;
  transform: translateX(-50%);
  border: 1px solid var(--lts-nav-line);
  border-radius: 14px;
  background: var(--lts-nav-surface);
  box-shadow: 0 16px 36px rgba(32, 52, 77, .12);
}

.lts-nav__dropdown-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 9px;
  color: var(--lts-nav-ink);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}

.lts-nav__dropdown-menu a:hover,
.lts-nav__dropdown-menu a:focus-visible {
  background: var(--lts-nav-soft);
  outline: none;
}

.lts-nav__link,
.lts-nav__login {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--lts-nav-ink);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

.lts-nav__link:hover,
.lts-nav__login:hover {
  color: var(--lts-nav-ink);
}

.lts-nav__link.is-current,
.lts-nav__link[aria-current="page"] {
  color: var(--lts-nav-ink);
  font-weight: 750;
}

.lts-nav__link.is-current::after,
.lts-nav__link[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 10px;
  height: 3px;
  border-radius: 999px;
  background: var(--lts-nav-sun);
}

.lts-nav__primary {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--lts-nav-sun);
  color: var(--lts-nav-ink) !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  transition: transform .16s ease, filter .16s ease;
}

.lts-nav__primary:hover {
  background: var(--lts-nav-sun-hover);
  transform: translateY(-1px);
}

.lts-nav__join-short { display: none; }

.lts-nav__menu-button,
.lts-mobile-menu__close,
.lts-nav__avatar {
  border: 0;
  background: transparent;
  cursor: pointer;
}

.lts-nav__menu-button {
  display: none;
  width: 44px;
  height: 44px;
  place-items: center;
  color: var(--lts-nav-ink);
}

.lts-nav__menu-button svg,
.lts-mobile-menu__close svg,
.lts-bottom-nav__icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lts-nav__profile-wrap {
  position: relative;
}

.lts-nav__avatar {
  width: 36px;
  height: 36px;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--lts-nav-line);
  color: var(--lts-nav-ink);
  font-size: 12px;
  font-weight: 800;
  border: 1px solid var(--lts-nav-line);
}

.lts-nav__avatar:focus-visible,
.lts-nav__menu-button:focus-visible,
.lts-mobile-menu__close:focus-visible,
.lts-nav__link:focus-visible,
.lts-nav__primary:focus-visible,
.lts-nav__login:focus-visible,
.lts-profile-menu a:focus-visible,
.lts-bottom-nav__item:focus-visible {
  outline: 3px solid var(--lts-nav-ink);
  outline-offset: 2px;
}

.lts-profile-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  width: 280px;
  border: 1px solid var(--lts-nav-line);
  border-radius: 16px;
  background: var(--lts-nav-surface);
  box-shadow: 0 18px 44px rgba(32, 52, 77, .14);
  overflow: hidden;
  z-index: 10010;
}

.lts-profile-menu[hidden] { display: none !important; }

.lts-profile-menu__identity {
  display: grid;
  gap: 2px;
  padding: 18px;
  border-bottom: 1px solid var(--lts-nav-line);
}

.lts-profile-menu__identity strong {
  color: var(--lts-nav-ink);
  font-size: 15px;
}

.lts-profile-menu__identity span {
  color: var(--lts-nav-muted);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lts-profile-menu__links {
  display: grid;
  padding: 8px;
}

.lts-profile-menu__links + .lts-profile-menu__links {
  border-top: 1px solid var(--lts-nav-line);
}

.lts-profile-menu a {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 9px;
  color: var(--lts-nav-ink);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}

.lts-profile-menu a:hover { background: var(--lts-nav-soft); }
.lts-profile-menu a.lts-profile-menu__member-cta { color: var(--lts-nav-ink); text-decoration: underline; }

.lts-mobile-menu[hidden] { display: none !important; }

.lts-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 10000;
}

.lts-mobile-menu__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: rgba(20, 29, 42, .38);
}

.lts-mobile-menu__panel {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: min(88vw, 390px);
  padding: 18px 18px calc(24px + env(safe-area-inset-bottom));
  overflow-y: auto;
  background: var(--lts-nav-surface);
  box-shadow: -18px 0 50px rgba(32, 52, 77, .16);
}

.lts-mobile-menu__top {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--lts-nav-ink);
  font-weight: 750;
}

.lts-mobile-menu__close {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: var(--lts-nav-ink);
}

.lts-mobile-menu nav {
  display: grid;
}

.lts-mobile-menu .lts-mobile-menu__link {
  min-height: 52px;
  font-size: 17px;
  justify-content: flex-start;
}

.lts-mobile-menu .lts-mobile-menu__link.is-current::after,
.lts-mobile-menu .lts-mobile-menu__link[aria-current="page"]::after {
  display: none;
}

.lts-mobile-menu__about {
  margin: 0;
}

.lts-mobile-menu__about > summary {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  cursor: pointer;
  color: var(--lts-nav-ink);
  font-size: 17px;
  font-weight: 700;
}

.lts-mobile-menu__about > summary::-webkit-details-marker { display: none; }
.lts-mobile-menu__about > summary svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.lts-mobile-menu__about[open] > summary svg { transform: rotate(180deg); }
.lts-mobile-menu__about > div { padding-left: 12px; }

.lts-mobile-menu__divider {
  height: 1px;
  margin: 10px 0;
  background: var(--lts-nav-line);
}

.lts-mobile-menu__actions {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.lts-mobile-menu__cta { min-height: 48px; }

.lts-mobile-menu__login {
  margin: 0;
  text-align: center;
  color: var(--lts-nav-muted);
  font-size: 14px;
}

.lts-mobile-menu__login a { color: var(--lts-nav-ink); }

body.lts-nav-open { overflow: hidden; }

.lts-bottom-nav {
  display: none;
}

@media (max-width: 980px) {
  .lts-nav__inner { padding: 0 20px; }
  .lts-nav__row { grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr); gap: 14px; }
  .lts-nav__center { gap: 16px; }
  .lts-nav__brand-name { display: none; }
  .lts-nav__brand-logo img { height: 27px; max-width: 220px; }
}

@media (max-width: 780px) {
  .admin-bar .lts-site-header { top: 46px; }

  .lts-site-header.is-mobile-hidden {
    transform: translateY(calc(-100% - 48px));
  }

  .lts-nav__inner { padding: 0 12px; }
  .lts-nav__row {
    min-height: 56px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
  }

  .lts-nav__left { flex: 0 0 auto; }
  .lts-nav__right { margin-left: auto; gap: 6px; }
  .lts-nav__center { display: none; }
  .lts-nav__brand-mark { width: 34px; height: 34px; border-radius: 9px; }
  .lts-nav__brand-name { display: none; }
  .lts-nav__brand-logo img { height: 21px; max-width: 132px; }
  .lts-nav__menu-button { display: grid; }

  .lts-nav__row--visitor .lts-nav__login { font-size: 13px; }
  .lts-nav__join-long { display: none; }
  .lts-nav__join-short { display: inline; }
  .lts-nav__row--visitor .lts-nav__primary { min-height: 36px; padding: 0 12px; font-size: 13px; }

  .lts-nav__row--signed-in .lts-nav__member-cta { display: none; }
  .lts-nav__row--signed-in .lts-nav__future-slots { display: none; }

  body.lts-core-navigation-v1--signed-in {
    padding-bottom: calc(60px + env(safe-area-inset-bottom));
  }

  .lts-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9985;
    min-height: calc(60px + env(safe-area-inset-bottom));
    padding: 4px max(8px, env(safe-area-inset-left)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-right));
    display: flex;
    justify-content: space-around;
    background: color-mix(in srgb, var(--lts-nav-surface) 97%, transparent);
    border-top: 1px solid var(--lts-nav-line);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .lts-bottom-nav__item {
    min-width: 76px;
    min-height: 52px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 2px;
    border-radius: 10px;
    color: var(--lts-nav-muted);
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
  }

  .lts-bottom-nav__item { position: relative; }

  .lts-bottom-nav__item.is-current,
  .lts-bottom-nav__item[aria-current="page"] {
    color: var(--lts-nav-ink);
    background: transparent;
    font-weight: 800;
  }

  .lts-bottom-nav__item.is-current::before,
  .lts-bottom-nav__item[aria-current="page"]::before {
    content: "";
    position: absolute;
    top: -5px;
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: var(--lts-nav-sun);
  }

  .lts-bottom-nav__icon {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
  }

  .lts-profile-menu {
    position: fixed;
    left: 10px;
    right: 10px;
    top: auto;
    bottom: calc(12px + 60px + env(safe-area-inset-bottom));
    width: auto;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    border-radius: 18px;
  }
}

@media (max-width: 420px) {
  .lts-nav__inner { padding: 0 10px; }
  .lts-nav__row { gap: 6px; }
  .lts-nav__right { gap: 5px; }
  .lts-nav__brand-logo img { height: 19px; max-width: 118px; }
  .lts-nav__row--visitor .lts-nav__login { display: inline-flex; font-size: 12px; }
  .lts-nav__row--visitor .lts-nav__primary { min-height: 34px; padding: 0 10px; font-size: 12px; }
  .lts-nav__menu-button { width: 38px; height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .lts-site-header,
  .lts-nav__primary {
    transition: none;
  }
}

/* German public home palette bridge (v0.14.33).
 * The historical WordPress page contains nested black text/button styling.
 * Keep the page structure, but bring the visible hero back onto the approved
 * Nachthimmel semantic tokens without touching Pricing or the learning world. */
body.lts-core-navigation-v1.lts-core-german-home main h1,
body.lts-core-navigation-v1.lts-core-german-home main h1 *,
body.lts-core-navigation-v1.lts-core-german-home main h2,
body.lts-core-navigation-v1.lts-core-german-home main h2 * {
  color: var(--lts-nav-ink) !important;
}

body.lts-core-navigation-v1.lts-core-german-home main .wp-block-button__link,
body.lts-core-navigation-v1.lts-core-german-home main a.wp-element-button {
  background: var(--lts-nav-sun) !important;
  color: var(--lts-nav-ink) !important;
  border-color: var(--lts-nav-sun) !important;
  box-shadow: none !important;
}

body.lts-core-navigation-v1.lts-core-german-home main .wp-block-button__link:hover,
body.lts-core-navigation-v1.lts-core-german-home main a.wp-element-button:hover {
  background: var(--lts-nav-sun-hover) !important;
  color: var(--lts-nav-ink) !important;
}



/* Visitor navigation alignment for Homepage v1 public shell. */
.lts-nav__language {
  position: relative;
  margin: 0;
}
.lts-nav__language > summary {
  min-height: 44px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  list-style: none;
  color: var(--lts-nav-ink);
  font-weight: 650;
}
.lts-nav__language > summary::-webkit-details-marker { display: none; }
.lts-nav__language > summary > svg:first-child { width: 18px; height: 18px; }
.lts-nav__language-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 150px;
  padding: 10px 12px;
  border: 1px solid var(--lts-nav-line);
  border-radius: 12px;
  background: var(--lts-nav-surface);
  box-shadow: 0 14px 34px rgba(32, 52, 77, .12);
  color: var(--lts-nav-ink);
  font-size: .92rem;
}
.lts-mobile-menu__language {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--lts-nav-ink);
}
.lts-mobile-menu__language svg { width: 20px; height: 20px; }
@media (max-width: 980px) {
  .lts-nav__language { display: none; }
}

/* v0.15.04 — Profile/Settings v1 dropdown refinements. */
.lts-nav__avatar img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.lts-profile-menu__identity {
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
}

.lts-profile-menu__identity > div { min-width: 0; display: grid; gap: 2px; }

.lts-profile-menu__avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}

.lts-profile-menu__theme {
  min-height: 42px;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--lts-nav-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.lts-profile-menu__theme:hover { background: var(--lts-nav-soft); }
.lts-profile-menu__theme:focus-visible { outline: 3px solid var(--lts-nav-ink); outline-offset: 2px; }

html[data-lts-theme="dark"] {
  --lts-nav-surface: #203044;
  --lts-nav-ink: #F4F6FA;
  --lts-nav-muted: #C7CFDA;
  --lts-nav-line: #314157;
  --lts-nav-soft: #293a50;
}

/* Navigation v2 canonical state additions. */
.lts-nav__link-button,
.lts-nav__icon-link,
.lts-bottom-nav__item[type="button"],
.lts-nav-dialog__secondary,
.lts-nav-dialog__backdrop {
  font: inherit;
}

.lts-nav__link-button {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.lts-nav__icon-link {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--lts-nav-ink);
  cursor: pointer;
  text-decoration: none;
}

.lts-nav__icon-link:hover,
.lts-nav__icon-link:focus-visible {
  background: var(--lts-nav-soft);
}

.lts-nav__icon-link svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lts-nav-dialog[hidden] { display: none !important; }
.lts-nav-dialog {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 24px;
}
.lts-nav-dialog__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: rgba(20, 29, 42, .42);
  cursor: pointer;
}
.lts-nav-dialog__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  padding: 30px;
  border: 1px solid var(--lts-nav-line);
  border-radius: 22px;
  background: var(--lts-nav-surface);
  box-shadow: 0 24px 64px rgba(32, 52, 77, .2);
  color: var(--lts-nav-ink);
}
.lts-nav-dialog__panel h2 {
  margin: 0 0 12px;
  color: var(--lts-nav-ink);
  font-size: clamp(26px, 4vw, 34px);
  line-height: 1.1;
}
.lts-nav-dialog__panel p {
  margin: 0 0 14px;
  color: var(--lts-nav-muted);
  line-height: 1.6;
}
.lts-nav-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}
.lts-nav-dialog__secondary {
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: var(--lts-nav-ink);
  font-weight: 700;
  cursor: pointer;
}

body.lts-nav-dialog-open {
  overflow: hidden;
}

.lts-nav-dialog__panel--community {
  width: min(100%, 480px);
  padding: 34px 34px 32px;
  text-align: center;
}

.lts-nav-dialog__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--lts-nav-ink);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}

.lts-nav-dialog__close:hover,
.lts-nav-dialog__close:focus-visible {
  background: transparent;
  color: var(--lts-nav-ink);
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 8px 18px rgba(32, 52, 77, .08);
}

.lts-nav-dialog__close svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lts-nav-dialog__community-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin: 2px auto 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--lts-nav-night);
}

.lts-nav-dialog__community-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lts-nav-dialog__panel--community h2 {
  margin-bottom: 12px;
  font-size: clamp(27px, 4vw, 32px);
}

.lts-nav-dialog__panel--community p {
  max-width: 390px;
  margin-left: auto;
  margin-right: auto;
}

.lts-nav-dialog__panel--community p:last-child {
  margin-bottom: 0;
}

.lts-bottom-nav__item[type="button"] {
  border: 0;
  background: transparent;
  cursor: pointer;
}

@media (max-width: 780px) {
  .lts-nav__row--visitor .lts-nav__login { display: none; }
  .lts-nav__row--visitor .lts-nav__menu-button { display: grid; }
  .lts-nav__row--signed-in .lts-nav__menu-button { display: none; }
  .lts-nav__row--signed-in .lts-nav__icon-link { display: none; }
  .lts-bottom-nav { justify-content: stretch; }
  .lts-bottom-nav__item { min-width: 0; flex: 1 1 20%; }
  .lts-nav-dialog { padding: 16px; }
  .lts-nav-dialog__panel { padding: 24px 20px; border-radius: 18px; }
  .lts-nav-dialog__panel--community { padding: 30px 22px 26px; }
  .lts-nav-dialog__community-icon { width: 44px; height: 44px; margin-bottom: 16px; }
}


/* ==========================================================================
   Core 0.15.58 — canonical global header / Homepage v3 alignment
   Reference geometry: 01_HOMEPAGE_REFERENCE_v3.html.
   This is presentation-only. Guest / authenticated_free / active_member
   composition remains owned by LTS_Core_Navigation.
   ========================================================================== */
:root {
  --lts-canonical-header-ink: #20334D;
  --lts-canonical-header-muted: #5F6F83;
  --lts-canonical-header-blue: #4959AD;
  --lts-canonical-header-sun: #FFBF25;
  --lts-canonical-header-paper: #FFFFFF;
  --lts-canonical-header-cream: #F5F0E8;
  --lts-canonical-header-line: #E6DDD2;
  --lts-canonical-header-container: 1220px;
}

body.lts-core-navigation-v1 .lts-site-header,
body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-site-header,
body.lts-core-navigation-v1--signed-in .lts-site-header {
  min-height: 76px;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--lts-canonical-header-line);
  color: var(--lts-canonical-header-ink);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.lts-nav__inner {
  width: min(calc(100% - 48px), var(--lts-canonical-header-container));
  max-width: none;
  margin-inline: auto;
  padding: 0;
}

.lts-nav__row {
  min-height: 76px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 32px;
}

.lts-nav__left,
.lts-nav__right {
  min-width: 0;
}

.lts-nav__right {
  gap: 12px;
}

.lts-nav__brand-logo img {
  width: 260px;
  height: auto;
  max-width: 260px;
}

.lts-nav__center {
  min-height: 76px;
  gap: 34px;
}

.lts-nav__link,
.lts-nav__login,
.lts-nav__dropdown-summary {
  min-height: 44px;
  color: var(--lts-canonical-header-ink);
  font-size: 16px;
  font-weight: 700;
}

.lts-nav__link:hover,
.lts-nav__login:hover,
.lts-nav__dropdown-summary:hover {
  color: var(--lts-canonical-header-ink);
}

.lts-nav__link.is-current,
.lts-nav__link[aria-current="page"],
.lts-nav__dropdown-summary.is-current,
.lts-nav__dropdown-summary[aria-current="page"] {
  color: var(--lts-canonical-header-ink);
  font-weight: 700;
}

.lts-nav__link.is-current::after,
.lts-nav__link[aria-current="page"]::after,
.lts-nav__dropdown-summary.is-current::after,
.lts-nav__dropdown-summary[aria-current="page"]::after {
  left: 0;
  right: 0;
  bottom: 3px;
  height: 3px;
  border-radius: 10px;
  background: var(--lts-canonical-header-sun);
}

.lts-nav__dropdown-menu {
  top: 48px;
  width: 180px;
  min-width: 180px;
  padding: 8px;
  border: 1px solid var(--lts-canonical-header-line);
  border-radius: 14px;
  background: var(--lts-canonical-header-paper);
  box-shadow: 0 12px 34px rgba(32,51,77,.08);
}

.lts-nav__dropdown-menu a {
  padding: 11px 12px;
  border-radius: 9px;
  font-size: 15px;
}

.lts-nav__dropdown-menu a:hover,
.lts-nav__dropdown-menu a:focus-visible {
  background: var(--lts-canonical-header-cream);
}

.lts-nav__icon-link,
.lts-nav__avatar {
  width: 44px;
  height: 44px;
}

.lts-nav__icon-link {
  color: var(--lts-canonical-header-blue);
  border-radius: 12px;
}

.lts-nav__icon-link:hover,
.lts-nav__icon-link:focus-visible {
  background: #F5F4F0;
}

.lts-nav__avatar {
  background: transparent;
  color: var(--lts-canonical-header-blue);
  border-color: var(--lts-canonical-header-line);
}

/* Homepage v3 is a white page with a cream hero. Prevent the older global
   parchment canvas from showing around the Core-owned homepage. */
body.lts-homepage-v1-active.lts-core-navigation-v1,
body.lts-homepage-v1-active.lts-core-navigation-v1 main,
body.lts-homepage-v1-active.lts-core-navigation-v1 .wp-site-blocks {
  background: #FFFFFF;
}

@media (max-width: 980px) {
  .lts-nav__inner {
    width: min(calc(100% - 48px), var(--lts-canonical-header-container));
    padding: 0;
  }

  .lts-nav__brand-logo img {
    width: 225px;
    height: auto;
    max-width: 225px;
  }

  /* The public Homepage reference switches to the menu control at tablet
     widths. Signed-in learning navigation retains its existing breakpoint so
     no product navigation disappears between tablet and mobile. */
  body.lts-core-navigation-state-guest .lts-nav__center,
  body.lts-core-navigation-state-guest .lts-nav__login {
    display: none;
  }

  body.lts-core-navigation-state-guest .lts-nav__menu-button {
    display: grid;
  }
}

@media (max-width: 780px) {
  body.lts-core-navigation-v1 .lts-site-header,
  body.lts-core-navigation-v1:not(.lts-core-navigation-v1--signed-in) .lts-site-header,
  body.lts-core-navigation-v1--signed-in .lts-site-header {
    min-height: 68px;
  }

  .lts-nav__inner {
    width: min(calc(100% - 32px), var(--lts-canonical-header-container));
    padding: 0;
  }

  .lts-nav__row {
    min-height: 68px;
    gap: 10px;
  }

  .lts-nav__brand-logo img {
    width: 190px;
    height: auto;
    max-width: 190px;
  }

  /* Guest mobile menu is visually a dropdown below the shared header, as in
     Homepage v3, rather than a second unrelated navigation design. */
  body.lts-core-navigation-state-guest .lts-mobile-menu {
    top: 68px;
    bottom: auto;
    height: auto;
  }

  body.lts-core-navigation-state-guest .lts-mobile-menu__backdrop {
    display: none;
  }

  body.lts-core-navigation-state-guest .lts-mobile-menu__panel {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
    padding: 8px 24px 24px;
    background: #FFFFFF;
    border-top: 1px solid var(--lts-canonical-header-line);
    box-shadow: 0 12px 30px rgba(32,51,77,.08);
  }

  body.lts-core-navigation-state-guest .lts-mobile-menu__top,
  body.lts-core-navigation-state-guest .lts-mobile-menu__actions,
  body.lts-core-navigation-state-guest .lts-mobile-menu__divider {
    display: none;
  }

  body.lts-core-navigation-state-guest .lts-mobile-menu .lts-mobile-menu__link {
    min-height: 48px;
    border-bottom: 1px solid #F1EBE3;
    font-size: 16px;
    font-weight: 700;
  }

  body.lts-core-navigation-state-guest.lts-nav-open {
    overflow: auto;
  }
}

@media (max-width: 640px) {
  .lts-nav__inner {
    width: min(calc(100% - 32px), var(--lts-canonical-header-container));
  }
  .lts-nav__brand-logo img {
    width: 190px;
    max-width: 190px;
  }
}


/* ==========================================================================
   Core 0.15.59 — Guest header centering + CTA + About hover correction
   Presentation-only follow-up to the shared Homepage v3 header pass.
   ========================================================================== */
@media (min-width: 981px) {
  body.lts-core-navigation-state-guest .lts-nav__row--visitor {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }

  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__left {
    justify-self: start;
  }

  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__center {
    justify-self: center;
  }

  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__right {
    justify-self: end;
  }

  body.lts-core-navigation-state-guest .lts-nav__join {
    min-height: 44px;
    padding-inline: 20px;
    background: var(--lts-canonical-header-sun);
    color: var(--lts-canonical-header-ink) !important;
    font-size: 15px;
    font-weight: 800;
  }

  body.lts-core-navigation-state-guest .lts-nav__join:hover,
  body.lts-core-navigation-state-guest .lts-nav__join:focus-visible {
    background: #F2AF00;
    color: var(--lts-canonical-header-ink) !important;
  }
}

body.lts-core-navigation-v1 .lts-nav__dropdown-menu a,
body.lts-core-navigation-v1 .lts-nav__dropdown-menu a:visited,
body.lts-core-navigation-v1 .lts-nav__dropdown-menu a:hover,
body.lts-core-navigation-v1 .lts-nav__dropdown-menu a:focus-visible {
  color: var(--lts-canonical-header-ink) !important;
  text-decoration: none !important;
}


/* Core 0.15.121 — profile dropdown ordering and neutral link states. */
.lts-profile-menu__links--logout {
  border-top: 1px solid var(--lts-nav-line);
}
.lts-profile-menu a,
.lts-profile-menu a:visited,
.lts-profile-menu a:hover,
.lts-profile-menu a:focus-visible,
.lts-profile-menu a:active {
  color: var(--lts-nav-ink) !important;
  text-decoration: none !important;
}
.lts-profile-menu a:hover,
.lts-profile-menu a:focus-visible,
.lts-profile-menu__theme:hover,
.lts-profile-menu__theme:focus-visible {
  background: var(--lts-nav-soft) !important;
}
.lts-profile-menu a[aria-current="page"],
.lts-profile-menu a.is-current {
  color: var(--lts-nav-ink) !important;
  background: var(--lts-nav-soft) !important;
}


/* Core 0.15.157 — role-aware, four-slot learner navigation.
   Equal widths, dark inactive icons/text, Klee Blue selected icons/text.
   The Free Plan icon may be marginally larger without changing its tap target. */
@media (max-width: 780px) {
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-items: stretch;
    align-items: center;
    gap: 0;
    padding-left: max(7px, env(safe-area-inset-left));
    padding-right: max(7px, env(safe-area-inset-right));
  }
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item,
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item:link,
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item:visited {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 4px 2px;
    flex: initial;
    border: 0;
    background: transparent;
    color: var(--lts-nav-ink) !important;
    font-size: clamp(10px, 2.7vw, 12px);
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
  }
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item.is-current,
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item[aria-current="page"],
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item.is-dialog-current {
    color: var(--lts-nav-night) !important;
    font-weight: 800;
  }
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item.is-current::before,
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item[aria-current="page"]::before {
    content: none !important;
  }
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__icon,
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__icon svg {
    width: 23px;
    height: 23px;
    color: inherit;
  }
  body.lts-core-navigation-state-authenticated-free .lts-bottom-nav__item.is-plan .lts-bottom-nav__icon,
  body.lts-core-navigation-state-authenticated-free .lts-bottom-nav__item.is-plan .lts-bottom-nav__icon svg {
    width: 26px;
    height: 26px;
  }
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item:hover,
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item:focus-visible {
    background: var(--lts-nav-soft);
  }
}

@media (max-width: 780px) {
  /* Anchors default to content-box while buttons default to border-box. */
  body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item {
    box-sizing: border-box;
  }
  html[data-lts-theme="dark"] body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item.is-current,
  html[data-lts-theme="dark"] body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item[aria-current="page"],
  html[data-lts-theme="dark"] body.lts-core-navigation-v1--signed-in .lts-bottom-nav__item.is-dialog-current {
    color: #B4C1FF !important;
  }
}

@media (max-width: 780px) {
  /* The Community dialog owns the active state while it is open. */
  body.lts-nav-dialog-open.lts-core-navigation-v1--signed-in .lts-bottom-nav__item.is-current:not(.is-dialog-current) {
    color: var(--lts-nav-ink) !important;
  }
}

/* Core 0.15.271 — keep the canonical top toolbar on the member Dashboard.
   The standalone Profile/Settings and Album/Unfinished subviews retain their
   own mobile back/close bar, but the Dashboard itself needs the global header. */
@media (max-width: 780px) {
  body.lts-profile-settings-v1-active:not(.lts-profile-settings-v1-dashboard).lts-core-navigation-v1 header.lts-site-header[data-lts-navigation] {
    display: none !important;
  }
  body.lts-profile-settings-v1-dashboard.lts-core-navigation-v1 header.lts-site-header[data-lts-navigation] {
    display: block !important;
    visibility: visible !important;
    transform: none !important;
  }
}

/* v0.15.388: mobile account-sheet password verification. */
.lts-mobile-profile [data-lts-password-verification] { display:grid; gap:12px; margin-top:18px; }
.lts-mobile-profile [data-lts-password-send] { border:1px solid #adb4ea; border-radius:14px; background:#f8f7fe; color:#34458b; min-height:44px; padding:10px 14px; font-weight:600; }
.lts-mobile-profile [data-lts-password-send]:hover, .lts-mobile-profile [data-lts-password-send]:active { background:#e8eaf8; color:#263776; }
.lts-mobile-profile [data-lts-password-status] { font-size:13px; line-height:1.45; }

/* Core 0.15.390: mobile password change two-step editor. */
.lts-mobile-profile [data-lts-password-fields] {display:grid;gap:12px;}
.lts-mobile-profile [data-lts-password-fields][hidden],
.lts-mobile-profile [data-lts-password-verification][hidden],
.lts-mobile-profile [data-lts-editor-save][hidden] {display:none!important;}
.lts-mobile-profile [data-lts-password-verification] {gap:14px;}
.lts-mobile-profile [data-lts-password-verification] [data-lts-password-send] {order:5;justify-self:start;}
.lts-mobile-profile [data-lts-password-verification] input[name="verification_code"] {max-width:100%;box-sizing:border-box;letter-spacing:.2em;}
.lts-mobile-profile__password-intro {color:#edf0ff;line-height:1.45;margin:0;}
.lts-mobile-profile__password-error {color:#ffc5c3;line-height:1.45;font-weight:650;margin:0;}
.lts-mobile-profile__password-error[hidden] {display:none!important;}
.lts-mobile-profile [data-lts-password-status] {font-variant-numeric:tabular-nums;}

.lts-mobile-profile__password-primary {min-height:48px;padding:12px 18px;border-radius:12px;border:1px solid #abb5eb!important;background:#4657ab!important;color:white!important;font-weight:700;font-size:15px;justify-self:start;margin-top:12px;}
.lts-mobile-profile__password-primary:hover, .lts-mobile-profile__password-primary:active {background:#364997!important;color:white!important;}
.lts-mobile-profile__password-primary[hidden] {display:none!important;}


/* Core 0.15.418 — seamless secure POST logout; same presentation as previous link. */
.lts-profile-menu__links--logout .lts-core-logout-form {margin:0;min-width:0;}
.lts-profile-menu__links--logout .lts-profile-menu__logout-button {
  display:flex;align-items:center;min-height:42px;width:100%;padding:0 10px;
  background:transparent;border:0;border-radius:9px;color:var(--lts-nav-ink);
  font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer;
}
.lts-profile-menu__links--logout .lts-profile-menu__logout-button:hover,
.lts-profile-menu__links--logout .lts-profile-menu__logout-button:focus-visible {
  background:var(--lts-nav-soft);color:var(--lts-nav-ink);
}
.lts-profile-menu__links--logout .lts-profile-menu__logout-button:focus-visible {
  outline:2px solid var(--lts-blue,#4352A6);outline-offset:2px;
}
