/*
 * r34 typography-density guardrail
 *
 * Caps display type that had escaped the r30 first-viewport correction.
 * It loads after the retained r30 density layer and changes scale only: no
 * canonical content is hidden, clipped, delayed, translated, or overlapped.
 */

/* Page-level hierarchy --------------------------------------------------- */

html.ui-typography-r34 .display--hero {
    font-size: clamp(3.9rem, 5.4vw, 4.6rem);
    line-height: 0.91;
}

html.ui-typography-r34 .display--page {
    font-size: clamp(3.7rem, 5.1vw, 4.35rem);
    line-height: 0.91;
}

html.ui-typography-r34 .page-hero--loop .display--page,
html.ui-typography-r34 .display--profile {
    font-size: clamp(3.55rem, 4.9vw, 4.18rem);
}

html.ui-typography-r34 .page-hero--timeline .display--page {
    font-size: clamp(3.8rem, 5.25vw, 4.48rem);
}

/* This low-specificity default replaces only the inherited 6.3rem generic
   H2. Component-owned compact headings retain their own smaller scale. */
:where(html.ui-typography-r34) h2 {
    font-size: clamp(2.15rem, 3.7vw, 3.15rem);
    line-height: 0.98;
}

html.ui-typography-r34 .section-heading h2,
html.ui-typography-r34 .manifesto-band h2,
html.ui-typography-r34 .manifesto-band--compact h2,
html.ui-typography-r34 .final-question h2,
html.ui-typography-r34 #archive-title,
html.ui-typography-r34 .model-switcher__display h3,
html.ui-typography-r34 .loop-exit h2,
html.ui-typography-r34 .profile-next h2,
html.ui-typography-r34 .source-check__title h2,
html.ui-typography-r34 .evidence-firewall__copy h2 {
    font-size: clamp(2.2rem, 3.7vw, 3.15rem);
    line-height: 0.98;
}

/* Evidence-module titles ------------------------------------------------ */

html.ui-typography-r34 :is(
    .temporal-grammar__hero,
    .enochic-manuscripts__hero,
    .enochic-passages__hero,
    .enochic-apparatus__hero,
    .collation-room__header,
    .insurrection-outcomes__hero,
    .insurrection-outcomes__identity,
    .contested-label-method__hero,
    .contested-label-method__identity,
    .current-directory-provenance__hero,
    .archival-reappearance__hero,
    .enochic-cosmos__hero,
    .participation-wheel__heading,
    .survivor-inversion__hero,
    .survivor-inversion__identity,
    .record-registry__hero,
    .evidence-directory__header,
    .cognitive-liberty__header,
    .cognitive-liberty-test__header,
    .prophecy-retrofit__header
) h2 {
    font-size: clamp(2.25rem, 3.7vw, 3.15rem);
    line-height: 0.97;
}

html.ui-typography-r34 :is(
    .temporal-grammar__heading,
    .temporal-grammar__disclosures,
    .enochic-manuscripts__heading,
    .enochic-passages__layer-panel,
    .enochic-passages__method,
    .enochic-passages__global-breaks,
    .enochic-passages__disclosures,
    .enochic-apparatus__controls,
    .enochic-apparatus__subhead,
    .enochic-apparatus__heading,
    .enochic-apparatus__global-breaks,
    .enochic-apparatus__disclosures,
    .archival-reappearance__section-heading,
    .enochic-cosmos__section-heading,
    .current-directory-provenance__section-heading,
    .current-directory-provenance__internal,
    .insurrection-outcomes__section-heading,
    .insurrection-outcomes__thesis,
    .insurrection-outcomes__internal,
    .contested-label-method__thesis,
    .contested-label-method__section-heading,
    .contested-label-method__internal,
    .survivor-inversion__laws,
    .survivor-inversion__section-heading,
    .survivor-inversion__footer,
    .participation-cycle__intro,
    .participation-roles__heading,
    .participation-protocol__copy,
    .participation-local-first,
    .source-strata-map__relationships-heading,
    .source-strata-map__breaks,
    .source-strata-map__exit,
    .candidate-projection__boundary,
    .candidate-projection__steps,
    .composite-figure__conclusions,
    .cognitive-liberty__subhead,
    .cognitive-liberty__principles,
    .cognitive-liberty__counterweights,
    .prophecy-retrofit__subhead,
    .prophecy-retrofit__limits
) h3 {
    font-size: clamp(1.8rem, 2.8vw, 2.39rem);
    line-height: 1.02;
}

