:root {
  --tsl-bg: #07100e;
  --tsl-bg-soft: #0b1714;
  --tsl-bg-elevated: #10201c;
  --tsl-card: rgba(18, 38, 32, 0.72);
  --tsl-text: #f5f2ea;
  --tsl-muted: #aeb9b4;
  --tsl-line: rgba(223, 236, 228, 0.14);
  --tsl-primary: #c9ff63;
  --tsl-primary-strong: #a9ef2d;
  --tsl-secondary: #65d6c2;
  --tsl-danger: #ff8f78;
  --tsl-radius-sm: 14px;
  --tsl-radius-md: 24px;
  --tsl-radius-lg: 36px;
  --tsl-shadow: 0 24px 80px rgba(0, 0, 0, 0.32);
  --tsl-container: 1240px;
}

.tsl,
.tsl * {
  box-sizing: border-box;
}

.tsl {
  min-height: 100vh;
  overflow: clip;
  color: var(--tsl-text);
  background:
    radial-gradient(circle at 86% 8%, rgba(101, 214, 194, 0.12), transparent 28rem),
    radial-gradient(circle at 15% 18%, rgba(201, 255, 99, 0.08), transparent 24rem),
    var(--tsl-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.tsl a,
.tsl button,
.tsl input,
.tsl select,
.tsl textarea {
  font: inherit;
}

.tsl a {
  color: inherit;
  text-decoration: none;
}

.tsl h1,
.tsl h2,
.tsl h3,
.tsl h4,
.tsl p {
  margin-top: 0;
}

.tsl h1,
.tsl h2,
.tsl h3,
.tsl h4 {
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.tsl h1 {
  max-width: 780px;
  margin-bottom: 28px;
  font-size: clamp(3rem, 6.3vw, 6.8rem);
  font-weight: 650;
}

.tsl h2 {
  font-size: clamp(2.4rem, 4.4vw, 4.8rem);
  font-weight: 620;
}

.tsl h3 {
  font-size: clamp(1.65rem, 2.6vw, 3rem);
  font-weight: 620;
}

.tsl h4 {
  font-size: 1.35rem;
}

.tsl p {
  color: var(--tsl-muted);
}

.tsl button {
  color: inherit;
}

.tsl-container {
  width: min(calc(100% - 40px), var(--tsl-container));
  margin-inline: auto;
}

.tsl-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 12px 16px;
  border-radius: 10px;
  color: #07100e;
  background: var(--tsl-primary);
  transform: translateY(-160%);
}

.tsl-skip-link:focus {
  transform: translateY(0);
}

.tsl-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  border-bottom: 1px solid transparent;
  transition: background-color 180ms ease, border-color 180ms ease, backdrop-filter 180ms ease;
}

.tsl-header.is-scrolled {
  border-color: var(--tsl-line);
  background: rgba(7, 16, 14, 0.82);
  backdrop-filter: blur(18px);
}

.tsl-header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  min-height: 78px;
  gap: 36px;
}

.tsl-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.tsl-logo__mark {
  display: inline-grid;
  grid-template-columns: repeat(3, 7px);
  align-items: end;
  height: 24px;
  gap: 3px;
}

.tsl-logo__mark i {
  display: block;
  width: 7px;
  border-radius: 999px;
  background: var(--tsl-primary);
}

.tsl-logo__mark i:nth-child(1) { height: 10px; }
.tsl-logo__mark i:nth-child(2) { height: 17px; }
.tsl-logo__mark i:nth-child(3) { height: 24px; }

.tsl-nav {
  display: flex;
  justify-content: center;
  gap: 30px;
  color: var(--tsl-muted);
  font-size: 0.92rem;
}

.tsl-nav a,
.tsl-text-link {
  transition: color 160ms ease;
}

.tsl-nav a:hover,
.tsl-text-link:hover {
  color: var(--tsl-text);
}

.tsl-button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #0a130f !important;
  background: var(--tsl-primary);
  font-weight: 750;
  cursor: pointer;
  box-shadow: 0 12px 36px rgba(201, 255, 99, 0.14);
  transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.tsl-button:hover {
  background: var(--tsl-primary-strong);
  transform: translateY(-2px);
  box-shadow: 0 16px 42px rgba(201, 255, 99, 0.22);
}

.tsl-button:active {
  transform: translateY(0);
}

.tsl-button:focus-visible,
.tsl a:focus-visible,
.tsl button:focus-visible,
.tsl input:focus-visible,
.tsl select:focus-visible,
.tsl textarea:focus-visible {
  outline: 3px solid var(--tsl-secondary);
  outline-offset: 4px;
}

.tsl-button--small {
  min-height: 42px;
  padding-inline: 18px;
  font-size: 0.9rem;
}

.tsl-button--secondary {
  border-color: var(--tsl-line);
  color: var(--tsl-text) !important;
  background: transparent;
  box-shadow: none;
}

.tsl-button--secondary:hover {
  border-color: rgba(201, 255, 99, 0.46);
  color: #0a130f !important;
  background: var(--tsl-primary);
}

.tsl-button--full {
  width: 100%;
}

.tsl-menu-button,
.tsl-mobile-menu {
  display: none;
}

.tsl-hero {
  position: relative;
  min-height: 940px;
  display: grid;
  align-items: center;
  padding: 150px 0 90px;
}

.tsl-hero__glow,
.tsl-final-cta__glow {
  position: absolute;
  width: 520px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(201, 255, 99, 0.1);
  filter: blur(90px);
  pointer-events: none;
}

.tsl-hero__glow {
  top: 20%;
  right: -180px;
}

.tsl-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, 0.95fr);
  align-items: center;
  gap: 70px;
}

.tsl-eyebrow {
  margin-bottom: 22px;
  color: var(--tsl-primary) !important;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tsl-hero__lead {
  max-width: 660px;
  margin-bottom: 34px;
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
}

.tsl-hero__actions {
  display: flex;
  align-items: center;
  gap: 24px;
}

.tsl-text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--tsl-muted);
  font-weight: 650;
}

.tsl-hero__facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 720px;
  margin: 46px 0 0;
  padding: 24px 0 0;
  border-top: 1px solid var(--tsl-line);
  list-style: none;
}

.tsl-hero__facts li {
  padding-right: 18px;
}

.tsl-hero__facts strong,
.tsl-hero__facts span {
  display: block;
}

.tsl-hero__facts strong {
  margin-bottom: 3px;
  font-size: 1rem;
}

.tsl-hero__facts span {
  color: var(--tsl-muted);
  font-size: 0.82rem;
}

.tsl-architecture {
  position: relative;
  min-height: 670px;
  perspective: 1400px;
}

.tsl-architecture::before {
  content: "";
  position: absolute;
  inset: 6% 2% 5%;
  border: 1px solid var(--tsl-line);
  border-radius: 52% 48% 48% 52% / 42% 43% 57% 58%;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.008));
  box-shadow: inset 0 0 80px rgba(101, 214, 194, 0.05), var(--tsl-shadow);
  transform: rotateX(7deg) rotateY(-8deg);
}

.tsl-architecture__orbit {
  position: absolute;
  z-index: 0;
  border: 1px solid rgba(101, 214, 194, 0.22);
  border-radius: 50%;
}

.tsl-architecture__orbit--one {
  inset: 13% 9% 20%;
  transform: rotate(23deg);
}

.tsl-architecture__orbit--two {
  inset: 19% 17% 13%;
  transform: rotate(-26deg);
}

.tsl-architecture__spine {
  position: absolute;
  top: 9%;
  bottom: 18%;
  left: 50%;
  width: 1px;
  background: linear-gradient(transparent, var(--tsl-primary), transparent);
}

.tsl-support-card {
  position: absolute;
  z-index: 2;
  display: grid;
  grid-template-columns: auto 1fr;
  width: min(88%, 480px);
  padding: 22px;
  border: 1px solid var(--tsl-line);
  border-radius: var(--tsl-radius-md);
  background: rgba(12, 27, 23, 0.74);
  backdrop-filter: blur(16px);
  box-shadow: 0 18px 56px rgba(0, 0, 0, 0.24);
}

.tsl-support-card--one { top: 11%; left: 0; }
.tsl-support-card--two { top: 37%; right: 0; }
.tsl-support-card--three { top: 63%; left: 5%; }

.tsl-support-card__number {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  margin-right: 16px;
  border: 1px solid rgba(201, 255, 99, 0.42);
  border-radius: 50%;
  color: var(--tsl-primary);
  font-size: 0.8rem;
  font-weight: 800;
}

.tsl-support-card p {
  margin-bottom: 6px;
  color: var(--tsl-muted);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tsl-support-card h2 {
  margin-bottom: 8px;
  font-size: clamp(1.25rem, 2vw, 1.9rem);
  letter-spacing: -0.035em;
}

.tsl-support-card div > span {
  color: var(--tsl-secondary);
  font-size: 0.88rem;
}

.tsl-architecture__result {
  position: absolute;
  right: 8%;
  bottom: 0;
  z-index: 3;
  width: 58%;
  padding: 20px 24px;
  border: 1px solid rgba(201, 255, 99, 0.36);
  border-radius: 999px;
  background: var(--tsl-primary);
  color: #07100e;
  text-align: center;
}

.tsl-architecture__result span,
.tsl-architecture__result strong {
  display: block;
}

.tsl-architecture__result span {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tsl-architecture__result strong {
  font-size: 0.95rem;
}

.tsl-section {
  padding: 130px 0;
}

.tsl-section--system,
.tsl-section--pricing,
.tsl-section--safety {
  border-block: 1px solid var(--tsl-line);
  background: var(--tsl-bg-soft);
}

.tsl-section-heading {
  max-width: 850px;
  margin-bottom: 68px;
}

.tsl-section-heading > p:last-child {
  max-width: 680px;
  margin-top: 22px;
  font-size: 1.1rem;
}

.tsl-system-map {
  position: relative;
  display: grid;
  gap: 18px;
  padding: 32px;
  border: 1px solid var(--tsl-line);
  border-radius: var(--tsl-radius-lg);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.008));
  box-shadow: var(--tsl-shadow);
}

