:root {
  --aaiq-type-body: clamp(0.99rem, 0.18vw + 0.95rem, 1.04rem);
  --aaiq-type-small: 0.875rem;
  --aaiq-type-xs: 0.785rem;
  --aaiq-type-lead: clamp(1.08rem, 0.45vw + 0.98rem, 1.26rem);
  --aaiq-type-h1: clamp(2.5rem, 3.2vw + 1.7rem, 3.65rem);
  --aaiq-type-h2: clamp(1.95rem, 1.8vw + 1.35rem, 2.75rem);
  --aaiq-type-h3: clamp(1.4rem, 1vw + 1.05rem, 1.85rem);
  --aaiq-type-h4: clamp(1.14rem, 0.45vw + 1rem, 1.42rem);
  --aaiq-type-h5: 1.05rem;
  --aaiq-type-h6: 0.92rem;
  --aaiq-lh-tight: 1.12;
  --aaiq-lh-heading: 1.18;
  --aaiq-lh-subheading: 1.3;
  --aaiq-lh-body: 1.72;
  --aaiq-space-heading: 1rem;
  --aaiq-space-copy: 1.1rem;
  --aaiq-footer-title: 1rem;
}

html {
  font-size: 16px;
}

body {
  font-size: var(--aaiq-type-body) !important;
  line-height: var(--aaiq-lh-body) !important;
}

body,
button,
input,
select,
textarea,
label,
.badge,
.accordion-button,
.accordion-body,
.table,
footer,
footer * {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, .hero-section h1, .about-hero h1, .investors-hero h1,
.founding-hero h1, .hero-title {
  font-size: var(--aaiq-type-h1) !important;
  line-height: var(--aaiq-lh-tight) !important;
  margin-bottom: 1rem !important;
  letter-spacing: -0.03em !important;
}

h2, .section-title, .mission-box h2, .cta-about h2,
.section-compact h2, footer h5 {
  font-size: var(--aaiq-type-h2) !important;
  line-height: var(--aaiq-lh-heading) !important;
  margin-bottom: var(--aaiq-space-heading) !important;
  letter-spacing: -0.028em !important;
}

h3, .section-compact h3, .feature-card h3, .stat-card h3,
.contact-box h3, .card h3 {
  font-size: var(--aaiq-type-h3) !important;
  line-height: var(--aaiq-lh-subheading) !important;
  margin-bottom: 0.85rem !important;
  letter-spacing: -0.022em !important;
}

h4, .section-compact h4, .card h4 {
  font-size: var(--aaiq-type-h4) !important;
  line-height: 1.34 !important;
  margin-bottom: 0.8rem !important;
}

h5 {
  font-size: var(--aaiq-type-h5) !important;
  line-height: 1.4 !important;
  margin-bottom: 0.7rem !important;
}

h6 {
  font-size: var(--aaiq-type-h6) !important;
  line-height: 1.45 !important;
  margin-bottom: 0.55rem !important;
  letter-spacing: -0.01em !important;
}

.lead,
.hero-section .lead,
.about-hero .lead,
.investors-hero .lead,
.section-subtitle,
.section-intro,
.section-compact .text-center > p.text-gray-600,
.section-compact .text-center > p.text-gray-700,
.content-section .section-subtitle,
.mission-box .mission-statement,
footer .footer-description {
  font-size: var(--aaiq-type-lead) !important;
  line-height: 1.66 !important;
}

p:not(.small):not(.annual-note):not(.form-text):not(.eyebrow-label),
li,
dd,
blockquote,
.accordion-body,
.table,
.compare-table,
.pricing-card,
.feature-list li,
.custom-list li,
footer p,
footer li,
.contact-box p,
.mission-box p,
.stat-card p {
  font-size: var(--aaiq-type-body) !important;
  line-height: var(--aaiq-lh-body) !important;
}

small,
.small,
.form-text,
.annual-note,
.text-xs,
footer small,
.footer-bottom,
.metric-label,
.badge,
.label,
.platform-eyebrow,
.section-kicker,
.accordion-button .badge {
  font-size: var(--aaiq-type-small) !important;
  line-height: 1.5 !important;
}

.platform-eyebrow,
.section-kicker,
.text-uppercase.fw-semibold,
.text-gray-600.fw-semibold,
.text-gray-700.fw-semibold,
.badge,
.label {
  letter-spacing: 0.08em !important;
}

.section-compact .text-center.mb-5,
.section-compact .text-center.mb-4 {
  margin-bottom: clamp(2rem, 3vw, 2.8rem) !important;
}

.section-compact .text-center > h2 + p,
.section-compact .text-center > p + h2,
.section-compact .text-center > p + h1,
.about-hero h1 + p,
.investors-hero h1 + p,
.hero-section h1 + p {
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.btn,
.btn-stripe,
.subscribe-btn,
.cta-btn,
button[type='submit'],
a.btn {
  min-height: 50px !important;
  padding: 0.88rem 1.35rem !important;
  border-radius: 12px !important;
  font-size: 0.975rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
}

.hero-section .btn,
.hero-section a.btn,
#pricing .btn,
#comparePlans .btn,
#roi-calculator .btn {
  min-width: min(100%, 260px);
}

.form-label,
label,
.form-check-label,
.pricing-note,
.accordion-button,
.footer-link-group h5,
footer h5 {
  font-weight: 700 !important;
}

.form-label,
label,
.form-check-label {
  font-size: 0.94rem !important;
  line-height: 1.45 !important;
  margin-bottom: 0.5rem !important;
}

#pricing .card,
#pricing .pricing-card,
#comparePlans .card,
#roi-calculator .card,
.feature-card,
.stat-card,
.contact-box,
.metric-card,
.accordion-item,
footer .card,
footer .footer-link-group {
  border-radius: 16px !important;
}

#pricing h2.price,
#pricing .price,
#comparePlans h2,
#roi-calculator .roi-value,
.metric-number {
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
}

#pricing .billing-period,
#pricing .annual-note,
#pricing li,
#comparePlans th,
#comparePlans td {
  font-size: 0.94rem !important;
}

