/*
 * Shared Hortim career type system.
 * Objectivity handles reading/UI text; Montserrat handles display headings.
 */

:root {
	--hortim-font-body: 'Objectivity', Arial, sans-serif;
	--hortim-font-display: 'Montserrat', sans-serif;

	--hortim-type-display: clamp(48px, 4.4vw, 72px);
	--hortim-type-display-compact: clamp(44px, 4.2vw, 66px);
	--hortim-type-section: clamp(32px, 3.2vw, 40px);
	--hortim-type-subsection: 28px;
	--hortim-type-card: 26px;
	--hortim-type-card-small: 18px;
	--hortim-type-lead: 16px;
	--hortim-type-body: 15px;
	--hortim-type-compact: 13px;
	--hortim-type-meta: 12px;
	--hortim-type-micro: 11px;

	--hortim-text-strong: #303641;
	--hortim-text: #70757b;
	--hortim-text-muted: #83898f;
}

.hortim-preview-page,
.hortim-preview-page button,
.hortim-preview-page input,
.hortim-preview-page select,
.hortim-preview-page textarea,
.hortim-subpage {
	font-family: var(--hortim-font-body);
}

.hortim-preview-page {
	color: var(--hortim-text);
	font-weight: 400;
	line-height: 1.6;
}

.hortim-preview-page h1,
.hortim-preview-page h2,
.hortim-preview-page h3,
.hortim-preview-page h4,
.hortim-preview-page h5,
.hortim-subpage h1,
.hortim-subpage h2,
.hortim-subpage h3,
.hortim-subpage h4,
.hortim-subpage h5 {
	font-family: var(--hortim-font-display);
}

/* Shared hero hierarchy. */

.hortim-preview-hero h1,
.prototype-page-hero h1 {
	font-family: var(--hortim-font-display);
	font-size: var(--hortim-type-display);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: -1px;
}

.prototype-page-hero h1 {
	line-height: 1.1;
}

.prototype-detail-hero h1 {
	font-family: var(--hortim-font-display);
	font-size: var(--hortim-type-display-compact);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: -1px;
}

.hortim-preview-hero__lead,
.prototype-page-hero p,
.prototype-detail-hero__summary {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-lead);
	font-weight: 400;
	line-height: 1.5;
}

.hortim-preview-eyebrow,
.prototype-page-hero__eyebrow,
.prototype-detail-hero__eyebrow {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-micro);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 1.3px;
}

/* Shared section and content-heading hierarchy. */

.hortim-preview-section-heading h2,
.hortim-preview-why-intro h2,
.hortim-preview-benefit-intro h2,
.hortim-preview-contact h2,
.hortim-preview-about__copy h2,
.prototype-page-intro h2,
.prototype-form-intro h2 {
	font-family: var(--hortim-font-display);
	font-size: var(--hortim-type-section);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.4px;
}

.prototype-detail-section h2,
.prototype-cta h2,
.prototype-related h2,
.prototype-form-card h2,
.prototype-group-links__intro h2 {
	font-family: var(--hortim-font-display);
	font-size: var(--hortim-type-subsection);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.2px;
}

.prototype-cta__social h2,
.prototype-cta__apply h2 {
	font-family: var(--hortim-font-display);
	font-size: clamp(28px, 2.6vw, 36px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -.4px;
}

.prototype-location-heading h2 {
	font-family: var(--hortim-font-display);
	font-size: 29px;
	font-weight: 700;
	line-height: 1.25;
}

.prototype-success h1 {
	font-family: var(--hortim-font-display);
	font-size: var(--hortim-type-section);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.4px;
}

.prototype-empty h3 {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-card-small);
	font-weight: 700;
	line-height: 1.35;
}

.prototype-empty__message p,
.prototype-empty .prototype-recruiter__bubble,
.prototype-group-links__intro p {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-body);
	font-weight: 400;
	line-height: 1.6;
}

.prototype-recruiter--detail .prototype-recruiter__bubble {
	font-size: var(--hortim-type-compact);
	line-height: 1.5;
}

.prototype-group-link__copy strong {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-lead);
	font-weight: 700;
	line-height: 1.3;
}

.prototype-group-link__copy small {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-compact);
	font-weight: 400;
	line-height: 1.45;
}

