/* Shared public-site labels and controls: natural case and normal spacing.
   Body specificity wins over component styles loaded later in the document. */
body .eyebrow,
body .btn-outline,
body .research-feed-archive,
body .research-feed-meta,
body .research-feature-cta,
body .research-feature-badge,
body .research-feed-controls button,
body .dr-dropdown-header,
body .dr-menu-grouplabel,
body .dr-leave-cancel,
body .legal-prose h2,
body .roman-mark,
body #welcome-modal-continue,
body #cookie-banner button {
    text-transform: none;
    letter-spacing: normal;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}
body .research-feed-meta,
body .research-feature-badge,
body .dr-dropdown-header,
body .dr-menu-grouplabel {
    font-size: 13px;
}
/* Cover page-local Tailwind classes and inline control styles as well. */
body button,
body label,
body [role="button"],
body input[type="submit"],
body input[type="button"],
body .uppercase,
body .tracking-wide,
body .tracking-wider,
body .tracking-widest,
body [class*="tracking-[0."],
body [class*="tracking-[."],
body #site-nav nav > ul,
body .dr-menu-link,
body .dr-menu-foot,
body .dr-skip-link {
    letter-spacing: normal !important;
    text-transform: none !important;
}

/* Match the home introduction's spacing below each marketing-page hero. */
body .page-intro-label {
    margin-bottom: 12px;
}
@media (max-width: 1023px) {
    body .page-intro-grid {
        row-gap: 12px;
    }
    body .page-intro-grid .page-intro-label {
        margin-bottom: 0;
    }
}
@media (max-width: 639px) {
    body .page-intro {
        padding-top: 48px;
        padding-bottom: 48px;
    }
}

/* One reading size for public-page body copy, including research and policies. */
:root { --site-body-size: 16px; }
@media (min-width: 1024px) {
    :root { --site-body-size: 18px; }
}
body .site-body-copy,
body .legal-prose p,
body .legal-prose p.lede,
body .legal-prose ul,
body .legal-prose ol,
body .research-article-prose > p,
body .research-article-prose > p:first-child,
body .research-article-prose section > p,
body .research-article-prose section > ul,
body .research-article-prose section > ol,
body .research-article-deck,
body .research-feature-description,
body .research-feed-header p {
    font-size: var(--site-body-size);
    line-height: 1.7;
}

/* Strategy introductions: keep the label with its heading and use both columns. */
body .strategy-thesis {
    padding-top: 48px;
    padding-bottom: 48px;
}
.strategy-thesis-copy {
    display: grid;
    gap: 24px;
    margin-top: 24px;
}
@media (min-width: 1024px) {
    body .strategy-thesis {
        padding-top: 64px;
        padding-bottom: 64px;
    }
    .strategy-thesis-copy {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 48px;
    }
}

/* Compact spacing for strategy content below the introductory thesis. */
body .strategy-section { padding-top: 48px; padding-bottom: 48px; }
body .strategy-details > div > .eyebrow,
body .strategy-details > div > .section-label { margin-bottom: 12px; }
body .strategy-details > div > h2 { margin-bottom: 32px; }
body .strategy-details > div > .site-body-copy { margin-bottom: 24px; }
.strategy-detail-list { display: grid; gap: 24px; }
body .strategy-detail-row { padding-top: 24px; row-gap: 12px; }
/* Each row's top rule provides separation; only the last row closes the list. */
body .strategy-detail-row:not(:last-child) { border-bottom-width: 0; padding-bottom: 0; }
body .strategy-detail-row:last-child { padding-bottom: 24px; }
@media (min-width: 1024px) {
    body .strategy-section { padding-top: 64px; padding-bottom: 64px; }
    .strategy-detail-list { gap: 32px; }
    body .strategy-detail-row { column-gap: 32px; }
}

/* Eligibility and risk statements share a smaller reading size site-wide. */
body .site-body-copy.statement-copy {
    font-size: 14px;
    line-height: 1.7;
}
@media (min-width: 1024px) {
    body .site-body-copy.statement-copy { font-size: 16px; }
}

/* Shared thesis headings and body copy across all strategy pages. */
body .strategy-thesis h2 { font-size: 24px; }
body .strategy-thesis .site-body-copy,
body .strategy-section .site-body-copy { font-size: 14px; }
@media (min-width: 1024px) {
    body .strategy-thesis h2 { font-size: 28px; }
    body .strategy-thesis .site-body-copy,
    body .strategy-section .site-body-copy { font-size: 16px; }
}
