/* Public-site type system: aligned with Backlinko's Inter-based article styling. */
body,
button,
input,
textarea,
select {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
}

body {
  font-size: 16px;
  line-height: 1.6;
}

p {
  line-height: 1.7;
}

.hero h1,
.listing-hero h1,
.article-hero h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.15;
  letter-spacing: -0.04em;
}

.section-heading h2,
.article-toc h2,
.article-section h2,
.article-faq h2,
.article-conclusion h2,
.related-articles h2,
.bottom-cta h2 {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.article-content h3,
.latest-card .article-content h3,
.featured-large-card .article-content h3,
.featured-small-card .article-content h3,
.listing-card .article-content h3,
.related-card .article-content h3,
.side-box h3 {
  font-size: clamp(1.125rem, 1.5vw, 1.375rem);
  line-height: 1.35;
  letter-spacing: -0.015em;
}

.hero p,
.listing-hero p,
.section-heading p,
.article-intro,
.rich-content,
.article-content p,
.latest-card .article-content p,
.featured-large-card .article-content p,
.featured-small-card .article-content p,
.listing-card .article-content p,
.related-card .article-content p,
.side-box p,
.bottom-cta p,
.listing-empty p {
  font-size: 1rem;
  line-height: 1.8;
}

.site-header .main-nav > a,
.site-header .nav-category-link,
.site-header .header-cta,
.site-header .nav-mobile-cta,
.site-header .nav-submenu a,
.orange-button,
.outline-button {
  font-size: 0.8125rem;
}

.section-heading a,
.text-link,
.load-more,
.coming-soon {
  font-size: 0.8125rem;
}

.site-header .nav-submenu a {
  font-size: 0.875rem;
  line-height: 1.5;
}

.article-breadcrumbs,
.breadcrumbs,
.listing-filter,
.listing-pill,
.article-category,
.card-tag,
.article-meta,
.featured-large-card .article-meta,
.featured-small-card .article-meta,
.listing-card .article-meta,
.related-card .article-meta,
.recent-item small,
.subscribe-box small,
.footer-bottom,
.footer-links,
.footer-inner h3,
.footer-brand p,
.side-promo-label,
.side-promo ul,
.side-promo .orange-button,
.article-rating p,
.article-rating .rating-notice {
  font-size: 0.8125rem;
  line-height: 1.5;
}

.toc-grid a,
.article-faq summary,
.subscribe-box input,
.search-row input,
.side-promo p,
.category-tile strong,
.category-tile > span:last-child,
.hero-benefits > div,
.hero-topic,
.listing-topic {
  font-size: 0.875rem;
  line-height: 1.5;
}

.article-faq .rich-content {
  font-size: 1rem;
  line-height: 1.8;
}

.article-rating h2 {
  font-size: 1.25rem;
  line-height: 1.35;
}

.article-rating p {
  font-size: 0.875rem;
}

.footer-inner h3 {
  font-size: 1rem;
  line-height: 1.4;
}

.footer-brand p,
.footer-links,
.footer-links button {
  font-size: 0.875rem;
  line-height: 1.6;
}

.recent-item strong {
  font-size: 0.875rem;
  line-height: 1.4;
}

.search-row button {
  font-size: 1.25rem;
}

dialog {
  font-size: 1rem;
  line-height: 1.6;
}

dialog h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.25;
}

dialog p,
.contact-form label {
  font-size: 1rem;
  line-height: 1.7;
}

.contact-form input,
.contact-form textarea {
  font: inherit;
}

@media (max-width: 680px) {
  .site-header .main-nav > a,
  .site-header .nav-category-link {
    font-size: 0.875rem;
  }

  .hero h1,
  .listing-hero h1,
  .article-hero h1 {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  .section-heading h2,
  .article-toc h2,
  .article-section h2,
  .article-faq h2,
  .article-conclusion h2,
  .related-articles h2,
  .bottom-cta h2 {
    font-size: clamp(1.375rem, 6vw, 1.75rem);
  }

  .listing-card .article-content h3,
  .related-card .article-content h3,
  .article-content h3 {
    font-size: 1.125rem;
  }
}