#pricing h4,
#pricing .card h4,
#comparePlans h3,
#comparePlans h4 {
  margin-bottom: 0.85rem !important;
}

#faq .accordion-button {
  font-size: 1rem !important;
  line-height: 1.45 !important;
  padding: 1.1rem 1.25rem !important;
}

#faq .accordion-body {
  padding: 0.35rem 1.25rem 1.15rem !important;
}

#faq .accordion-item + .accordion-item {
  margin-top: 0.9rem !important;
}

footer {
  font-size: 0.95rem !important;
}

footer h5,
footer .footer-title,
footer .footer-link-group h5 {
  font-size: var(--aaiq-footer-title) !important;
  line-height: 1.35 !important;
  margin-bottom: 1rem !important;
  letter-spacing: -0.01em !important;
}

footer a,
footer li,
footer p {
  line-height: 1.7 !important;
}

footer ul,
footer .list-unstyled {
  display: grid;
  gap: 0.5rem;
}

footer .language-switcher,
footer .social-links,
footer .footer-bottom {
  margin-top: 1.15rem !important;
}

.hero-section .trust-line,
.hero-section .small,
.hero-section small,
.hero-section .text-gray-500,
.hero-section .text-gray-600,
#pricing .small,
#comparePlans .small,
#roi-calculator .small {
  line-height: 1.55 !important;
}

@media (max-width: 991.98px) {
  :root {
    --aaiq-type-body: 0.985rem;
    --aaiq-type-lead: 1.05rem;
    --aaiq-type-h1: 2.32rem;
    --aaiq-type-h2: 1.86rem;
    --aaiq-type-h3: 1.32rem;
    --aaiq-type-h4: 1.1rem;
  }

  .section-compact .text-center.mb-5,
  .section-compact .text-center.mb-4 {
    margin-bottom: 1.75rem !important;
  }
}

@media (max-width: 767.98px) {
  :root {
    --aaiq-type-body: 0.97rem;
    --aaiq-type-lead: 1.02rem;
    --aaiq-type-h1: 2.12rem;
    --aaiq-type-h2: 1.68rem;
    --aaiq-type-h3: 1.24rem;
    --aaiq-type-h4: 1.06rem;
  }

  .btn,
  .btn-stripe,
  .subscribe-btn,
  .cta-btn,
  button[type='submit'],
  a.btn {
    width: 100%;
  }

  #faq .accordion-button {
    font-size: 0.97rem !important;
  }

  footer {
    font-size: 0.92rem !important;
  }
}