html.ui-typography-r34 :is(
    .enochic-passages__record-header,
    .enochic-apparatus__record-header,
    .restrainer-context__record-header,
    .restrainer-context__identity,
    .symbol-context__record-header,
    .symbol-context__identity,
    .rhetoric-context__record-header,
    .source-strata-map__status-heading,
    .source-strata-map__orientation,
    .source-strata-map__branch-header,
    .current-directory-provenance__disclosure-pair,
    .current-directory-provenance__internal,
    .enochic-cosmos__son-copy,
    .enochic-cosmos__machine,
    .enochic-cosmos__breaks,
    .chronology-record__header,
    .mutation-panel > header,
    .theme-atlas-card,
    .theme-preview-card,
    .rule-card,
    .home-time-card,
    .home-mirror > header,
    .register-split,
    .recurrence-inspector,
    .lens-engine__panel,
    .architecture-engine__panel,
    .ethics-scenario > article,
    .diagnostic-result,
    .grade-card,
    .principle-grid,
    .commitment-grid,
    .source-card,
    .source-provenance__law,
    .source-boundary,
    .reading-path,
    .profile-link-card,
    .name-register-boundary
) h3 {
    font-size: clamp(1.65rem, 2.8vw, 2.39rem);
    line-height: 1.04;
}

/* Dense apparatus subheads --------------------------------------------- */

html.ui-typography-r34 :is(
    .enochic-passages__record-break,
    .enochic-apparatus__record-break,
    .restrainer-context__section-intro,
    .restrainer-context__mutation-heading,
    .restrainer-context__sources-heading,
    .restrainer-context__footer,
    .restrainer-context__correction,
    .rhetoric-context__section-intro,
    .rhetoric-context__cases-heading,
    .rhetoric-context__ordinary,
    .rhetoric-context__current-correction,
    .rhetoric-context__pressure,
    .rhetoric-context__counterexamples,
    .rhetoric-context__breaks,
    .rhetoric-context__sources-heading,
    .rhetoric-context__limits,
    .insurrection-outcomes__matrix-grid,
    .insurrection-outcomes__contrast-sides,
    .participation-role,
    .survivor-inversion__disclosures,
    .survivor-dossier summary,
    .source-strata-map__event,
    .source-strata-map__relationship,
    .enochic-cosmos__booklet-grid
) h4 {
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.08;
}

html.ui-typography-r34 :is(
    .rhetoric-context__case,
    .rhetoric-context__step,
    .restrainer-context__uncertainty,
    .restrainer-context__uncertainties,
    .restrainer-context__confessional,
    .restrainer-context__mutation
) h5 {
    font-size: clamp(1.05rem, 1.6vw, 1.5rem);
    line-height: 1.12;
}

/* Route-level display accents ------------------------------------------ */

html.ui-typography-r34 .sequence-engine__number {
    font-size: 3.58rem;
    line-height: 0.82;
}

html.ui-typography-r34 .sequence-engine__panel h3,
html.ui-typography-r34 .hero-terminal h3 {
    font-size: clamp(1.75rem, 2.8vw, 2.39rem);
}

