.elementor-kit-9{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --lb-ground:#0B0F1C; --lb-surface:#111727; --lb-surface-2:#182136; --lb-ink:#EEF3F2; --lb-ink-2:#B3BCCB; --lb-teal:#0088B0; --lb-teal-bright:#5CC8E6; --lb-orange:#D44316; --lb-orange-dark:#B3370F; --lb-green:#3FB27F; --lb-amber:#E0A93B; --lb-red:#F2715C; --lb-font-display:Mona Sans; --lb-font-text:Inter; }
/* Start custom CSS *//* Legacy Builder motion layer. Values from the animate skill (Emil Kowalski). */
:root {
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
}

/* Hero copy: staggered rise on load (marketing, first impression) */
@keyframes lb-rise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes lb-rise-scale {
  from { opacity: 0; transform: translateY(40px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.lb-hero-in > * { animation: lb-rise 700ms var(--ease-out) both; }
.lb-hero-in > *:nth-child(2) { animation-delay: 70ms; }
.lb-hero-in > *:nth-child(3) { animation-delay: 140ms; }
.lb-hero-in > *:nth-child(4) { animation-delay: 210ms; }
.lb-hero-in > *:nth-child(5) { animation-delay: 280ms; }

/* Hero app window: enters after the copy, then drifts very slightly */
@keyframes lb-drift {
  from { transform: translateY(0); }
  to { transform: translateY(-8px); }
}
.lb-float { animation: lb-rise-scale 900ms var(--ease-out) 300ms both; }
.lb-float > .lb-shot { animation: lb-drift 5s var(--ease-in-out) 1.2s infinite alternate; }

/* Scroll reveals: driven by the scroll position, so they never block reading.
   Browsers without scroll timelines just show everything. */
@supports (animation-timeline: view()) {
  .lb-head, .lb-card {
    animation: lb-rise linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 35%;
  }
  .e-grid-base > .lb-card:nth-child(2) { animation-range: entry 6% entry 41%; }
  .e-grid-base > .lb-card:nth-child(3) { animation-range: entry 12% entry 47%; }
  .e-grid-base > .lb-card:nth-child(4) { animation-range: entry 18% entry 53%; }
}

/* Moving flow: a lit line through the four handoff cards, with a pulse travelling along it */
.lb-flow::before {
  content: "";
  position: absolute;
  left: 0px;
  right: 0px;
  top: 19px;
  height: 2px;
  background: linear-gradient(90deg, #0088B000, #0088B0 12%, #0088B0 88%, #0088B000);
  opacity: 0.55;
  z-index: 0;
}
.lb-flow::after {
  content: "";
  position: absolute;
  top: 14px;
  left: 0px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #5CC8E6;
  box-shadow: 0 0 18px 6px #0088B0AA;
  z-index: 0;
  animation: lb-travel 4.5s linear infinite;
}
@keyframes lb-travel {
  from { transform: translateX(0); opacity: 0; }
  8% { opacity: 1; }
  92% { opacity: 1; }
  to { transform: translateX(min(1188px, calc(100vw - 76px))); opacity: 0; }
}
.lb-flow { padding-top: 48px !important; }
.lb-flow-card { background-color: #111727; }

/* Tools marquee: constant motion, linear, pauses on hover */
.lb-marquee {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.lb-marquee-track { animation: lb-marquee 38s linear infinite; }
@keyframes lb-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-100% - 14px)); }
}
@media (hover: hover) and (pointer: fine) {
  .lb-marquee:hover .lb-marquee-track { animation-play-state: paused; }
  .lb-card { transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out); }
  .lb-card:hover { transform: translateY(-3px); box-shadow: 0px 0px 1px 2px #0088B066, 0px 18px 40px -20px #0088B080; }
}

/* Buttons: quick press feedback */
.lb-btn-primary, .lb-btn-secondary { transition: transform 160ms var(--ease-out), filter 160ms ease, background-color 160ms ease; }
.lb-btn-primary:active, .lb-btn-secondary:active { transform: scale(0.97); }

/* Phones: the flow runs top to bottom down the stacked cards */
@media (max-width: 767px) {
  .lb-flow { padding-top: 0px !important; padding-left: 30px !important; }
  .lb-flow::before { left: 10px; right: auto; top: 2%; bottom: 2%; width: 2px; height: auto; background: linear-gradient(180deg, #0088B000, #0088B0 10%, #0088B0 90%, #0088B000); }
  .lb-flow::after { left: 5px; top: 2%; animation-name: lb-travel-y; }
  @keyframes lb-travel-y {
    from { transform: translateY(0); opacity: 0; }
    8% { opacity: 1; }
    92% { opacity: 1; }
    to { transform: translateY(var(--lb-flow-h, 900px)); opacity: 0; }
  }
}

/* Reduced motion: keep the content and the fades, drop the movement */
@media (prefers-reduced-motion: reduce) {
  .lb-hero-in > *, .lb-float, .lb-head, .lb-card { animation: none !important; opacity: 1 !important; transform: none !important; }
  .lb-float > .lb-shot, .lb-marquee-track, .lb-flow::after { animation: none !important; }
  .lb-flow::after { opacity: 0; }
  .lb-marquee-track:nth-child(2) { display: none; }
  .lb-marquee { flex-wrap: wrap; justify-content: center; -webkit-mask-image: none; mask-image: none; }
  .lb-marquee-track { flex-wrap: wrap; justify-content: center; width: auto; }
}

/* Integration logos: the uploaded SVGs lose their fill when WordPress sanitizes them */
.lb-logo svg, svg.lb-logo, .lb-logo path, svg.lb-logo path { fill: #FFFFFF; }
/* Logo badges: centre the mark (inline SVG otherwise sits on the text baseline) */
.lb-logo { display: flex !important; align-items: center; justify-content: center; line-height: 0; }
.lb-logo svg { display: block; width: 100% !important; height: 100% !important; }

/* ---- Electric page layer: carries the memory-web language (glass, hairline glow, HUD brackets,
   nodes + hard traces, constellation) across the whole homepage. Static decoration only, so it
   costs nothing while scrolling. ---- */
:root {
  --lbe-line: rgba(143, 178, 255, 0.28);
  --lbe-line-hi: rgba(169, 196, 255, 0.75);
  --lbe-glow: rgba(60, 107, 255, 0.22);
  --lbe-node: #F4F8FF;
}

/* constellation behind every section */
.lb-section { isolation: isolate; }
.lb-section::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url("https://qgx7imy9od.wpdns.site/wp-content/uploads/2026/10/lb-constellation.svg") 50% 0 / 1600px auto repeat;
  opacity: 0.75;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
}
.lb-section:nth-of-type(even)::after { background-position: 22% 380px; }
.lb-section:nth-of-type(3n)::after { background-position: 78% 640px; }
@media (max-width: 767px) { .lb-section::after { background-size: 1000px auto; opacity: 0.6; } }

/* cards: blue glass, hairline glow, HUD corner brackets */
.lb-card {
  background: radial-gradient(circle at 0% 0%, rgba(60, 107, 255, 0.14) 0%, rgba(60, 107, 255, 0) 45%),
              linear-gradient(180deg, rgba(19, 30, 62, 0.88) 0%, rgba(10, 17, 40, 0.92) 100%) !important;
  box-shadow: 0 0 0 1px var(--lbe-line), 0 0 28px var(--lbe-glow), 0 24px 48px -24px rgba(0, 0, 0, 0.7) !important;
}
.lb-card::after {
  content: ""; position: absolute; inset: -5px; pointer-events: none; z-index: 2;
  --c: var(--lbe-line-hi);
  background:
    linear-gradient(var(--c), var(--c)) 0 0 / 16px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 0 0 / 1.5px 16px no-repeat,
    linear-gradient(var(--c), var(--c)) 100% 0 / 16px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / 1.5px 16px no-repeat,
    linear-gradient(var(--c), var(--c)) 0 100% / 16px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / 1.5px 16px no-repeat,
    linear-gradient(var(--c), var(--c)) 100% 100% / 16px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / 1.5px 16px no-repeat;
  opacity: 0.7; transition: opacity 200ms var(--ease-out);
}
.lb-card.lb-wrap {
  background: radial-gradient(ellipse 60% 70% at 50% 100%, rgba(60, 107, 255, 0.36) 0%, rgba(60, 107, 255, 0) 70%),
              url("https://qgx7imy9od.wpdns.site/wp-content/uploads/2026/10/lb-constellation.svg") 50% 50% / 1400px auto,
              linear-gradient(180deg, #121C3C 0%, #0A1128 100%) !important;
}
@media (hover: hover) and (pointer: fine) {
  .lb-card:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px rgba(169, 196, 255, 0.55), 0 0 36px rgba(60, 107, 255, 0.3), 0 24px 48px -24px rgba(0, 0, 0, 0.7) !important; }
  .lb-card:hover::after { opacity: 1; }
}

/* hero app window + screenshots */
.lb-float { position: relative; }
.lb-float::after {
  content: ""; position: absolute; inset: -9px; pointer-events: none; --c: var(--lbe-line-hi);
  background:
    linear-gradient(var(--c), var(--c)) 0 0 / 28px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 0 0 / 1.5px 28px no-repeat,
    linear-gradient(var(--c), var(--c)) 100% 0 / 28px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / 1.5px 28px no-repeat,
    linear-gradient(var(--c), var(--c)) 0 100% / 28px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / 1.5px 28px no-repeat,
    linear-gradient(var(--c), var(--c)) 100% 100% / 28px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / 1.5px 28px no-repeat;
}
.lb-shot { box-shadow: 0 0 0 1px rgba(143, 178, 255, 0.24), 0 0 30px rgba(60, 107, 255, 0.14) !important; }

/* eyebrow pills: hairline glass with a live node */
.lb-pill {
  position: relative; padding: 4px 13px 4px 25px !important; color: #DCE8FF !important;
  background: rgba(60, 107, 255, 0.14) !important;
  box-shadow: inset 0 0 0 1px rgba(143, 178, 255, 0.5), 0 0 14px rgba(60, 107, 255, 0.22) !important;
}
.lb-pill::before {
  content: ""; position: absolute; left: 11px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 999px;
  background: var(--lbe-node); box-shadow: 0 0 0 2px rgba(110, 155, 255, 0.35), 0 0 8px 2px rgba(110, 155, 255, 0.8);
}
.lb-eyebrow-text { color: #B9C7E8 !important; }

/* a short hard-segment trace with nodes under every section heading */
.lb-head::after {
  content: ""; display: block; width: 200px; height: 16px; margin: 6px auto 0; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16'%3E%3Cpath d='M2 8 L40 8 L52 4 L78 4 L90 8 L110 8 L122 12 L148 12 L160 8 L198 8' fill='none' stroke='%236E9BFF' stroke-opacity='.45' stroke-width='5' stroke-linejoin='round'/%3E%3Cpath d='M2 8 L40 8 L52 4 L78 4 L90 8 L110 8 L122 12 L148 12 L160 8 L198 8' fill='none' stroke='%23DCE8FF' stroke-width='1.3' stroke-linejoin='round'/%3E%3Cg fill='%23FFFFFF'%3E%3Ccircle cx='40' cy='8' r='2'/%3E%3Ccircle cx='52' cy='4' r='1.6'/%3E%3Ccircle cx='78' cy='4' r='1.6'/%3E%3Ccircle cx='100' cy='8' r='3'/%3E%3Ccircle cx='122' cy='12' r='1.6'/%3E%3Ccircle cx='148' cy='12' r='1.6'/%3E%3Ccircle cx='160' cy='8' r='2'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent);
}

/* bullet lists: nodes on a vertical trace, like a circuit */
.lb-stack { position: relative; }
.lb-card:not(.lb-row) > .lb-stack { flex-grow: 0 !important; height: auto !important; }
.lb-stack::before {
  content: ""; position: absolute; left: 21px; top: 24px; bottom: 24px; width: 1.5px; z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(143, 178, 255, 0.55), rgba(143, 178, 255, 0.15));
  box-shadow: 0 0 6px rgba(110, 155, 255, 0.5);
}
.lb-item {
  position: relative; z-index: 1;
  background: rgba(17, 26, 53, 0.92) !important;
  box-shadow: inset 0 0 0 1px rgba(143, 178, 255, 0.16) !important;
  color: #E6ECFA !important;
}
.lb-item::before {
  content: ""; position: absolute; left: 18px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 999px;
  background: var(--lbe-node); box-shadow: 0 0 0 2px rgba(110, 155, 255, 0.3), 0 0 8px 2px rgba(110, 155, 255, 0.75);
}

/* buttons */
.lb-btn-primary { box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.35), 0 0 24px rgba(224, 72, 40, 0.32) !important; }
.lb-btn-secondary {
  background: rgba(15, 24, 52, 0.9) !important;
  box-shadow: inset 0 0 0 1px rgba(143, 178, 255, 0.6), inset 0 0 14px rgba(60, 107, 255, 0.22), 0 0 18px rgba(60, 107, 255, 0.25) !important;
}
@media (hover: hover) and (pointer: fine) {
  .lb-btn-secondary:hover { box-shadow: inset 0 0 0 1px rgba(207, 224, 255, 0.9), inset 0 0 16px rgba(60, 107, 255, 0.3), 0 0 26px rgba(60, 107, 255, 0.4) !important; }
}

/* step numbers: glowing outlines */
.lb-num { font-size: 88px !important; line-height: 0.9 !important; color: transparent !important; -webkit-text-stroke: 1.5px #9CB8FF; text-shadow: 0 0 22px rgba(60, 107, 255, 0.55); }

/* tools strip chips */
.lb-marquee-track > * { background-color: rgba(19, 30, 62, 0.7) !important; box-shadow: inset 0 0 0 1px rgba(143, 178, 255, 0.25), 0 0 14px rgba(60, 107, 255, 0.12) !important; }

/* moving flow through the handoff cards: a glowing trace, a node over each card, a bright pulse */
.lb-flow::before { background: linear-gradient(90deg, rgba(110, 155, 255, 0), #6E9BFF 10%, #6E9BFF 90%, rgba(110, 155, 255, 0)) !important; opacity: 0.8 !important; box-shadow: 0 0 10px rgba(110, 155, 255, 0.7); }
.lb-flow::after { background: #FFFFFF !important; box-shadow: 0 0 6px 2px #CFE0FF, 0 0 20px 8px rgba(60, 107, 255, 0.7) !important; }
.lb-flow-card::before {
  content: ""; position: absolute; left: 50%; top: -34px; width: 10px; height: 10px; margin-left: -5px; border-radius: 999px; z-index: 1;
  background: var(--lbe-node); box-shadow: 0 0 0 3px rgba(110, 155, 255, 0.3), 0 0 12px 3px rgba(110, 155, 255, 0.8);
}
@media (max-width: 767px) {
  .lb-flow::before { background: linear-gradient(180deg, rgba(110, 155, 255, 0), #6E9BFF 8%, #6E9BFF 92%, rgba(110, 155, 255, 0)) !important; }
  .lb-flow-card::before { left: -15px; top: 30px; }
}
@media (max-width: 767px) { .lb-num { font-size: 64px !important; } }

/* link cards (pillar hubs): the whole card is the link; the arrow nudges on hover */
.lb-linkcard { color: inherit !important; text-decoration: none !important; }
.lb-linkcard .lb-arrow { display: inline-block; color: #8FB2FF; transition: transform 200ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .lb-linkcard:hover .lb-arrow { transform: translateX(4px); } }
.lb-linkcard:focus-visible { outline: 2px solid #8FB2FF; outline-offset: 4px; }
/* jump links land on text (scroll-to-text): no browser highlight */
::target-text { background-color: transparent; color: inherit; }

/* hub zones (JobTracker pillar): one color per job to be done, live line illustrations, link pills */
.lb-zone-sell { --z: #FF7A45; } .lb-zone-work { --z: #3FB8E0; } .lb-zone-field { --z: #FFB020; }
.lb-zone-paid { --z: #3DDC84; } .lb-zone-lead { --z: #9DB1FF; }
.lb-zone {
  border-radius: 18px !important; padding: 28px !important;
  background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--z) 22%, transparent) 0%, transparent 55%),
              linear-gradient(180deg, #131E3E 0%, #0A1128 100%) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--z) 45%, transparent), 0 0 30px color-mix(in srgb, var(--z) 14%, transparent), 0 24px 48px -24px rgba(0, 0, 0, 0.7) !important;
}
.lb-zone::before { content: ""; position: absolute; left: 18px; right: 18px; top: 0; height: 3px; border-radius: 3px; pointer-events: none;
  background: linear-gradient(90deg, transparent, var(--z), transparent); }
.lb-zone::after { --c: color-mix(in srgb, var(--z) 75%, #FFFFFF); }
.lb-zone svg { display: block; width: 100%; height: auto; }
.lb-zkick { color: var(--z) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.14em; text-transform: uppercase; }
.lb-zpill a { display: inline-block; color: #F2F6FF !important; font-weight: 600; font-size: 14.5px; line-height: 1.2; padding: 9px 15px; border-radius: 999px; text-decoration: none;
  border: 1px solid color-mix(in srgb, var(--z) 60%, transparent); background: color-mix(in srgb, var(--z) 12%, transparent);
  transition: background-color 200ms ease, border-color 200ms ease, transform 160ms var(--ease-out); -webkit-tap-highlight-color: transparent; }
@media (hover: hover) and (pointer: fine) {
  .lb-zpill a:hover { background: color-mix(in srgb, var(--z) 28%, transparent); border-color: var(--z); transform: translateY(-1px); }
  .lb-zone:hover { box-shadow: 0 0 0 1px var(--z), 0 0 40px color-mix(in srgb, var(--z) 26%, transparent), 0 24px 48px -24px rgba(0, 0, 0, 0.7) !important; }
}
.lb-zpill a:active { transform: scale(0.97); }
.lb-zpill a:focus-visible { outline: 2px solid var(--z); outline-offset: 3px; }

/* software spoke pages */
.lb-crumbs { font-size: 13.5px !important; color: var(--lb-ink-2) !important; letter-spacing: 0.01em; }
.lb-crumbs a { color: #9CB8FF !important; text-decoration: none; }
.lb-crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lb-feat::before { content: ""; position: absolute; left: 24px; right: 24px; top: 0; height: 3px; border-radius: 3px; pointer-events: none;
  background: linear-gradient(90deg, var(--z, #3FB8E0), transparent); }
.lb-feat h3::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 999px; margin-right: 10px; vertical-align: 2px;
  background: var(--z, #3FB8E0); box-shadow: 0 0 10px var(--z, #3FB8E0); }

/* ---- App toggle: the header bar is a segmented control. The highlight sits on the current app,
   slides to whatever you point at, and page changes run as a native view transition so the header
   holds still while the content swaps underneath. Motion values from the animate skill. ---- */
.lb-segbar { position: relative; display: flex !important; width: 538px !important; --i: 0; --on: 0; }
.lb-segbar > .e-paragraph-base { position: relative; z-index: 1; flex: 1 1 0; text-align: center; margin: 0; }
.lb-segbar a { display: block; padding: 10px 6px; color: #B9C7E8 !important; font-weight: 500; text-decoration: none; white-space: nowrap;
  transition: color 200ms ease; -webkit-tap-highlight-color: transparent; }
.lb-seg-ind {
  position: absolute !important; top: 5px; bottom: 5px; z-index: 0; pointer-events: none; border-radius: 10px;
  width: calc((100% - 10px) / 4); left: calc(5px + var(--i) * (100% - 10px) / 4); opacity: var(--on);
  background: linear-gradient(180deg, rgba(79, 123, 234, 0.55), rgba(44, 74, 170, 0.55));
  box-shadow: inset 0 0 0 1px rgba(169, 196, 255, 0.7), 0 0 18px rgba(60, 107, 255, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  transition: left 280ms cubic-bezier(0.77, 0, 0.175, 1), opacity 200ms var(--ease-out);
  view-transition-name: lb-seg;
}
.lb-seg-ind::after { content: ""; position: absolute; left: 50%; bottom: -4px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 999px;
  background: #F4F8FF; box-shadow: 0 0 8px 2px rgba(110, 155, 255, 0.9); }

/* the current app (page id per app page) */
.elementor-page-695 .lb-segbar { --i: 0; --on: 1; }
.elementor-page-695 .lb-segbar > :nth-child(1) a { color: #FFFFFF !important; }

/* point at a segment and the highlight slides there; the click then keeps it in place across the page change */
@media (hover: hover) and (pointer: fine) {
  .lb-segbar:has(> :nth-child(1):hover) { --i: 0; --on: 1; }
  .lb-segbar:has(> :nth-child(2):hover) { --i: 1; --on: 1; }
  .lb-segbar:has(> :nth-child(3):hover) { --i: 2; --on: 1; }
  .lb-segbar:has(> :nth-child(4):hover) { --i: 3; --on: 1; }
  .lb-segbar > .e-paragraph-base:hover a { color: #FFFFFF !important; }
}
.lb-segbar > .e-paragraph-base:active a { color: #FFFFFF !important; }

/* phones and tablets: the toggle drops to its own full-width row under the logo */
@media (max-width: 1024px) {
  header .e-con:has(> .lb-segbar) { flex-wrap: wrap !important; row-gap: 14px; }
  .lb-segbar { order: 3; width: 100% !important; }
  .lb-segbar a { font-size: 14px; padding: 9px 2px; }
}
@media (max-width: 400px) { .lb-segbar a { font-size: 12.5px; } }

/* page changes: the header stays put, the highlight glides, the content fades through */
@view-transition { navigation: auto; }
header:has(.lb-segbar) { view-transition-name: lb-header; }
::view-transition-group(lb-seg) { animation-duration: 280ms; animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1); }
::view-transition-group(lb-header) { animation-duration: 0ms; }
::view-transition-old(root) { animation: lb-vt-out 160ms var(--ease-out) both; }
::view-transition-new(root) { animation: lb-vt-in 300ms var(--ease-out) 60ms both; }
@keyframes lb-vt-out { to { opacity: 0; transform: translateY(-6px); } }
@keyframes lb-vt-in { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: reduce) {
  .lb-seg-ind { transition: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

/* every page under /software (parent 763) belongs to JobTracker for now */
.parent-pageid-763 .lb-segbar, .elementor-page-763 .lb-segbar { --i: 0; --on: 1; }
.parent-pageid-763 .lb-segbar > :nth-child(1) a, .elementor-page-763 .lb-segbar > :nth-child(1) a { color: #FFFFFF !important; }

/* RankLocker pages (the /ranklocker pillar and its /software spokes) light the second segment */
body.page-id-1127 .lb-segbar, body.page-id-1128 .lb-segbar, body.page-id-1129 .lb-segbar, body.page-id-1130 .lb-segbar, body.page-id-1131 .lb-segbar, body.page-id-1132 .lb-segbar, body.page-id-1133 .lb-segbar, body.page-id-1134 .lb-segbar, body.page-id-1135 .lb-segbar, body.page-id-1136 .lb-segbar, body.page-id-1137 .lb-segbar, body.page-id-1299 .lb-segbar, body.page-id-1308 .lb-segbar , body.page-id-1338 .lb-segbar { --i: 1; --on: 1; }
body.page-id-1127 .lb-segbar > :nth-child(2) a, body.page-id-1128 .lb-segbar > :nth-child(2) a, body.page-id-1129 .lb-segbar > :nth-child(2) a, body.page-id-1130 .lb-segbar > :nth-child(2) a, body.page-id-1131 .lb-segbar > :nth-child(2) a, body.page-id-1132 .lb-segbar > :nth-child(2) a, body.page-id-1133 .lb-segbar > :nth-child(2) a, body.page-id-1134 .lb-segbar > :nth-child(2) a, body.page-id-1135 .lb-segbar > :nth-child(2) a, body.page-id-1136 .lb-segbar > :nth-child(2) a, body.page-id-1137 .lb-segbar > :nth-child(2) a, body.page-id-1299 .lb-segbar > :nth-child(2) a, body.page-id-1308 .lb-segbar > :nth-child(2) a , body.page-id-1338 .lb-segbar > :nth-child(2) a { color: #FFFFFF !important; }
body.page-id-1127 .lb-segbar > :nth-child(1) a, body.page-id-1128 .lb-segbar > :nth-child(1) a, body.page-id-1129 .lb-segbar > :nth-child(1) a, body.page-id-1130 .lb-segbar > :nth-child(1) a, body.page-id-1131 .lb-segbar > :nth-child(1) a, body.page-id-1132 .lb-segbar > :nth-child(1) a, body.page-id-1133 .lb-segbar > :nth-child(1) a, body.page-id-1134 .lb-segbar > :nth-child(1) a, body.page-id-1135 .lb-segbar > :nth-child(1) a, body.page-id-1136 .lb-segbar > :nth-child(1) a, body.page-id-1137 .lb-segbar > :nth-child(1) a, body.page-id-1299 .lb-segbar > :nth-child(1) a, body.page-id-1308 .lb-segbar > :nth-child(1) a , body.page-id-1338 .lb-segbar > :nth-child(1) a { color: #B9C7E8 !important; }

/* ---- Software mega-menu (header). Opens on hover (real pointers only) or keyboard focus; hidden
   below 1280px (the header bar has no room for it), where the footer's "All software" link and
   /software take over.
   Forgiving hover: the panel opens at once but waits 300ms before it starts to close, and it stays
   clickable through that grace period (visibility, not pointer-events, carries the closed state), and
   an invisible bridge covers the header bar above it, so a diagonal path across the app switcher still
   reaches it. Motion values from the animate skill: dropdown 200ms strong ease-out, scale 0.97 from
   the top; row hover 150ms ease; opacity only under reduced motion. ---- */
.lb-hbar { position: relative !important; }
.lb-hbar > .e-con:has(.lb-swm) { position: static !important; }
.lb-swm { position: static !important; padding: 0 !important; width: auto !important; flex-direction: column; }
.lb-swm-link, .lb-swm-app, .lb-swm-all, .lb-swm-trigger { margin: 0 !important; }
.lb-swm-trigger a { display: inline-flex; align-items: center; gap: 6px; padding: 11px 14px; border-radius: 10px; color: #B9C7E8 !important;
  font-size: 15px; font-weight: 600; text-decoration: none; transition: color 150ms ease, background-color 150ms ease, box-shadow 150ms ease; -webkit-tap-highlight-color: transparent; }
.lb-swm-caret { font-size: 11px; display: inline-block; transition: transform 200ms cubic-bezier(0.23, 1, 0.32, 1); }

.lb-swm-panel { position: absolute !important; top: 100%; left: 0; right: 0; z-index: 30; padding: 10px 0 0 0 !important; width: auto !important;
  opacity: 0; visibility: hidden; transform: scale(0.97); transform-origin: top center;
  transition: opacity 180ms ease 300ms, transform 180ms ease 300ms, visibility 0s linear 480ms; }
.lb-swm-panel::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 72px; }
.lb-swm:focus-within .lb-swm-panel { opacity: 1; visibility: visible; transform: none;
  transition: opacity 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms cubic-bezier(0.23, 1, 0.32, 1), visibility 0s; }
.lb-swm:focus-within .lb-swm-caret { transform: rotate(180deg); }
.lb-swm:focus-within .lb-swm-trigger a { color: #FFFFFF !important; background-color: #FFFFFF12; box-shadow: inset 0 0 0 1px #8FB2FF40; }
@media (hover: hover) and (pointer: fine) {
  .lb-swm:hover .lb-swm-panel { opacity: 1; visibility: visible; transform: none;
    transition: opacity 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms cubic-bezier(0.23, 1, 0.32, 1), visibility 0s; }
  .lb-swm:hover .lb-swm-caret { transform: rotate(180deg); }
  .lb-swm:hover .lb-swm-trigger a { color: #FFFFFF !important; background-color: #FFFFFF12; box-shadow: inset 0 0 0 1px #8FB2FF40; }
}

/* the panel: deep navy with a soft teal and orange glow and a lit top edge */
.lb-swm-inner { position: relative; overflow: hidden; flex-direction: column !important; gap: 24px !important; padding: 28px 30px 22px 30px !important; border-radius: 22px;
  background:
    radial-gradient(ellipse 45% 60% at 0% 0%, rgba(53, 128, 138, 0.28), transparent 70%),
    radial-gradient(ellipse 40% 55% at 100% 100%, rgba(212, 67, 22, 0.16), transparent 70%),
    linear-gradient(180deg, #111C3D 0%, #0B1229 100%) !important;
  box-shadow: 0 0 0 1px #8FB2FF3D, 0 40px 90px -24px rgba(0, 0, 0, 0.85), 0 0 60px -10px rgba(60, 107, 255, 0.25); }
.lb-swm-inner::before { content: ""; position: absolute; left: 24px; right: 24px; top: 0; height: 2px; border-radius: 2px; pointer-events: none;
  background: linear-gradient(90deg, transparent, #3FB8E0 20%, #8FB2FF 50%, #FF7A45 80%, transparent); opacity: 0.85; }

/* app bands: a heading row with the app name, its job, and an arrow to the app page */
.lb-swm-band { flex-direction: column !important; gap: 14px !important; padding: 0 !important; }
.lb-swm-band + .lb-swm-band { padding-top: 22px !important; border-top: 1px solid #8FB2FF1F; }
.lb-swm-app a { display: inline-flex; align-items: baseline; gap: 12px; padding: 4px 10px 4px 0; text-decoration: none; color: #FFFFFF !important; border-radius: 8px; }
.lb-swm-app b { font-family: var(--lb-font-display); font-size: 19px; font-weight: 800; letter-spacing: -0.01em; }
.lb-swm-app i { font-style: normal; font-size: 14px; color: #8FA3CC; }
.lb-swm-app span { color: #8FB2FF; transition: transform 150ms ease; display: inline-block; }

/* columns: each group carries its zone colour (the same colours as the zone cards on the pages) */
.lb-swm-grid-5, .lb-swm-grid-4 { display: grid !important; gap: 10px 14px !important; padding: 0 !important; grid-template-rows: auto !important; }
.lb-swm-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.lb-swm-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.lb-swm-grid-5 > :nth-child(1) { --g: #FF7A45; } .lb-swm-grid-5 > :nth-child(2) { --g: #3FB8E0; } .lb-swm-grid-5 > :nth-child(3) { --g: #FFB020; }
.lb-swm-grid-5 > :nth-child(4) { --g: #3DDC84; } .lb-swm-grid-5 > :nth-child(5) { --g: #9DB1FF; }
.lb-swm-grid-4 > :nth-child(1) { --g: #3FB8E0; } .lb-swm-grid-4 > :nth-child(2) { --g: #FF7A45; } .lb-swm-grid-4 > :nth-child(3) { --g: #3DDC84; } .lb-swm-grid-4 > :nth-child(4) { --g: #9DB1FF; }
.lb-swm-col { flex-direction: column !important; gap: 1px !important; padding: 12px 8px 10px 8px !important; border-radius: 14px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--g) 10%, transparent), transparent 75%);
  box-shadow: inset 0 1px 0 0 color-mix(in srgb, var(--g) 50%, transparent); }
.lb-swm-group, .lb-swm-group * { font-family: var(--lb-font-display, inherit) !important; font-size: 13.5px !important; line-height: 1.3 !important; font-weight: 700 !important;
  letter-spacing: 0 !important; color: color-mix(in srgb, var(--g) 70%, #FFFFFF) !important; }
.lb-swm-group { display: flex !important; align-items: center; gap: 8px; margin: 0 0 6px 6px !important; }
.lb-swm-group::before { content: ""; width: 8px; height: 8px; min-width: 8px; border-radius: 3px; background: var(--g); box-shadow: 0 0 10px 1px color-mix(in srgb, var(--g) 70%, transparent); }

/* links: full-width rows (a big, easy target); on hover the row lights in the group colour and an arrow slides in */
.lb-swm-link a { position: relative; display: block; padding: 7px 24px 7px 8px; border-radius: 8px; font-size: 14.5px !important; line-height: 1.3 !important;
  color: #D5E0FA !important; text-decoration: none; transition: color 150ms ease, background-color 150ms ease; }
.lb-swm-link a::after { content: "\2192"; position: absolute; right: 8px; top: 50%; color: var(--g); opacity: 0; transform: translate(-6px, -50%);
  transition: opacity 150ms ease, transform 150ms ease; }
.lb-swm-link a:focus-visible { color: #FFFFFF !important; background-color: color-mix(in srgb, var(--g) 16%, transparent); outline: 2px solid var(--g); outline-offset: 0; }
.lb-swm-link a:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
.lb-swm-all { text-align: right; }
.lb-swm-all a { display: inline-block; padding: 6px 10px; border-radius: 8px; font-size: 14.5px; font-weight: 600; color: #8FB2FF !important; text-decoration: none; transition: color 150ms ease, background-color 150ms ease; }
@media (hover: hover) and (pointer: fine) {
  .lb-swm-link a:hover { color: #FFFFFF !important; background-color: color-mix(in srgb, var(--g) 16%, transparent); }
  .lb-swm-link a:hover::after { opacity: 1; transform: translate(0, -50%); }
  .lb-swm-app a:hover span { transform: translateX(4px); }
  .lb-swm-all a:hover { color: #FFFFFF !important; background-color: #FFFFFF10; }
}
.lb-swm-app a:focus-visible, .lb-swm-all a:focus-visible, .lb-swm-trigger a:focus-visible { outline: 2px solid #8FB2FF; outline-offset: 2px; }

@media (max-width: 1279px) { .lb-swm { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
  .lb-swm-panel, .lb-swm:hover .lb-swm-panel, .lb-swm:focus-within .lb-swm-panel { transform: none !important; }
  .lb-swm-caret, .lb-swm-link a::after, .lb-swm-app span { transition: none; }
  .lb-swm-link a:hover::after, .lb-swm-link a:focus-visible::after { transform: translate(0, -50%); }
}

/* RankLocker plan prices (pillar plan cards, sign-up pages) */
.lb-planprice span:first-child { font-family: var(--lb-font-display); font-size: 44px; font-weight: 800; letter-spacing: -0.02em; color: #FFFFFF; }
.lb-planprice span:last-child { color: var(--lb-ink-2); font-size: 16px; }

/* Log in follows the app (2026-11-03): RankLocker pages (the same ids that light the RankLocker
   toggle) show the RankLocker sign-in; every other page shows JobTracker's. Phones hide both. */
.lb-login-rl { display: none !important; }
@media (min-width: 768px) {
  body.page-id-1127 .lb-login-rl, body.page-id-1128 .lb-login-rl, body.page-id-1129 .lb-login-rl, body.page-id-1130 .lb-login-rl, body.page-id-1131 .lb-login-rl, body.page-id-1132 .lb-login-rl, body.page-id-1133 .lb-login-rl, body.page-id-1134 .lb-login-rl, body.page-id-1135 .lb-login-rl, body.page-id-1136 .lb-login-rl, body.page-id-1137 .lb-login-rl, body.page-id-1299 .lb-login-rl, body.page-id-1308 .lb-login-rl, body.page-id-1338 .lb-login-rl { display: inline-block !important; }
  body.page-id-1127 .lb-login-jt, body.page-id-1128 .lb-login-jt, body.page-id-1129 .lb-login-jt, body.page-id-1130 .lb-login-jt, body.page-id-1131 .lb-login-jt, body.page-id-1132 .lb-login-jt, body.page-id-1133 .lb-login-jt, body.page-id-1134 .lb-login-jt, body.page-id-1135 .lb-login-jt, body.page-id-1136 .lb-login-jt, body.page-id-1137 .lb-login-jt, body.page-id-1299 .lb-login-jt, body.page-id-1308 .lb-login-jt, body.page-id-1338 .lb-login-jt { display: none !important; }
}

/* WeekendCRM pages (/weekendcrm, /mastermind and the 12 WeekendCRM /software spokes) light the third segment */
body.page-id-1383 .lb-segbar, body.page-id-1393 .lb-segbar, body.page-id-1409 .lb-segbar, body.page-id-1410 .lb-segbar, body.page-id-1411 .lb-segbar, body.page-id-1412 .lb-segbar, body.page-id-1413 .lb-segbar, body.page-id-1414 .lb-segbar, body.page-id-1415 .lb-segbar, body.page-id-1416 .lb-segbar, body.page-id-1417 .lb-segbar, body.page-id-1418 .lb-segbar, body.page-id-1419 .lb-segbar, body.page-id-1420 .lb-segbar { --i: 2; --on: 1; }
body.page-id-1383 .lb-segbar > :nth-child(3) a, body.page-id-1393 .lb-segbar > :nth-child(3) a, body.page-id-1409 .lb-segbar > :nth-child(3) a, body.page-id-1410 .lb-segbar > :nth-child(3) a, body.page-id-1411 .lb-segbar > :nth-child(3) a, body.page-id-1412 .lb-segbar > :nth-child(3) a, body.page-id-1413 .lb-segbar > :nth-child(3) a, body.page-id-1414 .lb-segbar > :nth-child(3) a, body.page-id-1415 .lb-segbar > :nth-child(3) a, body.page-id-1416 .lb-segbar > :nth-child(3) a, body.page-id-1417 .lb-segbar > :nth-child(3) a, body.page-id-1418 .lb-segbar > :nth-child(3) a, body.page-id-1419 .lb-segbar > :nth-child(3) a, body.page-id-1420 .lb-segbar > :nth-child(3) a { color: #FFFFFF !important; }
body.page-id-1383 .lb-segbar > :nth-child(1) a, body.page-id-1393 .lb-segbar > :nth-child(1) a, body.page-id-1409 .lb-segbar > :nth-child(1) a, body.page-id-1410 .lb-segbar > :nth-child(1) a, body.page-id-1411 .lb-segbar > :nth-child(1) a, body.page-id-1412 .lb-segbar > :nth-child(1) a, body.page-id-1413 .lb-segbar > :nth-child(1) a, body.page-id-1414 .lb-segbar > :nth-child(1) a, body.page-id-1415 .lb-segbar > :nth-child(1) a, body.page-id-1416 .lb-segbar > :nth-child(1) a, body.page-id-1417 .lb-segbar > :nth-child(1) a, body.page-id-1418 .lb-segbar > :nth-child(1) a, body.page-id-1419 .lb-segbar > :nth-child(1) a, body.page-id-1420 .lb-segbar > :nth-child(1) a { color: #B9C7E8 !important; }

/* Three app bands (2026-11-03) make the menu taller than a laptop screen: the inner list scrolls,
   the panel (and its hover bridge) stays unclipped. */
.lb-swm-inner { max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #8FB2FF55 transparent; }

/* ---- "Your memory" web v5 (Problem section): layered for smooth scrolling. Motion values from the animate skill. ----
   Six stacked SVGs per layout: halo, base (static), brain b/a/r (static, cross-faded), fx (all moving parts).
   Blur only lives in static layers; moving parts carry no filters. */
.lbw-desk-wrap, .lbw-mob-wrap { position: relative; width: 100%; padding: 0 !important; }
.lbw-desk-wrap { aspect-ratio: 1180 / 640; }
.lbw-mob-wrap { aspect-ratio: 360 / 720; display: none !important; }
@media (max-width: 767px) { .lbw-desk-wrap { display: none !important; } .lbw-mob-wrap { display: block !important; } }
.lbw-layer { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important;
  pointer-events: none; will-change: transform, opacity; }
.lbw-ly-base { pointer-events: auto; }
.lbw-layer svg { display: block; width: 100%; height: 100%; overflow: visible; }
.lbw-root text { font-family: "Mona Sans", sans-serif; }

/* halo + heat timeline (41s, in step with the counter) */
.lbw-ly-halo { animation: lbw-flicker 2.3s linear infinite; }
@keyframes lbw-flicker { 0% { opacity: 0.7; } 18% { opacity: 1; } 31% { opacity: 0.78; } 47% { opacity: 0.95; } 63% { opacity: 0.72; } 82% { opacity: 1; } 100% { opacity: 0.7; } }
.lbw-h0 { stop-color: #3C6BFF; animation: lbw-h0 41s linear forwards; }
@keyframes lbw-h0 { 55% { stop-color: #F09040; } 100% { stop-color: #FF4A1E; } }
.lbw-ly-b, .lbw-ly-a, .lbw-ly-r { transform-origin: 50% 46.9%; }
.lbw-mob-wrap .lbw-ly-b, .lbw-mob-wrap .lbw-ly-a, .lbw-mob-wrap .lbw-ly-r { transform-origin: 50% 48.9%; }
.lbw-ly-b { animation: lbw-heartbeat 1.15s var(--ease-in-out) infinite; }
.lbw-ly-a { opacity: 0; animation: lbw-heartbeat 1.15s var(--ease-in-out) infinite, lbw-heat-a 41s linear forwards; }
.lbw-ly-r { opacity: 0; animation: lbw-heartbeat 1.15s var(--ease-in-out) infinite, lbw-heat-r 41s linear forwards; }
@keyframes lbw-heartbeat { 0% { transform: scale(1); } 14% { transform: scale(1.022); } 28% { transform: scale(1); } 42% { transform: scale(1.014); } 70%, 100% { transform: scale(1); } }
@keyframes lbw-heat-a { 0% { opacity: 0; } 55%, 100% { opacity: 1; } }
@keyframes lbw-heat-r { 0%, 55% { opacity: 0; } 100% { opacity: 1; } }

/* brain (static per layer; blue / amber / red) */
.lbw-brain3 .lbw-cer-base, .lbw-cer-base, .lbw-cbl, .lbw-stem { stroke: none; }
.lbw-f0 { stop-color: #4A72F0; } .lbw-f1 { stop-color: #1C2B90; } .lbw-f2 { stop-color: #2A44C8; }
.lbw-grooves path { fill: none; stroke: #070D3A; stroke-opacity: 0.55; stroke-linecap: round; stroke-linejoin: round; filter: blur(3px); }
.lbw-grooves .lbw-w3 { stroke-width: 18; } .lbw-grooves .lbw-w2 { stroke-width: 7; }
.lbw-glow { filter: blur(2.4px); }
.lbw-sul-g, .lbw-glow .lbw-stem-l { fill: none; stroke: #6E9BFF; stroke-linecap: round; stroke-linejoin: round; }
.lbw-sul-g.lbw-w3 { stroke-width: 17; } .lbw-sul-g.lbw-w2 { stroke-width: 6.5; } .lbw-sul-g.lbw-w1 { stroke-width: 3.4; stroke-opacity: 0.75; }
.lbw-glow .lbw-stem-l { stroke-width: 5; }
.lbw-sul, .lbw-stem-l { fill: none; stroke: #F4F8FF; stroke-linecap: round; stroke-linejoin: round; }
.lbw-sul.lbw-w3 { stroke-width: 5.6; } .lbw-sul.lbw-w2 { stroke-width: 1.9; } .lbw-sul.lbw-w1 { stroke-width: 1.05; }
.lbw-stem-l { stroke-width: 1.5; }
.lbw-cglow { filter: blur(2px); }
.lbw-cglow .lbw-cfan, .lbw-cglow .lbw-cedge { fill: none; stroke: #6E9BFF; stroke-width: 3.4; }
.lbw-ccore .lbw-cfan, .lbw-ccore .lbw-cedge { fill: none; stroke: #F4F8FF; stroke-width: 1; stroke-linejoin: round; }
.lbw-ccore .lbw-cedge { stroke-width: 1.6; }
.lbw-plex line { stroke: #B8CCFF; stroke-opacity: 0.2; stroke-width: 0.6; }
.lbw-plex circle { fill: #DCE8FF; fill-opacity: 0.6; }
.lbw-dots circle { fill: #FFFFFF; }
.lbw-shard { fill: #3C6BFF; fill-opacity: 0.13; stroke: #8FB2FF; stroke-opacity: 0.4; stroke-width: 0.7; }
.lbw-throb { filter: drop-shadow(0 0 5px rgba(110, 160, 255, 0.8)) drop-shadow(0 0 36px rgba(60, 107, 255, 0.6)); }

.lbw-La .lbw-f0 { stop-color: #D88A3E; } .lbw-La .lbw-f1 { stop-color: #7A3A14; } .lbw-La .lbw-f2 { stop-color: #B0662A; }
.lbw-La .lbw-grooves path { stroke: #2A1004; }
.lbw-La .lbw-sul-g, .lbw-La .lbw-glow .lbw-stem-l, .lbw-La .lbw-cglow .lbw-cfan, .lbw-La .lbw-cglow .lbw-cedge { stroke: #FFAA55; }
.lbw-La .lbw-sul, .lbw-La .lbw-stem-l, .lbw-La .lbw-ccore .lbw-cfan, .lbw-La .lbw-ccore .lbw-cedge, .lbw-La .lbw-plex line { stroke: #FFF2DE; }
.lbw-La .lbw-dots circle, .lbw-La .lbw-plex circle { fill: #FFF2DE; }
.lbw-La .lbw-shard { fill: #E08A3A; stroke: #FFC08A; }
.lbw-La .lbw-throb { filter: drop-shadow(0 0 5px rgba(255, 175, 90, 0.8)) drop-shadow(0 0 36px rgba(240, 130, 40, 0.6)); }

.lbw-Lr .lbw-f0 { stop-color: #F0502A; } .lbw-Lr .lbw-f1 { stop-color: #7E1608; } .lbw-Lr .lbw-f2 { stop-color: #C23418; }
.lbw-Lr .lbw-grooves path { stroke: #2A0602; }
.lbw-Lr .lbw-sul-g, .lbw-Lr .lbw-glow .lbw-stem-l, .lbw-Lr .lbw-cglow .lbw-cfan, .lbw-Lr .lbw-cglow .lbw-cedge { stroke: #FF5A2A; }
.lbw-Lr .lbw-sul, .lbw-Lr .lbw-stem-l, .lbw-Lr .lbw-ccore .lbw-cfan, .lbw-Lr .lbw-ccore .lbw-cedge, .lbw-Lr .lbw-plex line { stroke: #FFE6D2; }
.lbw-Lr .lbw-dots circle, .lbw-Lr .lbw-plex circle { fill: #FFE6D2; }
.lbw-Lr .lbw-shard { fill: #FF4A1E; stroke: #FF9A70; }
.lbw-Lr .lbw-throb { filter: drop-shadow(0 0 6px rgba(255, 120, 80, 0.9)) drop-shadow(0 0 40px rgba(255, 70, 30, 0.7)); }

/* base: constellation, traces, cards (static) */
.lbw-bg line { stroke: #6E8FE0; stroke-opacity: 0.16; stroke-width: 0.7; }
.lbw-bg circle { fill: #9CB8FF; fill-opacity: 0.55; }
.lbw-bg-tri { fill: #3C6BFF; fill-opacity: 0.06; stroke: #6E8FE0; stroke-opacity: 0.18; stroke-width: 0.7; }
.lbw-es0 { stop-color: #4F7BEA; } .lbw-es1 { stop-color: #CFE0FF; }
.lbw-xs0 { stop-color: #3556B8; } .lbw-xs1 { stop-color: #7FA2FF; }
.lbw-e { fill: none; stroke-width: 1.2; stroke-opacity: 0.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke-opacity 220ms var(--ease-out), stroke-width 220ms var(--ease-out); }
.lbw-e.lbw-in { stroke-width: 1.6; stroke-opacity: 0.85; }
.lbw-eglow { filter: blur(2.5px); }
.lbw-eglow .lbw-e { stroke-width: 5; stroke-opacity: 0.45; }
.lbw-jn { fill: #DCE8FF; transition: opacity 220ms var(--ease-out); }
.lbw-jn.lbw-in { fill: #FFFFFF; }
.lbw-node { cursor: pointer; outline: none; }
.lbw-card { stroke-width: 1; filter: drop-shadow(0 0 14px rgba(60, 107, 255, 0.18)) drop-shadow(0 12px 24px rgba(0, 0, 0, 0.5)); transition: stroke 220ms var(--ease-out); }
.lbw-hud { fill: none; stroke: #A9C4FF; stroke-width: 1.4; stroke-linecap: round; stroke-opacity: 0.75; transition: stroke-opacity 220ms var(--ease-out); }
.lbw-icon-tile { fill: #3C6BFF; fill-opacity: 0.16; stroke: #8FB2FF; stroke-opacity: 0.45; }
.lbw-icon { fill: none; stroke: #BFD2FF; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lbw-title { fill: #F2F6FF; font-size: 14.5px; font-weight: 600; letter-spacing: -0.005em; }
.lbw-mob .lbw-title { font-size: 13.5px; }
.lbw-sub { fill: #9AAACB; font-size: 12px; }
.lbw-port { fill: #0B1226; stroke: #CFE0FF; stroke-width: 1.4; }
.lbw-badge { fill: #E04828; }
.lbw-badge-t { fill: #FFFFFF; font-size: 10.5px; font-weight: 700; }

/* fx: everything that moves (no filters) */
.lbw-Lfx .lbw-es1 { animation: lbw-es-heat 41s linear forwards; }
@keyframes lbw-es-heat { 55% { stop-color: #FFB46A; } 100% { stop-color: #FF5A2A; } }
.lbw-tw { fill: #9CB8FF; animation-name: lbw-twinkle; animation-timing-function: var(--ease-in-out); animation-iteration-count: infinite; animation-direction: alternate; }
@keyframes lbw-twinkle { from { opacity: 0.2; } to { opacity: 1; } }
.lbw-c { fill: none; stroke-width: 2.8; stroke-linecap: round; stroke-dasharray: 40 960; stroke-dashoffset: 1000;
  animation-name: lbw-pulse-run; animation-timing-function: linear; animation-iteration-count: infinite; transition: opacity 220ms var(--ease-out); }
.lbw-c.lbw-rev { animation-direction: reverse; }
@keyframes lbw-pulse-run { from { stroke-dashoffset: 1000; } to { stroke-dashoffset: 0; } }
.lbw-badge-ring { fill: none; stroke: #E04828; stroke-width: 1.5; transform-box: fill-box; transform-origin: center; animation: lbw-ping 2.4s var(--ease-out) infinite; }
@keyframes lbw-ping { from { transform: scale(1); opacity: 0.8; } to { transform: scale(2.2); opacity: 0; } }
.lbw-embers { opacity: 0; animation: lbw-embers-in 41s linear forwards; }
@keyframes lbw-embers-in { 35% { opacity: 0; } 70%, 100% { opacity: 1; } }
.lbw-ember { fill: #FFC08A; transform-box: fill-box; opacity: 0; animation-name: lbw-rise; animation-timing-function: var(--ease-out); animation-iteration-count: infinite; }
@keyframes lbw-rise { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translate(var(--lbw-dx, 0px), -120px); opacity: 0; } }
.lbw-hot-glow { fill: #E04828; fill-opacity: 0.25; }
.lbw-hot-badge { fill: #E04828; stroke: #FFD2C2; stroke-width: 2; }
.lbw-hot-ring { fill: none; stroke: #FF5A2A; stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: lbw-ping 1.15s var(--ease-out) infinite; }
.lbw-cnt { fill: #FFFFFF; font-size: 15px; font-weight: 800; opacity: 0; transform-box: fill-box; transform-origin: center;
  animation-name: lbw-tick; animation-timing-function: var(--ease-out); animation-fill-mode: none; }
@keyframes lbw-tick { 0% { opacity: 1; transform: scale(1.35); } 35% { transform: scale(1); } 100% { opacity: 1; transform: scale(1); } }
.lbw-cnt-max { font-size: 12.5px; animation: lbw-peg 600ms var(--ease-out) forwards; }
@keyframes lbw-peg { from { opacity: 1; transform: scale(1.5); } to { opacity: 1; transform: scale(1); } }
.lbw-brain-label { fill: #FFB199; font-size: 12px; font-weight: 600; letter-spacing: 0.22em; }

/* interaction: hover or tap a card to isolate its wiring; the brain lights everything */
.lbw-stage:has(.lbw-node:hover) .lbw-e, .lbw-stage:has(.lbw-node:focus) .lbw-e { stroke-opacity: 0.06; }
.lbw-stage:has(.lbw-node:hover) .lbw-c, .lbw-stage:has(.lbw-node:focus) .lbw-c { opacity: 0.08; }
.lbw-stage:has(.lbw-node:hover) .lbw-jn, .lbw-stage:has(.lbw-node:focus) .lbw-jn { opacity: 0.12; }
.lbw-stage:has(.lbw-n0:hover) .lbw-e, .lbw-stage:has(.lbw-n0:focus) .lbw-e { stroke-opacity: 0.5; }
.lbw-stage:has(.lbw-n0:hover) .lbw-c, .lbw-stage:has(.lbw-n0:focus) .lbw-c,
.lbw-stage:has(.lbw-n0:hover) .lbw-jn, .lbw-stage:has(.lbw-n0:focus) .lbw-jn { opacity: 1; }
.lbw-node:hover .lbw-card, .lbw-node:focus .lbw-card { stroke: #CFE0FF; }
.lbw-node:hover .lbw-hud, .lbw-node:focus .lbw-hud { stroke-opacity: 1; }
.lbw-stage:has(.lbw-n1:hover) .lbw-e.lbw-x1, .lbw-stage:has(.lbw-n1:focus) .lbw-e.lbw-x1 { stroke-opacity: 0.9; stroke-width: 1.6; }
.lbw-stage:has(.lbw-n1:hover) .lbw-c.lbw-x1, .lbw-stage:has(.lbw-n1:focus) .lbw-c.lbw-x1, .lbw-stage:has(.lbw-n1:hover) .lbw-jn.lbw-x1, .lbw-stage:has(.lbw-n1:focus) .lbw-jn.lbw-x1 { opacity: 1; }
.lbw-stage:has(.lbw-n2:hover) .lbw-e.lbw-x2, .lbw-stage:has(.lbw-n2:focus) .lbw-e.lbw-x2 { stroke-opacity: 0.9; stroke-width: 1.6; }
.lbw-stage:has(.lbw-n2:hover) .lbw-c.lbw-x2, .lbw-stage:has(.lbw-n2:focus) .lbw-c.lbw-x2, .lbw-stage:has(.lbw-n2:hover) .lbw-jn.lbw-x2, .lbw-stage:has(.lbw-n2:focus) .lbw-jn.lbw-x2 { opacity: 1; }
.lbw-stage:has(.lbw-n3:hover) .lbw-e.lbw-x3, .lbw-stage:has(.lbw-n3:focus) .lbw-e.lbw-x3 { stroke-opacity: 0.9; stroke-width: 1.6; }
.lbw-stage:has(.lbw-n3:hover) .lbw-c.lbw-x3, .lbw-stage:has(.lbw-n3:focus) .lbw-c.lbw-x3, .lbw-stage:has(.lbw-n3:hover) .lbw-jn.lbw-x3, .lbw-stage:has(.lbw-n3:focus) .lbw-jn.lbw-x3 { opacity: 1; }
.lbw-stage:has(.lbw-n4:hover) .lbw-e.lbw-x4, .lbw-stage:has(.lbw-n4:focus) .lbw-e.lbw-x4 { stroke-opacity: 0.9; stroke-width: 1.6; }
.lbw-stage:has(.lbw-n4:hover) .lbw-c.lbw-x4, .lbw-stage:has(.lbw-n4:focus) .lbw-c.lbw-x4, .lbw-stage:has(.lbw-n4:hover) .lbw-jn.lbw-x4, .lbw-stage:has(.lbw-n4:focus) .lbw-jn.lbw-x4 { opacity: 1; }
.lbw-stage:has(.lbw-n5:hover) .lbw-e.lbw-x5, .lbw-stage:has(.lbw-n5:focus) .lbw-e.lbw-x5 { stroke-opacity: 0.9; stroke-width: 1.6; }
.lbw-stage:has(.lbw-n5:hover) .lbw-c.lbw-x5, .lbw-stage:has(.lbw-n5:focus) .lbw-c.lbw-x5, .lbw-stage:has(.lbw-n5:hover) .lbw-jn.lbw-x5, .lbw-stage:has(.lbw-n5:focus) .lbw-jn.lbw-x5 { opacity: 1; }
.lbw-stage:has(.lbw-n6:hover) .lbw-e.lbw-x6, .lbw-stage:has(.lbw-n6:focus) .lbw-e.lbw-x6 { stroke-opacity: 0.9; stroke-width: 1.6; }
.lbw-stage:has(.lbw-n6:hover) .lbw-c.lbw-x6, .lbw-stage:has(.lbw-n6:focus) .lbw-c.lbw-x6, .lbw-stage:has(.lbw-n6:hover) .lbw-jn.lbw-x6, .lbw-stage:has(.lbw-n6:focus) .lbw-jn.lbw-x6 { opacity: 1; }
.lbw-stage:has(.lbw-n7:hover) .lbw-e.lbw-x7, .lbw-stage:has(.lbw-n7:focus) .lbw-e.lbw-x7 { stroke-opacity: 0.9; stroke-width: 1.6; }
.lbw-stage:has(.lbw-n7:hover) .lbw-c.lbw-x7, .lbw-stage:has(.lbw-n7:focus) .lbw-c.lbw-x7, .lbw-stage:has(.lbw-n7:hover) .lbw-jn.lbw-x7, .lbw-stage:has(.lbw-n7:focus) .lbw-jn.lbw-x7 { opacity: 1; }
.lbw-stage:has(.lbw-n8:hover) .lbw-e.lbw-x8, .lbw-stage:has(.lbw-n8:focus) .lbw-e.lbw-x8 { stroke-opacity: 0.9; stroke-width: 1.6; }
.lbw-stage:has(.lbw-n8:hover) .lbw-c.lbw-x8, .lbw-stage:has(.lbw-n8:focus) .lbw-c.lbw-x8, .lbw-stage:has(.lbw-n8:hover) .lbw-jn.lbw-x8, .lbw-stage:has(.lbw-n8:focus) .lbw-jn.lbw-x8 { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .lbw-ly-halo, .lbw-ly-b, .lbw-h0, .lbw-Lfx .lbw-es1, .lbw-tw, .lbw-badge-ring, .lbw-hot-ring { animation: none !important; }
  .lbw-ly-a, .lbw-ly-r, .lbw-embers { animation: none !important; opacity: 0 !important; }
  .lbw-c { animation: none !important; opacity: 0; }
}/* End custom CSS */