/* =====================================================================
   Fluid type: desktop text sizes scale with window width and height (>1100px).
   Sizes stop growing at a 1440 window. Phones and tablets keep their own sizes.
   ===================================================================== */
@media (min-width: 1101px) {
	body {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
	}
	.btn {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.site-nav__menu > ul > li > a,
	.site-nav__toggle {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.site-nav__dropdown-title {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
	}
	.site-nav__dropdown-desc {
		font-size: clamp(10.9254px, calc(7.7015px + 0.2239vw), 10.9254px);
		line-height: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.hero__eyebrow {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
	}
	.hero__title {
		font-size: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
		line-height: clamp(44.4px, min(3.8542vw, 7.8723vh), 55.5px);
	}
	.hero__card-title {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.hero__card-label {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.intro__title {
		font-size: clamp(26.4px, min(2.2917vw, 4.6809vh), 33px);
		line-height: clamp(31.2px, min(2.7083vw, 5.5319vh), 39px);
	}
	.intro__body {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(22.4px, calc(9.0746px + 1.194vw), 26.2687px);
	}
	.stats__value {
		font-size: clamp(26.4px, min(2.2917vw, 4.6809vh), 33px);
		line-height: clamp(31.2px, min(2.7083vw, 5.5319vh), 39px);
	}
	.stats__label {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.biometrics__title {
		font-size: clamp(36px, min(3.125vw, 6.383vh), 45px);
		line-height: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
	}
	.biometrics__text p {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
		line-height: clamp(22.95px, calc(17.3284px + 0.5037vw), 24.5821px);
	}
	.services__title {
		font-size: clamp(36px, min(3.125vw, 6.383vh), 45px);
		line-height: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
	}
	.services__intro {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.service-card__title {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.service-card__desc {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.service-card__more {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
	}
	.services__intro,
	.service-card__desc {
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.benefits__title {
		font-size: clamp(36px, min(3.125vw, 6.383vh), 45px);
		line-height: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
	}
	.benefits__intro {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.benefit-card__title {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.benefit-card__body {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.cta__title {
		font-size: clamp(28.8px, min(2.5vw, 5.1064vh), 36px);
		line-height: clamp(34.8px, min(3.0208vw, 6.1702vh), 43.5px);
	}
	.cta__lead {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.cta__body {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.cta__bar-text {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.site-footer__desc {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(20.4px, calc(15.403px + 0.4478vw), 21.8507px);
	}
	.site-footer__col-title {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.site-footer__col ul li {
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.site-footer__col ul a {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.site-footer__form input {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(20.4px, calc(15.403px + 0.4478vw), 21.8507px);
	}
	.site-footer__subscribe {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.site-footer__copy {
		font-size: clamp(10.9254px, calc(7.7015px + 0.2239vw), 10.9254px);
		line-height: clamp(12.75px, calc(9.6269px + 0.2799vw), 13.6567px);
	}
	.site-footer__email {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
	}
	.site-footer__form-msg {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
	}
	.svc-hero__eyebrow {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.svc-hero__title {
		font-size: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
		line-height: clamp(44.4px, min(3.8542vw, 7.8723vh), 55.5px);
	}
	.svc-hero__sub {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(23.1px, calc(9.3582px + 1.2313vw), 27.0896px);
	}
	.svc-intro__text p {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
		line-height: clamp(22.95px, calc(17.3284px + 0.5037vw), 24.5821px);
	}
	.svc-result__title {
		font-size: clamp(26.4px, min(2.2917vw, 4.6809vh), 33px);
		line-height: clamp(31.2px, min(2.7083vw, 5.5319vh), 39px);
	}
	.svc-result__text {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
		line-height: clamp(22.95px, calc(17.3284px + 0.5037vw), 24.5821px);
	}
	.svc-support__title {
		font-size: clamp(36px, min(3.125vw, 6.383vh), 45px);
		line-height: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
	}
	.svc-support__sub {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.svc-card__title {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.svc-card__text {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	body:not(.page-home) .cta__bar-text {
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.svc-connected__title {
		font-size: clamp(36px, min(3.125vw, 6.383vh), 45px);
		line-height: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
	}
	.svc-connected__body {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.svc-questions__eyebrow {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
	}
	.svc-questions__title {
		font-size: clamp(36px, min(3.125vw, 6.383vh), 45px);
		line-height: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
	}
	.svc-questions__lead {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(22.4px, calc(9.0746px + 1.194vw), 26.2687px);
	}
	.svc-q-card__title {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.svc-q-card__text {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.about-hero__eyebrow {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.about-hero__title {
		font-size: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
		line-height: clamp(44.4px, min(3.8542vw, 7.8723vh), 55.5px);
	}
	.about-hero__intro {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(23.1px, calc(9.3582px + 1.2313vw), 27.0896px);
	}
	.about-stat__value {
		font-size: clamp(26.4px, min(2.2917vw, 4.6809vh), 33px);
		line-height: clamp(31.2px, min(2.7083vw, 5.5319vh), 39px);
	}
	.about-stat__label {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.about-earlier__title {
		font-size: clamp(26.4px, min(2.2917vw, 4.6809vh), 33px);
		line-height: clamp(31.2px, min(2.7083vw, 5.5319vh), 39px);
	}
	.about-earlier__body {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(22.4px, calc(9.0746px + 1.194vw), 26.2687px);
	}
	.values-point {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(23.1px, calc(9.3582px + 1.2313vw), 27.0896px);
	}
	.exp-rows {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.study-list li {
		font-size: clamp(10.9254px, calc(7.7015px + 0.2239vw), 10.9254px);
		line-height: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
	}
	.about-how__title {
		font-size: clamp(36px, min(3.125vw, 6.383vh), 45px);
		line-height: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
	}
	.about-how__sub {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
		line-height: clamp(23.8px, calc(17.9701px + 0.5224vw), 25.4925px);
	}
	.about-team__eyebrow {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
	}
	.about-team__intro {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.team-card__name {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(22.4px, calc(9.0746px + 1.194vw), 26.2687px);
	}
	.team-card__role {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.team-card__more {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.values-card__heading {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.values-node {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(23.1px, calc(9.3582px + 1.2313vw), 27.0896px);
	}
	.values-info__title {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.values-info__body {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.experience-eyebrow {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
	}
	.experience-title {
		font-size: clamp(28.8px, min(2.5vw, 5.1064vh), 36px);
	}
	.experience-intro {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.experience-card__title {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
	}
	.experience-tag {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
	}
	.modalities-list span {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
	}
	.study-card__text {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
	}
	.breadcrumb {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.team-profile__name {
		font-size: clamp(28.8px, min(2.5vw, 5.1064vh), 36px);
		line-height: clamp(34.8px, min(3.0208vw, 6.1702vh), 43.5px);
	}
	.team-profile__role {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
		line-height: clamp(22.95px, calc(17.3284px + 0.5037vw), 24.5821px);
	}
	.team-profile__bio {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
		line-height: clamp(22.95px, calc(17.3284px + 0.5037vw), 24.5821px);
	}
	.join-hero__heading {
		font-size: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
		line-height: clamp(44.4px, min(3.8542vw, 7.8723vh), 55.5px);
	}
	.join-hero__sub {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(23.1px, calc(9.3582px + 1.2313vw), 27.0896px);
	}
	.join-intro__title {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.join-intro__body,
	.join-intro__cta {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(23.1px, calc(9.3582px + 1.2313vw), 27.0896px);
	}
	.join-opps__heading {
		font-size: clamp(28.8px, min(2.5vw, 5.1064vh), 36px);
		line-height: clamp(34.8px, min(3.0208vw, 6.1702vh), 43.5px);
	}
	.join-opps__status {
		font-size: clamp(10.9254px, calc(7.7015px + 0.2239vw), 10.9254px);
		line-height: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.join-opps__message {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.join-opps__sub {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.join-opps__input {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.join-opps__btn {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.news-hero__eyebrow {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.news-hero__title {
		font-size: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
		line-height: clamp(44.4px, min(3.8542vw, 7.8723vh), 55.5px);
	}
	.news-hero__intro {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(23.1px, calc(9.3582px + 1.2313vw), 27.0896px);
	}
	.news-sec__title {
		font-size: clamp(28.8px, min(2.5vw, 5.1064vh), 36px);
		line-height: clamp(34.8px, min(3.0208vw, 6.1702vh), 43.5px);
	}
	.news-card__title {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(22.4px, calc(9.0746px + 1.194vw), 26.2687px);
	}
	.news-card__excerpt {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.news-card__meta {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.contact-hero__eyebrow {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.contact-hero__title {
		font-size: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
		line-height: clamp(44.4px, min(3.8542vw, 7.8723vh), 55.5px);
	}
	.contact-hero__intro {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(23.1px, calc(9.3582px + 1.2313vw), 27.0896px);
	}
	.contact-form-card__title {
		font-size: clamp(26.4px, min(2.2917vw, 4.6809vh), 33px);
		line-height: clamp(31.2px, min(2.7083vw, 5.5319vh), 39px);
	}
	.contact-form-card__body,
	.contact-form-card__cta {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.contact-form__field {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.contact-form__submit {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
	}
	.join-apply__title {
		font-size: clamp(26.4px, min(2.2917vw, 4.6809vh), 33px);
		line-height: clamp(31.2px, min(2.7083vw, 5.5319vh), 39px);
	}
	.join-apply__sub {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.join-apply__notice {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.join-apply__roles-label {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.join-apply__role-title {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(22.4px, calc(9.0746px + 1.194vw), 26.2687px);
	}
	.join-apply__role-desc {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.join-apply__role-btn,
	.join-apply__submit {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.join-apply__field {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.join-apply__file-btn {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.join-apply__file-name {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.join-apply__more {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.pp-hero__eyebrow {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.pp-hero__title {
		font-size: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
		line-height: clamp(44.4px, min(3.8542vw, 7.8723vh), 55.5px);
	}
	.pp-hero__intro {
		font-size: clamp(17px, calc(12.8358px + 0.3731vw), 18.209px);
		line-height: clamp(22.95px, calc(17.3284px + 0.5037vw), 24.5821px);
	}
	.pp-toc__title {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(21.25px, calc(16.0448px + 0.4664vw), 22.7612px);
	}
	.pp-toc__link {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.pp-doc__heading {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.pp-doc__body {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(20.4px, calc(15.403px + 0.4478vw), 21.8507px);
	}
	.pp-doc__body li {
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.pp-doc__body li:has(> strong:first-child) {
		line-height: clamp(20.4px, calc(15.403px + 0.4478vw), 21.8507px);
	}
	.news-article__title {
		font-size: clamp(40.8px, min(3.5417vw, 7.234vh), 51px);
		line-height: clamp(44.4px, min(3.8542vw, 7.8723vh), 55.5px);
	}
	.news-article__date {
		font-size: clamp(15.3px, calc(11.5522px + 0.3358vw), 16.3881px);
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.news-article__content {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(20.4px, calc(15.403px + 0.4478vw), 21.8507px);
	}
	.news-article__content > h2,
	.news-article__content > h3 {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.news-article__content > h3 {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(22.4px, calc(9.0746px + 1.194vw), 26.2687px);
	}
	.news-article__content li {
		line-height: clamp(18.7px, calc(14.1194px + 0.4104vw), 20.0299px);
	}
	.pcdm-form-msg {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.join-apply__position {
		font-size: clamp(12px, calc(8.9851px + 0.2612vw), 12.7463px);
		line-height: clamp(17.85px, calc(13.4776px + 0.3918vw), 19.1194px);
	}
	.pcdm-form-done__title {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
	.pcdm-form-done__text {
		font-size: clamp(13.6px, calc(10.2687px + 0.2985vw), 14.5672px);
		line-height: clamp(20.4px, calc(15.403px + 0.4478vw), 21.8507px);
	}
	.page-home .intro__title {
		font-size: clamp(26.4px, min(2.2917vw, 4.6809vh), 33px);
		line-height: clamp(31.2px, min(2.7083vw, 5.5319vh), 39px);
	}
	.page-home .intro__body {
		font-size: clamp(16.8px, calc(6.806px + 0.8955vw), 19.7015px);
		line-height: clamp(22.4px, calc(9.0746px + 1.194vw), 26.2687px);
	}
	.services__grid .service-card__title {
		font-size: clamp(19.2px, min(1.6667vw, 3.4043vh), 24px);
		line-height: clamp(22.8px, min(1.9792vw, 4.0426vh), 28.5px);
	}
}

/* Home service cards: size and padding scale with the text, capped by window height */
@media (min-width: 1101px) {
	.services__grid .service-card {
		min-height: min(13.5417vw, 27.7vh, 195px); /* capped at the 1440 size, like the text */
		padding: clamp(18px, 1.6667vw, 24px);
		gap: clamp(14px, 1.25vw, 18px);
	}
}

/* About hero Venn diagram and spacing: desktop */
@media (min-width: 1101px) {
	.about-hero__venn img {
		/* Venn height fills the space left by the hero text, with a min and max */
		width: auto;
		max-width: 100%;
		height: clamp(260px, calc(100vh - 324px - min(11.04vw, 159px)), 420px); /* Text size capped at 1440 */
	}
}
@media (min-width: 1101px) {
	/* 120px from the page top to the eyebrow on every desktop width (~40px clear below the nav). */
	/* About hero: top spacing below the nav */
	.about-hero { padding-top: 160px; padding-bottom: clamp(24px, 4vh, 96px); } /* Space below the nav */
	.about-hero__venn { margin-top: clamp(16px, 2.6vh, 56px); }
	.about-stats { margin-top: clamp(16px, 2.6vh, 80px); }
}

/* About hero text: slightly smaller than the site-wide sizes to leave room for the Venn.
   Hand-written: keep after the generated rules. */
@media (min-width: 1101px) {
	.about-hero__title {
		font-size: clamp(36px, min(3.125vw, 6.383vh), 45px); /* capped at the 1440 size */
		line-height: clamp(39.6px, min(3.4375vw, 7.0213vh), 49.5px);
	}
	.about-hero__intro {
		font-size: clamp(15.4px, calc(6.2388px + 0.8209vw), 18.06px);
		line-height: clamp(21px, calc(8.5075px + 1.1194vw), 24.63px);
	}
}
/* Short windows (<=800px high, e.g. a 1600x900 screen): tighter hero spacing - the room goes to
   the diagram. */
@media (min-width: 1101px) and (max-height: 800px) {
	.about-hero { padding-top: 100px; padding-bottom: 16px; }
	.about-hero__title { margin-top: 14px; }
	.about-hero__intro { margin-top: 14px; }
	.about-hero__venn { margin-top: 14px; }
	.about-stats { margin-top: 14px; }
}

/* About hero on very short desktop windows (<=640px high): tighter spacing, smaller Venn minimum */
@media (min-width: 1101px) and (max-height: 640px) {
	.about-hero { padding-top: 92px; }
	.about-hero__venn img { height: clamp(220px, calc(100vh - 324px - min(11.04vw, 159px)), 420px); }
}

/* About section 2: heading and text sizes, padding and wave art on desktop.
   Hand-written: keep after the generated rules. */
@media (min-width: 1101px) {
	.about-earlier__title {
		font-size: clamp(25.6px, min(2.2222vw, 4.5390vh), 32px);
		line-height: clamp(30.4px, min(2.6389vw, 5.3901vh), 38px);
	}
	.about-earlier__body {
		font-size: clamp(16px, calc(6.48px + 0.8vw), 18px);
		line-height: clamp(21.3px, calc(8.64px + 1.0667vw), 24px);
	}
	.about-earlier { min-height: 0; padding-block: 72px; }
	.about-earlier__media img {
		position: absolute;
		left: 0;
		top: 50%;
		width: auto;
		max-width: none;
		height: 108%; /* Wave art height relative to the section */
		transform: translateY(-50%);
	}
}

/* Tablet widths 768-1100: text continues the desktop scale. Phones (<768) keep their own sizes. */
@media (min-width: 768px) and (max-width: 1100px) {
	body {
		font-size: 13.6px;
	}
	.btn {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.site-nav__menu > ul > li > a,
	.site-nav__toggle {
		font-size: 12px;
		line-height: 17.85px;
	}
	.site-nav__dropdown-title {
		font-size: 12px;
		line-height: 17px;
	}
	.site-nav__dropdown-desc {
		font-size: 12px;
		line-height: 16px;
	}
	.hero__eyebrow {
		font-size: 17px;
	}
	.hero__title {
		font-size: 40.8px;
		line-height: 44.4px;
	}
	.hero__card-title {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.hero__card-label {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.intro__title {
		font-size: 26.4px;
		line-height: 31.2px;
	}
	.intro__body {
		font-size: 16.8px;
		line-height: 22.4px;
	}
	.stats__value {
		font-size: 26.4px;
		line-height: 31.2px;
	}
	.stats__label {
		font-size: 15.3px;
		line-height: 21.25px;
	}
	.biometrics__title {
		font-size: 36px;
		line-height: 40.8px;
	}
	.biometrics__text p {
		font-size: 17px;
		line-height: 22.95px;
	}
	.services__title {
		font-size: 36px;
		line-height: 40.8px;
	}
	.services__intro {
		font-size: 15.3px;
	}
	.service-card__title {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.service-card__desc {
		font-size: 15.3px;
	}
	.service-card__more {
		font-size: 12px;
	}
	.services__intro,
	.service-card__desc {
		line-height: 21.25px;
	}
	.benefits__title {
		font-size: 36px;
		line-height: 40.8px;
	}
	.benefits__intro {
		font-size: 15.3px;
	}
	.benefit-card__title {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.benefit-card__body {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.cta__title {
		font-size: 28.8px;
		line-height: 34.8px;
	}
	.cta__lead {
		font-size: 15.3px;
	}
	.cta__body {
		font-size: 15.3px;
	}
	.cta__bar-text {
		font-size: 15.3px;
	}
	.site-footer__desc {
		font-size: 13.6px;
		line-height: 20.4px;
	}
	.site-footer__col-title {
		font-size: 15.3px;
	}
	.site-footer__col ul li {
		line-height: 17.85px;
	}
	.site-footer__col ul a {
		font-size: 12px;
		line-height: 17.85px;
	}
	.site-footer__form input {
		font-size: 13.6px;
		line-height: 20.4px;
	}
	.site-footer__subscribe {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.site-footer__copy {
		font-size: 12px;
		line-height: 15px;
	}
	.site-footer__email {
		font-size: 12px;
	}
	.site-footer__form-msg {
		font-size: 12px;
		line-height: 17px;
	}
	.svc-hero__eyebrow {
		font-size: 15.3px;
	}
	.svc-hero__title {
		font-size: 40.8px;
		line-height: 44.4px;
	}
	.svc-hero__sub {
		font-size: 16.8px;
		line-height: 23.1px;
	}
	.svc-intro__text p {
		font-size: 17px;
		line-height: 22.95px;
	}
	.svc-result__title {
		font-size: 26.4px;
		line-height: 31.2px;
	}
	.svc-result__text {
		font-size: 17px;
		line-height: 22.95px;
	}
	.svc-support__title {
		font-size: 36px;
		line-height: 40.8px;
	}
	.svc-support__sub {
		font-size: 15.3px;
		line-height: 21.25px;
	}
	.svc-card__title {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.svc-card__text {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	body:not(.page-home) .cta__bar-text {
		line-height: 21.25px;
	}
	.svc-connected__title {
		font-size: 36px;
		line-height: 40.8px;
	}
	.svc-connected__body {
		font-size: 15.3px;
		line-height: 21.25px;
	}
	.svc-questions__eyebrow {
		font-size: 17px;
	}
	.svc-questions__title {
		font-size: 36px;
		line-height: 40.8px;
	}
	.svc-questions__lead {
		font-size: 16.8px;
		line-height: 22.4px;
	}
	.svc-q-card__title {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.svc-q-card__text {
		font-size: 15.3px;
		line-height: 21.25px;
	}
	.about-hero__eyebrow {
		font-size: 15.3px;
	}
	.about-hero__title {
		font-size: 40.8px;
		line-height: 44.4px;
	}
	.about-hero__intro {
		font-size: 16.8px;
		line-height: 23.1px;
	}
	.about-stat__value {
		font-size: 26.4px;
		line-height: 31.2px;
	}
	.about-stat__label {
		font-size: 15.3px;
	}
	.about-earlier__title {
		font-size: 26.4px;
		line-height: 31.2px;
	}
	.about-earlier__body {
		font-size: 16.8px;
		line-height: 22.4px;
	}
	.values-point {
		font-size: 16.8px;
		line-height: 23.1px;
	}
	.exp-rows {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.study-list li {
		font-size: 12px;
		line-height: 16px;
	}
	.about-how__title {
		font-size: 36px;
		line-height: 40.8px;
	}
	.about-how__sub {
		font-size: 17px;
		line-height: 23.8px;
	}
	.about-team__eyebrow {
		font-size: 17px;
	}
	.about-team__intro {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.team-card__name {
		font-size: 16.8px;
		line-height: 22.4px;
	}
	.team-card__role {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.team-card__more {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.values-card__heading {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.values-node {
		font-size: 16.8px;
		line-height: 23.1px;
	}
	.values-info__title {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.values-info__body {
		font-size: 15.3px;
		line-height: 21.25px;
	}
	.experience-eyebrow {
		font-size: 17px;
	}
	.experience-title {
		font-size: 28.8px;
	}
	.experience-intro {
		font-size: 15.3px;
	}
	.experience-card__title {
		font-size: 19.2px;
	}
	.experience-tag {
		font-size: 12px;
	}
	.modalities-list span {
		font-size: 13.6px;
	}
	.study-card__text {
		font-size: 13.6px;
	}
	.breadcrumb {
		font-size: 12px;
		line-height: 17.85px;
	}
	.team-profile__name {
		font-size: 28.8px;
		line-height: 34.8px;
	}
	.team-profile__role {
		font-size: 17px;
		line-height: 22.95px;
	}
	.team-profile__bio {
		font-size: 17px;
		line-height: 22.95px;
	}
	.join-hero__heading {
		font-size: 40.8px;
		line-height: 44.4px;
	}
	.join-hero__sub {
		font-size: 16.8px;
		line-height: 23.1px;
	}
	.join-intro__title {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.join-intro__body,
	.join-intro__cta {
		font-size: 16.8px;
		line-height: 23.1px;
	}
	.join-opps__heading {
		font-size: 28.8px;
		line-height: 34.8px;
	}
	.join-opps__status {
		font-size: 12px;
		line-height: 16px;
	}
	.join-opps__message {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.join-opps__sub {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.join-opps__input {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.join-opps__btn {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.news-hero__eyebrow {
		font-size: 15.3px;
		line-height: 18.7px;
	}
	.news-hero__title {
		font-size: 40.8px;
		line-height: 44.4px;
	}
	.news-hero__intro {
		font-size: 16.8px;
		line-height: 23.1px;
	}
	.news-sec__title {
		font-size: 28.8px;
		line-height: 34.8px;
	}
	.news-card__title {
		font-size: 16.8px;
		line-height: 22.4px;
	}
	.news-card__excerpt {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.news-card__meta {
		font-size: 12px;
		line-height: 17.85px;
	}
	.contact-hero__eyebrow {
		font-size: 17px;
		line-height: 21.25px;
	}
	.contact-hero__title {
		font-size: 40.8px;
		line-height: 44.4px;
	}
	.contact-hero__intro {
		font-size: 16.8px;
		line-height: 23.1px;
	}
	.contact-form-card__title {
		font-size: 26.4px;
		line-height: 31.2px;
	}
	.contact-form-card__body,
	.contact-form-card__cta {
		font-size: 15.3px;
		line-height: 21.25px;
	}
	.contact-form__field {
		font-size: 12px;
		line-height: 17.85px;
	}
	.contact-form__submit {
		font-size: 15.3px;
	}
	.join-apply__title {
		font-size: 26.4px;
		line-height: 31.2px;
	}
	.join-apply__sub {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.join-apply__notice {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.join-apply__roles-label {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.join-apply__role-title {
		font-size: 16.8px;
		line-height: 22.4px;
	}
	.join-apply__role-desc {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.join-apply__role-btn,
	.join-apply__submit {
		font-size: 15.3px;
		line-height: 21.25px;
	}
	.join-apply__field {
		font-size: 12px;
		line-height: 17.85px;
	}
	.join-apply__file-btn {
		font-size: 12px;
		line-height: 17.85px;
	}
	.join-apply__file-name {
		font-size: 12px;
		line-height: 17.85px;
	}
	.join-apply__more {
		font-size: 13.6px;
		line-height: 18.7px;
	}
	.pp-hero__eyebrow {
		font-size: 17px;
		line-height: 21.25px;
	}
	.pp-hero__title {
		font-size: 40.8px;
		line-height: 44.4px;
	}
	.pp-hero__intro {
		font-size: 17px;
		line-height: 22.95px;
	}
	.pp-toc__title {
		font-size: 15.3px;
		line-height: 21.25px;
	}
	.pp-toc__link {
		font-size: 12px;
		line-height: 17.85px;
	}
	.pp-doc__heading {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.pp-doc__body {
		font-size: 13.6px;
		line-height: 20.4px;
	}
	.pp-doc__body li {
		line-height: 18.7px;
	}
	.pp-doc__body li:has(> strong:first-child) {
		line-height: 20.4px;
	}
	.news-article__title {
		font-size: 40.8px;
		line-height: 44.4px;
	}
	.news-article__date {
		font-size: 15.3px;
		line-height: 18.7px;
	}
	.news-article__content {
		font-size: 13.6px;
		line-height: 20.4px;
	}
	.news-article__content > h2,
	.news-article__content > h3 {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.news-article__content > h3 {
		font-size: 16.8px;
		line-height: 22.4px;
	}
	.news-article__content li {
		line-height: 18.7px;
	}
	.pcdm-form-msg {
		font-size: 12px;
		line-height: 17.85px;
	}
	.join-apply__position {
		font-size: 12px;
		line-height: 17.85px;
	}
	.pcdm-form-done__title {
		font-size: 19.2px;
		line-height: 22.8px;
	}
	.pcdm-form-done__text {
		font-size: 13.6px;
		line-height: 20.4px;
	}
	.page-home .intro__title {
		font-size: 26.4px;
		line-height: 31.2px;
	}
	.page-home .intro__body {
		font-size: 16.8px;
		line-height: 22.4px;
	}
	.services__grid .service-card__title {
		font-size: 19.2px;
		line-height: 22.8px;
	}
}
/* Tablet: the About exceptions above (hero text, section 2 text) continue at their own desktop floor. */
@media (min-width: 768px) and (max-width: 1100px) {
	.about-hero__title { font-size: 36px; line-height: 39.6px; }
	.about-hero__intro { font-size: 15.4px; line-height: 21px; }
	.about-earlier__title { font-size: 25.6px; line-height: 30.4px; }
	.about-earlier__body { font-size: 16px; line-height: 21.3px; }
}
/* CTA headings, all pages: desktop sizes */
@media (min-width: 1101px) {
	.cta .cta__title {
		font-size: clamp(33.6px, min(2.9167vw, 5.9574vh), 42px);
		line-height: clamp(40.6px, min(3.5243vw, 7.1986vh), 50.75px);
	}
}
@media (min-width: 768px) and (max-width: 1100px) {
	.cta .cta__title { font-size: 33.6px; line-height: 40.6px; }
}
/* About hero Venn size and spacing on windows taller than 800px (JS sets the same size) */
@media (min-width: 1101px) and (min-height: 801px) {
	.about-hero__venn img { height: 409px; } /* 450 x 409 */
	.about-stats { margin-top: calc(clamp(16px, 2.6vh, 80px) + 10px); } /* Extra space above the stats */
	/* Less space between the Venn and the text above */
	.about-hero__venn { margin-top: calc(clamp(16px, 2.6vh, 56px) - 20px); }
}
/* About hero stats, desktop: compact centred group with dividers between stats */
@media (min-width: 1101px) {
	.about-stats {
		/* 3 equal columns, centred */
		grid-template-columns: repeat(3, minmax(0, 300px));
		justify-content: center;
		column-gap: 8px;
	}
	.about-stat,
	.about-stat:first-child { padding: 8px 16px; align-items: center; text-align: center; }
}
