/* ===================================================================
   Indian Loop Premium — typography.css
   Hindi-first type scale. Devanagari needs slightly more line-height
   and a larger x-height font than Latin.
   =================================================================== */

body {
    font-feature-settings: "kern", "liga", "calt", "dlig";
    font-variant-ligatures: contextual common-ligatures discretionary-ligatures;
    text-rendering: optimizeLegibility;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.ilp-heading {
    font-family: var(--ilp-font-hi, "Noto Sans Devanagari"), "Mukta", system-ui, sans-serif;
    font-weight: 700;
    line-height: 1.3;
    color: var(--ilp-fg);
    margin: 0 0 .6em;
    letter-spacing: -0.005em;
}

h1, .ilp-h1 { font-size: clamp(28px, 4vw, 42px); line-height: 1.2; }
h2, .ilp-h2 { font-size: clamp(22px, 2.8vw, 30px); }
h3, .ilp-h3 { font-size: clamp(18px, 2.2vw, 22px); }
h4, .ilp-h4 { font-size: 17px; }
h5            { font-size: 15px; }
h6            { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--ilp-subtle); }

/* Body */
p {
    margin: 0 0 1.1em;
    line-height: 1.75; /* Devanagari needs more breathing room */
}
p:last-child { margin-bottom: 0; }

/* Article body */
.ilp-article__body {
    font-size: 18px;
    line-height: 1.8;
    color: var(--ilp-fg);
}
.ilp-article__body p { margin-bottom: 1.3em; }
.ilp-article__body h2 { margin-top: 1.8em; }
.ilp-article__body h3 { margin-top: 1.5em; }
.ilp-article__body blockquote {
    margin: 1.6em 0;
    padding: 16px 24px;
    border-left: 4px solid var(--ilp-primary);
    background: var(--ilp-muted);
    border-radius: 0 var(--ilp-radius-sm) var(--ilp-radius-sm) 0;
    font-style: italic;
    color: var(--ilp-fg);
}
.ilp-article__body figure { margin: 1.8em 0; }
.ilp-article__body figcaption { color: var(--ilp-subtle); font-size: 14px; margin-top: 8px; text-align: center; }
.ilp-article__body img { border-radius: var(--ilp-radius-sm); }
.ilp-article__body ul, .ilp-article__body ol { padding-left: 1.4em; margin: 1em 0 1.4em; }
.ilp-article__body li { margin-bottom: .4em; }
.ilp-article__body a { color: var(--ilp-primary); border-bottom: 1px solid transparent; transition: border-color var(--ilp-trans); }
.ilp-article__body a:hover { border-bottom-color: currentColor; }
.ilp-article__body pre, .ilp-article__body code { font-family: "JetBrains Mono", ui-monospace, monospace; }
.ilp-article__body pre { background: #0d1117; color: #e6edf3; padding: 16px; border-radius: var(--ilp-radius-sm); overflow-x: auto; }
.ilp-article__body code { background: var(--ilp-muted); padding: 2px 6px; border-radius: 4px; font-size: .92em; }

/* Article header */
.ilp-article__title {
    font-size: clamp(26px, 3.4vw, 38px);
    line-height: 1.25;
    margin: 14px 0 12px;
    letter-spacing: -0.01em;
}
.ilp-article__dek {
    font-size: clamp(17px, 1.8vw, 19px);
    color: var(--ilp-subtle);
    line-height: 1.6;
    margin-bottom: 18px;
    font-weight: 400;
}

/* Hindi number readability — use tabular for tickers etc. */
.ilp-ticker, .ilp-stock-ticker, .ilp-cricket-card__score {
    font-variant-numeric: tabular-nums;
}