.hortim-preview-reason-card h3 {
	font-family: var(--hortim-font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.prototype-job-card__content h3 {
	font-family: var(--hortim-font-display);
	font-size: var(--hortim-type-card);
	font-weight: 700;
	line-height: 1.25;
}

/* Reading text. */

.hortim-preview-section-heading p,
.hortim-preview-why-intro p,
.hortim-preview-benefit-intro p,
.hortim-preview-contact p,
.hortim-preview-about__copy p {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-lead);
	font-weight: 400;
	line-height: 1.5;
}

.hortim-preview-reason-card p,
.prototype-page-intro p,
.prototype-detail-section p,
.prototype-form-intro p,
.prototype-success p {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-body);
	font-weight: 400;
	line-height: 1.6;
}

.hortim-preview-quotes .hortim-preview-people-card > p {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-body);
	font-weight: 400;
	line-height: 1.55;
}

.prototype-job-card__content p,
.prototype-apply-card p {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-body);
	font-weight: 400;
	line-height: 1.5;
}

/* Navigation, filters, metadata and forms. */

.hortim-preview-header-nav,
.hortim-preview-header-nav__links,
.hortim-preview-header-nav a,
.prototype-filter__label,
.prototype-filter__button,
.prototype-inline-link,
.prototype-location-heading span,
.prototype-job-card__meta,
.prototype-form-field label,
.prototype-form-field input,
.prototype-form-field select,
.prototype-form-field textarea,
.prototype-form-card__submit,
.prototype-button-red,
.prototype-button-white,
.prototype-apply-card .button {
	font-family: var(--hortim-font-body);
}

.hortim-preview-header-nav a {
	font-size: var(--hortim-type-compact);
	font-weight: 500;
	line-height: 1.25;
}

.hortim-preview-header-nav > .button,
.prototype-filter__label,
.prototype-filter__button,
.prototype-inline-link,
.prototype-button-red,
.prototype-button-white,
.prototype-apply-card .button,
.prototype-form-card__submit {
	font-size: 14px;
}

.prototype-filter__label,
.prototype-inline-link,
.prototype-form-field label {
	font-weight: 700;
}

.prototype-location-heading span,
.prototype-job-card__meta {
	font-size: var(--hortim-type-meta);
	line-height: 1.5;
}

/* Job metadata should remain compact, but readable at a glance. */
.prototype-job-card__meta {
	font-size: var(--hortim-type-compact);
	line-height: 1.45;
}

.prototype-job-card__meta strong {
	font-family: var(--hortim-font-body);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.prototype-job-card__meta span {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-compact);
	font-weight: 400;
	line-height: 1.45;
}

.prototype-apply-card__note {
	font-family: var(--hortim-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
}

.hortim-subpage .prototype-detail-section h2 {
	font-size: clamp(30px, 2.5vw, 38px);
	line-height: 1.15;
}

@media (max-width: 767px) {
	.hortim-subpage .prototype-detail-section h2 {
		font-size: 27px;
		line-height: 1.15;
	}
}

.prototype-form-field input,
.prototype-form-field select,
.prototype-form-field textarea {
	font-size: var(--hortim-type-compact);
	line-height: 1.4;
}

.prototype-form-card__consent,
.prototype-footer__inner > span,
.prototype-footer__inner > a:not(.prototype-footer__brand) {
	font-family: var(--hortim-font-body);
	font-size: var(--hortim-type-micro);
	line-height: 1.5;
}

@media (max-width: 767px) {
	:root {
		--hortim-type-display: 44px;
		--hortim-type-display-compact: 40px;
		--hortim-type-section: 30px;
		--hortim-type-subsection: 25px;
		--hortim-type-card: 22px;
		--hortim-type-card-small: 17px;
		--hortim-type-lead: 15px;
		--hortim-type-body: 14px;
	}

	.hortim-preview-hero h1,
	.prototype-page-hero h1,
	.prototype-detail-hero h1 {
		letter-spacing: -.6px;
	}

	.prototype-page-hero h1 {
		line-height: 1.08;
	}

	.prototype-location-heading h2 {
		font-size: 25px;
	}
}

/* Shared layout gutter: keep page content clear of the viewport edges at every width. */
:root {
	--hortim-layout-gutter: clamp(15px, 4vw, 48px);
}

.hortim-preview-page .container {
	box-sizing: border-box;
	width: calc(100% - (2 * var(--hortim-layout-gutter)));
	max-width: 1440px;
	margin-right: auto;
	margin-left: auto;
}

/* The section navigation intentionally spans the full viewport. */
.hortim-preview-page .hortim-preview-section-nav .container {
	width: 100%;
	max-width: none;
}

/* Keep the floating homepage trust bar on the same mobile gutter as the rest of the page. */
@media (max-width: 767px) {
	.hortim-preview-page main.hortim-preview-home .hortim-preview-trustbar {
		margin-right: var(--hortim-layout-gutter);
		margin-left: var(--hortim-layout-gutter);
	}
}