.tsl-system-map__axis {
  position: absolute;
  top: 74px;
  bottom: 150px;
  left: 76px;
  width: 1px;
  background: linear-gradient(var(--tsl-primary), var(--tsl-secondary));
}

.tsl-system-node {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 88px 1fr;
  align-items: center;
  min-height: 160px;
  padding: 20px 22px;
  border: 1px solid var(--tsl-line);
  border-radius: var(--tsl-radius-md);
  background: rgba(7, 16, 14, 0.72);
}

.tsl-system-node__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(201, 255, 99, 0.4);
  border-radius: 50%;
  color: var(--tsl-primary);
  background: var(--tsl-bg);
  font-size: 0.78rem;
  font-weight: 850;
}

.tsl-system-node__content > span {
  color: var(--tsl-secondary);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tsl-system-node h3 {
  margin: 8px 0 24px;
  font-size: clamp(1.35rem, 2.3vw, 2.3rem);
}

.tsl-system-node__transition {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.tsl-system-node__transition p {
  margin: 0;
  padding: 14px 16px;
  border-radius: var(--tsl-radius-sm);
  background: rgba(255, 255, 255, 0.035);
}

.tsl-system-node__transition small {
  display: block;
  margin-bottom: 2px;
  color: var(--tsl-muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tsl-system-node__transition i {
  color: var(--tsl-primary);
  font-style: normal;
}

.tsl-system-map__outcome {
  margin-top: 10px;
  padding: 32px;
  border-radius: var(--tsl-radius-md);
  color: #07100e;
  background: var(--tsl-primary);
}

.tsl-system-map__outcome span,
.tsl-system-map__outcome strong {
  display: block;
}

.tsl-system-map__outcome span {
  margin-bottom: 5px;
  font-size: 0.73rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tsl-system-map__outcome strong {
  font-size: clamp(1.5rem, 3vw, 3rem);
  letter-spacing: -0.04em;
}

.tsl-system-map__outcome p {
  max-width: 760px;
  margin: 10px 0 0;
  color: rgba(7, 16, 14, 0.76);
}

.tsl-transform-grid {
  display: grid;
  gap: 24px;
}

.tsl-transform-card {
  padding: 30px;
  border: 1px solid var(--tsl-line);
  border-radius: var(--tsl-radius-lg);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0.006));
}

.tsl-transform-card__heading {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
}

.tsl-transform-card__heading > span {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: #07100e;
  background: var(--tsl-primary);
  font-size: 0.8rem;
  font-weight: 850;
}

.tsl-transform-card__heading p {
  margin: 0 0 5px;
  color: var(--tsl-secondary);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.tsl-transform-card__heading h3 {
  margin: 0;
  font-size: clamp(1.5rem, 2.4vw, 2.4rem);
}

.tsl-transform-card__columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 20px;
}

.tsl-transform-card__before,
.tsl-transform-card__after {
  padding: 24px;
  border-radius: var(--tsl-radius-md);
}

.tsl-transform-card__before {
  border: 1px solid rgba(255, 143, 120, 0.24);
  background: rgba(255, 143, 120, 0.05);
}

.tsl-transform-card__after {
  border: 1px solid rgba(101, 214, 194, 0.26);
  background: rgba(101, 214, 194, 0.055);
}

.tsl-transform-card__before > strong,
.tsl-transform-card__after > strong {
  display: block;
  margin-bottom: 16px;
  font-size: 0.85rem;
}

.tsl-transform-card ul,
.tsl-price-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tsl-transform-card li,
.tsl-price-card li {
  position: relative;
  padding-left: 20px;
  color: var(--tsl-muted);
}

.tsl-transform-card li::before,
.tsl-price-card li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--tsl-secondary);
}

.tsl-transform-card__before li::before {
  background: var(--tsl-danger);
}

.tsl-transform-card__arrow {
  display: grid;
  place-items: center;
  color: var(--tsl-primary);
  font-size: 1.6rem;
}

.tsl-section--courses {
  padding-bottom: 70px;
}

.tsl-course {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
  gap: 70px;
  padding: 80px 0;
  border-top: 1px solid var(--tsl-line);
}

.tsl-course__index {
  display: inline-block;
  margin-bottom: 50px;
  color: rgba(245, 242, 234, 0.14);
  font-size: clamp(5rem, 10vw, 9rem);
  font-weight: 800;
  line-height: 0.7;
  letter-spacing: -0.08em;
}

.tsl-course__intro > p:not(.tsl-eyebrow) {
  max-width: 620px;
  font-size: 1.04rem;
}

.tsl-course__result {
  margin-top: 30px;
  padding: 22px;
  border-left: 3px solid var(--tsl-primary);
  background: rgba(201, 255, 99, 0.05);
}

.tsl-course__result small,
.tsl-course__result strong {
  display: block;
}

.tsl-course__result small {
  margin-bottom: 6px;
  color: var(--tsl-primary);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tsl-course__result strong {
  font-size: 1rem;
}

.tsl-course__visual {
  min-height: 520px;
  border: 1px solid var(--tsl-line);
  border-radius: var(--tsl-radius-lg);
  background: radial-gradient(circle at 50% 50%, rgba(101, 214, 194, 0.08), transparent 58%), rgba(255, 255, 255, 0.018);
  box-shadow: var(--tsl-shadow);
}

.tsl-course__program,
.tsl-mechanisms {
  grid-column: 1 / -1;
}

.tsl-course__program h4 {
  margin-bottom: 22px;
  font-size: 1.7rem;
}

.tsl-deficit-map,
.tsl-orbit-map {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.tsl-deficit-map::before,
.tsl-deficit-map::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(101, 214, 194, 0.2);
  border-radius: 50%;
}

.tsl-deficit-map::before { width: 68%; aspect-ratio: 1; }
.tsl-deficit-map::after { width: 86%; aspect-ratio: 1; }

.tsl-deficit-map__center,
.tsl-deficit-map__result {
  position: relative;
  z-index: 3;
  display: grid;
  width: 136px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  text-align: center;
  font-weight: 780;
}

.tsl-deficit-map__center {
  border: 1px solid rgba(255, 143, 120, 0.32);
  background: rgba(255, 143, 120, 0.08);
}

.tsl-deficit-map__result {
  position: absolute;
  right: 8%;
  bottom: 8%;
  width: 122px;
  color: #07100e;
  background: var(--tsl-primary);
}

.tsl-deficit-map > span {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 140px;
  padding: 10px 12px;
  border: 1px solid var(--tsl-line);
  border-radius: 999px;
  background: var(--tsl-bg-elevated);
  color: var(--tsl-muted);
  text-align: center;
  transform: rotate(calc(var(--i) * 60deg)) translateX(180px) rotate(calc(var(--i) * -60deg));
}

.tsl-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  gap: 16px;
  padding: 36px;
}

.tsl-timeline__line {
  position: absolute;
  top: 50%;
  left: 12%;
  right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--tsl-primary), var(--tsl-secondary), transparent);
}

.tsl-timeline__item {
  position: relative;
  z-index: 2;
  min-height: 118px;
  padding: 18px;
  border: 1px solid var(--tsl-line);
  border-radius: var(--tsl-radius-md);
  background: rgba(7, 16, 14, 0.84);
}

.tsl-timeline__item span,
.tsl-timeline__item strong,
.tsl-timeline__item small {
  display: block;
}

.tsl-timeline__item span {
  margin-bottom: 14px;
  color: var(--tsl-primary);
  font-size: 0.72rem;
  font-weight: 850;
}

.tsl-timeline__item strong {
  margin-bottom: 5px;
  font-size: 1rem;
}

.tsl-timeline__item small {
  color: var(--tsl-muted);
}

.tsl-orbit-map__core {
  position: relative;
  z-index: 4;
  display: grid;
  width: 150px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: #07100e;
  background: var(--tsl-primary);
  font-weight: 850;
  box-shadow: 0 0 70px rgba(201, 255, 99, 0.18);
}

.tsl-orbit-map__ring {
  position: absolute;
  border: 1px solid rgba(101, 214, 194, 0.24);
  border-radius: 50%;
}

.tsl-orbit-map__ring--one {
  width: 57%;
  aspect-ratio: 1;
}

.tsl-orbit-map__ring--two {
  width: 86%;
  aspect-ratio: 1;
}

.tsl-orbit-map__node {
  position: absolute;
  z-index: 3;
  max-width: 170px;
  padding: 12px 15px;
  border: 1px solid var(--tsl-line);
  border-radius: 999px;
  background: var(--tsl-bg-elevated);
  color: var(--tsl-muted);
  text-align: center;
  font-size: 0.86rem;
}

.tsl-orbit-map__node--one { top: 11%; left: 50%; transform: translateX(-50%); }
.tsl-orbit-map__node--two { top: 49%; right: 4%; transform: translateY(-50%); }
.tsl-orbit-map__node--three { bottom: 10%; left: 50%; transform: translateX(-50%); }
.tsl-orbit-map__node--four { top: 49%; left: 4%; transform: translateY(-50%); }

.tsl-mechanisms {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.tsl-mechanisms article {
  padding: 24px;
  border: 1px solid var(--tsl-line);
  border-radius: var(--tsl-radius-md);
  background: rgba(255, 255, 255, 0.018);
}

.tsl-mechanisms span {
  display: block;
  margin-bottom: 28px;
  color: var(--tsl-primary);
  font-size: 0.72rem;
  font-weight: 850;
}

.tsl-mechanisms h4 {
  margin-bottom: 12px;
}

.tsl-mechanisms p {
  margin: 0;
  font-size: 0.92rem;
}

.tsl-accordion {
  border-top: 1px solid var(--tsl-line);
}

.tsl-accordion__item {
  border-bottom: 1px solid var(--tsl-line);
}

.tsl-accordion__item h3 {
  margin: 0;
  font-size: 1rem;
  letter-spacing: 0;
}

.tsl-accordion__item button {
  display: grid;
  grid-template-columns: 1fr 28px;
  width: 100%;
  align-items: center;
  gap: 20px;
  padding: 22px 2px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.tsl-accordion__item button span {
  font-weight: 680;
}

.tsl-accordion__item button i {
  position: relative;
  width: 28px;
  height: 28px;
  border: 1px solid var(--tsl-line);
  border-radius: 50%;
}

.tsl-accordion__item button i::before,
.tsl-accordion__item button i::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1px;
  background: var(--tsl-text);
  transform: translate(-50%, -50%);
  transition: transform 160ms ease;
}

.tsl-accordion__item button i::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.tsl-accordion__item button[aria-expanded="true"] i::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.tsl-accordion__panel {
  padding: 0 44px 22px 0;
}

.tsl-accordion__panel p {
  max-width: 880px;
  margin: 0;
}

.tsl-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
}

