@font-face {
    font-family: 'Source Serif 4';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/source-serif-4-latin-400-normal.woff2') format('woff2');
}

@font-face {
    font-family: 'Source Serif 4';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/source-serif-4-latin-600-normal.woff2') format('woff2');
}

/*
 * Tricode Clinical compact typography comparison
 * Preview only — no production deployment.
 * This layer intentionally changes typography and vertical rhythm only.
 */

:root {
    --type-body: 16px;
    --type-body-line: 1.5;
    --type-lead: 17px;
    --type-lead-line: 1.5;
    --type-h1: 50px;
    --type-h1-line: 1.07;
    --type-h2: 28px;
    --type-h2-line: 1.2;
    --type-h3: 19px;
    --type-h3-line: 1.3;
    --space-section: 58px;
    --space-paragraph: 14px;
}

/* Shared heading hierarchy across the four comparison pages. */
body[data-page="homepage"] h1,
body[data-page="clinical-trials-service"] h1,
body[data-page="ogtr-service"] h1,
body[data-page="ogtr-insight"] h1 {
    font-size: var(--type-h1);
    font-weight: 600;
    line-height: var(--type-h1-line);
    letter-spacing: -.032em;
}

body[data-page="homepage"] h2,
body[data-page="clinical-trials-service"] h2,
body[data-page="ogtr-service"] h2,
body[data-page="ogtr-insight"] h2 {
    font-size: var(--type-h2);
    font-weight: 700;
    line-height: var(--type-h2-line);
    letter-spacing: -.02em;
}

body[data-page="homepage"] h3,
body[data-page="clinical-trials-service"] h3,
body[data-page="ogtr-service"] h3,
body[data-page="ogtr-insight"] h3 {
    font-size: var(--type-h3);
    font-weight: 600;
    line-height: var(--type-h3-line);
    letter-spacing: -.008em;
}

/* Homepage: preserve card and label sizes while reducing oversized leads and whitespace. */
body[data-page="homepage"] section.py-24,
body[data-page="homepage"] section.py-20 {
    padding-top: var(--space-section);
    padding-bottom: var(--space-section);
}

body[data-page="homepage"] h2 { margin-bottom: 18px; }
body[data-page="homepage"] h3 { margin-bottom: 12px; }
body[data-page="homepage"] > header p,
body[data-page="homepage"] > section p { line-height: var(--type-body-line); }
body[data-page="homepage"] > header .text-xl,
body[data-page="homepage"] > section .text-xl {
    font-size: var(--type-lead);
    line-height: var(--type-lead-line);
}
body[data-page="homepage"] > header .text-lg,
body[data-page="homepage"] > section .text-lg {
    font-size: var(--type-body);
    line-height: var(--type-body-line);
}
body[data-page="homepage"] > header .text-base,
body[data-page="homepage"] > section .text-base {
    font-size: 15.5px;
    line-height: 1.5;
}
body[data-page="homepage"] > header .leading-relaxed,
body[data-page="homepage"] > section .leading-relaxed { line-height: var(--type-body-line); }

/* Established Clinical Trial service page. */
body[data-page="clinical-trials-service"] .hero {
    padding-top: 48px;
    padding-bottom: 56px;
}
body[data-page="clinical-trials-service"] .hero h1 { margin-bottom: 20px; }
body[data-page="clinical-trials-service"] .hero-lead {
    font-size: var(--type-lead);
    line-height: var(--type-lead-line);
}
body[data-page="clinical-trials-service"] .hero-actions { margin-top: 24px; }
body[data-page="clinical-trials-service"] .scope-note {
    margin-top: 22px;
    font-size: 15px;
    line-height: var(--type-body-line);
}
body[data-page="clinical-trials-service"] .section {
    padding-top: var(--space-section);
    padding-bottom: var(--space-section);
}
body[data-page="clinical-trials-service"] .section h2 { margin-bottom: 18px; }
body[data-page="clinical-trials-service"] .section-intro,
body[data-page="clinical-trials-service"] .copy {
    font-size: var(--type-body);
    font-weight: 400;
    line-height: var(--type-body-line);
}
body[data-page="clinical-trials-service"] .section-intro { margin-bottom: 24px; }
body[data-page="clinical-trials-service"] .copy p { margin-bottom: var(--space-paragraph); }
body[data-page="clinical-trials-service"] .card h3,
body[data-page="clinical-trials-service"] .step h3 { margin-bottom: 9px; }
body[data-page="clinical-trials-service"] .card p,
body[data-page="clinical-trials-service"] .step p {
    font-size: 15px;
    line-height: 1.5;
}
body[data-page="clinical-trials-service"] .check-list {
    margin-top: 22px;
    gap: 10px;
}
body[data-page="clinical-trials-service"] .check-list li { line-height: 1.5; }
body[data-page="clinical-trials-service"] .current-note { line-height: 1.55; }
body[data-page="clinical-trials-service"] .cta-panel p {
    font-size: var(--type-body);
    line-height: var(--type-body-line);
}

