/* Public presentation tokens. Not registered in editorial/admin workspaces. */
:root {
    /* Primitives: existing EPHOCS brand and self-hosted families. */
    --ephocs-teal-900: #073f46;
    --ephocs-teal-700: #0b5f66;
    --ephocs-gold-500: #d5aa52;
    --ephocs-paper: #fff;
    --ephocs-ink: #183236;
    --ephocs-muted: #4f666b;
    --ephocs-line: #d7e2e2;
    --ephocs-wash: #f1f6f4;
    --ephocs-radius-small: .25rem;
    --ephocs-radius-medium: .5rem;
    --ephocs-font-sans: 'Merriweather Sans', 'Noto Sans', Arial, sans-serif;
    --ephocs-font-serif: 'Merriweather', Georgia, 'Times New Roman', serif;
    --ephocs-size-caption: .75rem;
    --ephocs-size-small: .875rem;
    --ephocs-size-base: 1rem;
    --ephocs-size-reading: 1.125rem;
    /* Semantic tokens: public content roles. */
    --ephocs-text-body: var(--ephocs-size-reading);
    --ephocs-text-control: var(--ephocs-size-base);
    --ephocs-text-meta: var(--ephocs-size-small);
    --ephocs-text-h1: 2.75rem;
    --ephocs-text-h2: 2rem;
    --ephocs-text-h3: 1.5rem;
    --ephocs-leading-body: 1.7;
    --ephocs-leading-heading: 1.25;
    --ephocs-content-max: 1280px;
    --ephocs-prose-max: 68ch;
    --ephocs-form-max: 40rem;
    --ephocs-gutter: 3rem;
    --ephocs-content-width: min(calc(100% - var(--ephocs-gutter) * 2), var(--ephocs-content-max));
    --ephocs-space-section: 3rem;
    /* Component aliases: masthead, menus and reading controls. */
    --ephocs-masthead-height: 5.5rem;
    --ephocs-journal-nav-height: 3.25rem;
    --ephocs-control-height: 2.75rem;
    --ephocs-card-radius: var(--ephocs-radius-medium);
    --ephocs-input-radius: var(--ephocs-radius-small);
    --ephocs-panel-padding: 1.5rem;
    --ephocs-nav-size: var(--ephocs-text-control);
    --ephocs-focus: #237c84;
    --ephocs-focus-on-dark: #f1cb84;
}
html.ephocs_public_document { font-size: 100%; }
@media (max-width: 1199px) {
    :root { --ephocs-gutter: 1.75rem; --ephocs-masthead-height: 4.5rem; }
}
@media (max-width: 767px) {
    :root {
        --ephocs-text-body: var(--ephocs-size-base);
        --ephocs-text-h1: 2rem;
        --ephocs-text-h2: 1.625rem;
        --ephocs-text-h3: 1.375rem;
    }
}
@media (max-width: 560px) {
    :root { --ephocs-gutter: 1.25rem; --ephocs-space-section: 2.25rem; }
}
