@import url("font-floor.css");

/* Paptra readability and accessibility layer.
   Loaded after page-specific styles so every page shares the same usable type floor. */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
  text-rendering: optimizeLegibility;
}

/* Keep content available if the application script does not finish initializing. */
.js:not(.motion-ready) .reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* Shared navigation, supporting copy and footer. */
.dropdown-menu span,
.hero-assurances li,
.solution-assurance span,
.footer-bottom p,
.footer-bottom a {
  font-size: 12px !important;
}

.site-footer p,
.site-footer a {
  line-height: 1.55;
}

.section-heading > p,
.section-heading.split > p,
.solution-card p,
.value-list p,
.connect-card > p,
.case-card p,
.resource-card p,
.platform-input-cards p,
.platform-enterprise-card p,
.about-workflow-grid p,
.principles-grid p,
.values-grid p,
.contact-path-grid p,
.prep-cards li {
  font-size: 14px !important;
  line-height: 1.65;
}

/* Content labels and metadata should remain readable rather than decorative. */
.breadcrumbs,
.eyebrow,
.live-status,
.panel-label,
.capability-index,
.system-label,
.document-label,
.orchestrator-label,
.deployment-kicker,
.table-legend,
.legal-section-number,
.legal-introduction > span,
.resource-card > span,
.case-card > span,
.mission-card > span,
.principles-grid article > span,
.values-grid article > span,
.contact-path-grid > a > span,
.workflow-example-grid article > span,
.methods-grid article > span,
.reason-grid article > span,
.clinical-enterprise-grid article > span {
  font-size: 12px !important;
  line-height: 1.45;
}

/* Product demonstrations and architecture diagrams. */
:where(
  .product-visual,
  .paper-console,
  .workflow-console,
  .deployment-console,
  .integration-hub,
  .platform-system,
  .control-window,
  .enterprise-orchestrator,
  .control-console,
  .information-map,
  .architecture-console,
  .integration-explorer,
  .governance-console,
  .boundary-visual,
  .security-console,
  .recon-console,
  .matching-console,
  .review-console,
  .invoice-console,
  .clinical-console,
  .transcript-workspace,
  .soap-workspace,
  .clinical-review-console,
  .routing-visual,
  .demo-workspace-visual,
  .about-hero-system
) :where(span, small, dt, dd, p, button) {
  font-size: 12px !important;
  line-height: 1.4;
}

:where(
  .product-visual,
  .paper-console,
  .workflow-console,
  .deployment-console,
  .platform-system,
  .enterprise-orchestrator,
  .control-console,
  .information-map,
  .architecture-console,
  .integration-explorer,
  .governance-console,
  .boundary-visual,
  .security-console,
  .recon-console,
  .matching-console,
  .review-console,
  .invoice-console,
  .clinical-console,
  .transcript-workspace,
  .soap-workspace,
  .clinical-review-console,
  .routing-visual,
  .demo-workspace-visual,
  .about-hero-system
) strong {
  font-size: 12px !important;
  line-height: 1.35;
}

.engine-core strong,
.hub-core strong,
.architecture-paptra strong,
.information-core strong,
.orchestrator-core strong,
.routing-core strong,
.match-engine > strong,
.invoice-process-core > strong,
.clinical-transform > strong {
  font-size: 14px !important;
}

.workflow-tabs button,
.deployment-tabs button,
.explorer-tabs button,
.soap-tabs button,
.review-actions button,
.clinical-review-console > footer button {
  font-size: 13px !important;
}

.workflow-tabs strong,
.deployment-tabs strong,
.explorer-tabs strong,
.soap-tabs strong {
  font-size: 13px !important;
}

.workflow-detail-panel ul,
.control-copy ul,
.review-copy ul,
.conversation-copy ul,
.clinical-enterprise-grid ul,
.field-chip-list span,
.validation-checks span,
.matching-criteria span {
  font-size: 13px !important;
  line-height: 1.55;
}

/* Cards, process tracks and supporting descriptions. */
:where(
  .solution-steps,
  .challenge-chain,
  .approach-track,
  .process-track,
  .deployment-process-track,
  .contact-next-track,
  .coverage-track,
  .demo-process-track,
  .lifecycle-track
) p {
  font-size: 14px !important;
  line-height: 1.6;
}

:where(
  .solution-steps,
  .challenge-chain,
  .approach-track,
  .process-track,
  .deployment-process-track,
  .contact-next-track,
  .coverage-track,
  .demo-process-track,
  .lifecycle-track
) li > span {
  font-size: 12px !important;
}

.faq-list summary,
.faq-accordion summary {
  font-size: 16px !important;
  line-height: 1.45;
}

.faq-list details p,
.faq-accordion details > div {
  font-size: 14px !important;
  line-height: 1.7;
}

.faq-filters strong {
  font-size: 14px !important;
}

.faq-filters small,
.faq-filters button > i,
.faq-filters b,
.faq-sidebar-help > span,
.faq-sidebar-help p,
.faq-sidebar-help a,
.faq-results-header button,
.faq-category > header span {
  font-size: 12px !important;
  line-height: 1.45;
}

