/* Language Through Stories — Global Header Visual Contract
 * Core 0.15.84
 *
 * This stylesheet is deliberately enqueued after feature/page styles.
 * Page modules own their content canvas only. The shared LTS header keeps one
 * visual system on every frontend route. Viewer state may change only the
 * labels, menu destinations and account controls rendered by Navigation v2.
 */

:root {
  --lts-header-lock-ink: #20334D;
  --lts-header-lock-blue: #4959AD;
  --lts-header-lock-sun: #FFBF25;
  --lts-header-lock-paper: #FFFFFF;
  --lts-header-lock-cream: #F5F0E8;
  --lts-header-lock-line: #E6DDD2;
  --lts-header-lock-container: 1220px;
}

/* The Core header is the same shell on Home, Learn, Review, Membership,
   Story, Support, Profile, Account and Auth surfaces. */
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,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-site-header {
  display: block !important;
  min-height: 76px !important;
  width: 100% !important;
  background: rgba(255,255,255,.98) !important;
  color: var(--lts-header-lock-ink) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lts-header-lock-line) !important;
  border-radius: 0 !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

body.lts-core-navigation-v1 .lts-site-header.is-scrolled {
  box-shadow: 0 8px 22px rgba(32,51,77,.08) !important;
}

body.lts-core-navigation-v1 .lts-nav__inner {
  width: min(calc(100% - 48px), var(--lts-header-lock-container)) !important;
  max-width: var(--lts-header-lock-container) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.lts-core-navigation-v1 .lts-nav__row,
body.lts-core-navigation-v1 .lts-nav__row--visitor,
body.lts-core-navigation-v1 .lts-nav__row--signed-in {
  min-height: 76px !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 32px !important;
}

body.lts-core-navigation-v1 .lts-nav__left {
  justify-self: start !important;
  min-width: 0 !important;
}

body.lts-core-navigation-v1 .lts-nav__center {
  justify-self: center !important;
  min-height: 76px !important;
  align-items: stretch !important;
  gap: 34px !important;
}

body.lts-core-navigation-v1 .lts-nav__right {
  justify-self: end !important;
  min-width: 0 !important;
  gap: 12px !important;
}

body.lts-core-navigation-v1 .lts-nav__brand,
body.lts-core-navigation-v1 .lts-nav__brand:visited,
body.lts-core-navigation-v1 .lts-nav__brand:hover,
body.lts-core-navigation-v1 .lts-nav__brand:focus-visible,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__brand {
  color: var(--lts-header-lock-ink) !important;
}

body.lts-core-navigation-v1 .lts-nav__brand-logo img {
  display: block !important;
  width: 260px !important;
  height: auto !important;
  max-width: 260px !important;
  filter: none !important;
}

body.lts-core-navigation-v1 .lts-nav__link,
body.lts-core-navigation-v1 .lts-nav__login,
body.lts-core-navigation-v1 .lts-nav__dropdown-summary,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__link,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__login {
  min-height: 44px !important;
  color: var(--lts-header-lock-ink) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

body.lts-core-navigation-v1 .lts-nav__link:hover,
body.lts-core-navigation-v1 .lts-nav__link:focus-visible,
body.lts-core-navigation-v1 .lts-nav__login:hover,
body.lts-core-navigation-v1 .lts-nav__login:focus-visible,
body.lts-core-navigation-v1 .lts-nav__dropdown-summary:hover,
body.lts-core-navigation-v1 .lts-nav__dropdown-summary:focus-visible {
  color: var(--lts-header-lock-ink) !important;
}

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

/* Core 0.15.447 — Active About marker ends with its text, not the chevron.
   Chevron: 16px; summary flex gap: 5px. Preserve header geometry. */
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__dropdown-summary.is-current::after,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__dropdown-summary[aria-current="page"]::after {
  right: 21px !important;
}

body.lts-core-navigation-v1 .lts-nav__dropdown-menu,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__dropdown-menu {
  top: 48px !important;
  width: 180px !important;
  min-width: 180px !important;
  padding: 8px !important;
  border: 1px solid var(--lts-header-lock-line) !important;
  border-radius: 14px !important;
  background: var(--lts-header-lock-paper) !important;
  color: var(--lts-header-lock-ink) !important;
  box-shadow: 0 12px 34px rgba(32,51,77,.08) !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-header-lock-ink) !important;
}

body.lts-core-navigation-v1 .lts-nav__dropdown-menu a:hover,
body.lts-core-navigation-v1 .lts-nav__dropdown-menu a:focus-visible {
  background: var(--lts-header-lock-cream) !important;
}

body.lts-core-navigation-v1 .lts-nav__icon-link,
body.lts-core-navigation-v1 .lts-nav__avatar {
  width: 44px !important;
  height: 44px !important;
}

body.lts-core-navigation-v1 .lts-nav__icon-link {
  color: var(--lts-header-lock-blue) !important;
  border-radius: 12px !important;
}

body.lts-core-navigation-v1 .lts-nav__icon-link:hover,
body.lts-core-navigation-v1 .lts-nav__icon-link:focus-visible {
  background: #F5F4F0 !important;
  color: var(--lts-header-lock-blue) !important;
}

body.lts-core-navigation-v1 .lts-nav__avatar,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__avatar {
  background: transparent !important;
  color: var(--lts-header-lock-blue) !important;
  border-color: var(--lts-header-lock-line) !important;
}

/* Guest CTA is a state-specific content item, but its geometry is still part
   of the same shared header. Its static Sun treatment does not change by page. */
body.lts-core-navigation-state-guest .lts-nav__join,
body.lts-core-navigation-state-guest .lts-nav__join:visited,
body.lts-core-navigation-state-guest .lts-nav__join:hover,
body.lts-core-navigation-state-guest .lts-nav__join:focus-visible,
body.lts-core-navigation-state-guest .lts-nav__join:active {
  min-height: 44px !important;
  padding-inline: 20px !important;
  background: var(--lts-header-lock-sun) !important;
  color: var(--lts-header-lock-ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

/* Auth previously hid the shared header. The global-header contract now
   keeps the same guest shell visible there as on every other public page. */
body.lts-auth-page.lts-core-navigation-v1 .lts-site-header {
  display: block !important;
}
body.lts-auth-page.lts-core-navigation-v1 .lts-mobile-menu[hidden] {
  display: none !important;
}
body.lts-auth-page.lts-core-navigation-v1 .lts-mobile-menu:not([hidden]) {
  display: block !important;
}

@media (max-width: 980px) {
  body.lts-core-navigation-v1 .lts-nav__inner {
    width: min(calc(100% - 48px), var(--lts-header-lock-container)) !important;
  }

  body.lts-core-navigation-v1 .lts-nav__brand-logo img {
    width: 225px !important;
    max-width: 225px !important;
  }

  body.lts-core-navigation-state-guest .lts-nav__center,
  body.lts-core-navigation-state-guest .lts-nav__login {
    display: none !important;
  }

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

@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 !important;
  }

  body.lts-core-navigation-v1 .lts-nav__inner {
    width: min(calc(100% - 32px), var(--lts-header-lock-container)) !important;
  }

  body.lts-core-navigation-v1 .lts-nav__row,
  body.lts-core-navigation-v1 .lts-nav__row--visitor,
  body.lts-core-navigation-v1 .lts-nav__row--signed-in {
    min-height: 68px !important;
    gap: 10px !important;
  }

  body.lts-core-navigation-v1 .lts-nav__brand-logo img {
    width: 190px !important;
    max-width: 190px !important;
  }
}

@media (max-width: 640px) {
  body.lts-core-navigation-v1 .lts-nav__inner {
    width: min(calc(100% - 32px), var(--lts-header-lock-container)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.lts-core-navigation-v1 .lts-site-header,
  body.lts-core-navigation-v1 .lts-site-header * {
    transition: none !important;
  }
}


/* ==========================================================================
   Core 0.15.101 — Community dialog control/backdrop hard lock
   Theme button rules must never turn modal backdrop or close controls Sun.
   ========================================================================== */
body.lts-core-navigation-v1 .lts-nav-dialog,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog {
  background: transparent !important;
}

body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__backdrop,
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__backdrop:hover,
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__backdrop:focus,
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__backdrop:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: rgba(20, 29, 42, .42) !important;
  background-color: rgba(20, 29, 42, .42) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel {
  background: var(--lts-nav-surface) !important;
  color: var(--lts-nav-ink) !important;
}

body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__close,
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__close:hover,
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__close:focus-visible,
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__close:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  color: var(--lts-header-lock-blue) !important;
}

body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__community-icon,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__community-icon {
  width: 48px !important;
  height: 48px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--lts-header-lock-blue) !important;
  box-shadow: none !important;
}

body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__community-icon svg {
  width: 31px !important;
  height: 31px !important;
  fill: none !important;
  stroke: currentColor !important;
}

/* ========================================================================== 
   Core 0.15.102 — Community trigger + tools glyph lock
   Community is a header navigation item, never a filled CTA/button. While its
   dialog is open it uses the same Sun underline as any other current nav item.
   ========================================================================== */
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button:hover,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button:focus,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button:focus-visible,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button:active,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--lts-header-lock-ink) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  text-decoration: none !important;
}