html.ui-typography-r34 .model-switcher__mark,
html.ui-typography-r34 .recursive-model-note > span,
html.ui-typography-r34 .symbol-grid span,
html.ui-typography-r34 .recurrence-map__core strong,
html.ui-typography-r34 .evidence-rung > span,
html.ui-typography-r34 .diagnostic-result__mark,
html.ui-typography-r34 .source-provenance__law > span,
html.ui-typography-r34 .source-state-key__item > span,
html.ui-typography-r34 .current-directory-provenance__gate-index > span,
html.ui-typography-r34 .candidate-projection__ordinal,
html.ui-typography-r34 .composite-figure__ordinal,
html.ui-typography-r34 .profile-register > span,
html.ui-typography-r34 .name-register__number,
html.ui-typography-r34 .carrier-bridge__steps > article > span {
    font-size: clamp(2.55rem, 4.2vw, 3.6rem);
    line-height: 0.9;
}

html.ui-typography-r34 .contested-label-method__label-word,
html.ui-typography-r34 .contested-label-method__domain-grid > article > span,
html.ui-typography-r34 .contested-label-method__counterexamples li > span,
html.ui-typography-r34 .symbol-context__variant-readings strong,
html.ui-typography-r34 .symbol-context__number > div > span,
html.ui-typography-r34 .symbol-context__retrofit-signal b,
html.ui-typography-r34 .restrainer-context__correction-signal b,
html.ui-typography-r34 .rhetoric-context__zero-target > span,
html.ui-typography-r34 .current-directory-provenance__stamp-ring strong,
html.ui-typography-r34 .current-directory-provenance__law > strong,
html.ui-typography-r34 .current-directory-provenance__footer-law > strong,
html.ui-typography-r34 .insurrection-outcomes__boundary strong,
html.ui-typography-r34 .participation-cycle__core strong,
html.ui-typography-r34 .cycle-lab__result > strong,
html.ui-typography-r34 .survivor-inversion__archive blockquote,
html.ui-typography-r34 .survivor-inversion__covenant-law strong {
    font-size: clamp(2rem, 3.6vw, 3rem);
    line-height: 1;
}

html.ui-typography-r34 .accordion__item button {
    font-size: clamp(1.25rem, 2.2vw, 1.75rem);
    line-height: 1.15;
}

html.ui-typography-r34 .footer-declaration {
    font-size: clamp(2rem, 3.7vw, 3.15rem);
}

/* Theme dialog remains a compact reading surface. Its component owner sets
   the exact dialog scale and outranks the low-specificity generic H2 rule. */

@media (max-width: 980px) {
    html.ui-typography-r34 .display--hero {
        font-size: 4.75rem;
    }

    html.ui-typography-r34 .display--page {
        font-size: 3.25rem;
    }

    html.ui-typography-r34 .page-hero--loop .display--page,
    html.ui-typography-r34 .display--profile {
        font-size: 3.2rem;
    }

    html.ui-typography-r34 .page-hero--timeline .display--page {
        font-size: 3.35rem;
    }
}

