/* Shared type scale for public pages that sit outside the landing template. */
:where(.about-ref, .content-reference-page, .product-detail-page, .industry-page) {
    font-family: var(--font-sans);
}

.page-header {
    width: 100% !important;
    padding: 100px 0 60px !important;
}

.page-header .page-header-title,
.page-header h1,
.about-ref__hero h1,
.contact-header-title,
.cr-hero--products h1,
.product-detail-hero h1,
.industry-hero h1,
.payment-intro h1,
.payment-result h1 {
    margin-bottom: 14px;
    font-family: var(--font-sans) !important;
    font-size: clamp(2.25rem, 4.5vw, 3.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
    text-wrap: balance;
}

.page-header .page-header-text,
.about-ref__hero p,
.contact-header-text,
.cr-hero--products p,
.product-detail-hero p,
.industry-hero__lead,
.payment-intro > p,
.payment-result > p {
    max-width: 650px;
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.1vw, 1.1875rem) !important;
    line-height: 1.6 !important;
}

.page-header .page-header-text {
    margin-inline: auto;
}

.cr-hero--products,
.privacy-reference-page .page-header {
    width: 100% !important;
}

.about-ref__eyebrow,
.contact-header-badge,
.contact-info-badge,
.cr-hero--products .cr-eyebrow,
.product-detail-eyebrow,
.industry-hero__eyebrow,
.industry-page .section-label,
.payment-eyebrow {
    min-height: 22px;
    margin-bottom: 11px;
    padding: 3px 13px;
    border-radius: 3px;
    font-size: .75rem !important;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.industry-hero__eyebrow::before,
.industry-page .section-label::before {
    display: none;
}

.about-ref__heading h2,
.contact-info-title,
.content-reference-page .cr-heading,
.product-detail-page .product-detail-heading,
.product-detail-page section h2,
.industry-page .section-heading,
.page-header ~ section h2 {
    font-family: var(--font-sans) !important;
    font-size: clamp(1.875rem, 3vw, 3rem) !important;
    font-weight: 800 !important;
    line-height: 1.17 !important;
    letter-spacing: -.03em !important;
}

.about-ref__copy p,
.about-ref__heading p,
.contact-info-description,
.industry-page .section-copy,
.product-detail-page section p,
.page-header ~ section .lead {
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1vw, 1.0625rem) !important;
    line-height: 1.65 !important;
}

.contact-header {
    min-height: 510px !important;
    padding: 52px 0 !important;
}

.contact-header-content,
.contact-form-container {
    width: min(1320px, calc(100% - 48px));
    padding-inline: 0;
}

.contact-form-section {
    padding: 68px 0;
}

.contact-info-content h3,
.contact-form-title,
.team-card h6,
.bs-like-accordion .accordion-button {
    font-family: var(--font-sans);
    font-size: var(--type-card-title) !important;
    font-weight: 700;
}

.contact-info-content p,
.contact-info-content a,
.contact-form-side .form-label,
.contact-form-side .form-control,
.team-card p,
.bs-like-accordion .accordion-body {
    font-size: 1rem !important;
    line-height: 1.65;
}

.contact-info-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border-radius: 8px;
    font-size: .9rem;
}

.contact-form-side {
    padding: 28px;
    border-radius: 8px;
}

.privacy-reference-page #Content,
.page-header + #Content {
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.65;
}

.privacy-reference-page #Content h3,
.privacy-reference-page #Content h5,
.page-header + #Content h3,
.page-header + #Content h5 {
    font-family: var(--font-sans);
    font-size: var(--type-card-title) !important;
    font-weight: 700;
    line-height: 1.35;
}

.industry-page .section-pad,
.product-detail-page section {
    padding-top: 68px;
    padding-bottom: 68px;
}

.industry-hero {
    min-height: 510px;
}

.industry-hero__content {
    max-width: 620px;
    padding: 52px 0;
}

.industry-hero__points {
    gap: 8px;
    margin-bottom: 18px;
}

.industry-hero__points li {
    font-size: 1rem;
    line-height: 1.6;
}

.cr-hero--products {
    min-height: 510px;
}

.cr-hero--products .cr-hero__content {
    padding: 52px 0;
}

.product-detail-hero {
    min-height: 510px;
}

.payment-hero,
.payment-result-page {
    padding-top: 100px;
    padding-bottom: 68px;
}

.about-ref__hero {
    min-height: 510px;
}

.about-ref__hero-content {
    padding-top: 52px;
    padding-bottom: 52px;
}

.about-ref__purpose-card h3,
.about-ref__registration-card h3,
.about-ref__why-card h3,
.about-ref__leader h3 {
    font-size: var(--type-card-title) !important;
}

.about-ref__purpose-card p,
.about-ref__registration-card p,
.about-ref__why-card p,
.about-ref__leader p {
    font-size: 1rem !important;
    line-height: 1.65;
}

.industry-btn,
.contact-form-side button[type='submit'] {
    min-height: 44px;
    padding: 0 20px;
    border-radius: 3px;
    font-size: .875rem;
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .page-header {
        padding: 72px 0 48px !important;
    }

    .page-header .page-header-title,
    .page-header h1,
    .about-ref__hero h1,
    .contact-header-title,
    .cr-hero--products h1,
    .product-detail-hero h1,
    .industry-hero h1,
    .payment-intro h1,
    .payment-result h1 {
        font-size: clamp(2.25rem, 8vw, 2.75rem) !important;
    }

    .page-header .page-header-text,
    .about-ref__hero p,
    .contact-header-text,
    .cr-hero--products p,
    .product-detail-hero p,
    .industry-hero__lead,
    .payment-intro > p,
    .payment-result > p {
        font-size: 1rem !important;
    }

    .contact-header-content,
    .contact-form-container {
        width: min(100% - 28px, 1320px);
    }

    .contact-form-side {
        padding: 24px 20px;
    }
}

/* Readable minimums: bring compact page styles onto the shared type scale. */
.about-ref :is(.about-ref__purpose-card h3, .about-ref__registration-card h3, .about-ref__why-card h3, .about-ref__quote h3, .about-ref__leader h3) {
    font-size: var(--type-card-title) !important;
}

.about-ref :is(.about-ref__purpose-card p, .about-ref__registration-card p, .about-ref__why-card p, .about-ref__quote p, .about-ref__cta p) {
    font-size: clamp(0.9375rem, 1.1vw, 1rem) !important;
    line-height: 1.6 !important;
}

.about-ref :is(.about-ref__registration-card h4, .about-ref__leader p, .about-ref__quote strong) {
    font-size: 0.9375rem !important;
}

.about-ref :is(.about-ref__registration-card a, .about-ref__team-link, .about-ref__cta a, .about-ref__leader .about-ref__leader-more) {
    font-size: 0.875rem !important;
}

.about-ref .about-ref__cta h2 {
    font-size: var(--type-section-title) !important;
}

.contact-consent {
    font-size: 0.8125rem !important;
}

.industry-breadcrumb {
    font-size: 0.8125rem !important;
}

:is(.industry-section-kicker, .industry-process-number, .service-state-map__header > span) {
    font-size: 0.75rem !important;
}

.industry-hero-float {
    font-size: 0.8125rem !important;
}

.industry-hero-float strong {
    font-size: 0.9375rem !important;
}

.industry-service-card p {
    font-size: clamp(0.9375rem, 1.1vw, 1rem) !important;
}

:is(.industry-service-link, .service-state-map__footer) {
    font-size: 0.875rem !important;
}