body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button.is-dialog-current::after,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button[aria-expanded="true"]::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 3px !important;
  height: 3px !important;
  border-radius: 10px !important;
  background: var(--lts-header-lock-sun) !important;
}

body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__community-icon,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__community-icon {
  width: 76px !important;
  height: 76px !important;
  margin-bottom: 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--lts-header-lock-blue) !important;
  box-shadow: none !important;
}

body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__community-icon svg {
  width: 64px !important;
  height: 64px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}


/* Five signed-in Free tabs incl. Home: fit the existing compact tablet header. */
@media (min-width:781px) and (max-width:1080px){
  body.lts-core-navigation-state-authenticated-free .lts-nav__row{gap:14px!important}
  body.lts-core-navigation-state-authenticated-free .lts-nav__center{gap:14px!important}
  body.lts-core-navigation-state-authenticated-free .lts-nav__brand-logo img{width:190px!important;max-width:190px!important}
  body.lts-core-navigation-state-authenticated-free .lts-nav__center .lts-nav__link{font-size:14px!important}
}

/* Core 0.15.118 — smaller profile avatar, adjacent notification bell and
   vertically balanced active tab marker across signed-in and guest headers. */
body.lts-core-navigation-v1 .lts-nav__center > .lts-nav__link,
body.lts-core-navigation-v1 .lts-nav__center > .lts-nav__link-button,
body.lts-core-navigation-v1 .lts-nav__center > .lts-nav__dropdown {
  align-self: center !important;
  height: 44px !important;
  min-height: 44px !important;
}
body.lts-core-navigation-v1 .lts-nav__center > .lts-nav__dropdown > .lts-nav__dropdown-summary {
  height: 44px !important;
  min-height: 44px !important;
}
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link.is-current::after,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link[aria-current="page"]::after,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__dropdown-summary.is-current::after,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__dropdown-summary[aria-current="page"]::after,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button.is-dialog-current::after,
body.lts-core-navigation-v1 .lts-nav__center .lts-nav__link-button[aria-expanded="true"]::after {
  bottom: 0 !important;
}
body.lts-core-navigation-v1 .lts-nav__profile-wrap {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
}
body.lts-core-navigation-v1 .lts-nav__avatar,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__avatar {
  width: 38px !important;
  height: 38px !important;
}
body.lts-core-navigation-v1 .lts-nav__notification-wrap {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
}
body.lts-core-navigation-v1 .lts-nav__notification-trigger,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__notification-trigger {
  display: grid;
  place-items: center;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--lts-header-lock-blue) !important;
  cursor: pointer;
}
body.lts-core-navigation-v1 .lts-nav__notification-trigger svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.lts-core-navigation-v1 .lts-nav__notification-trigger:focus-visible {
  outline: 3px solid var(--lts-header-lock-blue);
  outline-offset: 1px;
  border-radius: 10px;
}
body.lts-core-navigation-v1 .lts-nav__notification-trigger:hover,
body.lts-core-navigation-v1 .lts-nav__notification-trigger[aria-expanded="true"] {
  background: var(--lts-nav-soft) !important;
  border-radius: 10px;
}
body.lts-core-navigation-v1 .lts-nav__notifications[hidden] { display: none !important; }
body.lts-core-navigation-v1 .lts-nav__notifications {
  position: absolute;
  top: calc(100% + 13px);
  right: -47px;
  width: min(320px, calc(100vw - 32px));
  padding: 22px;
  z-index: 10020;
  border: 1px solid var(--lts-nav-line);
  border-radius: 16px;
  background: var(--lts-nav-surface);
  color: var(--lts-nav-ink);
  box-shadow: 0 18px 44px rgba(32,52,77,.14);
}
body.lts-core-navigation-v1 .lts-nav__notifications h2 {
  font-size: 17px;
  font-weight: 800;
  line-height: 1.3;
  margin: 0 0 14px;
  color: var(--lts-nav-ink);
}
body.lts-core-navigation-v1 .lts-nav__notifications p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--lts-nav-muted);
}
@media(max-width:780px) {
  body.lts-core-navigation-v1 .lts-nav__notifications { right: -47px; }
  body.lts-core-navigation-v1 .lts-nav__right { gap: 5px !important; }
}