.tsl-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 560px;
  padding: 30px;
  border: 1px solid var(--tsl-line);
  border-radius: var(--tsl-radius-lg);
  background: rgba(7, 16, 14, 0.72);
}

.tsl-price-card--featured {
  border-color: rgba(201, 255, 99, 0.52);
  background: linear-gradient(180deg, rgba(201, 255, 99, 0.08), rgba(7, 16, 14, 0.86));
  box-shadow: 0 24px 80px rgba(201, 255, 99, 0.08);
}

.tsl-price-card__badge {
  align-self: flex-start;
  margin-bottom: 24px;
  padding: 7px 11px;
  border-radius: 999px;
  color: #07100e;
  background: var(--tsl-primary);
  font-size: 0.72rem;
  font-weight: 850;
}

.tsl-price-card__top > span,
.tsl-price-card__top > strong,
.tsl-price-card__top > p {
  display: block;
}

.tsl-price-card__top > span {
  color: var(--tsl-secondary);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tsl-price-card__top > strong {
  margin-top: 16px;
  font-size: clamp(3rem, 5vw, 5.3rem);
  line-height: 0.95;
  letter-spacing: -0.07em;
}

.tsl-price-card__top > strong small {
  font-size: 0.36em;
}

.tsl-price-card__top > p {
  margin: 14px 0 30px;
}

.tsl-price-card ul {
  margin-bottom: 34px;
}

.tsl-price-card__buttons,
.tsl-price-card > .tsl-button {
  margin-top: auto;
}

.tsl-price-card__buttons {
  display: grid;
  gap: 10px;
}

.tsl-safety {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 90px;
  align-items: start;
}

.tsl-safety h2 {
  font-size: clamp(2rem, 3.5vw, 3.6rem);
}

.tsl-safety > p {
  margin: 34px 0 0;
  font-size: 1.05rem;
}

.tsl-faq-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
  gap: 90px;
}

.tsl-section-heading--sticky {
  position: sticky;
  top: 130px;
  align-self: start;
  margin-bottom: 0;
}

.tsl-accordion--large .tsl-accordion__item button {
  padding: 26px 2px;
}

.tsl-final-cta {
  position: relative;
  padding: 150px 0;
  overflow: hidden;
  text-align: center;
  background: var(--tsl-bg-elevated);
}

.tsl-final-cta__glow {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.tsl-final-cta .tsl-container {
  position: relative;
  z-index: 2;
}

.tsl-final-cta h2 {
  max-width: 920px;
  margin-inline: auto;
}

.tsl-final-cta__supports {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 34px 0;
}

.tsl-final-cta__supports span {
  padding: 10px 14px;
  border: 1px solid var(--tsl-line);
  border-radius: 999px;
  color: var(--tsl-muted);
  background: rgba(255, 255, 255, 0.025);
}

.tsl-footer {
  padding: 32px 0;
  border-top: 1px solid var(--tsl-line);
}

.tsl-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.tsl-footer p {
  margin: 0;
  font-size: 0.82rem;
}

.tsl-modal[hidden] {
  display: none;
}

.tsl-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 22px;
}

.tsl-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 7, 5, 0.8);
  backdrop-filter: blur(12px);
}

.tsl-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 680px);
  max-height: min(860px, calc(100vh - 44px));
  overflow: auto;
  padding: 34px;
  border: 1px solid var(--tsl-line);
  border-radius: var(--tsl-radius-lg);
  background: var(--tsl-bg-elevated);
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.52);
}

.tsl-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid var(--tsl-line);
  border-radius: 50%;
  background: transparent;
  font-size: 1.5rem;
  cursor: pointer;
}

.tsl-modal__dialog h2 {
  margin-bottom: 28px;
  padding-right: 50px;
  font-size: clamp(2rem, 4vw, 3.5rem);
}

.tsl-modal__form .wpcf7-form {
  display: grid;
  gap: 16px;
}

.tsl-modal__form .wpcf7-form p {
  margin: 0;
}

.tsl-modal__form label {
  display: grid;
  gap: 7px;
  color: var(--tsl-text);
  font-size: 0.88rem;
  font-weight: 650;
}

.tsl-modal__form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.tsl-modal__form select,
.tsl-modal__form textarea {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid var(--tsl-line);
  border-radius: 12px;
  color: var(--tsl-text);
  background: rgba(255, 255, 255, 0.035);
}

.tsl-modal__form input[type="submit"] {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-radius: 999px;
  color: #07100e;
  background: var(--tsl-primary);
  font-weight: 800;
  cursor: pointer;
}

body.tsl-modal-open {
  overflow: hidden;
}

[data-tsl-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 650ms cubic-bezier(.2,.7,.2,1), transform 650ms cubic-bezier(.2,.7,.2,1);
}

