/* Shared typography and small-screen rhythm across every page. */
body { line-height: 1.65; font-synthesis: none; }
button, select, input, textarea { font-synthesis: none; }
bdi, .ej-pipe-num, .ej-tab-num, .ej-console-progress { font-variant-numeric: lining-nums tabular-nums; }
main h1, main h2, main h3 { text-wrap: pretty; }
html[lang="ar"] main :is(.ej-page,.ej-landing-page) :is(h1,h2,h3) { line-height: 1.45; }
main p { text-wrap: pretty; }
.ej-page[lang="en"] .ej-text-end { text-align: start; }
@media (max-width: 768px) {
    html { scroll-padding-top: calc(104px + env(safe-area-inset-top)); }
    main .ej-page > section > .ej-container { padding-block: 44px; padding-inline: 22px; }
    main .ej-page :is(.ej-hero-h1) { font-size: clamp(30px, 8vw, 38px); line-height: 1.4; }
    main .ej-page :is(.ej-hero-intro,.ej-sec-sub) { font-size: 16px; line-height: 1.95; }
    main .ej-page :is(.ej-sec-h2) { font-size: 28px; line-height: 1.5; }
    main .ej-page :is(.ej-values-grid,.ej-founders-grid,.ej-events-grid) { gap: 18px; }
    main .ej-page :is(.ej-value-card,.ej-founder-card,.ej-event-card,.ej-awards-card,.ej-ask-box) { padding: 24px 20px; border-radius: 22px; }
    main .ej-page .ej-filters-section > .ej-container { padding-block: 24px; }
    main .ej-page .ej-filter-pills { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; gap: 8px; }
    main .ej-page .ej-filter-btn { min-height: 44px; padding: 10px 12px; border-radius: 14px; font-size: 13px; }
    main .ej-page .ej-event-title { font-size: 24px; line-height: 1.5; }
    main .ej-page .ej-event-description { font-size: 16px; line-height: 1.9; }
    .ej-footer-container { padding: 44px 22px 30px; }
    .ej-footer-top { gap: 28px; }
    .ej-footer-links-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; width: 100%; }
    .ej-footer-col a { padding-block: 5px; font-size: 14px; line-height: 1.8; }
    .ej-footer-wordmark-img { height: 68px; }
    .ej-footer-bottom { margin-top: 28px; font-size: 12px; line-height: 1.9; }
}