/* OGTR service page. */
body[data-page="ogtr-service"] .ogtr-hero-grid {
    padding-top: 54px;
    padding-bottom: 60px;
}
body[data-page="ogtr-service"] .ogtr-hero h1 { margin-bottom: 20px; }
body[data-page="ogtr-service"] .ogtr-hero .hero-lead {
    font-size: var(--type-lead);
    line-height: var(--type-lead-line);
}
body[data-page="ogtr-service"] .ogtr-hero .hero-actions { margin-top: 24px; }
body[data-page="ogtr-service"] .ogtr-note {
    margin-top: 20px;
    line-height: var(--type-body-line);
}
body[data-page="ogtr-service"] .section {
    padding-top: var(--space-section);
    padding-bottom: var(--space-section);
}
body[data-page="ogtr-service"] .section h2 { margin-bottom: 18px; }
body[data-page="ogtr-service"] .section-intro,
body[data-page="ogtr-service"] .copy {
    font-size: var(--type-body);
    font-weight: 400;
    line-height: var(--type-body-line);
    color: #344149;
}
body[data-page="ogtr-service"] .section-intro {
    margin-bottom: 24px;
    font-weight: 500;
}
body[data-page="ogtr-service"] .copy p { margin-bottom: var(--space-paragraph); }
body[data-page="ogtr-service"] .check-list {
    margin-top: 20px;
    gap: 8px;
    line-height: 1.5;
}
body[data-page="ogtr-service"] .ogtr-callout { line-height: 1.5; }
body[data-page="ogtr-service"] .ogtr-callout h3,
body[data-page="ogtr-service"] .ogtr-card h3,
body[data-page="ogtr-service"] .ogtr-step h3 { margin-bottom: 9px; }
body[data-page="ogtr-service"] .ogtr-card p,
body[data-page="ogtr-service"] .ogtr-card ul {
    font-size: 15.5px;
    line-height: 1.5;
}
body[data-page="ogtr-service"] .ogtr-card ul { margin-top: 14px; }
body[data-page="ogtr-service"] .ogtr-card li + li { margin-top: 6px; }
body[data-page="ogtr-service"] .ogtr-step p {
    font-size: 15px;
    line-height: 1.5;
}
body[data-page="ogtr-service"] .insight-feature p,
body[data-page="ogtr-service"] .cta-panel p { line-height: var(--type-body-line); }