[data-tsl-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1100px) {
  .tsl-hero__grid,
  .tsl-course {
    grid-template-columns: 1fr;
  }

  .tsl-hero__content {
    max-width: 900px;
  }

  .tsl-architecture {
    width: min(100%, 760px);
    margin-inline: auto;
  }

  .tsl-course__visual {
    min-height: 600px;
  }

  .tsl-mechanisms {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .tsl-nav,
  .tsl-header .tsl-button--small {
    display: none;
  }

  .tsl-header__inner {
    grid-template-columns: 1fr auto;
  }

  .tsl-menu-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid var(--tsl-line);
    border-radius: 999px;
    background: transparent;
  }

  .tsl-menu-button__icon,
  .tsl-menu-button__icon::before,
  .tsl-menu-button__icon::after {
    display: block;
    width: 16px;
    height: 1px;
    background: var(--tsl-text);
  }

  .tsl-menu-button__icon {
    position: relative;
  }

  .tsl-menu-button__icon::before,
  .tsl-menu-button__icon::after {
    content: "";
    position: absolute;
    left: 0;
  }

  .tsl-menu-button__icon::before { top: -5px; }
  .tsl-menu-button__icon::after { top: 5px; }

  .tsl-mobile-menu {
    border-top: 1px solid var(--tsl-line);
    background: rgba(7, 16, 14, 0.96);
  }

  .tsl-mobile-menu:not([hidden]) {
    display: block;
  }

  .tsl-mobile-menu .tsl-container {
    display: grid;
    padding-block: 14px 20px;
  }

  .tsl-mobile-menu a {
    padding: 12px 0;
    color: var(--tsl-muted);
  }

  .tsl-pricing-grid {
    grid-template-columns: 1fr;
  }

  .tsl-price-card {
    min-height: auto;
  }

  .tsl-safety,
  .tsl-faq-layout {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .tsl-section-heading--sticky {
    position: static;
  }
}

@media (max-width: 700px) {
  .tsl-container {
    width: min(calc(100% - 28px), var(--tsl-container));
  }

  .tsl-header__inner {
    min-height: 68px;
  }

  .tsl-logo {
    font-size: 0.84rem;
  }

  .tsl-hero {
    min-height: auto;
    padding-top: 120px;
  }

  .tsl h1 {
    font-size: clamp(2.65rem, 13vw, 4.3rem);
  }

  .tsl h2 {
    font-size: clamp(2.15rem, 10vw, 3.5rem);
  }

  .tsl-hero__actions,
  .tsl-footer__inner {
    align-items: stretch;
    flex-direction: column;
  }

  .tsl-hero__actions .tsl-button {
    width: 100%;
  }

  .tsl-text-link {
    justify-content: center;
  }

  .tsl-hero__facts {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .tsl-architecture {
    min-height: 620px;
  }

  .tsl-support-card {
    width: 96%;
  }

  .tsl-support-card--one { top: 8%; }
  .tsl-support-card--two { top: 36%; }
  .tsl-support-card--three { top: 64%; }

  .tsl-architecture__result {
    right: 0;
    width: 88%;
  }

  .tsl-section {
    padding: 92px 0;
  }

  .tsl-system-map,
  .tsl-transform-card,
  .tsl-price-card,
  .tsl-modal__dialog {
    padding: 22px;
    border-radius: 24px;
  }

  .tsl-system-map__axis {
    display: none;
  }

  .tsl-system-node {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .tsl-system-node__transition,
  .tsl-transform-card__columns {
    grid-template-columns: 1fr;
  }

  .tsl-system-node__transition i,
  .tsl-transform-card__arrow {
    transform: rotate(90deg);
  }

  .tsl-course {
    gap: 38px;
    padding: 62px 0;
  }

  .tsl-course__visual {
    min-height: 470px;
  }

  .tsl-deficit-map > span {
    width: 120px;
    font-size: 0.72rem;
    transform: rotate(calc(var(--i) * 60deg)) translateX(140px) rotate(calc(var(--i) * -60deg));
  }

  .tsl-deficit-map__center {
    width: 116px;
  }

  .tsl-deficit-map__result {
    width: 105px;
  }

  .tsl-timeline {
    grid-template-columns: 1fr;
    align-content: start;
    min-height: auto;
    padding: 22px;
  }

  .tsl-timeline__line {
    top: 8%;
    bottom: 8%;
    left: 41px;
    width: 1px;
    height: auto;
  }

  .tsl-timeline__item {
    padding-left: 44px;
  }

  .tsl-orbit-map__node {
    max-width: 130px;
    font-size: 0.72rem;
  }

  .tsl-mechanisms {
    grid-template-columns: 1fr;
  }

  .tsl-safety {
    gap: 12px;
  }

  .tsl-final-cta {
    padding: 110px 0;
  }
}

@media (max-width: 420px) {
  .tsl-menu-button__label {
    display: none;
  }

  .tsl-support-card {
    padding: 16px;
  }

  .tsl-support-card__number {
    width: 38px;
    height: 38px;
    margin-right: 10px;
  }

  .tsl-support-card h2 {
    font-size: 1.16rem;
  }

  .tsl-architecture__result {
    padding: 16px;
  }

  .tsl-course__visual {
    min-height: 430px;
  }

  .tsl-deficit-map > span {
    width: 104px;
    padding: 8px;
    transform: rotate(calc(var(--i) * 60deg)) translateX(116px) rotate(calc(var(--i) * -60deg));
  }

  .tsl-orbit-map__core {
    width: 120px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tsl *,
  .tsl *::before,
  .tsl *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  [data-tsl-reveal] {
    opacity: 1;
    transform: none;
  }
}

/* ===== Exhibition redesign v2 ===== */
.tsl{--tsl-bg:#090b0f;--tsl-bg-soft:#0d1117;--tsl-bg-elevated:#121821;--tsl-card:rgba(255,255,255,.045);--tsl-text:#f5f7fa;--tsl-muted:#9fa9b8;--tsl-line:rgba(255,255,255,.1);--tsl-primary:#d8ff38;--tsl-primary-strong:#bff000;--tsl-secondary:#8ee8d4;--tsl-container:1480px;background:#090b0f}
.tsl-container{width:min(calc(100% - 80px),var(--tsl-container))}
.tsl-header{background:rgba(9,11,15,.52);border-color:transparent;backdrop-filter:blur(22px) saturate(120%)}
.tsl-header.is-scrolled{background:rgba(9,11,15,.86);border-color:rgba(255,255,255,.08)}
.tsl-nav{gap:28px}.tsl-nav a{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:#b8c0cc}
.tsl-logo{font-size:.87rem;letter-spacing:.02em}.tsl-logo__mark i{background:var(--tsl-primary)}
.tsl-button{min-height:60px;padding:0 28px;border-radius:999px;background:var(--tsl-primary);color:#090b0f;box-shadow:0 0 0 1px rgba(216,255,56,.24),0 16px 55px rgba(216,255,56,.12)}
.tsl-button:hover{background:#e3ff74;transform:translateY(-2px);box-shadow:0 0 0 1px rgba(216,255,56,.4),0 22px 70px rgba(216,255,56,.2)}
.tsl-button--small{min-height:44px;padding:0 20px}
.tsl-eyebrow{color:var(--tsl-primary);letter-spacing:.18em;font-size:.76rem;text-transform:uppercase}

.tsl-exhibition{position:relative;min-height:100svh;padding:150px 0 80px;isolation:isolate;display:grid;align-items:center;background:radial-gradient(circle at 77% 48%,rgba(216,255,56,.075),transparent 23rem),radial-gradient(circle at 83% 30%,rgba(103,136,255,.08),transparent 30rem),linear-gradient(180deg,#090b0f 0%,#090b0f 70%,#0b0e13 100%)}
.tsl-exhibition__grid{position:absolute;inset:0;z-index:-3;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent 0,#000 17%,#000 84%,transparent 100%)}
.tsl-exhibition__grid:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.24) .7px,transparent .9px);background-size:36px 36px;opacity:.12}
.tsl-exhibition__glow{position:absolute;z-index:-2;border-radius:50%;filter:blur(90px);pointer-events:none}.tsl-exhibition__glow--one{width:420px;height:420px;right:4%;top:20%;background:rgba(216,255,56,.06)}.tsl-exhibition__glow--two{width:360px;height:360px;left:4%;bottom:5%;background:rgba(79,98,255,.055)}
.tsl-hero__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(520px,.98fr);align-items:center;gap:8vw}
.tsl-hero__content{max-width:780px}.tsl-hero h1{max-width:850px;margin:18px 0 30px;font-size:clamp(4rem,6.7vw,7.2rem);font-weight:640;line-height:.91;letter-spacing:-.067em}.tsl-hero h1 em{display:block;color:var(--tsl-primary);font-style:normal;font-weight:640}.tsl-hero__lead{max-width:690px;font-size:clamp(1.08rem,1.45vw,1.36rem);line-height:1.65;color:#abb4c1}.tsl-hero__actions{display:flex;align-items:center;gap:26px;margin-top:38px}.tsl-text-link{font-size:.95rem;color:#dce1e8}.tsl-text-link span{display:inline-block;margin-left:8px;color:var(--tsl-primary);transition:transform .25s ease}.tsl-text-link:hover span{transform:translateY(4px)}
.tsl-hero__microcopy{display:flex;align-items:center;gap:14px;margin-top:38px;color:#75808e;font-size:.82rem}.tsl-hero__microcopy i{width:3px;height:3px;border-radius:50%;background:#596270}

.tsl-path{position:relative;min-height:670px;perspective:1400px;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.tsl-path__halo{position:absolute;left:48%;top:46%;width:390px;height:390px;border:1px solid rgba(216,255,56,.09);border-radius:50%;transform:translate(-50%,-50%) rotateX(69deg);box-shadow:0 0 100px rgba(216,255,56,.025),inset 0 0 80px rgba(216,255,56,.03)}
.tsl-path__rail{position:absolute;left:18%;top:10%;bottom:16%;width:1px;background:rgba(255,255,255,.09)}.tsl-path__rail:before,.tsl-path__rail:after{content:"";position:absolute;left:50%;width:9px;height:9px;border-radius:50%;border:1px solid rgba(216,255,56,.48);transform:translateX(-50%);background:#0b0e12}.tsl-path__rail:before{top:0}.tsl-path__rail:after{bottom:0}.tsl-path__rail span{display:block;width:1px;height:34%;background:linear-gradient(var(--tsl-primary),rgba(216,255,56,.2));box-shadow:0 0 18px rgba(216,255,56,.8);animation:tslRail 5s ease-in-out infinite alternate}
@keyframes tslRail{from{height:14%;opacity:.3}to{height:100%;opacity:1}}
.tsl-path__stage{position:absolute;left:12%;width:82%;display:grid;grid-template-columns:72px 1fr;align-items:center;gap:20px;padding:0;border:0;background:none;text-align:left;cursor:pointer;transform-style:preserve-3d;transition:opacity .3s ease,filter .3s ease,transform .35s ease}.tsl-path__stage--three{top:4%;transform:translateZ(-20px)}.tsl-path__stage--two{top:34%;transform:translateZ(18px)}.tsl-path__stage--one{top:64%;transform:translateZ(48px)}
.tsl-path__node{position:relative;z-index:2;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(10,13,17,.94);color:#788391;font-size:.75rem;box-shadow:0 0 0 10px rgba(9,11,15,.78);transition:.35s ease}.tsl-path__panel{position:relative;display:block;padding:28px 30px 26px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 30px 80px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(24px);overflow:hidden;transition:.35s ease}.tsl-path__panel:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.055) 48%,transparent 64%);transform:translateX(-120%);transition:transform .8s ease}.tsl-path__panel small{display:block;margin-bottom:10px;color:#818b99;font-size:.69rem;letter-spacing:.12em;text-transform:uppercase}.tsl-path__panel strong{display:block;max-width:430px;font-size:clamp(1.2rem,1.7vw,1.65rem);line-height:1.14;letter-spacing:-.035em}.tsl-path__panel em{display:block;margin-top:13px;color:#77818e;font-size:.82rem;font-style:normal}.tsl-path__stage:hover .tsl-path__panel:before,.tsl-path__stage.is-active .tsl-path__panel:before{transform:translateX(120%)}.tsl-path__stage:hover,.tsl-path__stage.is-active{z-index:5;transform:translateX(12px) translateZ(70px)}.tsl-path__stage.is-active .tsl-path__node{color:#090b0f;border-color:var(--tsl-primary);background:var(--tsl-primary);box-shadow:0 0 0 10px rgba(9,11,15,.8),0 0 35px rgba(216,255,56,.38)}.tsl-path__stage.is-active .tsl-path__panel{border-color:rgba(216,255,56,.34);box-shadow:0 38px 100px rgba(0,0,0,.4),0 0 60px rgba(216,255,56,.06),inset 0 1px 0 rgba(255,255,255,.12)}.tsl-path.has-focus .tsl-path__stage:not(.is-active){opacity:.35;filter:saturate(.35)}
.tsl-path__result{position:absolute;right:1%;bottom:1%;padding:18px 22px;border-left:1px solid var(--tsl-primary);background:linear-gradient(90deg,rgba(216,255,56,.07),transparent)}.tsl-path__result span{display:block;color:#77818d;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.tsl-path__result strong{display:block;margin-top:5px;font-size:1rem}
.tsl-scroll-cue{position:absolute;left:50%;bottom:24px;display:flex;flex-direction:column;align-items:center;gap:10px;color:#77818e;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;transform:translateX(-50%)}.tsl-scroll-cue i{position:relative;width:1px;height:42px;background:rgba(255,255,255,.14);overflow:hidden}.tsl-scroll-cue i:after{content:"";position:absolute;inset:0;background:var(--tsl-primary);transform:translateY(-100%);animation:tslScroll 2s ease-in-out infinite}@keyframes tslScroll{to{transform:translateY(100%)}}

.tsl-recognition,.tsl-system-experience,.tsl-transformation{position:relative;padding:150px 0;background:#0b0e13}.tsl-section-heading--wide{max-width:1040px}.tsl-section-heading--wide h2{max-width:980px;font-size:clamp(2.8rem,5.5vw,6.2rem);line-height:.98}
.tsl-scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:72px}.tsl-scenario{position:relative;min-height:660px;padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));overflow:hidden;transition:.35s ease}.tsl-scenario:before{content:"";position:absolute;inset:auto -20% -30% -20%;height:55%;background:radial-gradient(ellipse,rgba(216,255,56,.07),transparent 65%);opacity:0;transition:.35s ease}.tsl-scenario:hover{transform:translateY(-8px);border-color:rgba(216,255,56,.27)}.tsl-scenario:hover:before{opacity:1}.tsl-scenario__index{color:#56606d;font-size:.72rem;letter-spacing:.15em}.tsl-scenario__label{max-width:300px;margin:56px 0 52px;color:#fff;font-size:clamp(1.5rem,2.35vw,2.35rem);line-height:1.05;letter-spacing:-.045em}.tsl-scenario__flow{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.tsl-scenario__flow span,.tsl-scenario__flow strong{position:relative;z-index:1;padding:10px 13px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.025);color:#9da7b4;font-size:.83rem;font-weight:500}.tsl-scenario__flow strong{color:#10130a;background:var(--tsl-primary);border-color:var(--tsl-primary)}.tsl-scenario__flow i{width:1px;height:20px;margin-left:22px;background:linear-gradient(rgba(255,255,255,.14),rgba(216,255,56,.45))}.tsl-scenario>a{position:absolute;left:30px;right:30px;bottom:28px;display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);color:#d8dee7;font-size:.84rem}.tsl-scenario>a b{color:var(--tsl-primary)}

.tsl-system-experience{padding:180px 0;background:radial-gradient(circle at 70% 45%,rgba(216,255,56,.055),transparent 30rem),#090b0f}.tsl-system-experience__layout{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(600px,1.28fr);align-items:center;gap:7vw}.tsl-system-experience__copy h2{font-size:clamp(3.3rem,5.5vw,6rem)}.tsl-system-experience__copy>p{max-width:610px;font-size:1.1rem;line-height:1.75}.tsl-system-note{margin-top:42px;padding:25px 26px;border-left:1px solid var(--tsl-primary);background:linear-gradient(90deg,rgba(216,255,56,.07),transparent)}.tsl-system-note span{display:block;color:#77818d;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.tsl-system-note strong{display:block;margin:7px 0 8px;font-size:1.4rem}.tsl-system-note p{max-width:520px;margin:0;font-size:.91rem}
.tsl-core-map{position:relative;min-height:760px}.tsl-core-map__rings{position:absolute;left:50%;top:49%;width:620px;height:620px;transform:translate(-50%,-50%)}.tsl-core-map__rings i{position:absolute;inset:0;border:1px solid rgba(255,255,255,.07);border-radius:50%}.tsl-core-map__rings i:nth-child(2){inset:15%;border-color:rgba(216,255,56,.09)}.tsl-core-map__rings i:nth-child(3){inset:31%;border-style:dashed;animation:tslSpin 24s linear infinite}@keyframes tslSpin{to{transform:rotate(360deg)}}.tsl-core-map__beam{position:absolute;left:50%;top:16%;bottom:16%;width:1px;background:linear-gradient(transparent,rgba(216,255,56,.45),transparent);box-shadow:0 0 20px rgba(216,255,56,.28)}
.tsl-core-map__node{position:absolute;left:50%;z-index:2;width:390px;padding:21px 24px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(15,19,25,.82);text-align:left;transform:translateX(-50%);backdrop-filter:blur(20px);cursor:pointer;transition:.35s ease}.tsl-core-map__node--top{top:13%}.tsl-core-map__node--middle{top:39%}.tsl-core-map__node--bottom{top:65%}.tsl-core-map__node small{display:block;color:#697482;font-size:.67rem;letter-spacing:.14em}.tsl-core-map__node strong{display:block;margin:5px 0 4px;font-size:1.32rem}.tsl-core-map__node span{color:#84909e;font-size:.83rem}.tsl-core-map__node:hover,.tsl-core-map__node.is-active{border-color:rgba(216,255,56,.36);background:rgba(31,37,26,.9);transform:translateX(-50%) scale(1.035);box-shadow:0 20px 65px rgba(0,0,0,.36),0 0 45px rgba(216,255,56,.08)}.tsl-core-map__outcome{position:absolute;left:50%;bottom:0;text-align:center;transform:translateX(-50%)}.tsl-core-map__outcome span{display:block;color:#77818e;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.tsl-core-map__outcome strong{font-size:1.8rem;color:var(--tsl-primary)}

.tsl-transformation{padding:170px 0;background:#0b0e13}.tsl-transition-gallery{display:grid;gap:30px;margin-top:80px}.tsl-transition-panel{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;min-height:620px;padding:68px;border:1px solid rgba(255,255,255,.1);border-radius:38px;background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.018));overflow:hidden}.tsl-transition-panel:before{content:"";position:absolute;left:-12%;bottom:-50%;width:560px;height:560px;border-radius:50%;background:rgba(216,255,56,.045);filter:blur(80px)}.tsl-transition-panel header{position:relative;z-index:1}.tsl-transition-panel header>span{display:inline-block;padding:7px 11px;border:1px solid rgba(216,255,56,.22);border-radius:999px;color:var(--tsl-primary);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.tsl-transition-panel header p{margin:36px 0 10px;color:#7d8794;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.tsl-transition-panel header h3{max-width:380px;font-size:clamp(2.7rem,4.4vw,5rem);line-height:.94}.tsl-transition-panel__rows{position:relative;z-index:1;display:grid;align-content:center;gap:18px}.tsl-transition-panel__rows>div{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(80px,.5fr) minmax(160px,1.05fr);align-items:center;gap:18px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.08)}.tsl-transition-panel__rows span{color:#7f8996;font-size:.94rem}.tsl-transition-panel__rows strong{font-size:1rem;font-weight:550}.tsl-transition-panel__rows i{position:relative;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.12),var(--tsl-primary))}.tsl-transition-panel__rows i:after{content:"";position:absolute;right:-1px;top:50%;width:7px;height:7px;border-top:1px solid var(--tsl-primary);border-right:1px solid var(--tsl-primary);transform:translateY(-50%) rotate(45deg)}

.tsl-section--courses{padding-top:170px}.tsl-course{border-color:rgba(255,255,255,.09);background:linear-gradient(135deg,rgba(255,255,255,.052),rgba(255,255,255,.018))}.tsl-pricing-card{border-color:rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02))}.tsl-pricing-card--featured{border-color:rgba(216,255,56,.33);box-shadow:0 30px 100px rgba(0,0,0,.32),0 0 70px rgba(216,255,56,.06)}

@media (max-width:1100px){.tsl-container{width:min(calc(100% - 48px),var(--tsl-container))}.tsl-hero__grid{grid-template-columns:1fr;gap:70px}.tsl-hero__content{max-width:900px}.tsl-path{width:min(760px,100%);margin-inline:auto}.tsl-scenarios{grid-template-columns:1fr}.tsl-scenario{min-height:520px}.tsl-system-experience__layout{grid-template-columns:1fr}.tsl-core-map{width:min(780px,100%);margin-inline:auto}.tsl-transition-panel{grid-template-columns:1fr;min-height:auto}.tsl-transition-panel header h3{max-width:600px}.tsl-nav,.tsl-header .tsl-button--small{display:none}}
@media (max-width:720px){.tsl-container{width:min(calc(100% - 28px),var(--tsl-container))}.tsl-exhibition{padding:112px 0 72px}.tsl-hero h1{font-size:clamp(3.15rem,15vw,5rem)}.tsl-hero__actions{align-items:flex-start;flex-direction:column}.tsl-hero__microcopy{flex-wrap:wrap}.tsl-path{min-height:590px}.tsl-path__stage{left:1%;width:99%;grid-template-columns:48px 1fr;gap:10px}.tsl-path__node{width:40px;height:40px;box-shadow:0 0 0 6px rgba(9,11,15,.8)}.tsl-path__panel{padding:20px 18px;border-radius:18px}.tsl-path__panel strong{font-size:1.02rem}.tsl-path__rail{left:4.1%}.tsl-path__halo{width:280px;height:280px}.tsl-path__result{right:0}.tsl-scroll-cue{display:none}.tsl-recognition,.tsl-system-experience,.tsl-transformation{padding:100px 0}.tsl-section-heading--wide h2{font-size:clamp(2.55rem,11vw,4rem)}.tsl-scenario{min-height:590px;padding:24px}.tsl-scenario>a{left:24px;right:24px}.tsl-core-map{min-height:630px}.tsl-core-map__rings{width:430px;height:430px}.tsl-core-map__node{width:min(330px,88%)}.tsl-transition-gallery{margin-top:52px}.tsl-transition-panel{padding:34px 24px;border-radius:26px}.tsl-transition-panel__rows>div{grid-template-columns:1fr;gap:10px}.tsl-transition-panel__rows i{width:54px}.tsl-transition-panel header h3{font-size:3rem}}
@media (prefers-reduced-motion:reduce){.tsl-path__rail span,.tsl-scroll-cue i:after,.tsl-core-map__rings i:nth-child(3){animation:none}.tsl-path,.tsl-path__stage,.tsl-path__panel,.tsl-scenario,.tsl-core-map__node{transition:none}}

/* v2.1 — theme breakout and responsive hardening */
.tsl {
  position: relative;
  width: 100vw;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  clear: both;
}

.entry-content > .tsl,
.wp-block-post-content > .tsl,
.elementor-widget-container > .tsl {
  width: 100vw;
  max-width: none !important;
}

.tsl img,
.tsl svg,
.tsl video,
.tsl canvas {
  max-width: 100%;
}

.tsl h1,
.tsl h2,
.tsl h3,
.tsl h4,
.tsl p,
.tsl li,
.tsl span,
.tsl strong,
.tsl small,
.tsl a,
.tsl button {
  overflow-wrap: anywhere;
}

@media (min-width: 1101px) {
  .tsl-hero__grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
    gap: clamp(44px, 5vw, 80px);
  }

  .tsl-hero__content,
  .tsl-course > * {
    min-width: 0;
  }
}

@media (max-width: 900px) {
  .tsl-header__inner {
    min-height: 70px;
    gap: 14px;
  }

  .tsl-logo {
    min-width: 0;
    font-size: clamp(.92rem, 4.2vw, 1.15rem);
  }

  .tsl-logo__mark {
    flex: 0 0 auto;
  }

  .tsl-menu-button {
    width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
  }

  .tsl-menu-button > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

@media (max-width: 700px) {
  .tsl {
    overflow-x: clip;
  }

  .tsl-container {
    width: min(calc(100% - 32px), var(--tsl-container));
  }

  .tsl-section {
    padding-block: 88px;
  }

  .tsl-hero {
    min-height: auto;
    padding: 116px 0 72px;
  }

  .tsl-hero__grid,
  .tsl-course,
  .tsl-safety,
  .tsl-faq-layout,
  .tsl-pricing-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .tsl-hero h1,
  .tsl h1 {
    max-width: 100%;
    font-size: clamp(2.7rem, 13vw, 4.2rem);
    line-height: .94;
  }

  .tsl h2 {
    font-size: clamp(2.1rem, 10vw, 3.35rem);
  }

  .tsl-hero__facts {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .tsl-hero__facts li {
    padding: 0 0 16px;
    border-bottom: 1px solid var(--tsl-line);
  }

  .tsl-architecture {
    min-height: 620px;
    width: 100%;
  }

  .tsl-support-card {
    width: calc(100% - 16px);
    padding: 18px;
  }

  .tsl-support-card--one,
  .tsl-support-card--two,
  .tsl-support-card--three {
    left: 8px;
    right: auto;
  }

  .tsl-architecture__result {
    right: 8px;
    width: calc(100% - 16px);
    border-radius: 24px;
  }

  .tsl-course {
    gap: 34px;
    padding: 64px 0;
  }

  .tsl-course__visual {
    min-height: auto;
  }

  /* The orbital map becomes a clear vertical process on phones. */
  .tsl-deficit-map {
    display: grid;
    grid-template-columns: 1fr;
    place-items: stretch;
    gap: 12px;
    min-height: 0;
    padding: 24px;
    overflow: visible;
  }

  .tsl-deficit-map::before,
  .tsl-deficit-map::after {
    display: none;
  }

  .tsl-deficit-map__center,
  .tsl-deficit-map__result,
  .tsl-deficit-map > span {
    position: static;
    width: 100%;
    min-height: 64px;
    aspect-ratio: auto;
    padding: 15px 18px;
    border-radius: 18px;
    transform: none !important;
  }

  .tsl-deficit-map__center {
    order: 0;
  }

  .tsl-deficit-map > span {
    color: var(--tsl-muted);
    background: var(--tsl-bg-elevated);
  }

  .tsl-deficit-map__result {
    order: 99;
    min-height: 76px;
    color: #07100e;
  }

  .tsl-timeline {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .tsl-timeline__line {
    display: none;
  }

  .tsl-orbit-map {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 0;
    padding: 24px;
    overflow: visible;
  }

  .tsl-orbit-map__ring {
    display: none;
  }

  .tsl-orbit-map__core,
  .tsl-orbit-map__node {
    position: static;
    width: 100%;
    max-width: none;
    min-height: 64px;
    aspect-ratio: auto;
    padding: 15px 18px;
    border-radius: 18px;
    transform: none !important;
  }

  .tsl-orbit-map__core {
    order: 99;
  }

  .tsl-mechanisms {
    grid-template-columns: 1fr;
  }

  .tsl-system-node,
  .tsl-system-node__transition,
  .tsl-transform-card__columns {
    grid-template-columns: 1fr;
  }

  .tsl-system-map {
    padding: 18px;
  }

  .tsl-system-map__axis {
    display: none;
  }

  .tsl-system-node {
    gap: 16px;
    padding: 20px;
  }

  .tsl-system-node__transition i,
  .tsl-transform-card__arrow {
    transform: rotate(90deg);
  }

  .tsl-price-card {
    min-height: auto;
  }

  .tsl-section-heading--sticky {
    position: static;
  }

  .tsl-footer__inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 420px) {
  .tsl-container {
    width: min(calc(100% - 24px), var(--tsl-container));
  }

  .tsl-logo {
    gap: 9px;
  }

  .tsl-logo__mark {
    transform: scale(.88);
    transform-origin: left center;
  }

  .tsl-menu-button {
    width: 44px;
    height: 44px;
    min-height: 44px;
  }

  .tsl-hero__actions .tsl-button,
  .tsl-hero__actions .tsl-text-link {
    width: 100%;
    justify-content: center;
  }

  .tsl-support-card {
    grid-template-columns: 40px 1fr;
  }

  .tsl-support-card__number {
    width: 38px;
    height: 38px;
    margin-right: 10px;
  }

  .tsl-deficit-map,
  .tsl-orbit-map,
  .tsl-timeline {
    padding: 16px;
  }
}

/* v2.2 — спокойная типографическая шкала и ритм */
.tsl {
  --tsl-container: 1180px;
}

.tsl h1,
.tsl h2,
.tsl h3,
.tsl h4 {
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.tsl h1 {
  font-size: clamp(3.2rem, 5vw, 4.75rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.tsl h2 {
  font-size: clamp(2.35rem, 3.7vw, 3.25rem);
  line-height: 1.03;
  letter-spacing: -.045em;
}

.tsl h3 {
  font-size: clamp(1.65rem, 2.3vw, 2.25rem);
  line-height: 1.08;
}

.tsl h4 {
  font-size: 1.25rem;
}

.tsl p {
  font-size: 1rem;
  line-height: 1.7;
}

.tsl-hero h1 {
  max-width: 760px;
  margin: 18px 0 26px;
  font-size: clamp(3.35rem, 5.15vw, 4.9rem);
  font-weight: 650;
  line-height: .96;
  letter-spacing: -.058em;
}

.tsl-hero__lead {
  max-width: 650px;
  font-size: clamp(1.02rem, 1.25vw, 1.2rem);
  line-height: 1.65;
}

.tsl-section-heading,
.tsl-section-heading--wide {
  max-width: 900px;
}

.tsl-section-heading--wide h2,
.tsl-system-experience__copy h2 {
  max-width: 820px;
  font-size: clamp(2.45rem, 4vw, 3.55rem);
  line-height: 1.02;
}

.tsl-recognition,
.tsl-system-experience,
.tsl-transformation {
  padding-block: 126px;
}

.tsl-scenarios {
  margin-top: 56px;
}

.tsl-scenario__label {
  margin: 42px 0 42px;
  font-size: clamp(1.45rem, 1.9vw, 1.9rem);
  line-height: 1.12;
}

.tsl-transition-panel header h3 {
  max-width: 350px;
  font-size: clamp(2.15rem, 3.35vw, 3.5rem);
  line-height: 1;
}

.tsl-course-number,
.tsl-course__number,
.tsl-step-number {
  font-size: clamp(3.8rem, 7vw, 6.4rem) !important;
}

.tsl-final-cta h2,
.tsl-cta h2 {
  font-size: clamp(2.5rem, 4vw, 3.75rem);
}

@media (max-width: 1024px) {
  .tsl-hero h1 {
    font-size: clamp(3rem, 7vw, 4.35rem);
  }

  .tsl-section-heading--wide h2,
  .tsl-system-experience__copy h2 {
    font-size: clamp(2.3rem, 5.2vw, 3.2rem);
  }
}

@media (max-width: 720px) {
  .tsl-container {
    width: min(calc(100% - 32px), var(--tsl-container));
  }

  .tsl-hero h1 {
    max-width: 100%;
    font-size: clamp(2.55rem, 11.2vw, 3.3rem);
    line-height: 1;
    letter-spacing: -.048em;
  }

  .tsl-hero__lead {
    font-size: 1rem;
    line-height: 1.62;
  }

  .tsl h2,
  .tsl-section-heading--wide h2,
  .tsl-system-experience__copy h2 {
    max-width: 100%;
    font-size: clamp(2rem, 8.8vw, 2.65rem);
    line-height: 1.06;
    letter-spacing: -.04em;
  }

  .tsl h3,
  .tsl-transition-panel header h3 {
    font-size: clamp(1.65rem, 7vw, 2.15rem);
  }

  .tsl-recognition,
  .tsl-system-experience,
  .tsl-transformation {
    padding-block: 88px;
  }

  .tsl-scenarios {
    margin-top: 40px;
  }

  .tsl-scenario__label {
    margin-block: 34px;
    font-size: 1.55rem;
  }
}

@media (max-width: 390px) {
  .tsl-hero h1 {
    font-size: 2.45rem;
  }

  .tsl h2,
  .tsl-section-heading--wide h2,
  .tsl-system-experience__copy h2 {
    font-size: 1.95rem;
  }
}

/* v2.3 — компактная типографика: информационный интерфейс вместо постера */
.tsl {
  --tsl-container: 1160px;
}

/* Базовая шкала */
.tsl h1 {
  font-size: clamp(2.75rem, 4.1vw, 3.65rem) !important;
  line-height: 1.01 !important;
  letter-spacing: -.045em !important;
}

.tsl h2,
.tsl-section-heading--wide h2,
.tsl-system-experience__copy h2 {
  max-width: 760px !important;
  font-size: clamp(2rem, 3vw, 2.65rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.038em !important;
}

.tsl h3,
.tsl-transition-panel header h3 {
  font-size: clamp(1.55rem, 2.15vw, 2.1rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -.032em !important;
}

.tsl h4 {
  font-size: 1.15rem !important;
}

.tsl p {
  font-size: .98rem;
  line-height: 1.68;
}

/* Первый экран */
.tsl-hero h1 {
  max-width: 660px !important;
  margin: 14px 0 22px !important;
  font-size: clamp(2.8rem, 4.25vw, 3.65rem) !important;
  line-height: .99 !important;
  letter-spacing: -.047em !important;
}

.tsl-hero__lead {
  max-width: 590px !important;
  font-size: clamp(.98rem, 1.05vw, 1.08rem) !important;
  line-height: 1.62 !important;
}

.tsl-hero__actions {
  margin-top: 28px !important;
}

.tsl-hero__microcopy {
  margin-top: 28px !important;
}

/* Секции */
.tsl-recognition,
.tsl-system-experience,
.tsl-transformation {
  padding-block: 96px !important;
}

.tsl-section-heading,
.tsl-section-heading--wide {
  max-width: 780px !important;
}

.tsl-scenarios {
  margin-top: 42px !important;
}

.tsl-scenario {
  min-height: 570px !important;
}

.tsl-scenario__label {
  max-width: 270px !important;
  margin: 34px 0 34px !important;
  font-size: clamp(1.3rem, 1.55vw, 1.6rem) !important;
  line-height: 1.16 !important;
}

.tsl-system-experience {
  padding-block: 108px !important;
}

.tsl-system-experience__copy > p {
  font-size: 1rem !important;
}

.tsl-transition-gallery {
  margin-top: 52px !important;
}

.tsl-transition-panel {
  min-height: 520px !important;
  padding: 48px !important;
}

.tsl-transition-panel header h3 {
  max-width: 300px !important;
  font-size: clamp(1.9rem, 2.7vw, 2.55rem) !important;
  line-height: 1.04 !important;
}

.tsl-course-number,
.tsl-course__number,
.tsl-step-number {
  font-size: clamp(3rem, 5vw, 4.7rem) !important;
}

.tsl-final-cta h2,
.tsl-cta h2 {
  font-size: clamp(2rem, 3vw, 2.75rem) !important;
}

@media (max-width: 1024px) {
  .tsl h1,
  .tsl-hero h1 {
    font-size: clamp(2.55rem, 5.6vw, 3.35rem) !important;
  }

  .tsl h2,
  .tsl-section-heading--wide h2,
  .tsl-system-experience__copy h2 {
    font-size: clamp(1.9rem, 4.2vw, 2.4rem) !important;
  }

  .tsl-transition-panel {
    padding: 38px !important;
  }
}

@media (max-width: 720px) {
  .tsl-container {
    width: min(calc(100% - 28px), var(--tsl-container));
  }

  .tsl-hero h1 {
    font-size: clamp(2.15rem, 9.2vw, 2.75rem) !important;
    line-height: 1.02 !important;
  }

  .tsl h2,
  .tsl-section-heading--wide h2,
  .tsl-system-experience__copy h2 {
    font-size: clamp(1.75rem, 7.5vw, 2.15rem) !important;
    line-height: 1.1 !important;
  }

  .tsl h3,
  .tsl-transition-panel header h3 {
    font-size: clamp(1.4rem, 6vw, 1.75rem) !important;
  }

  .tsl p,
  .tsl-hero__lead {
    font-size: .96rem !important;
  }

  .tsl-recognition,
  .tsl-system-experience,
  .tsl-transformation {
    padding-block: 68px !important;
  }

  .tsl-scenarios,
  .tsl-transition-gallery {
    margin-top: 32px !important;
  }

  .tsl-scenario {
    min-height: 520px !important;
  }

  .tsl-scenario__label {
    margin-block: 28px !important;
    font-size: 1.35rem !important;
  }

  .tsl-transition-panel {
    min-height: auto !important;
    padding: 28px 20px !important;
  }

  .tsl-transition-panel header h3 {
    max-width: 100% !important;
    font-size: 1.8rem !important;
  }

  .tsl-course-number,
  .tsl-course__number,
  .tsl-step-number {
    font-size: 3.4rem !important;
  }
}

@media (max-width: 390px) {
  .tsl-hero h1 {
    font-size: 2.2rem !important;
  }

  .tsl h2,
  .tsl-section-heading--wide h2,
  .tsl-system-experience__copy h2 {
    font-size: 1.8rem !important;
  }

  .tsl-transition-panel header h3 {
    font-size: 1.65rem !important;
  }
}

/* v3.0 — restrained editorial typography and stable responsive sizing */
.tsl {
  --tsl-display: clamp(42px, 4.1vw, 60px);
  --tsl-section-title: clamp(32px, 3vw, 44px);
  --tsl-card-title: clamp(25px, 2vw, 32px);
  --tsl-body: clamp(16px, 1.2vw, 19px);
}
.tsl .tsl-hero__title,
.tsl .tsl-display,
.tsl h1 {
  font-size: var(--tsl-display) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  max-width: 820px !important;
}
.tsl .tsl-section-title,
.tsl .tsl-section-heading h2,
.tsl section > .tsl-container > h2,
.tsl h2:not(.tsl-modal h2) {
  font-size: var(--tsl-section-title) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  max-width: 760px !important;
}
.tsl h3 {
  font-size: var(--tsl-card-title) !important;
  line-height: 1.12 !important;
}
.tsl p,
.tsl li {
  font-size: var(--tsl-body);
}
.tsl .tsl-section,
.tsl section {
  padding-top: clamp(72px, 8vw, 120px) !important;
  padding-bottom: clamp(72px, 8vw, 120px) !important;
}
.tsl .tsl-section-heading,
.tsl .tsl-section__heading {
  margin-bottom: clamp(34px, 4vw, 56px) !important;
}
.tsl .tsl-transform-card,
.tsl .tsl-course,
.tsl .tsl-scenario-card {
  padding: clamp(24px, 3vw, 42px) !important;
}
@media (max-width: 767px) {
  .tsl {
    --tsl-display: clamp(34px, 10vw, 43px);
    --tsl-section-title: clamp(28px, 8.2vw, 36px);
    --tsl-card-title: clamp(23px, 6.8vw, 29px);
    --tsl-body: 16px;
  }
  .tsl .tsl-hero__title,
  .tsl .tsl-display,
  .tsl h1,
  .tsl .tsl-section-title,
  .tsl .tsl-section-heading h2,
  .tsl h2:not(.tsl-modal h2) {
    max-width: 100% !important;
  }
  .tsl .tsl-section,
  .tsl section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
}

/* Interactive diagnostic — v3.1 */
.tsl-diagnostic{position:relative;padding:clamp(88px,10vw,150px) 0;background:linear-gradient(180deg,#080a0d 0%,#0b0f13 48%,#080a0d 100%);overflow:hidden}
.tsl-diagnostic:before{content:"";position:absolute;inset:10% auto auto 50%;width:min(860px,90vw);aspect-ratio:1;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(216,255,56,.08),transparent 64%);pointer-events:none}
.tsl-diagnostic__shell{position:relative;max-width:1040px;margin:clamp(42px,6vw,78px) auto 0;padding:clamp(28px,4vw,52px);border:1px solid rgba(255,255,255,.08);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));box-shadow:0 30px 100px rgba(0,0,0,.35);backdrop-filter:blur(18px)}
.tsl-diagnostic__progress{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:clamp(36px,5vw,60px)}
.tsl-diagnostic__progress span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:50%;font-size:12px;font-weight:800;letter-spacing:.08em;color:#7d8794;transition:.25s ease}
.tsl-diagnostic__progress span.is-active,.tsl-diagnostic__progress span.is-complete{color:#080a0d;background:#d8ff38;border-color:#d8ff38;box-shadow:0 0 28px rgba(216,255,56,.22)}
.tsl-diagnostic__progress i{width:72px;height:1px;background:rgba(255,255,255,.1)}
.tsl-diagnostic__step{padding:0;border:0;margin:0;min-width:0}
.tsl-diagnostic__step legend{display:block;width:100%;max-width:780px;margin:0 auto clamp(26px,4vw,40px);padding:0;text-align:center;color:#f7f8fa;font-size:clamp(26px,3vw,40px);line-height:1.08;font-weight:780;letter-spacing:-.035em}
.tsl-diagnostic__step legend small{display:block;margin-bottom:12px;color:#d8ff38;font-size:12px;line-height:1.2;letter-spacing:.2em;text-transform:uppercase}
.tsl-diagnostic__answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tsl-diagnostic__answers label{position:relative;display:block;min-width:0;cursor:pointer}
.tsl-diagnostic__answers input{position:absolute;opacity:0;pointer-events:none}
.tsl-diagnostic__answers span{display:flex;flex-direction:column;min-height:182px;padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.025);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}
.tsl-diagnostic__answers b{font-size:18px;line-height:1.25;color:#f4f6f8}
.tsl-diagnostic__answers em{margin-top:14px;font-size:15px;line-height:1.55;font-style:normal;color:#9ea8b5}
.tsl-diagnostic__answers label:hover span{transform:translateY(-3px);border-color:rgba(216,255,56,.34)}
.tsl-diagnostic__answers input:checked + span{border-color:#d8ff38;background:rgba(216,255,56,.07);box-shadow:inset 0 0 0 1px rgba(216,255,56,.18),0 18px 50px rgba(0,0,0,.22)}
.tsl-diagnostic__answers input:focus-visible + span{outline:2px solid #d8ff38;outline-offset:3px}
.tsl-diagnostic__controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:34px}
.tsl-diagnostic__controls .tsl-button:last-child{justify-self:end}
.tsl-diagnostic__controls p{margin:0;text-align:center;color:#77818d;font-size:14px}
.tsl-diagnostic__result{text-align:center;max-width:760px;margin:0 auto;padding:12px 0}
.tsl-diagnostic__result-mark{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 auto 28px}
.tsl-diagnostic__result-mark i{display:block;width:11px;height:11px;border-radius:50%;background:#d8ff38;box-shadow:0 0 20px rgba(216,255,56,.45)}
.tsl-diagnostic__result-mark i+ i:before{content:"";display:block;width:1px;height:8px;margin-top:-8px;margin-left:5px;background:rgba(216,255,56,.5)}
.tsl-diagnostic__result h3{max-width:680px;margin:0 auto 20px;font-size:clamp(30px,4vw,48px);line-height:1.03;letter-spacing:-.045em;color:#f7f8fa}
.tsl-diagnostic__result>p:not(.tsl-eyebrow){max-width:660px;margin:0 auto;color:#aab4c0;font-size:18px;line-height:1.65}
.tsl-diagnostic__result-actions{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:34px}
.tsl-diagnostic__result small{display:block;margin-top:28px;color:#68727e;font-size:13px}
.tsl-diagnostic__result .tsl-text-link{background:none;border:0;color:#c9d0d8;cursor:pointer;padding:8px}
@media(max-width:860px){.tsl-diagnostic__answers{grid-template-columns:1fr}.tsl-diagnostic__answers span{min-height:0}.tsl-diagnostic__controls{grid-template-columns:auto 1fr auto}.tsl-diagnostic__controls p{display:none}}
@media(max-width:520px){.tsl-diagnostic{padding:78px 0}.tsl-diagnostic__shell{padding:24px 16px;border-radius:22px}.tsl-diagnostic__progress i{width:36px}.tsl-diagnostic__step legend{font-size:27px;text-align:left}.tsl-diagnostic__answers span{padding:20px}.tsl-diagnostic__controls{display:flex;justify-content:space-between}.tsl-diagnostic__result-actions{flex-direction:column;gap:12px}.tsl-diagnostic__result-actions .tsl-button{width:100%}}

/* v3.2 — contrast, spacing and editorial hierarchy fixes */

/* 1. High-contrast controls. Never allow theme styles to turn CTA text white. */
.tsl .tsl-button,
.tsl a.tsl-button,
.tsl button.tsl-button,
.tsl input[type="submit"],
.tsl .wpcf7-submit {
  color: #08100c !important;
  -webkit-text-fill-color: #08100c !important;
  background-color: #d8ff38 !important;
  border-color: #d8ff38 !important;
  text-shadow: none !important;
  font-weight: 800 !important;
}

.tsl .tsl-button:hover,
.tsl a.tsl-button:hover,
.tsl button.tsl-button:hover,
.tsl input[type="submit"]:hover,
.tsl .wpcf7-submit:hover {
  color: #050806 !important;
  -webkit-text-fill-color: #050806 !important;
  background-color: #ecff91 !important;
  border-color: #ecff91 !important;
}

.tsl .tsl-button--secondary,
.tsl button.tsl-button--secondary,
.tsl a.tsl-button--secondary {
  color: #f7f8fa !important;
  -webkit-text-fill-color: #f7f8fa !important;
  background: #171c22 !important;
  border-color: rgba(255,255,255,.22) !important;
  box-shadow: none !important;
}

.tsl .tsl-button--secondary:hover,
.tsl button.tsl-button--secondary:hover,
.tsl a.tsl-button--secondary:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #222a33 !important;
  border-color: rgba(216,255,56,.55) !important;
}

.tsl .tsl-button:disabled,
.tsl button:disabled,
.tsl input[type="submit"]:disabled {
  color: #727a70 !important;
  -webkit-text-fill-color: #727a70 !important;
  background: #242a27 !important;
  border-color: #343b37 !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* 2. Green flow pills and bottom guides must stay inside their content area. */
.tsl-scenario {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding-bottom: 28px !important;
  overflow: hidden !important;
}

.tsl-scenario__label {
  flex: 0 0 auto;
  margin-bottom: 28px !important;
}

.tsl-scenario__flow {
  flex: 0 0 auto;
  padding-bottom: 28px;
}

.tsl-scenario__flow span,
.tsl-scenario__flow strong {
  max-width: 100%;
  white-space: normal;
  line-height: 1.35;
}

.tsl-scenario > a {
  position: static !important;
  width: 100%;
  margin-top: auto;
  padding-top: 18px;
}

/* Keep hero/path labels from intersecting the result plate. */
.tsl-path {
  padding-bottom: 82px;
}

.tsl-path__result {
  bottom: 4px !important;
  max-width: min(360px, 72%);
}

.tsl-path__stage--one {
  top: 60% !important;
}

/* 3. Course program: lesson names are supporting UI, not display headings. */
.tsl-course__program {
  margin-top: 8px;
}

.tsl-course__program h4 {
  margin: 0 0 18px !important;
  font-size: clamp(1.1rem, 1.5vw, 1.35rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -.018em !important;
}

.tsl-course__program .tsl-accordion__item h3,
.tsl-course__program .tsl-accordion__item button,
.tsl-course__program .tsl-accordion__item button span {
  font-size: clamp(.94rem, 1.05vw, 1.05rem) !important;
  line-height: 1.38 !important;
  letter-spacing: -.01em !important;
  font-weight: 650 !important;
}

.tsl-course__program .tsl-accordion__item button {
  min-height: 66px;
  padding: 17px 4px !important;
  gap: 14px;
}

.tsl-course__program .tsl-accordion__item button i {
  width: 25px;
  height: 25px;
}

.tsl-course__program .tsl-accordion__panel {
  padding: 0 42px 20px 4px !important;
}

.tsl-course__program .tsl-accordion__panel p {
  font-size: .95rem !important;
  line-height: 1.65 !important;
}

/* 4. Purchase notes / safety information / FAQ share one restrained scale. */
.tsl-safety h2,
.tsl-faq-layout .tsl-section-heading h2,
.tsl-faq-layout .tsl-section-heading--sticky h2 {
  font-size: clamp(1.8rem, 2.5vw, 2.45rem) !important;
  line-height: 1.1 !important;
  max-width: 560px !important;
}

.tsl-safety > p,
.tsl-safety p {
  font-size: .98rem !important;
  line-height: 1.68 !important;
}

.tsl-accordion--large .tsl-accordion__item h3,
.tsl-accordion--large .tsl-accordion__item button,
.tsl-accordion--large .tsl-accordion__item button span {
  font-size: clamp(1rem, 1.15vw, 1.12rem) !important;
  line-height: 1.4 !important;
  letter-spacing: -.012em !important;
  font-weight: 650 !important;
}

.tsl-accordion--large .tsl-accordion__item button {
  min-height: 70px;
  padding: 18px 2px !important;
}

.tsl-accordion--large .tsl-accordion__panel p {
  font-size: .96rem !important;
  line-height: 1.68 !important;
}

/* Diagnostic answer cards: stronger selected contrast and readable controls. */
.tsl-diagnostic__answers input:checked + span {
  background: #d8ff38 !important;
  border-color: #d8ff38 !important;
  box-shadow: 0 16px 46px rgba(216,255,56,.14) !important;
}

.tsl-diagnostic__answers input:checked + span b,
.tsl-diagnostic__answers input:checked + span em {
  color: #08100c !important;
  -webkit-text-fill-color: #08100c !important;
}

@media (max-width: 860px) {
  .tsl-path {
    padding-bottom: 96px;
  }

  .tsl-scenario {
    padding-bottom: 24px !important;
  }

  .tsl-scenario__flow {
    padding-bottom: 22px;
  }
}

@media (max-width: 720px) {
  .tsl-path {
    min-height: 650px !important;
    padding-bottom: 96px;
  }

  .tsl-path__stage--three { top: 2% !important; }
  .tsl-path__stage--two { top: 31% !important; }
  .tsl-path__stage--one { top: 60% !important; }

  .tsl-path__result {
    right: 0 !important;
    bottom: 0 !important;
    max-width: calc(100% - 48px);
    padding: 14px 16px !important;
  }

  .tsl-course__program h4 {
    font-size: 1.12rem !important;
  }

  .tsl-course__program .tsl-accordion__item button,
  .tsl-course__program .tsl-accordion__item button span,
  .tsl-accordion--large .tsl-accordion__item button,
  .tsl-accordion--large .tsl-accordion__item button span {
    font-size: .96rem !important;
    line-height: 1.42 !important;
  }

  .tsl-course__program .tsl-accordion__item button,
  .tsl-accordion--large .tsl-accordion__item button {
    min-height: 62px;
    padding-block: 15px !important;
  }

  .tsl-safety h2,
  .tsl-faq-layout .tsl-section-heading h2,
  .tsl-faq-layout .tsl-section-heading--sticky h2 {
    font-size: clamp(1.65rem, 7vw, 2rem) !important;
  }

  .tsl .tsl-button,
  .tsl input[type="submit"],
  .tsl .wpcf7-submit {
    min-height: 52px;
    padding-inline: 20px;
    font-size: .94rem !important;
  }
}

/* v3.3 — фирменный футер и отключение подвала темы только на лендинге */
body.tsl-landing-page footer:not(.tsl-footer),
body.tsl-landing-page .site-footer,
body.tsl-landing-page #colophon,
body.tsl-landing-page .footer-widgets,
body.tsl-landing-page .footer-area,
body.tsl-landing-page .elementor-location-footer {
  display: none !important;
}

body.tsl-landing-page .tsl-footer {
  display: block !important;
}

.tsl-footer {
  position: relative;
  overflow: hidden;
  padding: 72px 0 28px;
  background: #080a0d;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: #f7f8fa;
}

.tsl-footer::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 260px;
  left: 12%;
  top: -220px;
  border-radius: 50%;
  background: rgba(216, 255, 56, 0.08);
  filter: blur(90px);
  pointer-events: none;
}

.tsl-footer__main {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 1.6fr) minmax(150px, 0.7fr) minmax(210px, 0.9fr);
  gap: clamp(36px, 6vw, 96px);
  align-items: start;
  padding-bottom: 56px;
}

.tsl-footer__brand .tsl-logo {
  display: inline-flex;
  margin-bottom: 20px;
}

.tsl-footer__brand p {
  max-width: 500px;
  margin: 0;
  color: #aab4c2;
  font-size: 16px;
  line-height: 1.65;
}

.tsl-footer__nav,
.tsl-footer__legal {
  display: grid;
  gap: 13px;
}

.tsl-footer__nav a,
.tsl-footer__legal a,
.tsl-footer__bottom a {
  width: fit-content;
  color: #b9c2cd !important;
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none !important;
  transition: color 180ms ease, transform 180ms ease;
}

.tsl-footer__nav a:hover,
.tsl-footer__legal a:hover,
.tsl-footer__bottom a:hover {
  color: #d8ff38 !important;
  transform: translateX(2px);
}

.tsl-footer__nav a:focus-visible,
.tsl-footer__legal a:focus-visible,
.tsl-footer__bottom a:focus-visible {
  outline: 2px solid #d8ff38;
  outline-offset: 5px;
  border-radius: 3px;
}

.tsl-footer__bottom {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  color: #747f8d;
  font-size: 13px;
}

.tsl-footer__bottom a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-size: 13px;
}

@media (max-width: 820px) {
  .tsl-footer {
    padding: 56px 0 24px;
  }

  .tsl-footer__main {
    grid-template-columns: 1fr 1fr;
    gap: 40px 28px;
    padding-bottom: 40px;
  }

  .tsl-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 520px) {
  .tsl-footer__main {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .tsl-footer__brand {
    grid-column: auto;
  }

  .tsl-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }
}
