:root {
  --skills-navy: #071426;
  --skills-teal: #143943;
  --skills-line: #54757a;
  --skills-cream: #f5f1e8;
  --skills-muted: #d6e2e1;
}

.tpn-skills-teaser {
  background: var(--skills-navy);
  color: #fff;
  padding-block: clamp(64px, 7vw, 94px);
}

.tpn-skills-teaser .b-wrap,
.tpn-skills-bridge .wrap,
.skills-section-intro,
.skills-audience .wrap,
.skills-shaiping .wrap {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(300px, 1fr);
  gap: clamp(42px, 8vw, 116px);
  align-items: start;
}

.tpn-skills-teaser .b-eyebrow,
.tpn-skills-teaser em,
.tpn-skills-teaser .b-text-link {
  color: var(--gold-light);
}

.tpn-skills-teaser h2 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.02;
}

.tpn-skills-teaser-copy {
  align-self: end;
}

.tpn-skills-teaser-copy > p {
  max-width: 58ch;
  margin: 0 0 27px;
  color: var(--skills-muted);
  font-size: 18px;
}

.tpn-skills-bridge {
  background: #eef3f1;
}

.tpn-skills-bridge h2 {
  margin: 0;
  font-size: clamp(40px, 4.6vw, 61px);
  line-height: 1.04;
}

.tpn-skills-bridge h2 em,
.tpn-skills-bridge .eyebrow {
  color: #8e5e1c;
}

.tpn-skills-bridge .wrap > div:last-child {
  align-self: end;
  max-width: 58ch;
}

.tpn-skills-bridge .wrap > div:last-child p:first-child {
  margin-top: 0;
  color: var(--skills-teal);
  font-size: 18px;
}

.tpn-skills-bridge .b-text-link {
  display: inline-flex;
  margin-top: 10px;
}

.skills-hero .hero-lead {
  max-width: 61ch;
}

.skills-compact-hero {
  padding-bottom: clamp(68px, 8vw, 112px);
}

.skills-subnav {
  position: sticky;
  top: var(--header-height, 88px);
  z-index: 20;
  border-block: 1px solid rgba(7, 20, 38, .14);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
}

.skills-subnav .wrap {
  display: flex;
  gap: clamp(22px, 4vw, 54px);
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: thin;
}

.skills-subnav a {
  position: relative;
  flex: 0 0 auto;
  padding: 20px 0 18px;
  color: var(--skills-teal);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.skills-subnav a::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: #b07a2b;
  content: "";
  opacity: 0;
  transform: scaleX(.35);
  transition: opacity .2s ease, transform .2s ease;
}

.skills-subnav a:hover::after,
.skills-subnav a:focus-visible::after,
.skills-subnav a[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.skills-challenge {
  background: var(--skills-cream);
}

.skills-lead {
  max-width: 65ch;
  margin: 0 0 clamp(34px, 5vw, 54px);
  color: #45515b;
  font-size: 18px;
}

.skills-question-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #aab4b3;
  border-left: 1px solid #aab4b3;
}

.skills-question-grid p {
  min-height: 185px;
  margin: 0;
  padding: clamp(27px, 3.5vw, 42px);
  border-right: 1px solid #aab4b3;
  border-bottom: 1px solid #aab4b3;
  color: var(--skills-navy);
  font-family: var(--serif);
  font-size: clamp(25px, 2.5vw, 35px);
  line-height: 1.14;
}

.skills-question-grid span,
.skills-principles article > span,
.skills-method-grid article > span,
.skills-five li > span {
  display: block;
  margin-bottom: 22px;
  color: #9a6925;
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .12em;
}

.skills-conclusion {
  max-width: 55ch;
  margin: 34px 0 0 auto;
  color: var(--skills-teal);
  font-size: 18px;
  font-weight: 600;
}

.skills-route-section {
  background: #fff;
}

.skills-route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #aab4b3;
  border-left: 1px solid #aab4b3;
}

