/**
 * Typography architecture (все секции КРОМЕ hero)
 * Hero — только hero-visual.css, здесь не стилизуем.
 *
 * Level 1 — Section titles: Playfair Display 700
 * Level 2 — Card / UI headings: Inter 600
 * Level 3 — Body: Inter 400
 */

:root {
  --font-sans: "Inter", sans-serif;
  --font-section: "Playfair Display", Georgia, "Times New Roman", serif;
  --type-section: rgba(245, 242, 236, 0.96);
  --type-heading: rgba(245, 242, 236, 0.94);
  --type-body: rgba(245, 242, 236, 0.84);
}

/* === Base === */
body {
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: -0.01em;
}

/* ==========================================================================
   LEVEL 1 — Section titles (Playfair Display 700)
   ========================================================================== */
.section__title,
h2.section__title,
.section--platform-fit .platform-fit__head .section__title,
.section--directions .section__title,
.section--support .section__title,
.section--support h2.section__title,
.section--tight .section__title,
.curator .section__title,
#faq .section__title,
#contacts .section__title,
main .section__head .section__title {
  font-family: var(--font-section);
  font-weight: 700;
  font-synthesis: none;
  font-style: normal;
  font-size: clamp(2.25rem, 7vw, 2.75rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: var(--type-section);
  text-shadow: none;
  filter: none;
}

@media (min-width: 901px) {
  .section__title,
  h2.section__title,
  .section--platform-fit .platform-fit__head .section__title,
  .section--directions .section__title,
  .section--support .section__title,
  .curator .section__title {
    font-size: clamp(3.625rem, 5vw, 4.5rem);
    line-height: 1.04;
  }
}

/* ==========================================================================
   LEVEL 2 — Card / UI headings (Inter 600)
   ========================================================================== */
.platform-fit__card-title,
.card-title,
.direction-card h3,
.support__card h3,
.faq__item summary,
.tariff__name {
  font-family: var(--font-sans);
  font-weight: 600;
  font-synthesis: none;
  font-style: normal;
  font-size: clamp(1.125rem, 2.8vw, 1.25rem);
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--type-heading);
  text-shadow: none;
  filter: none;
}

.section--platform-fit .platform-fit__card-title,
.section--directions .direction-card h3,
.section--support .support__card h3 {
  font-family: var(--font-sans);
  font-weight: 600;
}

@media (min-width: 901px) {
  .platform-fit__card-title,
  .card-title,
  .direction-card h3,
  .support__card h3,
  .faq__item summary,
  .tariff__name {
    font-size: clamp(1.375rem, 1.2vw, 1.625rem);
  }
}

/* ==========================================================================
   LEVEL 3 — Body text (Inter 400)
   ========================================================================== */
p,
li,
.section__subtitle,
.section__subtitle--reviews,
.section__subtitle--directions,
.platform-fit__lead,
.platform-fit__card p,
.platform-fit__perks li,
.direction-card p,
.support__card p,
.support__intro p,
.curator__lead,
.curator__body,
.faq__item p,
.faq__answer,
.tariff__desc,
.tariff__list li,
.footer__copy {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: clamp(1rem, 2.5vw, 1.125rem);
  line-height: 1.68;
  letter-spacing: -0.01em;
  color: var(--type-body);
  text-shadow: none;
  filter: none;
  -webkit-text-fill-color: currentColor;
  background: none;
}

.section--directions .section__subtitle,
.section--directions .section__subtitle--directions,
.section--directions .direction-card p,
.section--platform-fit .platform-fit__card p,
.section--platform-fit .platform-fit__lead,
.section--support .support__card p {
  font-family: var(--font-sans);
  font-weight: 400;
}

@media (min-width: 901px) {
  p,
  li,
  .section__subtitle,
  .platform-fit__lead,
  .direction-card p,
  .support__card p,
  .curator__lead,
  .curator__body,
  .faq__item p,
  .tariff__desc,
  .tariff__list li {
    font-size: clamp(1.0625rem, 0.8vw, 1.25rem);
    line-height: 1.72;
  }
}

/* ==========================================================================
   UI chrome — Inter 500 (не card headings, не body)
   ========================================================================== */
a,
button,
input,
textarea,
select,
label,
.logo,
.logo__muted,
.nav,
.nav a,
.header__cta,
.burger,
.btn,
.btn--primary,
.btn--outline,
.btn--sm,
.link-arrow,
.eyebrow,
.footer,
.footer__cta,
.platform-fit__audience-label,
.tariff__badge,
.tariffs-feed__hint,
.cta-channel,
.cta-channel__label,
.curator__initials {
  font-family: var(--font-sans);
  font-weight: 500;
  letter-spacing: -0.01em;
  text-shadow: none;
  filter: none;
}