/* Core 0.15.120 — compact Rhythm dialog consistent with the shared LTS modals. */
body.lts-core-navigation-v1 .lts-nav__icon-link,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__icon-link {
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}
body.lts-core-navigation-v1 .lts-nav__icon-link svg,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__icon-link svg {
  display: block !important;
  margin: 0 auto !important;
}
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm {
  box-sizing: border-box !important;
  width: min(100%, 500px) !important;
  max-height: calc(100dvh - 40px) !important;
  overflow-y: auto !important;
  padding: 38px 34px 34px !important;
  border-radius: 22px !important;
  text-align: center !important;
}
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm h2,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm h2 {
  max-width: none !important;
  margin: 0 26px 14px !important;
  color: var(--lts-nav-ink) !important;
  font-size: clamp(26px, 4vw, 32px) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  line-height: 1.18 !important;
}
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm h2:focus { outline: none !important; }
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm p,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm p {
  max-width: 390px !important;
  margin: 0 auto 23px !important;
  color: var(--lts-nav-muted) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm .lts-nav-dialog__actions--single {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 0 !important;
}
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm .lts-nav-dialog__primary,
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm .lts-nav-dialog__primary:visited,
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm .lts-nav-dialog__primary:hover,
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm .lts-nav-dialog__primary:focus-visible {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  max-width: 100% !important;
  padding: 12px 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--lts-header-lock-sun) !important;
  color: #20344d !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  line-height: 1.25 !important;
}
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm .lts-nav-dialog__primary:hover {
  background: #f4b619 !important;
  transform: translateY(-1px) !important;
}
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm .lts-nav-dialog__primary:focus-visible {
  outline: 3px solid var(--lts-header-lock-blue) !important;
  outline-offset: 3px !important;
}
body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm .lts-nav-dialog__close {
  top: 12px !important;
  right: 12px !important;
  width: 38px !important;
  height: 38px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 25px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: var(--lts-nav-ink) !important;
}
@media (max-width: 780px) {
  body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm,
  html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm {
    padding: 38px 23px 28px !important;
  }
  body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm h2,
  html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav-dialog .lts-nav-dialog__panel--rhythm h2 {
    font-size: 27px !important;
    margin-inline: 14px !important;
  }
}


