/* Mirrors lib/theme/app_text_styles.dart exactly: family / weight / size /
   line-height / letter-spacing / color per named style. */

.ts-nav-link {
  font-family: 'Work Sans', 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  color: #000;
}

.ts-hero-headline {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 74px;
  line-height: 1.05;
  letter-spacing: 0px;
  color: var(--c-hero-headline);
  white-space: nowrap;
}

.ts-hero-headline-accent {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 74px;
  line-height: 1.05;
  letter-spacing: 0px;
  color: #fff;
  white-space: nowrap;
}

.ts-hero-subtext {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.35;
  color: var(--c-hero-subtext);
}

.ts-button-label {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.5px;
  color: #fff;
}

.ts-stats-bar-heading {
  font-family: 'InstrumentSans', sans-serif;
  font-weight: 500;
  font-size: 55px;
  line-height: calc(57 / 55);
  letter-spacing: 5px;
  color: var(--c-stats-bar-heading);
}

.ts-stats-bar-number {
  font-family: 'Manrope', sans-serif;
  font-weight: 300;
  font-size: 70px;
  line-height: calc(95.62 / 70);
  letter-spacing: -2px;
  color: #fff;
}

.ts-stats-bar-label {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 25px;
  line-height: calc(16.8 / 25);
  color: #fff;
  white-space: nowrap;
}

.ts-impact-eyebrow {
  font-family: 'InstrumentSans', sans-serif;
  font-weight: 600;
  font-size: 28px;
  line-height: 1;
  color: var(--c-impact-label);
}

.ts-impact-heading {
  font-family: 'InstrumentSans', sans-serif;
  font-weight: 600;
  font-size: 60px;
  line-height: calc(57 / 60);
  color: var(--c-impact-label);
}

.ts-impact-subheading {
  font-family: 'InstrumentSans', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  color: var(--c-impact-sub-label);
}

.ts-impact-big-number {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 100px;
  line-height: 1.1;
  letter-spacing: 1px;
  color: #fff;
}

.ts-impact-card-title {
  font-family: 'InstrumentSans', sans-serif;
  font-weight: 600;
  font-size: 28px;
  line-height: 1;
  color: var(--c-impact-card-title);
}

.ts-impact-body {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: calc(29.25 / 18);
  color: var(--c-impact-body-text);
}

.ts-service-number {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 150px;
  line-height: 1;
  color: var(--c-card-number-bg);
  white-space: nowrap;
}

.ts-service-title {
  font-family: 'InstrumentSans', sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: calc(40 / 40);
  color: #000;
}

.ts-story-hero-line {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 60px;
  line-height: 1;
  letter-spacing: -1.5px;
  color: var(--c-story-heading);
}

.ts-story-bullet-title {
  font-family: 'WorkSans', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.7px;
  color: var(--c-story-milestone-text);
  white-space: nowrap;
}

.ts-story-bullet-body {
  font-family: 'WorkSans', sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: calc(29.25 / 20);
  color: var(--c-story-milestone-text);
}

.ts-story-card-heading {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 60px;
  line-height: calc(78 / 60);
  color: var(--c-story-heading);
}

.ts-story-card-body {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 30px;
  line-height: calc(36 / 30);
  color: var(--c-story-body);
}

.ts-team-heading {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 77px;
  line-height: calc(80 / 77);
  letter-spacing: -1.6px;
  color: var(--c-team-heading);
}

.ts-team-subheading {
  font-family: 'InstrumentSans', sans-serif;
  font-weight: 400;
  font-size: 50px;
  line-height: 1;
  letter-spacing: -1.6px;
  color: var(--c-team-heading);
}

.ts-contact-heading {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 64px;
  line-height: calc(60 / 64);
  letter-spacing: -1.5px;
  color: var(--c-contact-heading);
}

.ts-contact-subtext {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: calc(28 / 20);
  color: var(--c-contact-subtext);
}

.ts-form-label {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: calc(20 / 14);
  color: var(--c-form-label);
  white-space: nowrap;
}