/* Forms: 16px controls prevent mobile zoom and improve scanning. */
.form-field label,
.conditional-fields legend,
.demo-field label,
.form-section-heading > span,
.demo-topic-section legend > span,
.form-heading span {
  font-size: 14px !important;
}

.form-field input:not([type="checkbox"]),
.form-field select,
.form-field textarea,
.demo-field input:not([type="checkbox"]),
.demo-field select,
.demo-field textarea,
.faq-search input {
  min-height: 52px;
  font-size: 16px !important;
  line-height: 1.5;
}

.field-error,
.demo-field-error,
.field-hint,
.field-meta,
.label-row > span,
.form-heading > small,
.form-error-summary li,
.demo-error-summary li,
.form-submit-row > p,
.demo-submit > p,
.support-notice p,
.support-notice a,
.privacy-field label,
.demo-privacy label {
  font-size: 13px !important;
  line-height: 1.55;
}

.form-error-summary strong,
.demo-error-summary strong,
.form-status strong,
.demo-status strong,
.support-notice strong {
  font-size: 14px !important;
}

.form-status p,
.demo-status p,
.form-status button,
.demo-status button {
  font-size: 13px !important;
}

.privacy-field a,
.demo-privacy a {
  color: #526e2b;
  font-weight: 800;
  text-underline-offset: 2px;
}

/* Legal documents prioritize sustained reading. */
.legal-content p,
.legal-introduction p,
.legal-placeholder p,
.legal-callout p {
  font-size: 16px !important;
  line-height: 1.8;
}

.legal-content li,
.legal-placeholder li {
  font-size: 15px !important;
  line-height: 1.75;
}

.legal-toc > span,
.legal-toc li a,
.legal-toc > a,
.legal-meta > span,
.legal-meta strong,
.legal-review-banner strong,
.legal-review-banner p,
.legal-document-footer {
  font-size: 13px !important;
  line-height: 1.55;
}

.legal-toc li a {
  min-height: 40px;
}

/* Contrast corrections for previously failing muted colors. */
.section-dark :where(
  small,
  .flowmap-caption,
  .workflow-progress,
  .orchestrator-footer,
  .control-console footer,
  .architecture-rail > span,
  .architecture-workbench > footer,
  .governance-console footer,
  .boundary-visual > footer,
  .demo-workspace-visual > footer,
  .routing-visual > footer
) {
  color: #a5aea6 !important;
}

:where(
  .field-hint,
  .field-meta,
  .label-row > span,
  .faq-filters small,
  .form-submit-row > p,
  .demo-submit > p
) {
  color: #5f6b62 !important;
}

/* Keep keyboard focus visible on custom form controls. */
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(82, 110, 43, .42);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .hero h1,
  .platform-hero h1,
  .solution-hero h1,
  .enterprise-hero-copy h1,
  .contact-hero-copy h1,
  .demo-hero-copy h1,
  .about-hero-copy h1,
  .faq-hero h1,
  .legal-hero h1 {
    font-size: clamp(38px, 11vw, 52px) !important;
    line-height: 1.02;
    overflow-wrap: anywhere;
  }

  .container {
    width: min(var(--container), calc(100% - 32px));
  }

  :where(
    .product-visual,
    .paper-console,
    .workflow-console,
    .deployment-console,
    .platform-system,
    .enterprise-orchestrator,
    .architecture-console,
    .integration-explorer,
    .boundary-visual,
    .recon-console,
    .invoice-console,
    .clinical-console,
    .routing-visual,
    .demo-workspace-visual,
    .about-hero-system
  ) {
    max-width: 100%;
    min-width: 0;
  }

  .enquiry-selector button,
  .demo-solution-selector button,
  .faq-filters button {
    min-height: 84px;
  }

  .enquiry-selector strong,
  .demo-solution-selector strong {
    font-size: 13px !important;
  }

  .enquiry-selector small,
  .demo-solution-selector small {
    font-size: 12px !important;
    line-height: 1.35;
  }

  .contact-form,
  .demo-form {
    padding: 28px 18px;
  }

  .legal-content p,
  .legal-introduction p,
  .legal-placeholder p,
  .legal-callout p {
    font-size: 16px !important;
  }
}

@media (max-width: 420px) {
  .enquiry-selector,
  .demo-solution-selector,
  .faq-filters,
  .contact-next-track,
  .coverage-track,
  .demo-process-track {
    grid-template-columns: 1fr !important;
  }

  .button-group .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Final semantic type scale. These rules intentionally follow all component
   corrections so meaningful content cannot fall back to decorative sizing. */
main p,
main li {
  font-size: 14px !important;
  line-height: 1.65;
}

main :where(a:not(.button), button, strong, dt, dd, th, td) {
  font-size: 13px !important;
  line-height: 1.45;
}

main :where(small, label) {
  font-size: 12px !important;
  line-height: 1.45;
}

.form-field label,
.conditional-fields legend,
.demo-field label,
.privacy-field label,
.demo-privacy label {
  font-size: 14px !important;
}

.site-footer :where(p, a, h2) {
  font-size: 13px !important;
  line-height: 1.55;
}
