/* Final type roles shared by the landing page and its two embedded sections.
   Fixed section sizes prevent vw/cqw rules from changing equivalent headings. */
:root {
  --site-type-hero: 2.25rem;
  --site-type-section: 1.625rem;
  --site-type-subheading: 1.125rem;
  --site-type-card: 1rem;
  --site-type-body: .9375rem;
  --site-type-control: .875rem;
  --site-type-caption: .8125rem;
  --site-type-meta: .75rem;
  --site-type-callout: 1.375rem;
  --type-display: var(--site-type-hero);
  --type-section: var(--site-type-section);
  --type-role: var(--site-type-section);
  --type-card: var(--site-type-card);
  --type-subheading: var(--site-type-subheading);
  --type-body-size: var(--site-type-body);
  --type-caption: var(--site-type-caption);
}

html body .hero-advisor h1 {
  font-size: var(--site-type-hero) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -.02em !important;
}
html body .hero-advisor h1 :is(span, em) { font-size: inherit; font-weight: inherit; }

/* Section headings, including the policy and capabilities iframe documents. */
html body :is(
  .knowledge-copy h2, .section-heading h2, #product .dre-panel h2,
  .workflow-editorial-heading h2, .industry-research-copy h2,
  .ip-agent-module-copy h2, .institution-value-heading h2,
  .security-rebuilt-heading h2, .faq-intro h2,
  .policy-visual-group h2, .capability-heading h2
) {
  font-size: var(--site-type-section) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
html body :is(.knowledge-copy h2, .section-heading h2) > span {
  font-size: inherit !important;
  font-weight: inherit !important;
}

html body :is(
  .hero-advisor-types, .workflow-panel-copy h3, .industry-research-copy h3,
  .ip-agent-module-copy h3, .policy-content h3
) {
  font-size: var(--site-type-subheading) !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}
html body .hero-advisor-type-window { height: 1.55em; font-weight: inherit; }

html body :is(
  .workflow-feature-strip h3, .institution-value-card h3,
  .security-card-title h3, .capability-item h3
) {
  font-size: var(--site-type-card) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}
html body .faq-item summary {
  font-size: var(--site-type-card) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

/* Reading copy: one size and rhythm across every product section. */
html body :is(
  .hero-advisor-copy, #product .dre-description,
  .workflow-editorial-heading > p, .workflow-panel-copy > p,
  .industry-research-copy > p, .ip-agent-module-copy > p,
  .institution-value-heading > p, .institution-value-card > p,
  .security-rebuilt-heading > p, .faq-intro > p:last-child,
  .faq-answer, .faq-answer p, .section-heading > p,
  .policy-content > p, .capability-subtitle
) {
  font-size: var(--site-type-body) !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  letter-spacing: 0 !important;
}
html body .hero-advisor-copy { max-width: 65ch; }
html body .faq-answer { width: 100%; max-width: none; }
html body :is(.industry-research-outcome, .ip-agent-module-outcome) {
  font-size: var(--site-type-control) !important;
  font-weight: 500 !important;
}
html body :is(.knowledge-pillars li, #product .dre-traits) {
  font-size: var(--site-type-control) !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
}

/* Supporting feature copy stays deliberately compact. */
html body :is(
  .workflow-feature-strip p, .workflow-panel-copy li,
  .security-card > p, .capability-description,
  .offer-welcome-description, .offer-eyebrow, .offer-benefit-label,
  .policy-stats dt, .capability-eyebrow, .faq-eyebrow
) {
  font-size: var(--site-type-caption) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
}
html body :is(.workflow-kicker, .workflow-tab span, .writing-skills-kicker, .offer-benefit-description) {
  font-size: var(--site-type-meta) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* Navigation, tabs, editable prompts and calls to action. */
html body :is(
  .main-nav a, .login-link, .header-trial, .hero-primary-cta,
  .hero-advisor-attach, .hero-advisor-submit, #product .dre-cta,
  #product .dre-tabs button, .workflow-tab, .industry-research-cta,
  .ip-agent-module-cta, .policy-cta, .capability-consult,
  .offer-claim, .closing-cta-button
) {
  font-size: var(--site-type-control) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}
html body :is(.hero-advisor-greeting, .hero-advisor-prompt) {
  font-size: var(--site-type-control) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
html body :is(.hero-primary-cta, .hero-advisor-submit) > span[aria-hidden] { font-size: 1.25rem; }
html body .hero-primary-cta { width: auto; min-width: 160px; height: 48px; gap: 20px; padding-inline: 24px; }

/* Product preview UI uses its own dense text roles; no container-based scaling. */
html body #product :is(.dre-card-header h3, .dre-document h4) {
  font-size: var(--site-type-control) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
html body #product .dre-chapter h5 {
  font-size: var(--site-type-caption) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
html body #product :is(.dre-chapter p, .dre-card-header > span, .dre-document-footer, .dre-handoff) {
  font-size: var(--site-type-meta) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
html body #product :is(.dre-bubble, .dre-composer input[type="text"]) {
  font-size: var(--site-type-caption) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

/* Prices/data and the final invitation have distinct, consistent display roles. */
html body .offer-benefit-price { font-size: var(--site-type-subheading) !important; font-weight: 600 !important; line-height: 1.5 !important; letter-spacing: 0 !important; }
html body .offer-credit-unit { font-size: var(--site-type-control) !important; }
html body .policy-stats dd { font-size: var(--site-type-section) !important; font-weight: 600 !important; line-height: 1.3 !important; }
html body .closing-cta-copy,
html body .closing-cta-copy :is(p, h2) {
  font-size: var(--site-type-callout) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}
html body .closing-cta-copy p { font-weight: 400 !important; }
html body .closing-cta-copy h2 { font-weight: 600 !important; }

html body :is(.footer-company-name, .footer-consult h3) {
  font-size: var(--site-type-control) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}
html body :is(.footer-address, .footer-contact-details, .footer-consult figcaption, .footer-legal) {
  font-size: var(--site-type-meta) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

@media (max-width: 760px) {
  :root { --site-type-hero: 1.875rem; --site-type-callout: 1rem; }
  html body .hero-advisor h1 { text-wrap: balance; }
  html body .hero-advisor h1 .hero-title-line { white-space: normal; }
  html body .hero-advisor-copy { max-width: 36ch; margin-inline: auto; }
}
@media (max-width: 520px) {
  html body .policy-stats dd { font-size: 1.375rem !important; }
  html body .hero-advisor-actions { flex-wrap: wrap; gap: 8px; }
  html body .hero-advisor-attach { flex-shrink: 0; min-height: 36px; white-space: nowrap; }
  html body .hero-advisor-attach::before { margin-right: 6px; font-size: 18px; }
  html body .hero-advisor-submit { min-width: 112px; padding-inline: 12px; gap: 8px; white-space: nowrap; }
  /* Preserve the explicitly approved compact phone feature strip. */
  html body .workflow-feature-strip h3 { font-size: var(--site-type-body) !important; }
  html body .workflow-feature-strip p { font-size: var(--site-type-meta) !important; }
}
@media (max-width: 360px) {
  :root { --site-type-hero: 1.75rem; }
}
