/*
 * GOFIVAL V4.6 shared typography layer.
 * Loaded after page styles. It adjusts type only and intentionally avoids
 * global strong, b and th overrides so semantic emphasis remains contextual.
 */

body {
    font-family: var(--gofi-font-body-family);
    font-size: var(--gofi-font-body);
    font-weight: var(--gofi-weight-normal);
}

/* V4.7 model selection table density */
.gfpd-model-table .gfpd-model-table-scroll table{font-size:13px}.gfpd-model-table .gfpd-model-table-scroll thead th{font-size:12px;font-weight:var(--gofi-weight-semibold)}.gfpd-model-table .gfpd-model-table-scroll tbody th{font-size:13px;font-weight:var(--gofi-weight-medium)}.gfpd-model-table .gfpd-model-table-scroll tbody td{font-size:13px;font-weight:var(--gofi-weight-normal)}

/* Global navigation, controls, labels and footer. */
.site-nav a {
    font-size: 14px;
    font-weight: var(--gofi-weight-medium);
}
.site-nav .current-menu-item > a,
.site-nav .current-menu-parent > a,
.site-nav .current-menu-ancestor > a {
    font-weight: var(--gofi-weight-semibold);
}
.menu-toggle,
.button {
    font-size: 14px;
    font-weight: var(--gofi-weight-semibold);
}
.eyebrow,
.gfh-eyebrow,
.gfa-eyebrow,
.gfpc-intro-eyebrow,
.gfpd-family,
.gfpd-panel-heading p,
.gfn-results > header .eyebrow,
.gfn-inquiry .eyebrow,
.gfm-cta .eyebrow {
    font-size: 11px;
    font-weight: var(--gofi-weight-medium);
}
.site-footer h3 {
    font-size: 13px;
    font-weight: var(--gofi-weight-semibold);
}
.footer-brand p,
.site-footer li {
    font-size: 14px;
    font-weight: var(--gofi-weight-normal);
}
.footer-position {
    font-weight: var(--gofi-weight-semibold);
}

/* Shared page templates and RFQ. */
.hero h1 {
    font-size: var(--gofi-font-hero);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.15;
    letter-spacing: -.03em;
}
.page-hero h1 {
    font-size: var(--gofi-font-h1);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.2;
    letter-spacing: -.025em;
}
.section-heading h2,
.cta-band h2,
.rfq-wrap h2 {
    font-size: var(--gofi-font-h2);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.25;
    letter-spacing: -.015em;
}
.card h3 {
    font-size: var(--gofi-font-h3);
    font-weight: var(--gofi-weight-semibold);
}
.product-panel h2 {
    font-size: var(--gofi-font-h2);
    font-weight: var(--gofi-weight-semibold);
}
.quote-form label,
.rfq-wrap .field label {
    font-size: 13px;
    font-weight: var(--gofi-weight-semibold);
}
.quote-form .form-note,
.rfq-wrap .description {
    font-size: 12px;
    font-weight: var(--gofi-weight-normal);
}

/* Homepage. */
.gfh-hero h1,
.gfh-hero h2 {
    font-size: var(--gofi-font-hero);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.15;
    letter-spacing: -.03em;
}
.gfh-section-head h2,
.gfh-center h2,
.gfh-final h2 {
    font-size: var(--gofi-font-h2);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.25;
    letter-spacing: -.015em;
}
.gfh-category-label strong {
    font-size: 18px;
    font-weight: var(--gofi-weight-semibold);
}
.gfh-application-grid h3,
.gfh-insight-grid h3 {
    font-size: 17px;
    font-weight: var(--gofi-weight-semibold);
}
.gfh-capability-grid h3,
.gfh-why-grid h3,
.gfh-product-grid .gfpc-card h3 {
    font-size: 16px;
    font-weight: var(--gofi-weight-semibold);
}
.gfh-value-grid h2 {
    font-size: 12px;
    font-weight: var(--gofi-weight-semibold);
}
.gfh-text-link,
.gfh-application-grid > a > div:last-child > span,
.gfh-capability-grid em {
    font-weight: var(--gofi-weight-medium);
}