/* Core 0.15.152 — immersive learning sessions have no site chrome.
 * This deliberately overrides the canonical header's display:block !important,
 * including its signed-in, mobile and Night-mode rules. Only the explicitly
 * marked learning-session routes are affected; overview and account pages
 * still use the normal LTS navigation. */
html body.lts-core-navigation-v1.lts-core-learning-session .lts-site-header,
html[data-lts-theme="dark"] body.lts-core-navigation-v1.lts-core-learning-session .lts-site-header,
html body.lts-core-navigation-v1--signed-in.lts-core-learning-session .lts-site-header,
html[data-lts-theme="dark"] body.lts-core-navigation-v1--signed-in.lts-core-learning-session .lts-site-header {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
}
body.lts-core-navigation-v1.lts-core-learning-session .lts-bottom-nav,
body.lts-core-navigation-v1.lts-core-learning-session .lts-nav__skip,
body.lts-core-navigation-v1.lts-core-learning-session .lts-mobile-bottom-nav,
body.lts-core-navigation-v1.lts-core-learning-session .lts-mobile-menu,
body.lts-core-learning-session #wpadminbar {
  display: none !important;
}
html:has(body.lts-core-learning-session) {
  margin-top: 0 !important;
}
body.lts-core-learning-session,
body.lts-core-navigation-v1.lts-core-learning-session {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Core 0.15.202 — Guest-only mobile visual shell and fullscreen navigation.
 * Signed-in headers, bottom toolbar and desktop guest navigation stay intact. */
.lts-nav__guest-mark { display: none; }
@media (max-width: 780px) {
  body.lts-core-navigation-state-guest.lts-core-navigation-v1 .lts-nav__row--visitor {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }
  body.lts-core-navigation-state-guest .lts-nav__brand-logo { display: none !important; }
  body.lts-core-navigation-state-guest .lts-nav__brand { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; }
  body.lts-core-navigation-state-guest .lts-nav__guest-mark { display: inline-flex; width: 43px; height: 43px; justify-content: center; align-items: center; }
  body.lts-core-navigation-state-guest .lts-nav__guest-mark img { display: block; width: 42px; height: 42px; object-fit: contain; }
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__right { gap: 8px !important; }
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__join {
    display: inline-flex !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    border-radius: 999px !important;
    background: #FFC229 !important;
    color: #20344D !important;
    white-space: nowrap !important;
  }
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__menu-button,
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__menu-button:hover {
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    background: #20344D !important;
    border-radius: 50% !important;
    color: #FFFFFF !important;
    border: 0 !important;
    padding: 10px !important;
  }
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__menu-button svg {
    width: 24px !important;
    height: 24px !important;
    stroke: #FFFFFF !important;
    stroke-width: 2.4 !important;
    fill: none !important;
  }
  body.lts-core-navigation-state-guest .lts-mobile-menu {
    display: block;
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    z-index: 999999 !important;
    margin: 0 !important;
    background: #FFFFFF !important;
    overflow: hidden !important;
  }
  body.lts-core-navigation-state-guest .lts-mobile-menu__panel {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    gap: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: calc(14px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom)) !important;
    background: #FFFFFF !important;
    color: #20344D !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    animation: lts-guest-drawer-enter .38s cubic-bezier(.2,.65,.22,1) both;
  }
  body.lts-core-navigation-state-guest .lts-mobile-menu__top {
    display: flex !important;
    justify-content: flex-end !important;
    min-height: 56px !important;
    padding: 0 !important;
  }
  body.lts-core-navigation-state-guest .lts-mobile-menu__close {
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    padding: 8px !important;
    border: 0 !important;
    background: transparent !important;
    color: #20344D !important;
    border-radius: 50% !important;
  }
  body.lts-core-navigation-state-guest .lts-mobile-menu__close svg { width: 28px !important; height: 28px !important; stroke-width: 2.2 !important; stroke: #20344D !important; }
  body.lts-core-navigation-state-guest .lts-mobile-menu__links {
    display: flex !important;
    flex-direction: column !important;
    padding: clamp(22px, 7vh, 55px) 2px 16px !important;
    gap: clamp(10px, 2vh, 24px) !important;
  }
  body.lts-core-navigation-state-guest .lts-mobile-menu .lts-mobile-menu__link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 48px !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #20344D !important;
    font-size: clamp(23px, 6vw, 29px) !important;
    font-weight: 720 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
  }
  body.lts-core-navigation-state-guest .lts-mobile-menu__link span { font-size: 29px; font-weight: 400; }
  body.lts-core-navigation-state-guest .lts-mobile-menu__bottom {
    display: grid;
    gap: 12px;
    margin-top: auto;
    padding: 22px 0 0;
  }
  body.lts-core-navigation-state-guest .lts-mobile-menu__bottom a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    width: 100%;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 750;
    text-decoration: none;
    color: #20344D !important;
    border: 1.5px solid #20344D;
    background: #FFFFFF !important;
  }
  body.lts-core-navigation-state-guest .lts-mobile-menu__bottom .lts-mobile-menu__join-button {
    background: #FFC229 !important;
    border-color: #FFC229 !important;
  }
  body.lts-core-navigation-state-guest.lts-nav-open { overflow: hidden !important; }
  @keyframes lts-guest-drawer-enter { from { transform: translateX(100%); } to { transform: translateX(0); } }
}
@media (max-width: 355px) {
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__join { font-size: 11px !important; padding-inline: 11px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.lts-core-navigation-state-guest .lts-mobile-menu__panel { animation: none !important; }
}


/* Core 0.15.204 — public mobile menu: plain navy hamburger; information-page back/close.
   Scoped to guests and mobile, so the Desktop and member navigation are unchanged. */
.lts-guest-subpage-nav { display: none; }
@media (max-width: 780px) {
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__menu-button,
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__menu-button:hover,
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__menu-button:active,
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__menu-button:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 8px !important;
    color: #20344D !important;
  }
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__menu-button svg {
    width: 28px !important;
    height: 28px !important;
    stroke: #20344D !important;
    stroke-width: 2.4 !important;
    stroke-linecap: round !important;
  }
  body.lts-core-navigation-state-guest .lts-nav__row--visitor .lts-nav__menu-button:focus-visible {
    outline: 2px solid #4352A6 !important;
    outline-offset: 2px !important;
  }
  body.lts-core-navigation-state-guest.lts-guest-information-page .lts-site-header {
    display: none !important;
  }
  body.lts-core-navigation-state-guest.lts-guest-information-page .lts-guest-subpage-nav {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: center;
    gap: 8px;
    position: relative;
    width: 100%;
    min-height: 68px;
    padding: 10px 16px;
    margin: 0;
    box-sizing: border-box;
    background: #FFFFFF;
    border-bottom: 1px solid #E9E1D6;
    color: #20344D;
    z-index: 100;
  }
  body.lts-core-navigation-state-guest.lts-guest-information-page .lts-guest-subpage-nav__title {
    text-align: center;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.2;
    color: #20344D;
  }
  body.lts-core-navigation-state-guest.lts-guest-information-page .lts-guest-subpage-nav__control {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    color: #20344D !important;
    text-decoration: none !important;
    border-radius: 10px;
  }
  body.lts-core-navigation-state-guest.lts-guest-information-page .lts-guest-subpage-nav__control svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.1;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  body.lts-core-navigation-state-guest.lts-guest-information-page .lts-guest-subpage-nav__control:focus-visible {
    outline: 2px solid #4352A6;
    outline-offset: 1px;
  }
}

