/* Astana typography system: one display family, one reading family, one measured scale. */
:root {
    --astana-type-display-xl: clamp(52px, 5.25vw, 76px);
    --astana-type-display-lg: clamp(40px, 4vw, 58px);
    --astana-type-display-md: clamp(24px, 2.2vw, 32px);
    --astana-type-body: clamp(16px, 1.2vw, 18px);
    --astana-type-body-compact: 15px;
}

body.astana-signal-home,
body.astana-inner-page {
    font-family: Manrope, Arial, sans-serif;
}

body.astana-signal-home :where(h1, h2, h3),
body.astana-inner-page :where(h1, h2, h3) {
    font-family: Oswald, Impact, sans-serif;
    overflow-wrap: normal;
    hyphens: none;
    text-wrap: balance;
}

.astana-home-hero h1,
.astana-inner-page .astana-page-hero h1 {
    font-size: var(--astana-type-display-xl);
    letter-spacing: -.04em;
    line-height: .94;
}

.astana-section-title,
.astana-editorial-heading h2,
.astana-editorial-copy h2,
.astana-editorial-price-grid__copy h2,
.astana-portfolio-source-hero h2,
.astana-contacts-panel h2,
.astana-brief h2,
.astana-inner-page .astana-prose > h2:first-child,
.astana-inner-page .astana-prose h2,
.astana-marketing-signals__intro h2,
.astana-editorial-page .astana-prose .astana-editorial-signals__intro h2 {
    font-family: Oswald, Impact, sans-serif;
    font-size: var(--astana-type-display-lg);
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1;
}

.astana-work-card h3,
.astana-service-link h3,
.astana-portfolio-category h3,
.astana-capability-card h3,
.astana-editorial-copy h3,
.astana-inner-page .astana-prose h3,
.astana-marketing-signal h3,
.astana-editorial-page .astana-prose .astana-editorial-signal h3 {
    font-family: Oswald, Impact, sans-serif;
    font-size: var(--astana-type-display-md);
    font-weight: 500;
    letter-spacing: -.02em;
    line-height: 1.08;
}

.astana-portfolio-source-hero__eyebrow,
.astana-portfolio-source-hero__copy,
.astana-portfolio-source-intro {
    font-family: Manrope, Arial, sans-serif;
}

.astana-portfolio-source-hero__copy,
.astana-home-hero__summary,
.astana-section-intro,
.astana-editorial-copy,
.astana-inner-page .astana-prose,
.astana-inner-page .astana-prose > p,
.astana-inner-page .astana-prose > ul,
.astana-inner-page .astana-prose > ol {
    font-size: var(--astana-type-body);
    line-height: 1.68;
}

.astana-editorial-copy--lead {
    font-size: clamp(18px, 1.35vw, 20px);
    line-height: 1.65;
}

.astana-work-card p,
.astana-service-link p,
.astana-portfolio-category__description,
.astana-page-hero__meta p,
.astana-page__rail p:not(.astana-section-label),
.astana-editorial-aside p,
.astana-marketing-signal p,
.astana-editorial-signal p {
    font-size: var(--astana-type-body-compact);
    line-height: 1.62;
}

body.astana-signal-home :where(p, li),
body.astana-inner-page :where(p, li) {
    text-wrap: pretty;
}

@media (max-width: 1000px) {
    :root {
        --astana-type-display-xl: clamp(48px, 7.8vw, 68px);
        --astana-type-display-lg: clamp(36px, 6vw, 52px);
        --astana-type-display-md: clamp(24px, 3.7vw, 30px);
    }
}

@media (max-width: 600px) {
    :root {
        --astana-type-display-xl: clamp(42px, 12vw, 54px);
        --astana-type-display-lg: clamp(32px, 9vw, 40px);
        --astana-type-display-md: clamp(23px, 6.6vw, 28px);
        --astana-type-body: 16px;
        --astana-type-body-compact: 15px;
    }

    .astana-home-hero h1,
    .astana-inner-page .astana-page-hero h1 {
        letter-spacing: -.035em;
        line-height: .96;
    }

    .astana-section-title,
    .astana-editorial-heading h2,
    .astana-editorial-copy h2,
    .astana-editorial-price-grid__copy h2,
    .astana-portfolio-source-hero h2,
    .astana-contacts-panel h2,
    .astana-brief h2,
    .astana-inner-page .astana-prose > h2:first-child,
    .astana-inner-page .astana-prose h2,
    .astana-marketing-signals__intro h2,
    .astana-editorial-page .astana-prose .astana-editorial-signals__intro h2 {
        letter-spacing: -.025em;
        line-height: 1.03;
    }
}