.skills-route {
  display: flex;
  min-height: 355px;
  flex-direction: column;
  padding: clamp(28px, 3.5vw, 46px);
  border-right: 1px solid #aab4b3;
  border-bottom: 1px solid #aab4b3;
  color: var(--skills-navy);
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

.skills-route > span {
  margin-bottom: auto;
  color: #8e5e1c;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
}

.skills-route h3 {
  margin: 70px 0 14px;
  color: inherit;
  font-size: clamp(27px, 2.7vw, 38px);
  line-height: 1.08;
}

.skills-route p {
  margin: 0 0 28px;
  color: #536067;
  line-height: 1.65;
}

.skills-route b {
  margin-top: auto;
  font-size: 14px;
}

.skills-route:hover,
.skills-route:focus-visible {
  background: var(--skills-cream);
}

.skills-route-dark,
.skills-route-dark:hover,
.skills-route-dark:focus-visible {
  border-color: var(--skills-navy);
  background: var(--skills-navy);
  color: #fff;
}

.skills-route-dark > span,
.skills-route-dark b {
  color: var(--gold-light);
}

.skills-route-dark p {
  color: var(--skills-muted);
}

.skills-route-dark h3 {
  color: #fff;
}

.skills-route-dark:hover,
.skills-route-dark:focus-visible {
  background: var(--skills-teal);
}

.skills-overview-principle {
  background: var(--skills-cream);
}

.skills-overview-principle .wrap {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(320px, 1fr);
  gap: clamp(42px, 8vw, 120px);
  align-items: end;
}

.skills-overview-principle .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -26px;
}

.skills-overview-principle h2 {
  margin: 0;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.02;
}

.skills-overview-principle p {
  margin: 0;
  color: #4d585f;
  font-size: 18px;
}

.skills-overview-principle .b-text-link {
  grid-column: 2;
  margin-top: -72px;
}

.skills-next-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin-top: clamp(34px, 5vw, 54px);
  padding: 25px 0;
  border-block: 1px solid rgba(255, 255, 255, .35);
  color: #fff;
  text-decoration: none;
}

.skills-next-link span:first-child {
  color: var(--skills-muted);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.skills-next-link strong {
  color: var(--gold-light);
  font-size: clamp(20px, 2.4vw, 30px);
}

.skills-next-link span:last-child {
  color: var(--gold-light);
  font-size: 26px;
}

.tpn-skills-observatory {
  background: var(--skills-teal);
  color: #fff;
}

.tpn-skills-observatory .eyebrow,
.tpn-skills-observatory em,
.tpn-skills-observatory .skills-five li > span {
  color: var(--gold-light);
}

.skills-section-intro {
  align-items: end;
  margin-bottom: clamp(40px, 6vw, 68px);
}

.skills-section-intro h2 {
  margin: 0;
  font-size: clamp(40px, 4.7vw, 64px);
  line-height: 1.04;
}

.tpn-skills-observatory .skills-section-intro h2,
.tpn-skills-observatory .skills-section-intro h3 {
  color: #fff;
}

.skills-section-intro > div:last-child > p:last-child {
  margin-bottom: 0;
}

.skills-observatory-name {
  margin: 0 0 18px;
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.08;
}

.tpn-skills-observatory .skills-section-intro > div:last-child > p:last-child {
  color: var(--skills-muted);
}

.skills-five {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
  border-block: 1px solid var(--skills-line);
}

.skills-five li {
  min-width: 0;
  padding: clamp(25px, 2.7vw, 38px) clamp(18px, 2.3vw, 30px);
}

.skills-five li + li {
  border-left: 1px solid var(--skills-line);
}

.skills-five h3 {
  margin: 0 0 15px;
  color: #fff;
  font-size: clamp(25px, 2.5vw, 35px);
}

.skills-five p {
  margin: 0;
  color: var(--skills-muted);
  font-size: 14px;
  line-height: 1.65;
}

.skills-difference {
  background: #fff;
}

.skills-difference .skills-section-intro > p {
  max-width: 44ch;
  margin: 0;
  color: #59656d;
  font-size: 18px;
}

.skills-principles {
  border-top: 1px solid #b8c1c0;
}

.skills-principles article {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 14px;
  padding: 27px 0;
  border-bottom: 1px solid #b8c1c0;
}

.skills-principles article > span {
  margin: 5px 0 0;
}

.skills-principles h3 {
  margin: 0 0 7px;
  color: var(--skills-navy);
  font-size: clamp(25px, 2.5vw, 34px);
}

.skills-principles p {
  max-width: 70ch;
  margin: 0;
  color: #59656d;
}

.skills-audience {
  background: #e7efec;
}

.skills-audience h2 {
  margin: 0;
  font-size: clamp(40px, 4.7vw, 64px);
  line-height: 1.04;
}

.skills-audience ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #9eaeaa;
}