.ts-form-input {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: calc(21.856 / 16);
  color: var(--c-form-hint);
}

.ts-form-button-label {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
}

.ts-contact-page-heading {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 64px;
  line-height: calc(60 / 64);
  letter-spacing: -1.5px;
  color: #000;
  white-space: nowrap;
}

.ts-contact-page-subtext {
  font-family: 'InstrumentSans', sans-serif;
  font-weight: 400;
  font-size: 30px;
  line-height: calc(43 / 30);
  letter-spacing: -1.5px;
  color: #000;
}

.ts-contact-detail-heading {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: calc(28 / 20);
  color: var(--c-contact-detail-dark);
}

.ts-contact-detail-body {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: calc(24 / 16);
  color: var(--c-form-hint);
}

.ts-contact-detail-link {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: calc(24 / 16);
  color: var(--c-contact-detail-dark);
}

.ts-careers-badge {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: calc(20 / 14);
  color: var(--c-contact-detail-dark);
  white-space: nowrap;
}

.ts-careers-hero-heading {
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
  font-size: 60px;
  line-height: 1;
  letter-spacing: -1.5px;
  color: var(--c-contact-detail-dark);
  white-space: nowrap;
}

.ts-careers-hero-desc {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: calc(28 / 20);
  color: var(--c-form-label);
}

.ts-careers-core-value-heading {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: calc(28 / 20);
  color: var(--c-outline-teal-dark);
  white-space: nowrap;
}

.ts-careers-core-value-body {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: calc(22.75 / 14);
  color: var(--c-form-hint);
}

.ts-careers-filter-label {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: calc(20 / 14);
  color: var(--c-contact-detail-dark);
  white-space: nowrap;
}

.ts-careers-job-title {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: calc(32 / 24);
  color: var(--c-contact-detail-dark);
  white-space: nowrap;
}

.ts-careers-job-desc {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: calc(28 / 18);
  color: var(--c-careers-job-desc);
  white-space: nowrap;
}

.ts-careers-tag {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: calc(20 / 14);
  color: var(--c-contact-detail-dark);
  white-space: nowrap;
}

.ts-careers-apply {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: calc(28 / 20);
  color: var(--c-contact-detail-dark);
  white-space: nowrap;
}

.ts-footer-heading {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: calc(27.32 / 20);
  color: var(--c-footer-heading);
  white-space: nowrap;
}

.ts-footer-link {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: calc(27.32 / 20);
  color: var(--c-footer-link);
  white-space: nowrap;
}

a.ts-footer-link,
.ts-footer-link a {
  color: var(--c-footer-link);
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

a.ts-footer-link:hover,
.ts-footer-link a:hover {
  opacity: 0.7;
}

.ts-footer-copyright {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: calc(27.32 / 20);
  color: var(--c-footer-link);
  white-space: nowrap;
}

.ts-services-hero-heading {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 80px;
  line-height: calc(104 / 80);
  letter-spacing: -1.6px;
  color: #fff;
}

.ts-services-heading {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 64px;
  line-height: calc(88 / 64);
  letter-spacing: -0.64px;
  color: #000;
}

.ts-services-body {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: calc(32 / 20);
  letter-spacing: 0.2px;
  color: var(--c-services-body);
}

.ts-services-badge {
  font-family: 'Manrope', sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: calc(32 / 20);
  letter-spacing: 0.2px;
}

.ts-services-row-title {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 80px;
  line-height: calc(104 / 80);
  letter-spacing: -1.6px;
}

.ts-services-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: calc(16 / 12);
  letter-spacing: 1.2px;
  color: var(--c-services-eyebrow);
  text-transform: uppercase;
}

.ts-services-list-item {
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: calc(32 / 20);
  letter-spacing: 0.2px;
  color: var(--c-services-list-item);
}

/* Gradient-fill text (mirrors widgets/gradient_text.dart) */
.gradient-text {
  display: inline-block;
  background-image: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
