/* Tapfirst type scale: readable body copy, stronger section headings, larger controls.
   Sample page designs (carousel cards, redesign-after, smart demos) keep their own type. */
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Navigation and buttons */
header nav a { font-size: 14px; }
.button,
header .header-action .button { font-size: 14px; }
.hero-import .button,
.closing .button { font-size: 15px; }

/* Headings */
.hero h1 {
  font-size: clamp(38px, 6vw, 68px);
  line-height: 1.04;
  text-wrap: balance;
}
.section h2,
.smart-heading h2,
.pricing-head h2,
.closing h2 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  word-spacing: 0.08em;
  text-wrap: balance;
}
.smart-card h3,
.plan-card .plan-top h3 { font-size: clamp(22px, 2vw, 26px); }
.comparison-heading h3,
.faq h3 { font-size: clamp(26px, 2.6vw, 32px); }

/* Body copy */
.hero > p {
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.55;
  text-wrap: pretty;
}
.campaign-intro p,
.redesign-section .copy > p,
.smart-heading p,
.plan-intro,
.comparison-heading p {
  font-size: 16px;
  line-height: 1.6;
  text-wrap: pretty;
}
.smart-card > p,
.plan-feature p,
.faq details p { font-size: 15px; line-height: 1.6; }
.faq summary { font-size: 16px; }

/* Small print stays small but legible */
.sample-context,
.form-error,
.plan-billing,
.comparison-source { font-size: 13px; }
footer .footer-brand p,
footer .footer-links,
footer .footer-links a { font-size: 14px; }
footer small { font-size: 12px; }

@media (max-width: 640px) {
  .campaign-intro p,
  .redesign-section .copy > p,
  .smart-heading p,
  .plan-intro,
  .comparison-heading p { font-size: 15px; }
}

/* Account links in the header */
.header-action .login-link { font-size: 14px; font-weight: 600; padding: 10px 12px; min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; color: inherit; }
.header-action .login-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.header-action .signup-button { text-decoration: none; margin-right: 8px; }
@media (max-width: 760px) {
  .header-action { gap: 4px; }
  .header-action .import-button { display: none; }
  .header-action .signup-button { display: inline-flex; margin-right: 0; } /* style.css hides header links here */
}