.skills-audience li {
  padding: 19px 0;
  border-bottom: 1px solid #9eaeaa;
}

.skills-audience strong,
.skills-audience span {
  display: block;
}

.skills-audience strong {
  margin-bottom: 5px;
  color: var(--skills-teal);
  font-size: 18px;
}

.skills-audience span {
  color: #52605f;
}

.skills-method {
  background: var(--skills-navy);
  color: #fff;
}

.skills-method .eyebrow,
.skills-method em,
.skills-method-grid article > span {
  color: var(--gold-light);
}

.skills-method h2 {
  margin: 0 0 clamp(40px, 6vw, 64px);
  color: #fff;
  font-size: clamp(40px, 4.7vw, 64px);
  line-height: 1.04;
}

.skills-method-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid #4e6473;
}

.skills-method-grid article {
  min-height: 245px;
  padding: clamp(25px, 3vw, 38px);
}

.skills-method-grid article + article {
  border-left: 1px solid #4e6473;
}

.skills-method-grid h3 {
  margin: 0 0 13px;
  color: #fff;
  font-size: clamp(25px, 2.6vw, 36px);
}

.skills-method-grid p {
  margin: 0;
  color: #c7d3d8;
}

.skills-shaiping {
  background: var(--skills-cream);
}

.skills-shaiping .wrap {
  align-items: center;
}

.skills-shaiping h2 {
  margin: 0 0 23px;
  font-size: clamp(40px, 4.7vw, 64px);
  line-height: 1.04;
}

.skills-shaiping p:not(.eyebrow) {
  max-width: 61ch;
  color: #4d585f;
  font-size: 17px;
}

.skills-shaiping figure {
  margin: 0;
  background: var(--skills-navy);
}

.skills-shaiping img {
  display: block;
  width: 100%;
  height: auto;
}

.skills-private-note {
  max-width: 70ch;
  margin: 27px 0 0;
  color: #5d686f;
  font-size: 13px;
}

@media (max-width: 1040px) {
  .skills-route-grid {
    grid-template-columns: 1fr;
  }

  .skills-route {
    min-height: 280px;
  }

  .skills-five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 0;
  }

  .skills-five li {
    border-bottom: 1px solid var(--skills-line);
  }

  .skills-five li:nth-child(odd) {
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .tpn-skills-teaser .b-wrap,
  .tpn-skills-bridge .wrap,
  .skills-section-intro,
  .skills-audience .wrap,
  .skills-shaiping .wrap {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .skills-question-grid,
  .skills-method-grid {
    grid-template-columns: 1fr;
  }

  .skills-question-grid p {
    min-height: 0;
  }

  .skills-method-grid article {
    min-height: 0;
  }

  .skills-method-grid article + article {
    border-top: 1px solid #4e6473;
    border-left: 0;
  }

  .skills-conclusion {
    margin-left: 0;
  }

  .skills-subnav {
    position: static;
  }

  .skills-subnav .wrap {
    gap: 26px;
  }

  .skills-subnav a {
    padding-block: 17px 15px;
    font-size: 12px;
  }

  .skills-route {
    min-height: 0;
  }

  .skills-route h3 {
    margin-top: 46px;
  }

  .skills-overview-principle .wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .skills-overview-principle .eyebrow,
  .skills-overview-principle .b-text-link {
    grid-column: auto;
    margin-top: 0;
  }

  .skills-overview-principle .eyebrow {
    margin-bottom: 0;
  }
}

@media (max-width: 520px) {
  .tpn-skills-teaser h2,
  .tpn-skills-bridge h2,
  .skills-section-intro h2,
  .skills-audience h2,
  .skills-method h2,
  .skills-shaiping h2 {
    font-size: 36px;
  }

  .skills-five {
    grid-template-columns: 1fr;
  }

  .skills-five li + li {
    border-left: 0;
  }

  .skills-principles article {
    grid-template-columns: 46px minmax(0, 1fr);
  }
}
