/* Phase 4.3 v8 — shared-coordinate orientation spokes and final copy tightening */

.team-leader-page {
  background: var(--mm-bg);
}

.tl-section-copy {
  max-width: 470px;
}

.tl-cta-pair,
.tl-final-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: nowrap;
}

.tl-cta-meta {
  margin-top: 13px;
  text-align: center;
}

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.tl-hero {
  overflow: hidden;
  background: var(--mm-bg);
}

.tl-hero-shell {
  min-height: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: clamp(96px, 12vh, 140px);
  padding-bottom: clamp(72px, 9vh, 108px);
}

.tl-hero-copy {
  width: min(100%, 900px);
  text-align: center;
}

.tl-hero h1 {
  max-width: 840px;
  margin-inline: auto;
}

.tl-hero-lede {
  max-width: 720px;
  margin: clamp(26px, 3.2vh, 36px) auto 0;
  color: var(--mm-muted);
  font-size: clamp(17px, 1.55vw, 21px);
  line-height: 1.62;
}

.tl-cta-pair {
  margin-top: clamp(28px, 4vh, 38px);
}


/* ---------------------------------------------------------
   ORIENTATION
   --------------------------------------------------------- */

.tl-orientation {
  background: var(--mm-paper);
}

.tl-orientation-layout {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(48px, 6vw, 82px);
  align-items: center;
}

.tl-orientation .tl-section-copy {
  max-width: 430px;
}

.tl-orientation .tl-section-copy h2 {
  max-width: 420px;
}

.tl-orientation .body-lg {
  max-width: 430px;
  margin-top: 28px;
}

.tl-orientation-field {
  position: relative;
  width: min(100%, 610px);
  aspect-ratio: 1.2 / 1;
  justify-self: stretch;
}

.tl-orientation-guides {
  position: absolute;
  inset: 6% 7%;
  width: 86%;
  height: 88%;
  overflow: visible;
}