/* Long-form article: denser editorial rhythm without compromising readability. */
body[data-page="ogtr-insight"] .article-header {
    padding-top: 46px;
    padding-bottom: 44px;
}
body[data-page="ogtr-insight"] .section {
    padding-top: 52px;
    padding-bottom: 52px;
}
body[data-page="ogtr-insight"] .article-header h1 {
    font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
    font-size: 50px;
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.026em;
    max-width: 900px;
    margin-top: 12px;
    margin-bottom: 14px;
}
body[data-page="ogtr-insight"] .article-subtitle {
    max-width: 740px;
    font-size: 16.5px;
    line-height: 1.48;
}
body[data-page="ogtr-insight"] .article-meta { margin-top: 16px; }
body[data-page="ogtr-insight"] .article-header .content-container,
body[data-page="ogtr-insight"] .article-layout {
    width: min(942px, calc(100% - 48px));
}
body[data-page="ogtr-insight"] .article-layout {
    grid-template-columns: 180px minmax(0, 730px);
    gap: 32px;
}
body[data-page="ogtr-insight"] .article-copy {
    max-width: 730px;
    font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
    font-size: 17.5px;
    font-weight: 400;
    line-height: 1.55;
}
body[data-page="ogtr-insight"] .article-lede {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}
body[data-page="ogtr-insight"] .article-copy p { margin-bottom: var(--space-paragraph); }
body[data-page="ogtr-insight"] .article-copy ul {
    margin-bottom: 22px;
    padding-left: 23px;
}
body[data-page="ogtr-insight"] .article-copy li + li { margin-top: 6px; }
body[data-page="ogtr-insight"] .article-copy h2 {
    margin-top: 38px;
    margin-bottom: 12px;
    font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -.012em;
}
body[data-page="ogtr-insight"] .article-copy h3 {
    margin-top: 26px;
    margin-bottom: 8px;
    font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}
body[data-page="ogtr-insight"] .article-copy blockquote {
    margin: 24px 0;
    padding: 17px 20px;
    font-size: 17.5px;
    line-height: 1.5;
}
body[data-page="ogtr-insight"] .article-table-wrap { margin: 17px 0 20px; }
body[data-page="ogtr-insight"] .article-table,
body[data-page="ogtr-insight"] .article-cta,
body[data-page="ogtr-insight"] .article-toc {
    font-family: 'Inter', system-ui, sans-serif;
}
body[data-page="ogtr-insight"] .article-callout {
    margin: 22px 0;
    padding: 18px;
}
body[data-page="ogtr-insight"] .article-cta {
    margin-top: 28px;
    padding: 21px;
}
body[data-page="ogtr-insight"] .footnotes { margin-top: 30px; }
body[data-page="ogtr-insight"] .footnotes h2 {
    font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif;
    font-size: 21px;
    line-height: 1.25;
}

@media (max-width: 920px) {
    :root {
        --type-h1: 42px;
        --type-h2: 27px;
        --space-section: 52px;
    }

    body[data-page="ogtr-insight"] .article-layout { grid-template-columns: 1fr; }
    body[data-page="ogtr-insight"] .article-header h1 { font-size: 44px; }
}

@media (max-width: 640px) {
    :root {
        --type-body: 16px;
        --type-lead: 16.5px;
        --type-h1: 34px;
        --type-h2: 25px;
        --type-h3: 18px;
        --space-section: 44px;
        --space-paragraph: 13px;
    }

    body[data-page="homepage"] section.py-24,
    body[data-page="homepage"] section.py-20,
    body[data-page="clinical-trials-service"] .section,
    body[data-page="ogtr-service"] .section {
        padding-top: var(--space-section);
        padding-bottom: var(--space-section);
    }

    body[data-page="clinical-trials-service"] .hero,
    body[data-page="ogtr-insight"] .article-header {
        padding-top: 42px;
        padding-bottom: 46px;
    }

    body[data-page="ogtr-service"] .ogtr-hero-grid {
        padding-top: 40px;
        padding-bottom: 52px;
    }

    body[data-page="ogtr-insight"] .article-header .content-container,
    body[data-page="ogtr-insight"] .article-layout {
        width: calc(100% - 30px);
    }

    body[data-page="ogtr-insight"] .article-copy {
        font-size: 17px;
        line-height: 1.52;
    }

    body[data-page="ogtr-insight"] .article-header h1 {
        font-size: 38px;
        line-height: 1.08;
    }
    body[data-page="ogtr-insight"] .article-copy h2 {
        margin-top: 32px;
        font-size: 25px;
    }
    body[data-page="ogtr-insight"] .article-copy h3 {
        margin-top: 23px;
        font-size: 20px;
    }
    body[data-page="ogtr-insight"] .section {
        padding-top: 42px;
        padding-bottom: 42px;
    }
}