@media (max-width: 720px) {
    html.ui-typography-r34 .display--hero {
        font-size: clamp(2.55rem, 11.2vw, 2.95rem);
    }

    html.ui-typography-r34 .display--page,
    html.ui-typography-r34 .page-hero--loop .display--page,
    html.ui-typography-r34 .display--profile {
        font-size: clamp(2.35rem, 10.5vw, 2.6rem);
    }

    html.ui-typography-r34 .page-hero--timeline .display--page {
        font-size: clamp(2.45rem, 10.8vw, 2.7rem);
    }

    :where(html.ui-typography-r34) h2,
    html.ui-typography-r34 .section-heading h2,
    html.ui-typography-r34 .manifesto-band h2,
    html.ui-typography-r34 .manifesto-band--compact h2,
    html.ui-typography-r34 .final-question h2,
    html.ui-typography-r34 #archive-title,
    html.ui-typography-r34 .model-switcher__display h3,
    html.ui-typography-r34 .loop-exit h2,
    html.ui-typography-r34 .profile-next h2,
    html.ui-typography-r34 .source-check__title h2,
    html.ui-typography-r34 .evidence-firewall__copy h2 {
        font-size: clamp(2rem, 8.9vw, 2.3rem);
    }

    html.ui-typography-r34 :is(
        .temporal-grammar__hero,
        .enochic-manuscripts__hero,
        .enochic-passages__hero,
        .enochic-apparatus__hero,
        .collation-room__header,
        .insurrection-outcomes__hero,
        .insurrection-outcomes__identity,
        .contested-label-method__hero,
        .contested-label-method__identity,
        .current-directory-provenance__hero,
        .archival-reappearance__hero,
        .enochic-cosmos__hero,
        .participation-wheel__heading,
        .survivor-inversion__hero,
        .survivor-inversion__identity,
        .record-registry__hero,
        .evidence-directory__header,
        .cognitive-liberty__header,
        .cognitive-liberty-test__header,
        .prophecy-retrofit__header
    ) h2 {
        font-size: clamp(2rem, 8.9vw, 2.3rem);
    }

    html.ui-typography-r34 :is(
        .temporal-grammar__heading,
        .temporal-grammar__disclosures,
        .enochic-manuscripts__heading,
        .enochic-passages__layer-panel,
        .enochic-passages__method,
        .enochic-passages__global-breaks,
        .enochic-passages__disclosures,
        .enochic-apparatus__controls,
        .enochic-apparatus__subhead,
        .enochic-apparatus__heading,
        .enochic-apparatus__global-breaks,
        .enochic-apparatus__disclosures,
        .archival-reappearance__section-heading,
        .enochic-cosmos__section-heading,
        .current-directory-provenance__section-heading,
        .current-directory-provenance__internal,
        .insurrection-outcomes__section-heading,
        .insurrection-outcomes__thesis,
        .insurrection-outcomes__internal,
        .contested-label-method__thesis,
        .contested-label-method__section-heading,
        .contested-label-method__internal,
        .survivor-inversion__laws,
        .survivor-inversion__section-heading,
        .survivor-inversion__footer,
        .participation-cycle__intro,
        .participation-roles__heading,
        .participation-protocol__copy,
        .participation-local-first,
        .source-strata-map__relationships-heading,
        .source-strata-map__breaks,
        .source-strata-map__exit,
        .candidate-projection__boundary,
        .candidate-projection__steps,
        .composite-figure__conclusions,
        .cognitive-liberty__subhead,
        .cognitive-liberty__principles,
        .cognitive-liberty__counterweights,
        .prophecy-retrofit__subhead,
        .prophecy-retrofit__limits,
        .enochic-passages__record-header,
        .enochic-apparatus__record-header,
        .restrainer-context__record-header,
        .restrainer-context__identity,
        .symbol-context__record-header,
        .symbol-context__identity,
        .rhetoric-context__record-header,
        .source-strata-map__status-heading,
        .source-strata-map__orientation,
        .source-strata-map__branch-header,
        .current-directory-provenance__disclosure-pair,
        .enochic-cosmos__son-copy,
        .enochic-cosmos__machine,
        .enochic-cosmos__breaks,
        .chronology-record__header,
        .mutation-panel > header,
        .theme-atlas-card,
        .theme-preview-card,
        .rule-card,
        .home-time-card,
        .home-mirror > header,
        .register-split,
        .recurrence-inspector,
        .lens-engine__panel,
        .architecture-engine__panel,
        .ethics-scenario > article,
        .diagnostic-result,
        .grade-card,
        .principle-grid,
        .commitment-grid,
        .source-card,
        .source-provenance__law,
        .source-boundary,
        .reading-path,
        .profile-link-card,
        .name-register-boundary
    ) h3 {
        font-size: clamp(1.55rem, 7.8vw, 2rem);
    }

    html.ui-typography-r34 :is(
        .enochic-passages__record-break,
        .enochic-apparatus__record-break,
        .restrainer-context__section-intro,
        .restrainer-context__mutation-heading,
        .restrainer-context__sources-heading,
        .restrainer-context__footer,
        .restrainer-context__correction,
        .rhetoric-context__section-intro,
        .rhetoric-context__cases-heading,
        .rhetoric-context__ordinary,
        .rhetoric-context__current-correction,
        .rhetoric-context__pressure,
        .rhetoric-context__counterexamples,
        .rhetoric-context__breaks,
        .rhetoric-context__sources-heading,
        .rhetoric-context__limits,
        .insurrection-outcomes__matrix-grid,
        .insurrection-outcomes__contrast-sides,
        .participation-role,
        .survivor-inversion__disclosures,
        .survivor-dossier summary,
        .source-strata-map__event,
        .source-strata-map__relationship,
        .enochic-cosmos__booklet-grid
    ) h4 {
        font-size: clamp(1.2rem, 6.3vw, 1.55rem);
    }

    html.ui-typography-r34 .sequence-engine__number,
    html.ui-typography-r34 .model-switcher__mark,
    html.ui-typography-r34 .recursive-model-note > span,
    html.ui-typography-r34 .symbol-grid span,
    html.ui-typography-r34 .recurrence-map__core strong,
    html.ui-typography-r34 .evidence-rung > span,
    html.ui-typography-r34 .diagnostic-result__mark,
    html.ui-typography-r34 .source-provenance__law > span,
    html.ui-typography-r34 .source-state-key__item > span,
    html.ui-typography-r34 .current-directory-provenance__gate-index > span,
    html.ui-typography-r34 .candidate-projection__ordinal,
    html.ui-typography-r34 .composite-figure__ordinal,
    html.ui-typography-r34 .profile-register > span,
    html.ui-typography-r34 .name-register__number,
    html.ui-typography-r34 .carrier-bridge__steps > article > span {
        font-size: 3rem;
    }

    html.ui-typography-r34 .contested-label-method__label-word,
    html.ui-typography-r34 .contested-label-method__domain-grid > article > span,
    html.ui-typography-r34 .contested-label-method__counterexamples li > span,
    html.ui-typography-r34 .symbol-context__variant-readings strong,
    html.ui-typography-r34 .symbol-context__number > div > span,
    html.ui-typography-r34 .symbol-context__retrofit-signal b,
    html.ui-typography-r34 .restrainer-context__correction-signal b,
    html.ui-typography-r34 .rhetoric-context__zero-target > span,
    html.ui-typography-r34 .current-directory-provenance__stamp-ring strong,
    html.ui-typography-r34 .current-directory-provenance__law > strong,
    html.ui-typography-r34 .current-directory-provenance__footer-law > strong,
    html.ui-typography-r34 .insurrection-outcomes__boundary strong,
    html.ui-typography-r34 .participation-cycle__core strong,
    html.ui-typography-r34 .cycle-lab__result > strong,
    html.ui-typography-r34 .survivor-inversion__archive blockquote,
    html.ui-typography-r34 .survivor-inversion__covenant-law strong {
        font-size: 2.6rem;
    }
}

@media (max-width: 340px) {
    html.ui-typography-r34 .display--hero {
        font-size: 2.6rem;
    }

    html.ui-typography-r34 .display--page,
    html.ui-typography-r34 .page-hero--loop .display--page,
    html.ui-typography-r34 .page-hero--timeline .display--page,
    html.ui-typography-r34 .display--profile {
        font-size: 2.35rem;
    }
}

@media print {
    html.ui-typography-r34 .display--hero,
    html.ui-typography-r34 .display--page,
    html.ui-typography-r34 .page-hero--loop .display--page,
    html.ui-typography-r34 .page-hero--timeline .display--page,
    html.ui-typography-r34 .display--profile {
        font-size: 34pt;
    }
}