.tl-orientation-guides line {
  stroke: rgba(13,23,40,.07);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.tl-orientation-centre {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 118px;
  height: 118px;
  transform: translate(-50%, -50%);
  display: grid;
  place-content: center;
  border: 1px solid rgba(13,23,40,.15);
  border-radius: 50%;
  background: rgba(251,249,244,.94);
  text-align: center;
  z-index: 3;
}

.tl-orientation-centre span,
.tl-orientation-centre strong {
  display: block;
  text-transform: uppercase;
}

.tl-orientation-centre span {
  color: var(--mm-muted);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .14em;
}

.tl-orientation-centre strong {
  margin-top: 5px;
  color: var(--mm-ink);
  font-size: 12px;
  letter-spacing: .08em;
}

.tl-orientation-item {
  position: absolute;
  z-index: 4;
  width: 180px;
}

.tl-orientation-item h3 {
  margin: 6px 0 0;
  color: var(--mm-ink);
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.tl-orientation-name {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.tl-orientation-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 7px;
  border-radius: 50%;
  vertical-align: middle;
  background: currentColor;
}

.tl-pioneer { left: 50%; top: 3%; transform: translateX(-50%); text-align: center; }
.tl-builder { right: 2%; top: 24%; text-align: left; }
.tl-expert { right: 2%; bottom: 23%; text-align: left; }
.tl-strategist { left: 50%; bottom: 1%; transform: translateX(-50%); text-align: center; }
.tl-confidant { left: 2%; bottom: 23%; text-align: right; }
.tl-architect { left: 2%; top: 24%; text-align: right; }

.tl-pioneer { color: var(--pioneer); }
.tl-builder { color: var(--builder); }
.tl-expert { color: var(--expert); }
.tl-strategist { color: var(--strategist); }
.tl-confidant { color: var(--confidant); }
.tl-architect { color: var(--architect); }

.tl-orientation-item h3 {
  color: var(--mm-ink);
}

/* ---------------------------------------------------------
   APPLICATION
   --------------------------------------------------------- */

.tl-application {
  background: var(--mm-bg);
}

.tl-application-shell {
  width: min(calc(100% - (2 * var(--gutter))), 1120px);
}

.tl-application-intro {
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}

.tl-application-intro h2 {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(44px, 5vw, 68px);
}

.tl-application-intro .body-lg {
  max-width: 660px;
  margin: 22px auto 0;
}

.tl-nnm-comparison {
  margin-top: clamp(34px, 4.5vh, 52px);
}

.tl-nnm-target {
  width: max-content;
  margin: 0 auto;
  text-align: center;
}

.tl-nnm-target span {
  display: block;
  color: var(--mm-muted);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.tl-nnm-target strong {
  display: block;
  margin-top: 6px;
  color: var(--mm-ink);
  font-size: clamp(26px, 2.7vw, 36px);
  letter-spacing: -.045em;
}

.tl-nnm-connector {
  position: relative;
  width: min(630px, 64%);
  height: 46px;
  margin: 8px auto 0;
}

.tl-nnm-stem {
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 18px;
  background: rgba(183,143,55,.58);
}

.tl-nnm-branch {
  position: absolute;
  top: 17px;
  width: calc(50% - 1px);
  height: 29px;
  border-top: 1px solid rgba(13,23,40,.13);
}

.tl-nnm-branch-left {
  left: 0;
  border-left: 1px solid rgba(13,23,40,.13);
}

.tl-nnm-branch-right {
  right: 0;
  border-right: 1px solid rgba(13,23,40,.13);
}

.tl-nnm-routes {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(70px, 8vw, 110px);
}

.tl-nnm-routes::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 4px;
  bottom: 2px;
  width: 1px;
  background: rgba(13,23,40,.085);
}

.tl-nnm-route {
  padding: 0 clamp(12px, 2vw, 28px);
}

.tl-profile-pair {
  display: flex;
  gap: 7px;
  align-items: center;
  margin-bottom: 13px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.tl-profile-pair .pioneer { color: #2b8f84; }
.tl-profile-pair .strategist { color: #6d5c99; }
.tl-profile-pair .builder { color: #318267; }
.tl-profile-pair .confidant { color: #9e5879; }

.tl-nnm-route h3 {
  max-width: 420px;
  margin: 0;
  color: var(--mm-ink);
  font-size: clamp(25px, 2.4vw, 34px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.tl-nnm-route ol {
  list-style: none;
  counter-reset: route-question;
  max-width: 440px;
  margin: 22px 0 0;
  padding: 0;
}

.tl-nnm-route li {
  counter-increment: route-question;
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  padding: 8px 0;
  color: var(--mm-muted);
  font-size: 14px;
  line-height: 1.43;
}

.tl-nnm-route li::before {
  content: counter(route-question, decimal-leading-zero);
  color: var(--mm-gold);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
  padding-top: 3px;
}

.tl-application-closing {
  margin: clamp(28px, 4vh, 42px) auto 0;
  text-align: center;
  color: var(--mm-muted);
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 720;
  letter-spacing: -.035em;
}

.tl-application-closing strong {
  color: var(--mm-ink);
  font-weight: 900;
}

/* ---------------------------------------------------------
   METHOD
   --------------------------------------------------------- */

.tl-method {
  background: var(--mm-paper);
}

.tl-method-shell {
  width: min(calc(100% - (2 * var(--gutter))), 1120px);
}

.tl-method-intro {
  max-width: 890px;
}

.tl-method-intro h2 {
  max-width: 860px;
  font-size: clamp(44px, 5vw, 68px);
}

.tl-method-intro .body-lg {
  max-width: 700px;
  margin-top: 22px;
}

.tl-method-sequence {
  display: grid;
  grid-template-columns: minmax(0,.8fr) 46px minmax(0,1.1fr) 46px minmax(0,.95fr) 46px minmax(0,1fr);
  gap: 0 12px;
  align-items: start;
  margin-top: clamp(46px, 6vh, 68px);
  padding: 28px 0 0;
  border-top: 1px solid rgba(13,23,40,.14);
}

.tl-method-stage {
  min-width: 0;
}

.tl-stage-number {
  color: var(--mm-gold);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
}

.tl-method-stage h3 {
  margin: 12px 0 0;
  color: var(--mm-ink);
  font-size: clamp(25px, 2.2vw, 33px);
  line-height: 1;
  letter-spacing: -.05em;
}

.tl-method-stage p {
  max-width: 240px;
  margin: 15px 0 0;
  color: var(--mm-muted);
  font-size: 14px;
  line-height: 1.48;
}

.tl-method-arrow {
  padding-top: 39px;
  text-align: center;
  color: rgba(13,23,40,.24);
  font-size: 22px;
  font-weight: 400;
}

.tl-method-closing {
  margin: clamp(32px, 4.5vh, 48px) 0 0;
  padding-top: 21px;
  border-top: 1px solid rgba(13,23,40,.11);
  color: var(--mm-muted);
  font-size: clamp(20px, 1.9vw, 26px);
  font-weight: 720;
  letter-spacing: -.035em;
}

.tl-method-closing strong {
  color: var(--mm-ink);
  font-weight: 900;
}

/* ---------------------------------------------------------
   ACTION
   --------------------------------------------------------- */

.tl-action {
  background: var(--mm-bg);
}

.tl-action-layout {
  display: grid;
  grid-template-columns: minmax(0, .74fr) minmax(0, 1.26fr);
  gap: clamp(46px, 5.5vw, 76px);
  align-items: center;
}

.tl-action .tl-section-copy {
  max-width: 360px;
}

.tl-action h2 {
  max-width: 360px;
  font-size: clamp(40px, 4vw, 56px);
}

.tl-question-rows {
  position: relative;
  padding-left: 18px;
  border-top: 1px solid rgba(13,23,40,.13);
}

.tl-question-rows::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, rgba(183,143,55,.52), rgba(183,143,55,.06));
}

.tl-question-row {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 18px;
  align-items: start;
  padding: clamp(19px, 2.5vh, 26px) 0;
  border-bottom: 1px solid rgba(13,23,40,.095);
}

.tl-question-number {
  color: var(--mm-gold);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  padding-top: 3px;
}

.tl-question-row p {
  margin: 0;
  color: var(--mm-ink);
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.35;
  font-weight: 760;
  letter-spacing: -.025em;
}

/* ---------------------------------------------------------
   FINAL CTA
   --------------------------------------------------------- */

.tl-final {
  background:
    radial-gradient(circle at 50% 7%, rgba(255,255,255,.42), transparent 33%),
    linear-gradient(180deg, #e4e8e6 0%, var(--mm-cta-mid) 46%, #cbd6d7 100%);
}

.tl-final .final-cta-content {
  width: min(820px, 100%);
}

.tl-final .final-cta-title {
  max-width: 760px;
  font-size: clamp(54px, 5.8vw, 82px);
  line-height: .95;
}

.tl-final .final-cta-lede {
  max-width: 600px;
}


/* ---------------------------------------------------------
   MOTION
   --------------------------------------------------------- */

.js .tl-orientation-item,
.js .tl-method-stage,
.js .tl-question-row {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .42s ease, transform .42s cubic-bezier(.2,.7,.25,1);
}

.js .tl-orientation-field.is-visible .tl-orientation-item,
.js .tl-method-sequence.is-visible .tl-method-stage,
.js .tl-question-rows.is-visible .tl-question-row {
  opacity: 1;
  transform: none;
}

.js .tl-orientation-field.is-visible .tl-pioneer { transition-delay: .02s; }
.js .tl-orientation-field.is-visible .tl-builder,
.js .tl-orientation-field.is-visible .tl-architect { transition-delay: .06s; }
.js .tl-orientation-field.is-visible .tl-expert,
.js .tl-orientation-field.is-visible .tl-confidant { transition-delay: .10s; }
.js .tl-orientation-field.is-visible .tl-strategist { transition-delay: .14s; }

.js .tl-method-sequence.is-visible .tl-method-stage:nth-of-type(1) { transition-delay: .02s; }
.js .tl-method-sequence.is-visible .tl-method-stage:nth-of-type(2) { transition-delay: .07s; }
.js .tl-method-sequence.is-visible .tl-method-stage:nth-of-type(3) { transition-delay: .12s; }
.js .tl-method-sequence.is-visible .tl-method-stage:nth-of-type(4) { transition-delay: .17s; }

.js .tl-question-rows.is-visible .tl-question-row:nth-child(1) { transition-delay: .02s; }
.js .tl-question-rows.is-visible .tl-question-row:nth-child(2) { transition-delay: .05s; }
.js .tl-question-rows.is-visible .tl-question-row:nth-child(3) { transition-delay: .08s; }
.js .tl-question-rows.is-visible .tl-question-row:nth-child(4) { transition-delay: .11s; }
.js .tl-question-rows.is-visible .tl-question-row:nth-child(5) { transition-delay: .14s; }

/* ---------------------------------------------------------
   DESKTOP VIEWPORT TUNING
   --------------------------------------------------------- */

@media (min-width: 981px) and (min-height: 680px) {
  .tl-orientation-field {
    max-height: 570px;
  }

  .tl-final .final-cta-main {
    padding-top: clamp(86px, 10vh, 118px);
    padding-bottom: clamp(60px, 7vh, 82px);
  }
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 980px) {
  .tl-orientation-layout,
  .tl-action-layout {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .tl-orientation .tl-section-copy,
  .tl-action .tl-section-copy {
    max-width: 680px;
  }

  .tl-orientation-field {
    width: min(100%, 650px);
    justify-self: center;
  }

  .tl-action h2 {
    max-width: 650px;
  }

  .tl-method-sequence {
    grid-template-columns: 1fr 34px 1fr;
    gap: 28px 14px;
  }

  .tl-method-arrow:nth-of-type(2) {
    display: none;
  }

  .tl-method-stage:nth-of-type(3),
  .tl-method-stage:nth-of-type(4) {
    margin-top: 8px;
  }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {
  .tl-hero-shell {
    padding-top: 108px;
    padding-bottom: 54px;
  }

  .tl-hero h1 {
    font-size: clamp(46px, 13vw, 64px);
  }

  .tl-hero-lede {
    font-size: 17px;
    line-height: 1.55;
  }

  .tl-cta-pair,
  .tl-final-actions {
    flex-direction: column;
  }

  .tl-orientation-field {
    aspect-ratio: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .tl-orientation-guides,
  .tl-orientation-centre {
    display: none;
  }

  .tl-orientation-item,
  .tl-pioneer,
  .tl-builder,
  .tl-expert,
  .tl-strategist,
  .tl-confidant,
  .tl-architect {
    position: static;
    width: auto;
    transform: none;
    text-align: left;
    padding: 20px 0;
    border-bottom: 1px solid rgba(13,23,40,.1);
  }

  .tl-orientation-item h3 {
    font-size: 21px;
  }

  .tl-application-intro {
    text-align: left;
  }

  .tl-application-intro h2,
  .tl-application-intro .body-lg {
    margin-inline: 0;
  }

  .tl-nnm-connector {
    width: 1px;
    height: 30px;
    margin: 14px auto 4px;
    background: rgba(13,23,40,.13);
  }

  .tl-nnm-stem,
  .tl-nnm-branch {
    display: none;
  }

  .tl-nnm-routes {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .tl-nnm-routes::after {
    display: none;
  }

  .tl-nnm-route {
    padding: 0;
  }

  .tl-nnm-route + .tl-nnm-route {
    padding-top: 34px;
    border-top: 1px solid rgba(13,23,40,.11);
  }

  .tl-application-closing {
    text-align: left;
    font-size: 23px;
  }

  .tl-method-sequence {
    display: block;
    margin-top: 38px;
    padding-top: 0;
    border-top: 0;
  }

  .tl-method-stage {
    position: relative;
    padding: 22px 0 24px 48px;
    border-top: 1px solid rgba(13,23,40,.11);
  }

  .tl-stage-number {
    position: absolute;
    left: 0;
    top: 28px;
  }

  .tl-method-stage h3 {
    font-size: 28px;
  }

  .tl-method-stage p {
    max-width: none;
  }

  .tl-method-arrow {
    display: none;
  }

  .tl-method-closing {
    font-size: 22px;
  }

  .tl-action h2 {
    font-size: clamp(43px, 12vw, 58px);
  }

  .tl-question-rows {
    padding-left: 16px;
  }

  .tl-question-row {
    grid-template-columns: 34px minmax(0,1fr);
    gap: 12px;
    padding: 21px 0;
  }

  .tl-question-row p {
    font-size: 17px;
  }

  .tl-final .final-cta-title {
    font-size: clamp(48px, 13vw, 66px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .js .tl-orientation-item,
  .js .tl-method-stage,
  .js .tl-question-row {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* v4 chapter label refinement */
.team-leader-page .chapter-number,
.team-leader-page .final-cta-kicker {
  color: rgba(183, 143, 55, .82);
  font-size: 8px;
  letter-spacing: .14em;
}


/* v4 final CTA spacing after motif removal */
.tl-final .final-cta-content {
  padding-top: clamp(18px, 2vh, 28px);
  padding-bottom: clamp(18px, 2vh, 28px);
}

.tl-final .final-cta-lede {
  margin-top: clamp(22px, 2.8vh, 30px);
}

.tl-final .final-cta-actions {
  margin-top: clamp(24px, 3vh, 34px);
}


@media (max-width: 1120px) and (min-width: 981px) {
  .tl-orientation-layout {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 42px;
  }

  .tl-action-layout {
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 38px;
  }

  .tl-orientation-field {
    width: min(100%, 560px);
  }
}


/* =========================================================
   V5 OVERRIDES
   ========================================================= */

/* Hero: two-paragraph rhythm and nav-height compensation on snap desktops */
.tl-hero-lede {
  max-width: 720px;
  margin: clamp(28px, 3.3vh, 38px) auto 0;
}

.tl-hero-lede p {
  margin: 0;
  color: var(--mm-muted);
  font-size: clamp(17px, 1.55vw, 21px);
  line-height: 1.58;
}

.tl-hero-lede p + p {
  margin-top: clamp(10px, 1.4vh, 16px);
}

.tl-hero .tl-cta-pair {
  margin-top: clamp(30px, 3.8vh, 40px);
}

.tl-hero .tl-cta-meta {
  margin-top: clamp(14px, 1.8vh, 18px);
}

@media (min-width: 981px) and (min-height: 680px) {
  .tl-hero {
    min-height: calc(100svh - 64px);
  }

  .tl-hero-shell {
    min-height: calc(100svh - 64px);
    padding-top: clamp(64px, 7.5vh, 88px);
    padding-bottom: clamp(46px, 5.2vh, 62px);
  }
}

/* Larger, more legible chapter eyebrows */
.team-leader-page .chapter-number,
.team-leader-page .final-cta-kicker {
  font-size: clamp(10px, .72vw, 11px);
  line-height: 1.15;
  letter-spacing: .12em;
  font-weight: 900;
  color: rgba(183, 143, 55, .92);
}

/* Orientation: exact line/dot geometry and richer action descriptors */
.tl-orientation-field {
  width: min(100%, 620px);
  aspect-ratio: 1.2 / 1;
}

.tl-orientation-guides {
  inset: 0;
  width: 100%;
  height: 100%;
}

.tl-orientation-guides .tl-guide-line {
  stroke: rgba(13,23,40,.095);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.tl-orientation-guides .tl-guide-dot {
  stroke: var(--mm-paper);
  stroke-width: 2;
}

.tl-dot-pioneer { fill: var(--pioneer); }
.tl-dot-builder { fill: var(--builder); }
.tl-dot-expert { fill: var(--expert); }
.tl-dot-strategist { fill: var(--strategist); }
.tl-dot-confidant { fill: var(--confidant); }
.tl-dot-architect { fill: var(--architect); }

.tl-orientation-item {
  width: 205px;
}

.tl-orientation-item h3 {
  margin: 7px 0 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: var(--mm-ink);
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.07;
  letter-spacing: -.03em;
}

.tl-orientation-item h3 span {
  font-weight: 500;
  color: var(--mm-muted);
}

.tl-orientation-item h3 strong {
  font-weight: 850;
  color: var(--mm-ink);
}

.tl-pioneer {
  left: 50%;
  top: 1%;
  transform: translateX(-50%);
  text-align: center;
}

.tl-builder {
  right: 0;
  top: 29.6%;
  transform: translateY(-50%);
  text-align: left;
}

.tl-expert {
  right: 0;
  bottom: auto;
  top: 70.4%;
  transform: translateY(-50%);
  text-align: left;
}

.tl-strategist {
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  text-align: center;
}

.tl-confidant {
  left: 0;
  bottom: auto;
  top: 70.4%;
  transform: translateY(-50%);
  text-align: right;
}

.tl-architect {
  left: 0;
  top: 29.6%;
  transform: translateY(-50%);
  text-align: right;
}

.tl-orientation-centre {
  width: 116px;
  height: 116px;
}

/* Action: remove the block/table feel */
.tl-action-layout {
  grid-template-columns: minmax(0, .68fr) minmax(0, 1.32fr);
  gap: clamp(52px, 6vw, 88px);
}

.tl-action .tl-section-copy {
  max-width: 345px;
}

.tl-action h2 {
  max-width: 340px;
  font-size: clamp(39px, 3.85vw, 54px);
}

.tl-question-rows {
  max-width: 690px;
  padding-left: 0;
  border-top: 0;
}

.tl-question-rows::before {
  display: none;
}

.tl-question-row {
  position: relative;
  grid-template-columns: 46px minmax(0,1fr);
  gap: 18px;
  padding: clamp(18px, 2.25vh, 24px) 0;
  border-bottom: 0;
}

.tl-question-row:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 64px;
  right: 10%;
  bottom: 0;
  height: 1px;
  background: rgba(13,23,40,.09);
}

.tl-question-number {
  font-size: 10px;
  padding-top: 4px;
}

.tl-question-row p {
  max-width: 560px;
  font-size: clamp(18px, 1.52vw, 21px);
  line-height: 1.36;
  font-weight: 730;
}

/* Final CTA: more deliberate vertical spacing */
.tl-final .final-cta-kicker {
  margin-bottom: clamp(22px, 2.8vh, 30px);
}

.tl-final .final-cta-lede {
  margin-top: clamp(28px, 3.5vh, 38px);
}

.tl-final .final-cta-actions {
  margin-top: clamp(30px, 3.8vh, 42px);
}

.tl-final .tl-cta-meta {
  margin-top: clamp(15px, 1.8vh, 20px);
}

/* Shared subtle per-screen reveal sequencing */
.js .tl-sequence .tl-step {
  opacity: 0;
  transform: translateY(9px);
  transition:
    opacity .48s ease,
    transform .52s cubic-bezier(.2,.7,.25,1);
}

.js .tl-sequence.is-visible .tl-step {
  opacity: 1;
  transform: none;
}

.js .tl-sequence.is-visible .tl-step-1 { transition-delay: .02s; }
.js .tl-sequence.is-visible .tl-step-2 { transition-delay: .09s; }
.js .tl-sequence.is-visible .tl-step-3 { transition-delay: .16s; }
.js .tl-sequence.is-visible .tl-step-4 { transition-delay: .23s; }
.js .tl-sequence.is-visible .tl-step-5 { transition-delay: .30s; }

/* Orientation lines draw first; endpoint dots and labels follow */
.js .tl-orientation-guides .tl-guide-line {
  stroke-dasharray: 190;
  stroke-dashoffset: 190;
  transition: stroke-dashoffset .58s cubic-bezier(.2,.7,.25,1);
}

.js .tl-orientation-guides .tl-guide-dot {
  opacity: 0;
  transform: scale(.55);
  transform-box: fill-box;
  transform-origin: center;
  transition: opacity .30s ease, transform .36s cubic-bezier(.2,.7,.25,1);
}

.js .tl-orientation-field.is-visible .tl-guide-line {
  stroke-dashoffset: 0;
}

.js .tl-orientation-field.is-visible .tl-guide-dot {
  opacity: 1;
  transform: scale(1);
}

.js .tl-orientation-field.is-visible .tl-guide-pioneer,
.js .tl-orientation-field.is-visible .tl-guide-strategist { transition-delay: .05s; }
.js .tl-orientation-field.is-visible .tl-guide-builder,
.js .tl-orientation-field.is-visible .tl-guide-architect { transition-delay: .10s; }
.js .tl-orientation-field.is-visible .tl-guide-expert,
.js .tl-orientation-field.is-visible .tl-guide-confidant { transition-delay: .15s; }

.js .tl-orientation-field.is-visible .tl-dot-pioneer,
.js .tl-orientation-field.is-visible .tl-dot-strategist { transition-delay: .42s; }
.js .tl-orientation-field.is-visible .tl-dot-builder,
.js .tl-orientation-field.is-visible .tl-dot-architect { transition-delay: .47s; }
.js .tl-orientation-field.is-visible .tl-dot-expert,
.js .tl-orientation-field.is-visible .tl-dot-confidant { transition-delay: .52s; }

/* Application: target → split → left/right routes → conclusion */
.js .tl-nnm-comparison .tl-nnm-step {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .44s ease, transform .48s cubic-bezier(.2,.7,.25,1);
}

.js .tl-nnm-comparison.is-visible .tl-nnm-step {
  opacity: 1;
  transform: none;
}

.js .tl-nnm-comparison.is-visible .tl-nnm-step-1 { transition-delay: .02s; }
.js .tl-nnm-comparison.is-visible .tl-nnm-step-2 { transition-delay: .10s; }
.js .tl-nnm-comparison.is-visible .tl-nnm-step-3 { transition-delay: .18s; }
.js .tl-nnm-comparison.is-visible .tl-nnm-step-4 { transition-delay: .24s; }
.js .tl-nnm-comparison.is-visible .tl-nnm-step-5 { transition-delay: .32s; }

.js .tl-nnm-connector .tl-nnm-stem {
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .30s ease .08s;
}

.js .tl-nnm-connector .tl-nnm-branch {
  transform: scaleX(0);
  transition: transform .40s ease .20s;
}

.js .tl-nnm-connector .tl-nnm-branch-left { transform-origin: right; }
.js .tl-nnm-connector .tl-nnm-branch-right { transform-origin: left; }

.js .tl-nnm-comparison.is-visible .tl-nnm-stem {
  transform: scaleY(1);
}

.js .tl-nnm-comparison.is-visible .tl-nnm-branch {
  transform: scaleX(1);
}

/* Method: arrows participate in the sequence without becoming theatrical */
.js .tl-method-arrow {
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity .35s ease, transform .40s ease;
}

.js .tl-method-sequence.is-visible .tl-method-arrow {
  opacity: 1;
  transform: none;
}

.js .tl-method-sequence.is-visible .tl-method-arrow:nth-of-type(1) { transition-delay: .12s; }
.js .tl-method-sequence.is-visible .tl-method-arrow:nth-of-type(2) { transition-delay: .22s; }
.js .tl-method-sequence.is-visible .tl-method-arrow:nth-of-type(3) { transition-delay: .32s; }

@media (max-width: 980px) {
  .tl-orientation-field {
    width: min(100%, 620px);
  }

  .tl-action-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .tl-action .tl-section-copy,
  .tl-action h2 {
    max-width: 620px;
  }

  .tl-question-rows {
    max-width: 100%;
  }
}

@media (max-width: 700px) {
  .tl-hero {
    min-height: auto;
  }

  .tl-hero-shell {
    min-height: auto;
    padding-top: 108px;
    padding-bottom: 64px;
  }

  .tl-orientation-item h3 {
    display: block;
  }

  .tl-orientation-item h3 span,
  .tl-orientation-item h3 strong {
    display: inline;
  }

  .tl-orientation-item h3 span {
    margin-right: .28em;
  }

  .tl-question-row:not(:last-child)::after {
    left: 48px;
    right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .js .tl-sequence .tl-step,
  .js .tl-orientation-guides .tl-guide-dot,
  .js .tl-nnm-comparison .tl-nnm-step,
  .js .tl-method-arrow {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .js .tl-orientation-guides .tl-guide-line {
    stroke-dashoffset: 0 !important;
    transition: none !important;
  }

  .js .tl-nnm-connector .tl-nnm-stem,
  .js .tl-nnm-connector .tl-nnm-branch {
    transform: none !important;
    transition: none !important;
  }
}

/* =========================================================
   V6 OVERRIDES
   ========================================================= */

/* ---------------------------------------------------------
   HERO: exact snap height
   --------------------------------------------------------- */

/*
  The shared foundation gives .hero its own desktop padding.
  In v5 the child shell also carried a viewport-sized minimum height,
  which made the first section taller than the viewport. v6 makes
  the hero exactly one viewport high and lets the 72px navigation
  occupy the top band of that viewport.
*/
@media (min-width: 981px) and (min-height: 680px) {
  .tl-hero {
    height: 100svh;
    min-height: 100svh;
    padding: 0;
    display: block;
  }

  .tl-hero-shell {
    height: 100%;
    min-height: 0;
    padding: 72px 0 0;
    justify-content: center;
  }

  .tl-hero-copy {
    transform: translateY(-10px);
  }
}

/* Hero sequence is intentionally calmer than the inner sections. */
.js .tl-hero .tl-sequence.is-visible .tl-step-1 { transition-delay: .02s; }
.js .tl-hero .tl-sequence.is-visible .tl-step-2 { transition-delay: .11s; }
.js .tl-hero .tl-sequence.is-visible .tl-step-3 { transition-delay: .18s; }
.js .tl-hero .tl-sequence.is-visible .tl-step-4 { transition-delay: .27s; }
.js .tl-hero .tl-sequence.is-visible .tl-step-5 { transition-delay: .27s; }

/* ---------------------------------------------------------
   ORIENTATION: labels anchored to actual spoke endpoints
   --------------------------------------------------------- */

.tl-orientation-field {
  width: min(100%, 650px);
}

/*
  SVG endpoint coordinates:
  Pioneer    50%, 16.8%
  Builder    79%, 29.6%
  Expert     79%, 70.4%
  Strategist 50%, 83.2%
  Confidant  21%, 70.4%
  Architect  21%, 29.6%

  Label blocks below are positioned from those same coordinates.
*/
.tl-orientation-item {
  width: 220px;
}

.tl-orientation-item h3 {
  display: block;
  margin: 6px 0 0;
  color: var(--mm-ink);
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.12;
  letter-spacing: -.026em;
  font-weight: 500;
}

.tl-orientation-item h3 span,
.tl-orientation-item h3 strong {
  display: inline;
  color: var(--mm-ink);
}

.tl-orientation-item h3 span {
  font-weight: 500;
}

.tl-orientation-item h3 strong {
  margin-left: .23em;
  font-weight: 850;
}

.tl-orientation-name {
  margin-bottom: 1px;
}

/* Vertical endpoints */
.tl-pioneer {
  left: 50%;
  top: 16.8%;
  transform: translate(-50%, calc(-100% - 13px));
  text-align: center;
}

.tl-strategist {
  left: 50%;
  top: 83.2%;
  bottom: auto;
  transform: translate(-50%, 13px);
  text-align: center;
}

/* Right-hand endpoints */
.tl-builder {
  left: 79%;
  right: auto;
  top: 29.6%;
  transform: translate(14px, -50%);
  text-align: left;
}

.tl-expert {
  left: 79%;
  right: auto;
  top: 70.4%;
  bottom: auto;
  transform: translate(14px, -50%);
  text-align: left;
}

/* Left-hand endpoints */
.tl-architect {
  left: 21%;
  top: 29.6%;
  transform: translate(calc(-100% - 14px), -50%);
  text-align: right;
}

.tl-confidant {
  left: 21%;
  top: 70.4%;
  bottom: auto;
  transform: translate(calc(-100% - 14px), -50%);
  text-align: right;
}

/* The centre participates in the same reveal grammar. */
.js .tl-orientation-centre-reveal {
  opacity: 0;
  transform: translate(-50%, -50%) scale(.96);
  transition:
    opacity .34s ease,
    transform .42s cubic-bezier(.2,.7,.25,1);
}

.js .tl-orientation-field.is-visible .tl-orientation-centre-reveal {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* Draw spokes after the centre appears, then reveal endpoints and labels. */
.js .tl-orientation-field.is-visible .tl-guide-pioneer,
.js .tl-orientation-field.is-visible .tl-guide-strategist {
  transition-delay: .14s;
}

.js .tl-orientation-field.is-visible .tl-guide-builder,
.js .tl-orientation-field.is-visible .tl-guide-architect {
  transition-delay: .18s;
}

.js .tl-orientation-field.is-visible .tl-guide-expert,
.js .tl-orientation-field.is-visible .tl-guide-confidant {
  transition-delay: .22s;
}

.js .tl-orientation-field.is-visible .tl-dot-pioneer,
.js .tl-orientation-field.is-visible .tl-dot-strategist {
  transition-delay: .46s;
}

.js .tl-orientation-field.is-visible .tl-dot-builder,
.js .tl-orientation-field.is-visible .tl-dot-architect {
  transition-delay: .50s;
}

.js .tl-orientation-field.is-visible .tl-dot-expert,
.js .tl-orientation-field.is-visible .tl-dot-confidant {
  transition-delay: .54s;
}

/* Override the earlier item delays so labels follow their own endpoint dots. */
.js .tl-orientation-field.is-visible .tl-pioneer,
.js .tl-orientation-field.is-visible .tl-strategist {
  transition-delay: .50s;
}

.js .tl-orientation-field.is-visible .tl-builder,
.js .tl-orientation-field.is-visible .tl-architect {
  transition-delay: .54s;
}

.js .tl-orientation-field.is-visible .tl-expert,
.js .tl-orientation-field.is-visible .tl-confidant {
  transition-delay: .58s;
}

/* ---------------------------------------------------------
   TABLET / MOBILE
   --------------------------------------------------------- */

@media (max-width: 980px) {
  .tl-orientation-field {
    width: min(100%, 620px);
  }
}

@media (max-width: 700px) {
  .tl-hero-shell {
    height: auto;
    padding-top: 108px;
    padding-bottom: 64px;
  }

  .tl-hero-copy {
    transform: none;
  }

  .tl-orientation-item,
  .tl-pioneer,
  .tl-builder,
  .tl-expert,
  .tl-strategist,
  .tl-confidant,
  .tl-architect {
    transform: none;
  }

  .tl-orientation-item h3 {
    display: block;
  }

  .tl-orientation-item h3 span,
  .tl-orientation-item h3 strong {
    display: inline;
  }

  .tl-orientation-item h3 strong {
    margin-left: .23em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .js .tl-orientation-centre-reveal {
    opacity: 1 !important;
    transform: translate(-50%, -50%) scale(1) !important;
    transition: none !important;
  }
}


/* =========================================================
   V7 OVERRIDES
   ========================================================= */

/* The old label/dot system is replaced by one endpoint-anchored node. */
.tl-orientation-item {
  display: none !important;
}

.tl-orientation-node {
  position: absolute;
  left: var(--node-x);
  top: var(--node-y);
  width: 0;
  height: 0;
  z-index: 5;
  color: var(--mm-ink);
}

.tl-node-dot {
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 8px;
  border: 2px solid var(--mm-paper);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: currentColor;
  box-sizing: border-box;
  z-index: 2;
}

.tl-node-copy {
  position: absolute;
  width: 220px;
}

.tl-node-copy .tl-orientation-name {
  margin: 0 0 5px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
  line-height: 1;
  text-transform: uppercase;
  color: currentColor;
}

.tl-node-copy h3 {
  margin: 0;
  color: var(--mm-ink);
  font-size: clamp(17px, 1.38vw, 20px);
  line-height: 1.14;
  letter-spacing: -.025em;
  font-weight: 500;
}

.tl-node-copy h3 strong {
  font-weight: 850;
  color: var(--mm-ink);
}

/* Top/bottom nodes */
.tl-pioneer .tl-node-copy {
  left: 0;
  bottom: 15px;
  transform: translateX(-50%);
  text-align: center;
}

.tl-strategist .tl-node-copy {
  left: 0;
  top: 15px;
  transform: translateX(-50%);
  text-align: center;
}

/* Right-hand nodes */
.tl-builder .tl-node-copy,
.tl-expert .tl-node-copy {
  left: 15px;
  top: 0;
  transform: translateY(-50%);
  text-align: left;
}

/* Left-hand nodes */
.tl-architect .tl-node-copy,
.tl-confidant .tl-node-copy {
  right: 15px;
  top: 0;
  transform: translateY(-50%);
  text-align: right;
}

/* Archetype colours belong to the node itself, so dot and eyebrow always match. */
.tl-pioneer { color: var(--pioneer); }
.tl-builder { color: var(--builder); }
.tl-expert { color: var(--expert); }
.tl-strategist { color: var(--strategist); }
.tl-confidant { color: var(--confidant); }
.tl-architect { color: var(--architect); }

/* Unified node reveal: dot and copy are one visual object. */
.js .tl-orientation-node .tl-node-dot,
.js .tl-orientation-node .tl-node-copy {
  opacity: 0;
  transition:
    opacity .34s ease,
    transform .40s cubic-bezier(.2,.7,.25,1);
}

.js .tl-orientation-node .tl-node-dot {
  transform: translate(-50%, -50%) scale(.6);
}

.js .tl-pioneer .tl-node-copy,
.js .tl-strategist .tl-node-copy {
  transform: translateX(-50%) translateY(7px);
}

.js .tl-builder .tl-node-copy,
.js .tl-expert .tl-node-copy {
  transform: translate(7px, -50%);
}

.js .tl-architect .tl-node-copy,
.js .tl-confidant .tl-node-copy {
  transform: translate(-7px, -50%);
}

.js .tl-orientation-field.is-visible .tl-orientation-node .tl-node-dot,
.js .tl-orientation-field.is-visible .tl-orientation-node .tl-node-copy {
  opacity: 1;
}

.js .tl-orientation-field.is-visible .tl-orientation-node .tl-node-dot {
  transform: translate(-50%, -50%) scale(1);
}

.js .tl-orientation-field.is-visible .tl-pioneer .tl-node-copy,
.js .tl-orientation-field.is-visible .tl-strategist .tl-node-copy {
  transform: translateX(-50%) translateY(0);
}

.js .tl-orientation-field.is-visible .tl-builder .tl-node-copy,
.js .tl-orientation-field.is-visible .tl-expert .tl-node-copy {
  transform: translate(0, -50%);
}

.js .tl-orientation-field.is-visible .tl-architect .tl-node-copy,
.js .tl-orientation-field.is-visible .tl-confidant .tl-node-copy {
  transform: translate(0, -50%);
}

/* Pair the six nodes with the spoke timing. */
.js .tl-orientation-field.is-visible .tl-pioneer .tl-node-dot,
.js .tl-orientation-field.is-visible .tl-strategist .tl-node-dot {
  transition-delay: .44s;
}
.js .tl-orientation-field.is-visible .tl-pioneer .tl-node-copy,
.js .tl-orientation-field.is-visible .tl-strategist .tl-node-copy {
  transition-delay: .48s;
}

.js .tl-orientation-field.is-visible .tl-builder .tl-node-dot,
.js .tl-orientation-field.is-visible .tl-architect .tl-node-dot {
  transition-delay: .48s;
}
.js .tl-orientation-field.is-visible .tl-builder .tl-node-copy,
.js .tl-orientation-field.is-visible .tl-architect .tl-node-copy {
  transition-delay: .52s;
}

.js .tl-orientation-field.is-visible .tl-expert .tl-node-dot,
.js .tl-orientation-field.is-visible .tl-confidant .tl-node-dot {
  transition-delay: .52s;
}
.js .tl-orientation-field.is-visible .tl-expert .tl-node-copy,
.js .tl-orientation-field.is-visible .tl-confidant .tl-node-copy {
  transition-delay: .56s;
}

/* Method copy is a little wider because v7 uses more explicit stage language. */
.tl-method-stage:nth-of-type(3) p {
  max-width: 260px;
}

.tl-method-stage:nth-of-type(3) h3 {
  font-size: clamp(23px, 2vw, 30px);
}

/* Mobile converts endpoint nodes into a normal editorial list. */
@media (max-width: 700px) {
  .tl-orientation-node,
  .tl-pioneer,
  .tl-builder,
  .tl-expert,
  .tl-strategist,
  .tl-confidant,
  .tl-architect {
    position: static;
    width: auto;
    height: auto;
    display: grid;
    grid-template-columns: 18px minmax(0,1fr);
    gap: 0 8px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(13,23,40,.10);
    color: var(--mm-ink);
  }

  .tl-node-dot {
    position: static;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    justify-self: center;
    margin-top: 3px;
    transform: none !important;
  }

  .tl-pioneer .tl-node-dot { background: var(--pioneer); }
  .tl-builder .tl-node-dot { background: var(--builder); }
  .tl-expert .tl-node-dot { background: var(--expert); }
  .tl-strategist .tl-node-dot { background: var(--strategist); }
  .tl-confidant .tl-node-dot { background: var(--confidant); }
  .tl-architect .tl-node-dot { background: var(--architect); }

  .tl-node-copy,
  .tl-pioneer .tl-node-copy,
  .tl-builder .tl-node-copy,
  .tl-expert .tl-node-copy,
  .tl-strategist .tl-node-copy,
  .tl-confidant .tl-node-copy,
  .tl-architect .tl-node-copy {
    position: static;
    grid-column: 2;
    grid-row: 1;
    width: auto;
    transform: none !important;
    text-align: left;
  }

  .tl-node-copy .tl-orientation-name {
    margin-bottom: 5px;
  }

  .tl-node-copy h3 {
    font-size: 20px;
  }

  .js .tl-orientation-node .tl-node-dot,
  .js .tl-orientation-node .tl-node-copy {
    opacity: 1;
    transition: none;
  }
}

@media (prefers-reduced-motion: reduce) and (min-width: 701px) {
  .js .tl-orientation-node .tl-node-dot,
  .js .tl-orientation-node .tl-node-copy {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .js .tl-pioneer .tl-node-copy,
  .js .tl-strategist .tl-node-copy {
    transform: translateX(-50%) !important;
  }

  .js .tl-builder .tl-node-copy,
  .js .tl-expert .tl-node-copy,
  .js .tl-architect .tl-node-copy,
  .js .tl-confidant .tl-node-copy {
    transform: translateY(-50%) !important;
  }
}

@media (prefers-reduced-motion: reduce) and (max-width: 700px) {
  .team-leader-page .tl-orientation-node,
  .team-leader-page .tl-pioneer,
  .team-leader-page .tl-builder,
  .team-leader-page .tl-expert,
  .team-leader-page .tl-strategist,
  .team-leader-page .tl-confidant,
  .team-leader-page .tl-architect,
  .team-leader-page .tl-node-copy {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    rotate: none !important;
  }
}


/* =========================================================
   V8 OVERRIDES
   ========================================================= */

/* ---------------------------------------------------------
   ORIENTATION: spokes and endpoint nodes now share
   the same HTML coordinate system.
   --------------------------------------------------------- */

.tl-orientation-guides {
  display: none !important;
}

.tl-orientation-spokes {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.tl-spoke {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 1px;
  background: rgba(13,23,40,.095);
  transform-origin: 0 50%;
}

/*
  The field has aspect-ratio 1.2 / 1.

  Endpoint coordinates:
  Pioneer    50%, 16.8%
  Builder    79%, 29.6%
  Expert     79%, 70.4%
  Strategist 50%, 83.2%
  Confidant  21%, 70.4%
  Architect  21%, 29.6%

  These spoke lengths/angles are the exact vectors from the
  field centre to those same endpoint coordinates.
*/
.tl-spoke-pioneer {
  width: 27.6666667%;
  transform: rotate(-90deg);
}

.tl-spoke-builder {
  width: 33.6154726%;
  transform: rotate(-30.379126deg);
}

.tl-spoke-expert {
  width: 33.6154726%;
  transform: rotate(30.379126deg);
}

.tl-spoke-strategist {
  width: 27.6666667%;
  transform: rotate(90deg);
}

.tl-spoke-confidant {
  width: 33.6154726%;
  transform: rotate(149.620874deg);
}

.tl-spoke-architect {
  width: 33.6154726%;
  transform: rotate(-149.620874deg);
}

/* Keep centre and nodes above the spoke layer. */
.tl-orientation-centre {
  z-index: 3;
}

.tl-orientation-node {
  z-index: 4;
}

/* Slightly tighten node copy so the whole visual reads as one system. */
.tl-node-copy {
  width: 205px;
}

.tl-node-copy h3 {
  font-size: clamp(17px, 1.34vw, 19px);
  line-height: 1.12;
}

/* Spoke reveal replaces the old SVG stroke-draw reveal. */
.js .tl-spoke {
  opacity: 0;
  scale: 0 1;
  transition:
    opacity .25s ease,
    scale .46s cubic-bezier(.2,.7,.25,1);
}

.js .tl-spoke-pioneer,
.js .tl-spoke-strategist {
  transition-delay: .14s;
}

.js .tl-spoke-builder,
.js .tl-spoke-architect {
  transition-delay: .18s;
}

.js .tl-spoke-expert,
.js .tl-spoke-confidant {
  transition-delay: .22s;
}

.js .tl-orientation-field.is-visible .tl-spoke {
  opacity: 1;
  scale: 1 1;
}

/* Old SVG animation rules are intentionally neutralised. */
.js .tl-orientation-guides .tl-guide-line,
.js .tl-orientation-guides .tl-guide-dot {
  display: none !important;
}

/* ---------------------------------------------------------
   METHOD: slightly tighter copy hierarchy
   --------------------------------------------------------- */

.tl-method-intro {
  max-width: 830px;
}

.tl-method-intro h2 {
  max-width: 780px;
}

.tl-method-intro .body-lg {
  max-width: 620px;
}

.tl-method-stage:nth-of-type(3) p {
  max-width: 230px;
}

/* ---------------------------------------------------------
   Reduced motion
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .js .tl-spoke {
    opacity: 1 !important;
    scale: 1 1 !important;
    transition: none !important;
  }
}

/* =========================================================
   HERO REFINEMENT — PRODUCT EXPLAINER / VERTICAL RHYTHM
   ========================================================= */

.tl-hero .chapter-number {
  margin-bottom: clamp(26px, 3vh, 34px);
}

.tl-hero-lede {
  margin-top: clamp(30px, 3.6vh, 40px);
}

.tl-hero .tl-product-descriptor {
  max-width: 700px;
  margin: clamp(26px, 3.2vh, 34px) auto 0;
  color: var(--mm-ink);
  font-size: clamp(15px, 1.12vw, 17px);
  line-height: 1.48;
  font-weight: 800;
  letter-spacing: -.012em;
  text-wrap: balance;
}

.tl-hero .tl-cta-meta {
  margin-top: clamp(13px, 1.6vh, 17px);
  color: rgba(13, 23, 40, .62);
  font-size: 12px;
  font-weight: 760;
}

.tl-hero .tl-cta-pair {
  margin-top: clamp(26px, 3.2vh, 34px);
}

@media (min-width: 981px) and (min-height: 680px) {
  .tl-hero-copy {
    transform: translateY(-4px);
  }
}

@media (max-width: 700px) {
  .tl-hero .chapter-number {
    margin-bottom: 22px;
  }

  .tl-hero-lede {
    margin-top: 24px;
  }

  .tl-hero .tl-product-descriptor {
    max-width: 560px;
    margin-top: 24px;
    font-size: 15px;
    line-height: 1.46;
  }

  .tl-hero .tl-cta-meta {
    margin-top: 12px;
  }

  .tl-hero .tl-cta-pair {
    margin-top: 24px;
  }
}

/* =========================================================
   TEAM LEADERS — VISUAL REFINEMENT PASS 1
   Transfers the accepted Headhunters responsive / typography
   system and implements Team-Leader-specific compositions.
   ========================================================= */

.team-leader-page {
  overflow-x: clip;
}

.team-leader-page main,
.team-leader-page section,
.team-leader-page .shell,
.team-leader-page [class*="layout"],
.team-leader-page [class*="field"],
.team-leader-page [class*="route"],
.team-leader-page [class*="sequence"],
.team-leader-page [class*="comparison"] {
  min-width: 0;
}

.team-leader-page .nav {
  justify-content: flex-start;
}

.team-leader-page .hero h1 {
  font-size: var(--route-type-hero);
  line-height: .96;
  letter-spacing: -.058em;
}

.team-leader-page .chapter h2 {
  font-size: var(--route-type-section);
  line-height: .98;
  letter-spacing: -.052em;
}

.team-leader-page .body-lg,
.team-leader-page .tl-hero-lede,
.team-leader-page .final-cta-lede {
  font-size: var(--route-type-body);
  line-height: 1.54;
}

.team-leader-page .chapter-number,
.team-leader-page .final-cta-kicker {
  font-size: var(--route-type-meta);
  letter-spacing: .105em;
  color: #a67a24;
}

.team-leader-page .chapter {
  overflow: clip;
}

.tl-semantic-gold {
  color: #b78f37;
}

/* ---------------------------------------------------------
   HERO — preserve accepted structure
   --------------------------------------------------------- */

.tl-hero .tl-product-descriptor {
  font-size: var(--route-type-support);
  font-weight: 720;
}

.tl-hero .tl-cta-meta {
  font-size: 13px;
}

.tl-final .final-cta-title {
  font-size: clamp(48px, 5vw, 72px);
  line-height: .98;
}

.tl-final .final-cta-lede {
  font-size: var(--route-type-body);
}

@media (min-width: 701px) {
  .tl-final .btn {
    min-height: 60px;
    padding-inline: 32px;
    font-size: 16px;
  }
}

/* ---------------------------------------------------------
   01 · SIX ORIENTATIONS — larger desktop radial
   --------------------------------------------------------- */

.tl-orientation-layout {
  grid-template-columns: minmax(0, .64fr) minmax(0, 1.36fr);
  gap: clamp(54px, 6vw, 88px);
}

.tl-orientation .tl-section-copy {
  max-width: 470px;
}

.tl-orientation .tl-section-copy h2 {
  max-width: 470px;
  font-size: var(--route-type-section);
}

.tl-orientation .body-lg {
  max-width: 460px;
  margin-top: 24px;
}

.tl-orientation-field {
  width: min(100%, 760px);
  max-height: none;
  justify-self: end;
}

.tl-orientation-spokes {
  inset: 0;
}

.tl-spoke {
  background: rgba(13, 23, 40, .14);
}

.tl-orientation-centre {
  width: 124px;
  height: 124px;
  border-color: rgba(13, 23, 40, .20);
}

.tl-node-copy {
  width: 230px;
}

.tl-node-copy .tl-orientation-name {
  margin-bottom: 7px;
  font-size: 11px;
  letter-spacing: .105em;
}

.tl-node-copy h3 {
  font-size: clamp(19px, 1.55vw, 22px);
  line-height: 1.12;
}

/* ---------------------------------------------------------
   02 · SAME TARGET / DIFFERENT QUESTIONS
   Primary visual argument.
   --------------------------------------------------------- */

.tl-application-shell {
  max-width: 1160px;
}

.tl-application-intro {
  max-width: 960px;
}

.tl-application-intro h2 {
  max-width: 930px;
  font-size: var(--route-type-section);
}

.tl-application-intro .body-lg {
  max-width: 710px;
  margin-top: 20px;
}

.tl-nnm-comparison {
  margin-top: clamp(30px, 3.8vh, 42px);
}

.tl-nnm-target span {
  font-size: 9px;
  color: rgba(13, 23, 40, .55);
}

.tl-nnm-target strong {
  margin-top: 5px;
  font-size: clamp(21px, 1.8vw, 27px);
  letter-spacing: -.035em;
}

.tl-nnm-connector {
  width: min(700px, 68%);
  height: 42px;
  margin-top: 8px;
}

.tl-nnm-stem {
  height: 18px;
}

.tl-nnm-branch {
  top: 17px;
  height: 25px;
}

.tl-nnm-routes {
  gap: clamp(56px, 6vw, 86px);
  counter-reset: tl-route;
}

.tl-nnm-route {
  position: relative;
  min-width: 0;
  padding: 22px clamp(20px, 2vw, 30px) 2px;
  counter-increment: tl-route;
  border-top: 2px solid transparent;
}

.tl-nnm-route:first-child {
  border-image: linear-gradient(90deg, var(--pioneer), var(--strategist)) 1;
}

.tl-nnm-route:last-child {
  border-image: linear-gradient(90deg, var(--builder), var(--confidant)) 1;
}

.tl-profile-pair {
  margin-bottom: 15px;
  font-size: 11px;
  letter-spacing: .095em;
}

.tl-nnm-route h3 {
  max-width: 470px;
  font-size: clamp(28px, 2.35vw, 35px);
  line-height: 1.03;
}

.tl-nnm-route ol {
  margin-top: 24px;
}

.tl-nnm-route li {
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 11px;
  padding: 9px 0;
  font-size: var(--route-type-support);
  line-height: 1.46;
}

.tl-nnm-route li::before {
  font-size: 9px;
}

.tl-application-closing {
  max-width: 900px;
  margin-top: clamp(38px, 4.6vh, 50px);
  padding-top: 22px;
  border-top: 1px solid rgba(13, 23, 40, .10);
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.42;
  letter-spacing: -.02em;
}

/* ---------------------------------------------------------
   03 · PROFILE TO BUSINESS — stronger process
   --------------------------------------------------------- */

.tl-method-intro {
  max-width: 880px;
}

.tl-method-intro h2 {
  max-width: 840px;
  font-size: var(--route-type-section);
}

.tl-method-intro .body-lg {
  max-width: 700px;
  margin-top: 22px;
}

.tl-method-sequence {
  grid-template-columns:
    minmax(0, .88fr) 28px
    minmax(0, 1.02fr) 28px
    minmax(0, 1.14fr) 28px
    minmax(0, 1.18fr);
  gap: 0 10px;
  margin-top: clamp(40px, 5vh, 56px);
  padding-top: 30px;
  border-top-color: var(--route-section-rule-strong);
}

.tl-stage-number {
  font-size: 10px;
  letter-spacing: .11em;
}

.tl-method-stage h3,
.tl-method-stage:nth-of-type(3) h3 {
  margin-top: 12px;
  font-size: var(--route-type-h3);
  line-height: 1.04;
}

.tl-method-stage p,
.tl-method-stage:nth-of-type(3) p {
  max-width: 220px;
  margin-top: 13px;
  font-size: var(--route-type-support);
  line-height: 1.48;
}

.tl-method-arrow {
  padding-top: 40px;
  color: rgba(13, 23, 40, .32);
  font-size: 21px;
}

.tl-method-closing {
  margin-top: clamp(30px, 3.7vh, 40px);
  padding-top: 22px;
  font-size: clamp(18px, 1.42vw, 21px);
  line-height: 1.42;
  letter-spacing: -.02em;
}

/* ---------------------------------------------------------
   04 · NEXT RM REVIEW — refined question list
   --------------------------------------------------------- */

.tl-action-layout {
  grid-template-columns: minmax(0, .68fr) minmax(0, 1.32fr);
  gap: clamp(52px, 6vw, 88px);
}

.tl-action .tl-section-copy {
  max-width: 450px;
}

.tl-action h2 {
  max-width: 450px;
  font-size: var(--route-type-section);
  line-height: .98;
}

.tl-question-rows {
  padding-left: 16px;
  border-top-color: var(--route-section-rule-strong);
}

.tl-question-row {
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 16px;
  padding: clamp(21px, 2.6vh, 27px) 0;
  border-bottom-color: var(--route-section-rule);
}

.tl-question-number {
  font-size: 10px;
  letter-spacing: .10em;
}

.tl-question-row p {
  font-size: clamp(18px, 1.45vw, 21px);
  line-height: 1.4;
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 980px) {
  .tl-orientation-layout,
  .tl-action-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .tl-orientation .tl-section-copy,
  .tl-action .tl-section-copy,
  .tl-orientation .tl-section-copy h2,
  .tl-action h2 {
    max-width: 680px;
  }

  .tl-orientation-field {
    width: min(100%, 700px);
    justify-self: center;
  }

  .tl-method-sequence {
    grid-template-columns: 1fr 32px 1fr;
    gap: 24px 12px;
  }
}

/* ---------------------------------------------------------
   MOBILE — semantic layouts rather than stacked desktop
   --------------------------------------------------------- */

@media (max-width: 700px) {
  .team-leader-page .shell,
  .tl-application-shell,
  .tl-method-shell {
    width: min(calc(100% - (2 * var(--gutter))), var(--max));
    max-width: 100%;
    min-width: 0;
  }

  .team-leader-page .chapter {
    padding-top: 78px;
    padding-bottom: 82px;
  }

  .team-leader-page .chapter-number {
    margin-bottom: 16px;
  }

  .team-leader-page .chapter h2,
  .tl-orientation .tl-section-copy h2,
  .tl-application-intro h2,
  .tl-method-intro h2,
  .tl-action h2 {
    max-width: none;
    font-size: var(--route-type-section);
    line-height: 1.02;
  }

  .team-leader-page .body-lg {
    margin-top: 20px;
    font-size: var(--route-type-body);
  }

  .tl-hero-shell {
    padding-top: 56px;
    padding-bottom: 72px;
  }

  .tl-hero h1 {
    max-width: 100%;
    font-size: var(--route-type-hero);
  }

  .tl-hero-lede {
    max-width: 100%;
    margin-top: 26px;
    font-size: var(--route-type-body);
    line-height: 1.52;
  }

  .tl-hero .tl-product-descriptor {
    max-width: 100%;
    margin-top: 26px;
    font-size: 15px;
    line-height: 1.48;
  }

  .tl-hero .tl-cta-meta {
    margin-top: 13px;
    font-size: 13px;
  }

  .tl-hero .tl-cta-pair {
    margin-top: 27px;
  }

  /* 01 — 2 x 3 orientation grid */
  .tl-orientation-layout {
    gap: 38px;
  }

  .tl-orientation-field {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    aspect-ratio: auto;
    border-top: 1px solid var(--route-section-rule-strong);
    border-bottom: 0;
  }

  .tl-orientation-spokes,
  .tl-orientation-centre {
    display: none !important;
  }

  .tl-orientation-node,
  .tl-pioneer,
  .tl-builder,
  .tl-expert,
  .tl-strategist,
  .tl-confidant,
  .tl-architect {
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    width: auto;
    max-width: 100%;
    height: auto;
    min-width: 0;
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 20px 12px 21px;
    transform: none !important;
    text-align: left;
    border-bottom: 1px solid var(--route-section-rule);
    color: var(--mm-ink);
  }

  .tl-orientation-node:nth-of-type(even) {
    border-left: 1px solid var(--route-section-rule);
  }

  .tl-node-dot {
    position: static;
    width: 7px;
    height: 7px;
    margin-top: 4px;
    transform: none !important;
    border: 0;
  }

  .tl-pioneer .tl-node-dot { background: var(--pioneer); }
  .tl-builder .tl-node-dot { background: var(--builder); }
  .tl-expert .tl-node-dot { background: var(--expert); }
  .tl-strategist .tl-node-dot { background: var(--strategist); }
  .tl-confidant .tl-node-dot { background: var(--confidant); }
  .tl-architect .tl-node-dot { background: var(--architect); }

  .tl-node-copy,
  .tl-pioneer .tl-node-copy,
  .tl-builder .tl-node-copy,
  .tl-expert .tl-node-copy,
  .tl-strategist .tl-node-copy,
  .tl-confidant .tl-node-copy,
  .tl-architect .tl-node-copy {
    position: static;
    width: auto;
    min-width: 0;
    transform: none !important;
    text-align: left;
  }

  .tl-pioneer .tl-node-copy .tl-orientation-name { color: var(--pioneer); }
  .tl-builder .tl-node-copy .tl-orientation-name { color: var(--builder); }
  .tl-expert .tl-node-copy .tl-orientation-name { color: var(--expert); }
  .tl-strategist .tl-node-copy .tl-orientation-name { color: var(--strategist); }
  .tl-confidant .tl-node-copy .tl-orientation-name { color: var(--confidant); }
  .tl-architect .tl-node-copy .tl-orientation-name { color: var(--architect); }

  .tl-node-copy .tl-orientation-name {
    margin-bottom: 8px;
    font-size: 11px;
  }

  .tl-node-copy h3 {
    font-size: 18px;
    line-height: 1.2;
  }

  .js .tl-orientation-node .tl-node-dot,
  .js .tl-orientation-node .tl-node-copy {
    opacity: 1;
    transition: none;
  }

  /* 02 — explicit mobile comparison */
  .tl-application-intro {
    text-align: left;
  }

  .tl-application-intro h2,
  .tl-application-intro .body-lg {
    margin-inline: 0;
  }

  .tl-nnm-comparison {
    margin-top: 32px;
  }

  .tl-nnm-target {
    width: 100%;
    padding: 13px 16px 14px;
    border: 1px solid rgba(13, 23, 40, .12);
    border-radius: 10px;
    background: rgba(255, 255, 255, .34);
    text-align: left;
  }

  .tl-nnm-target strong {
    font-size: 23px;
  }

  .tl-nnm-connector {
    width: 1px;
    height: 24px;
    margin: 0 0 0 22px;
    background: rgba(13, 23, 40, .15);
  }

  .tl-nnm-stem,
  .tl-nnm-branch {
    display: none;
  }

  .tl-nnm-routes {
    grid-template-columns: 1fr;
    gap: 20px;
    width: 100%;
  }

  .tl-nnm-routes::after {
    display: none;
  }

  .tl-nnm-route,
  .tl-nnm-route + .tl-nnm-route {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 22px 19px 20px;
    border: 1px solid rgba(13, 23, 40, .13);
    border-left-width: 3px;
    border-top-width: 1px;
    border-image: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, .38);
  }

  .tl-nnm-route:first-child {
    border-left-color: var(--pioneer);
  }

  .tl-nnm-route:last-child {
    border-left-color: var(--builder);
  }

  .tl-nnm-route::before {
    content: counter(tl-route, decimal-leading-zero);
    display: block;
    margin-bottom: 13px;
    color: #a67a24;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .12em;
  }

  .tl-profile-pair {
    margin-bottom: 11px;
    font-size: 10px;
  }

  .tl-nnm-route h3 {
    max-width: none;
    font-size: 29px;
    line-height: 1.04;
  }

  .tl-nnm-route li {
    grid-template-columns: 22px minmax(0, 1fr);
    padding: 9px 0;
    font-size: 15px;
    line-height: 1.48;
  }

  .tl-application-closing {
    margin-top: 30px;
    padding-top: 20px;
    text-align: left;
    font-size: 17px;
    line-height: 1.45;
  }

  /* 03 — true vertical sequence */
  .tl-method-sequence {
    position: relative;
    display: block;
    margin-top: 34px;
    padding: 0;
    border-top: 0;
  }

  .tl-method-sequence::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 16px;
    bottom: 18px;
    width: 1px;
    background: rgba(183, 143, 55, .48);
  }

  .tl-method-stage {
    position: relative;
    min-width: 0;
    margin-top: 0 !important;
    padding: 0 0 30px 50px;
    border: 0;
  }

  .tl-method-stage:last-of-type {
    padding-bottom: 0;
  }

  .tl-stage-number {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 1px;
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(183, 143, 55, .56);
    border-radius: 50%;
    background: var(--mm-paper);
    font-size: 9px;
    letter-spacing: 0;
  }

  .tl-method-stage h3,
  .tl-method-stage:nth-of-type(3) h3 {
    margin-top: 0;
    font-size: 23px;
    line-height: 1.12;
  }

  .tl-method-stage p,
  .tl-method-stage:nth-of-type(3) p {
    max-width: none;
    margin-top: 7px;
    font-size: 15px;
    line-height: 1.48;
  }

  .tl-method-arrow {
    display: none;
  }

  .tl-method-closing {
    margin-top: 30px;
    padding-top: 20px;
    font-size: 17px;
    line-height: 1.45;
  }

  /* 04 — restrained practical question list */
  .tl-action-layout {
    gap: 38px;
  }

  .tl-question-rows {
    padding-left: 0;
    border-top-color: var(--route-section-rule-strong);
  }

  .tl-question-rows::before {
    display: none;
  }

  .tl-question-row {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    padding: 21px 0;
  }

  .tl-question-number {
    font-size: 10px;
    padding-top: 2px;
  }

  .tl-question-row p {
    font-size: 16px;
    line-height: 1.48;
  }

  /* Final */
  .tl-final .final-cta-title {
    font-size: clamp(40px, 10.4vw, 48px);
    line-height: 1;
  }

  .tl-final .final-cta-lede {
    font-size: 16px;
  }

  .tl-final .btn {
    width: 100%;
    min-height: 54px;
  }
}

/* =========================================================
   TEAM LEADERS — CALIBRATION PASS 2
   Narrow refinements after reviewing Visual Pass 1.
   ========================================================= */

@media (max-width: 700px) {

  /* 01 · Six orientations
     Make archetype names register faster than descriptions. */
  .tl-node-copy .tl-orientation-name {
    font-weight: 950;
    opacity: 1;
  }

  .tl-pioneer .tl-node-copy .tl-orientation-name { color: #2d9f92; }
  .tl-builder .tl-node-copy .tl-orientation-name { color: #388e72; }
  .tl-expert .tl-node-copy .tl-orientation-name { color: #5d92ad; }
  .tl-strategist .tl-node-copy .tl-orientation-name { color: #806eb1; }
  .tl-confidant .tl-node-copy .tl-orientation-name { color: #a96c88; }
  .tl-architect .tl-node-copy .tl-orientation-name { color: #aa8431; }

  /* 02 · Shared target
     Flatten the common objective so it reads as a shared anchor,
     not as a standalone content card. */
  .tl-nnm-target {
    padding: 11px 2px 13px;
    border: 0;
    border-top: 1px solid rgba(13, 23, 40, .13);
    border-bottom: 1px solid rgba(13, 23, 40, .13);
    border-radius: 0;
    background: transparent;
  }

  .tl-nnm-target span {
    font-size: 9px;
  }

  .tl-nnm-target strong {
    margin-top: 5px;
    font-size: 23px;
  }

  /* 04 · Review questions
     Slightly improve reading size and number visibility. */
  .tl-question-row p {
    font-size: 17px;
    line-height: 1.47;
  }

  .tl-question-number {
    color: #a67a24;
    font-size: 11px;
    font-weight: 950;
  }
}

/* =========================================================
   TEAM LEADERS — RADIAL CALIBRATION PASS 3
   Desktop only: remove endpoint dots and let neutral spokes
   carry the structure. Mobile grid markers remain unchanged.
   ========================================================= */

@media (min-width: 701px) {
  .tl-orientation-field .tl-node-dot {
    display: none !important;
  }

  .tl-orientation-field .tl-spoke {
    background: rgba(13, 23, 40, .18);
  }
}

/* =========================================================
   TEAM LEADERS — COMPARISON FRAMING
   Matches the accepted Headhunters comparison hierarchy.
   Requires the shared comparison framing classes already
   present in audience-routes.css.
   ========================================================= */

.tl-application-intro .comparison-example-label {
  margin-top: clamp(32px, 3.8vh, 40px);
}

.tl-application-intro + .tl-nnm-comparison {
  margin-top: clamp(12px, 1.6vh, 18px);
}

.tl-nnm-target strong {
  margin-top: 0;
}

.tl-profile-pair {
  font-size: 12px;
  letter-spacing: .085em;
}

.tl-application-closing.comparison-implication {
  max-width: 760px;
  margin: clamp(42px, 5vh, 54px) auto 0;
  padding-top: 17px;
  text-align: center;
  color: var(--mm-muted);
  font-size: var(--route-type-body);
  line-height: 1.54;
  font-weight: 500;
  letter-spacing: normal;
}

.tl-application-closing.comparison-implication .comparison-implication-label {
  margin-bottom: 12px;
  font-size: 12px;
  line-height: 1;
  letter-spacing: .14em;
}

.tl-application-closing.comparison-implication p {
  margin: 0;
}

.tl-application-closing.comparison-implication strong {
  display: inline-block;
  margin-top: 2px;
  color: var(--mm-ink);
  font-weight: 800;
}

@media (max-width: 700px) {
  .tl-application-intro .comparison-example-label {
    margin-top: 30px;
  }

  .tl-application-intro + .tl-nnm-comparison {
    margin-top: 12px;
  }

  .tl-profile-pair {
    font-size: 11px;
    letter-spacing: .08em;
  }

  .tl-application-closing.comparison-implication {
    max-width: 100%;
    margin-top: 36px;
    padding-top: 17px;
    text-align: left;
    font-size: var(--route-type-body);
    line-height: 1.54;
  }

  .tl-application-closing.comparison-implication .comparison-implication-label {
    margin-bottom: 10px;
    font-size: 11px;
  }
}

/* =========================================================
   P0 WEBKIT HARDENING
   The mobile orientation field is a normal 2 x 3 grid. These
   late rules neutralise every radial coordinate that remains in
   earlier desktop/mobile generations without changing the grid.
   ========================================================= */

@media (max-width: 700px) {
  .team-leader-page .tl-orientation-field,
  .team-leader-page .tl-orientation-node,
  .team-leader-page .tl-pioneer,
  .team-leader-page .tl-builder,
  .team-leader-page .tl-expert,
  .team-leader-page .tl-strategist,
  .team-leader-page .tl-confidant,
  .team-leader-page .tl-architect {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0;
    max-height: none;
    margin: 0;
    grid-column: auto;
    grid-row: auto;
  }

  .team-leader-page .tl-orientation-node,
  .team-leader-page .tl-pioneer,
  .team-leader-page .tl-builder,
  .team-leader-page .tl-expert,
  .team-leader-page .tl-strategist,
  .team-leader-page .tl-confidant,
  .team-leader-page .tl-architect,
  .team-leader-page .tl-node-copy,
  .team-leader-page .tl-node-dot {
    transform: none !important;
    transform-origin: initial;
    translate: none;
    scale: none;
    rotate: none;
  }

  .team-leader-page .tl-node-copy {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0;
    max-height: none;
    margin: 0;
    grid-column: 2;
    grid-row: 1;
  }

  .team-leader-page .tl-node-dot {
    position: static !important;
    inset: auto !important;
    width: 7px;
    max-width: 100%;
    height: 7px;
    max-height: none;
    grid-column: 1;
    grid-row: 1;
  }

  .team-leader-page .tl-nnm-route,
  .team-leader-page .tl-profile-pair,
  .team-leader-page .tl-method-stage,
  .team-leader-page .tl-question-row,
  .team-leader-page .tl-nnm-route h3,
  .team-leader-page .tl-nnm-route li,
  .team-leader-page .tl-method-stage h3,
  .team-leader-page .tl-method-stage p,
  .team-leader-page .tl-question-row p {
    min-width: 0;
    max-width: 100%;
  }
}

/* =========================================================
   TEAM LEADERS — COMPARISON BALANCE PASS
   Desktop-only calibration against the accepted Headhunters
   comparison rhythm. Mobile layout remains unchanged.
   ========================================================= */

.comparison-title-break {
  display: none;
}

@media (min-width: 981px) and (min-height: 680px) {
  .tl-application-intro h2 {
    max-width: 900px;
    font-size: clamp(44px, 4.2vw, 58px);
    line-height: .98;
  }

  .tl-application-intro .comparison-title-break {
    display: block;
  }

  .tl-application-intro .body-lg {
    margin-top: 16px;
  }

  .tl-application-intro .comparison-example-label {
    margin-top: clamp(24px, 3vh, 32px);
  }

  .tl-application-intro + .tl-nnm-comparison {
    margin-top: clamp(8px, 1.2vh, 12px);
  }

  .tl-nnm-connector {
    height: 36px;
    margin-top: 6px;
  }

  .tl-nnm-stem {
    height: 15px;
  }

  .tl-nnm-branch {
    top: 14px;
    height: 22px;
  }

  .tl-application-closing.comparison-implication {
    margin-top: clamp(36px, 4.4vh, 48px);
  }
}

/* =========================================================
   TEAM LEADERS — COMPARISON COMPACTNESS PASS
   ========================================================= */

@media (min-width: 981px) and (min-height: 680px) {
  .tl-application-shell {
    width: min(calc(100% - (2 * var(--gutter))), 1240px);
    max-width: 1240px;
  }

  .tl-application-intro {
    max-width: 1040px;
  }

  .tl-application-intro h2 {
    max-width: 1040px;
    font-size: clamp(44px, 3.9vw, 54px);
    line-height: .98;
  }

  .tl-application-intro h2 .comparison-title-line {
    display: block;
    white-space: nowrap;
  }

  .tl-application-intro .body-lg {
    margin-top: 20px;
  }

  .tl-application-intro .comparison-example-label {
    margin-top: clamp(28px, 3.4vh, 36px);
  }

  .tl-application-intro + .tl-nnm-comparison {
    margin-top: clamp(12px, 1.6vh, 18px);
  }

  .tl-nnm-connector {
    width: min(760px, 66%);
    height: 40px;
    margin-top: 8px;
  }

  .tl-nnm-stem {
    height: 17px;
  }

  .tl-nnm-branch {
    top: 16px;
    height: 24px;
  }

  .tl-nnm-routes {
    gap: clamp(44px, 4.5vw, 64px);
  }

  .tl-nnm-route {
    padding-left: clamp(10px, 1.2vw, 18px);
    padding-right: clamp(10px, 1.2vw, 18px);
  }

  .tl-nnm-route li {
    font-size: 15px;
    line-height: 1.42;
  }

  .tl-application-closing.comparison-implication {
    margin-top: clamp(40px, 4.8vh, 52px);
  }
}

/* =========================================================
   TEAM LEADERS — MOBILE COMPARISON TITLE CALIBRATION
   Keep the semantic two-line title structure at every width.
   Desktop keeps each line unbroken; mobile may wrap within
   either semantic line if the viewport requires it.
   ========================================================= */

.tl-application-intro h2 .comparison-title-line {
  display: block;
  white-space: normal;
}

@media (min-width: 981px) and (min-height: 680px) {
  .tl-application-intro h2 .comparison-title-line {
    white-space: nowrap;
  }
}
