/* Careers: existing content, company facts and genuine CMS media in the Keller system. */
.kny-careers-page {
  --kny-career-ink: var(--vr-color-text, #18181b);
  --kny-career-muted: var(--vr-color-muted, #52525b);
  --kny-career-accent: var(--vr-color-accent, #245b57);
  --kny-career-rule: var(--vr-color-rule, #e4e4e7);
  --kny-career-surface: var(--vr-color-surface, #fff);
}
.kny-careers-page .our-story:not(#career-interest),
.kny-careers-page .our-culture,
.kny-careers-page .kny-careers-training {
  color: var(--kny-career-ink);
  font-family: var(--vr-font-body, Montserrat, Arial, sans-serif);
  font-size: var(--vr-type-body, 1rem);
  font-weight: 400;
  line-height: var(--vr-line-body, 1.65);
}
.kny-careers-page .kny-careers-story,
.kny-careers-page .kny-careers-training { padding-block: clamp(3rem, 7vw, 6rem); }
.kny-careers-page :is(.our-story:not(#career-interest), .our-culture, .kny-careers-training) > .container {
  width: min(calc(100% - 3rem), 80rem);
  max-width: none;
  padding-inline: 0;
}
.kny-careers-page :is(.our-story:not(#career-interest), .our-culture, .kny-careers-training) h2 {
  max-width: 24ch;
  font-family: var(--vr-font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: var(--vr-type-h2, clamp(1.75rem, 3vw, 2.5rem));
  font-weight: 400;
  line-height: 1.15;
  text-wrap: balance;
}
.kny-careers-page .our-story:not(#career-interest) p { max-width: 68ch; font-size: inherit; line-height: inherit; }
/* One narrative measure replaces the old pair of competing text columns.
   The company facts retain their full-width composition below it. */
.kny-careers-page .kny-careers-section-heading { margin: 0 0 1.5rem; }
.kny-careers-page .kny-careers-story__copy,
.kny-careers-page .kny-careers-training__intro { max-width: 68ch; }
.kny-careers-page .kny-careers-story__copy > div + div { margin-top: 1.25rem; }
.kny-careers-page .kny-careers-story__copy p:last-child { margin-bottom: 0; }
.kny-careers-page .kny-careers-training__intro p { margin: 0; font-size: inherit; line-height: inherit; }
.kny-careers-page .kny-careers-training__tabs {
  margin: 2rem 0 1.5rem;
  padding: 0;
  column-gap: 1rem;
  row-gap: .75rem;
}
.kny-careers-page .kny-careers-training .tab-content,
.kny-careers-page .kny-careers-training .tab-pane { min-width: 0; }
.kny-careers-page .kny-careers-training iframe { display: block; max-width: 100%; }

.kny-careers-page .our-story:not(#career-interest) .btn {
  margin-top: 1.5rem;
  border-radius: var(--vr-radius-control, 0);
  border-color: var(--kny-career-accent);
  background: var(--kny-career-accent);
  color: var(--vr-color-on-accent, #fff);
}
.kny-careers-page .our-story:not(#career-interest) .btn:hover { background: var(--kny-career-ink); border-color: var(--kny-career-ink); }
.kny-careers-page .our-story:not(#career-interest) .btn:focus-visible,
.kny-careers-page .our-culture a:focus-visible,
.kny-careers-page #career-interest p > a[href="/contact/#contact"]:focus-visible {
  outline: 2px solid var(--kny-career-accent);
  outline-offset: 4px;
}
.kny-careers-page #career-interest p > a[href="/contact/#contact"],
.kny-careers-page #career-interest p > a[href="/contact/#contact"]:visited {
  color: var(--kny-career-accent);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.kny-careers-page #career-interest p > a[href="/contact/#contact"]:hover { text-decoration-thickness: 2px; }
.kny-careers-page .kny-careers-network { margin-block: clamp(2rem, 4vw, 3rem); }
.kny-careers-page .kny-careers-network__graphic { display: block; width: 100%; height: auto; overflow: hidden; }
.kny-careers-network__track,
.kny-careers-network__branch { stroke: var(--kny-career-rule); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.kny-careers-network__signal {
  stroke: var(--kny-career-accent);
  stroke-width: 2;
  stroke-dasharray: 9 91;
  stroke-dashoffset: 100;
  vector-effect: non-scaling-stroke;
  opacity: 0;
  animation: kny-career-connect 4.8s cubic-bezier(.16, 1, .3, 1) 1 paused;
}
.kny-careers-network[data-motion="running"] .kny-careers-network__signal { animation-play-state: running; }
.kny-careers-page .kny-careers-network__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0 0;
  padding: 0;
}
.kny-careers-network__fact { display: flex; flex-direction: column; min-width: 0; }
.kny-careers-network__fact dt { order: 2; color: var(--kny-career-muted); font-size: 1rem; font-weight: 400; line-height: 1.5; }
.kny-careers-network__fact dd {
  margin: 0 0 .5rem;
  color: var(--kny-career-ink);
  font-family: var(--vr-font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.kny-careers-page .our-culture {
  margin: 0;
  padding-block: clamp(3rem, 6vw, 5rem);
  background: var(--vr-color-surface-subtle, #f7f7f5);
}
.kny-careers-page .our-culture::before { content: none; }
.kny-careers-page .our-culture p { max-width: 68ch; font-size: 1rem; line-height: 1.65; }
.kny-careers-page .kny-careers-culture-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(1rem, 2.5vw, 2rem);
}
.kny-careers-page .kny-careers-culture-grid__item { min-width: 0; margin: 0; }
.kny-careers-page .kny-careers-culture-grid__item:nth-child(even) { margin-top: clamp(2rem, 6vw, 5rem); }
.kny-careers-page .kny-careers-culture-grid__item a { display: block; }
.kny-careers-page .kny-careers-culture-grid__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}
.kny-careers-page .our-culture .btn-play::after {
  width: 3.5rem;
  height: 3.5rem;
  background-size: contain;
}
.kny-careers-page .kny-careers-network ::selection { color: var(--vr-color-on-accent, #fff); background: var(--kny-career-accent); }
@keyframes kny-career-connect {
  0% { stroke-dashoffset: 100; opacity: 0; }
  15% { opacity: 1; }
  75% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}
@media (max-width: 47.99rem) {
  .kny-careers-page :is(.our-story:not(#career-interest), .our-culture, .kny-careers-training) > .container { width: calc(100% - 2.25rem); }
  .kny-careers-page .kny-careers-network__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1.25rem; }
  .kny-careers-page .kny-careers-culture-grid { gap: 1.25rem; }
  .kny-careers-page .kny-careers-culture-grid__item:nth-child(even) { margin-top: 2rem; }
}
@media (max-width: 29.99rem) {
  .kny-careers-page .kny-careers-culture-grid { grid-template-columns: minmax(0, 1fr); }
  .kny-careers-page .kny-careers-culture-grid__item:nth-child(even) { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .kny-careers-network__signal { animation: none; }
}