/* About. */
.gfa-hero h1 {
    font-size: var(--gofi-font-h1);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.2;
    letter-spacing: -.025em;
}
.gfa-section-head h2,
.gfa-final h2 {
    font-size: var(--gofi-font-h2);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.25;
    letter-spacing: -.015em;
}
.gfa-story-richtext h3,
.gfa-values-grid h3,
.gfa-capability-card h3,
.gfa-timeline h3,
.gfa-reach-grid h3,
.gfa-quality-grid h3,
.gfa-supply-grid h3,
.gfa-product-grid h3 {
    font-size: var(--gofi-font-h3);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.35;
    letter-spacing: -.01em;
}
.gfa-story-richtext h4 {
    font-size: var(--gofi-font-h4);
    font-weight: var(--gofi-weight-semibold);
}
.gfa-column-kicker,
.gfa-hero-line,
.gfa-date,
.gfa-timeline small,
.gfa-product-label {
    font-weight: var(--gofi-weight-medium);
}
.gfa-story-copy blockquote,
.gfa-story-conclusion,
.gfa-story-richtext .gfa-story-philosophy,
.gfa-supply-statement {
    font-weight: var(--gofi-weight-semibold);
}

/* Products archive and categories. */
.gfpc-archive-intro h1,
.gfpc-results-head h1 {
    font-size: var(--gofi-font-h1);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.2;
    letter-spacing: -.025em;
}
.gfpc-results-head h2 {
    font-size: var(--gofi-font-h2);
    font-weight: var(--gofi-weight-semibold);
}
.gfpc-family strong,
.gfpc-architecture h2 {
    font-size: 18px;
    font-weight: var(--gofi-weight-semibold);
}
.gfpc-card h2,
.gfh-product-grid .gfpc-card h3 {
    font-size: 16px;
    font-weight: var(--gofi-weight-semibold);
}
.gfpc-search-panel h2,
.gfpc-panel-title h2,
.gfpc-sidebar legend,
.gfpc-filter-group strong {
    font-size: 13px;
    font-weight: var(--gofi-weight-semibold);
}
.gfpc-tag,
.gfpc-card-actions a,
.gfpc-mobile-filter,
.gfpc-architecture li a {
    font-weight: var(--gofi-weight-medium);
}

/* Product detail: title, tabs, Overview, tables and Contents. */
.gfpd-hero h1 {
    max-width: 780px;
    font-size: var(--gofi-font-product-h1);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.3;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}
.gfpd-lead {
    font-size: 16px;
    font-weight: var(--gofi-weight-normal);
}
.gfpd-tags span,
.gfpd-family,
.gfpd-evidence {
    font-weight: var(--gofi-weight-medium);
}
.gfpd-tabs button {
    font-size: 14px;
    font-weight: var(--gofi-weight-medium);
}
.gfpd-tabs button[aria-selected="true"] {
    font-weight: var(--gofi-weight-semibold);
}
.gfpd-panel-heading h2,
.gfpd-related-head h2 {
    font-size: var(--gofi-font-h2);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.25;
    letter-spacing: -.015em;
}
.gfpd-tech-section h3,
.gfpd-overview-builder .gfpd-builder-section > h3 {
    font-size: var(--gofi-font-h3);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.35;
    letter-spacing: -.01em;
}
.gfpd-technical-table-title,
.gfpd-builder-block .gfpd-technical-table-title {
    font-size: 16px;
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.35;
}
.gfpd-richtext,
.gfpd-builder-introduction {
    font-size: 15px;
    font-weight: var(--gofi-weight-normal);
    line-height: 1.7;
}
.gfpd-table-scroll table {
    font-size: var(--gofi-font-table);
}
.gfpd-table-scroll th,
.gfpd-table-scroll td {
    padding: 11px 14px;
    line-height: 1.45;
}
.gfpd-table-scroll thead th {
    font-size: 13px;
    font-weight: var(--gofi-weight-semibold);
}
.gfpd-table-scroll tbody th {
    font-size: 13px;
    font-weight: var(--gofi-weight-semibold);
}
.gfpd-table-scroll tbody td {
    font-size: 13px;
    font-weight: var(--gofi-weight-normal);
}
.gfpd-engineering-table table caption {
    font-size: 13px;
    font-weight: var(--gofi-weight-medium);
}
.gfpd-contents > strong {
    font-size: 14px;
    font-weight: var(--gofi-weight-semibold);
}
.gfpd-contents a {
    font-size: 13px;
    font-weight: var(--gofi-weight-medium);
}
.gfpd-contents a.is-active {
    font-weight: var(--gofi-weight-semibold);
}
.gfpd-faq-list h3 button,
.gfpd-document-list h3,
.gfpd-related-grid h3 {
    font-size: 16px;
    font-weight: var(--gofi-weight-semibold);
}
.gfpd-document-list a,
.gfpd-related-head > a,
.gfpd-related-grid article > div > a,
.gfpd-contact-toggle,
.gfpd-contact-panel > a:not(.button) {
    font-weight: var(--gofi-weight-semibold);
}