/* Core 0.15.284 / 0.15.285 — two 44px circular toolbar hit targets.
   0.15.285: neutral at rest, including hover and expanded dialogs. The yellow
   Rhythm and shadowed Notification circles appear only on press/click, then
   fade out automatically. Shared on all signed-in pages and screen sizes. */
body.lts-core-navigation-v1 .lts-nav__right .lts-nav__rhythm-trigger,
body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__right .lts-nav__rhythm-trigger,
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
}
/* Hover, keyboard focus and an already open notification drawer must NOT
   leave a permanent circle. Keyboard focus keeps a visible outline. */
body.lts-core-navigation-v1 .lts-nav__right .lts-nav__rhythm-trigger:is(:hover, :focus-visible),
body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger:is(:hover, :focus-visible),
body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger[aria-expanded="true"],
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__right .lts-nav__rhythm-trigger:is(:hover, :focus-visible),
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger:is(:hover, :focus-visible),
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger[aria-expanded="true"] {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
body.lts-core-navigation-v1 .lts-nav__right .lts-nav__rhythm-trigger:focus-visible,
body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger:focus-visible {
  outline: 2px solid var(--lts-header-lock-blue) !important;
  outline-offset: 3px !important;
}
/* Feedback is transient: :active during pointer press; JS class briefly after
   click/tap/keyboard activation. Use :where for shared specificity in light/dark. */
body.lts-core-navigation-v1 .lts-nav__right .lts-nav__rhythm-trigger:is(:active, .is-lts-toolbar-clicked),
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__right .lts-nav__rhythm-trigger:is(:active, .is-lts-toolbar-clicked) {
  background: rgba(255,191,37,.42) !important;
  border-color: rgba(208,142,0,.18) !important;
  box-shadow: 0 3px 10px rgba(220,156,21,.12) !important;
  transform: scale(.97) !important;
}
body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger:is(:active, .is-lts-toolbar-clicked),
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger:is(:active, .is-lts-toolbar-clicked) {
  background: rgba(73,89,173,.055) !important;
  border-color: rgba(32,51,77,.07) !important;
  box-shadow: 0 3px 13px rgba(32,51,77,.13) !important;
  transform: scale(.97) !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__right .lts-nav__rhythm-trigger:is(:active, .is-lts-toolbar-clicked) {
  background: rgba(255,191,37,.32) !important;
  border-color: rgba(255,191,37,.22) !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.17) !important;
}
html[data-lts-theme="dark"] body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger:is(:active, .is-lts-toolbar-clicked) {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 3px 13px rgba(0,0,0,.32) !important;
}
@media (prefers-reduced-motion: reduce) {
  body.lts-core-navigation-v1 .lts-nav__right .lts-nav__rhythm-trigger,
  body.lts-core-navigation-v1 .lts-nav__right .lts-nav__notification-trigger {
    transition: none !important;
    transform: none !important;
  }
}