/* News archive and article detail. */
.gfn-hero h1,
.gfn-article-header h1 {
    font-size: var(--gofi-font-h1);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.2;
    letter-spacing: -.025em;
}
.gfn-results > header h2,
.gfn-inquiry h2,
.gfn-related > h2 {
    font-size: var(--gofi-font-h2);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.25;
}
.gfn-card h3,
.gfn-empty h3,
.gfn-related h3,
.gfn-prose h3 {
    font-size: var(--gofi-font-h3);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.35;
}
.gfn-prose h2 {
    font-size: var(--gofi-font-h2);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.3;
}
.gfn-prose p,
.gfn-prose li,
.gfn-excerpt {
    font-size: 15px;
    font-weight: var(--gofi-weight-normal);
}
.gfn-search label,
.gfn-filter-section h2,
.gfn-filter-panel > summary {
    font-size: 13px;
    font-weight: var(--gofi-weight-semibold);
}
.gfn-filter-section li a,
.gfn-tags a,
.gfn-card-tags span,
.gfn-reset,
.gfn-read-more,
.gfn-category {
    font-weight: var(--gofi-weight-medium);
}
.gfn-prose th {
    font-size: 13px;
    font-weight: var(--gofi-weight-semibold);
}
.gfn-prose td {
    font-size: 13px;
    font-weight: var(--gofi-weight-normal);
}
.gfn-toc {
    font-size: 12px;
    font-weight: var(--gofi-weight-normal);
}
.gfn-toc a {
    font-weight: var(--gofi-weight-medium);
}

/* Moments archive and detail. */
.gfm-hero h1,
.gfm-single h1 {
    font-size: var(--gofi-font-h1);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.2;
    letter-spacing: -.025em;
}
.gfm-card h2,
.gfm-empty h2,
.gfm-related-moments h3 {
    font-size: var(--gofi-font-h3);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.35;
}
.gfm-card header time,
.gfm-filters a,
.gfm-links a {
    font-weight: var(--gofi-weight-medium);
}
.gfm-card > p,
.gfm-single-content,
.gfm-single-content p {
    font-size: 15px;
    font-weight: var(--gofi-weight-normal);
}
.gfm-cta h2 {
    font-size: var(--gofi-font-h2);
    font-weight: var(--gofi-weight-semibold);
    line-height: 1.25;
}

@media (max-width: 620px) {
    :root {
        --gofi-font-hero: 30px;
        --gofi-font-h1: 26px;
        --gofi-font-product-h1: 24px;
        --gofi-font-h2: 20px;
        --gofi-font-h3: 17px;
    }
    .site-nav a {
        font-size: 14px;
    }
    .gfh-category-label strong,
    .gfpc-family strong,
    .gfpc-architecture h2 {
        font-size: 17px;
    }
    .gfpd-hero h1 {
        line-height: 1.32;
    }
    .gfpd-panel-heading h2,
    .gfpd-tech-section h3,
    .gfpd-overview-builder .gfpd-builder-section > h3 {
        line-height: 1.35;
    }
    .gfpd-table-scroll th,
    .gfpd-table-scroll td {
        padding: 10px 12px;
    }
}
