/* VA20Four7 v11.7 — Manrope typography system
   One family, one scale, one readable rhythm across navigation, homepage,
   inner pages, product UI, forms and footer. */

:root{
  --va-type-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --va-type-ink:#14263d;
  --va-type-copy:#4f647b;
  --va-type-muted:#687c91;

  --va-type-display:clamp(50px,5.1vw,70px);
  --va-type-h1:clamp(44px,4.35vw,60px);
  --va-type-h2:clamp(36px,3.25vw,47px);
  --va-type-h3:clamp(23px,1.85vw,28px);
  --va-type-h4:19px;

  --va-type-body-lg:17px;
  --va-type-body:16.5px;
  --va-type-body-sm:14.5px;
  --va-type-ui:14px;
  --va-type-label:12px;

  /* Override old production variables too. */
  --va-font-display:var(--va-type-family);
  --va-font-body:var(--va-type-family);
  --type-font:var(--va-type-family);
}

/* --------------------------------------------------------------------------
   FAMILY — override historical DM Sans / Inter Tight / Inter / Plus Jakarta declarations
   without changing component structure.
   -------------------------------------------------------------------------- */
html body,
html body button,
html body input,
html body textarea,
html body select,
html body option,
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body p,
html body a,
html body li,
html body label,
html body small,
html body strong,
html body b,
html body summary,
html body blockquote,
html body cite,
html body td,
html body th,
html body .brand-word,
html body .client-logo-fallback,
html body .va102-service-page,
html body .va102-audience-page,
html body .va103-audit-page,
html body .va104-page,
html body .va102-service-page :is(h1,h2,h3,h4),
html body .va102-audience-page :is(h1,h2,h3,h4),
html body .va103-audit-page :is(h1,h2,h3,h4),
html body .va104-page :is(h1,h2,h3,h4),
html body .home840-capability-track span,
html body .home840-owner-tabs button b,
html body .context-core strong,
html body .home840-testimonial blockquote,
html body .home840-tools-head h2,
html body.home .va247-home-v840 h3,
html body .home970-owner-tabs button b,
html body .home100-story blockquote{
  font-family:var(--va-type-family)!important;
}


/* Force the same family through remaining visual/UI surfaces, including SVG labels. */
html body svg text,
html body [class]::before,
html body [class]::after{
  font-family:var(--va-type-family)!important;
}
html body{
  font-size:var(--va-type-body)!important;
  line-height:1.7!important;
  letter-spacing:-.002em!important;
  color:var(--va-type-ink)!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* --------------------------------------------------------------------------
   HEADINGS — one consistent hierarchy across every template.
   -------------------------------------------------------------------------- */
html body h1{
  font-size:var(--va-type-h1)!important;
  line-height:1.07!important;
  letter-spacing:-.034em!important;
  font-weight:600!important;
}
html body h2{
  font-size:var(--va-type-h2)!important;
  line-height:1.11!important;
  letter-spacing:-.028em!important;
  font-weight:600!important;
}
html body h3{
  font-size:var(--va-type-h3)!important;
  line-height:1.2!important;
  letter-spacing:-.018em!important;
  font-weight:600!important;
}
html body h4{
  font-size:var(--va-type-h4)!important;
  line-height:1.32!important;
  letter-spacing:-.01em!important;
  font-weight:600!important;
}
html body :is(h5,h6){
  font-size:16px!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  font-weight:600!important;
}

/* Large hero text gets drama from size, not cramped tracking. */
html body :is(
  .home890-copy h1,
  .va102-service-hero h1,
  .va102-audience-hero h1,
  .va103-audit-hero h1,
  .va104-hero h1,
  .va110-pricing-hero h1,
  .va107-platform-hero h1
){
  font-size:var(--va-type-display)!important;
  line-height:1.04!important;
  letter-spacing:-.038em!important;
  font-weight:600!important;
}

/* Keep major section headings on the same editorial scale. */
html body :is(
  .home940-problem-copy h2,
  .home970-owner-title h2,
  .home1010-stack-copy h2,
  .home840-chapter-head h2,
  .home840-proof-head h2,
  .home840-start-copy h2,
  .home840-tools-head h2,
  .va102-section-head h2,
  .va103-section-head h2,
  .va104-section-head h2,
  .va107-layer-intro h2
){
  font-size:var(--va-type-h2)!important;
  line-height:1.11!important;
  letter-spacing:-.028em!important;
  font-weight:600!important;
}

/* --------------------------------------------------------------------------
   READING COPY — slightly larger and darker for comfortable scanning.
   -------------------------------------------------------------------------- */
html body p,
html body li{
  line-height:1.72!important;
  letter-spacing:-.001em!important;
}
html body p{color:var(--va-type-copy)!important}
html body strong,
html body b{font-weight:600!important}

html body :is(
  .home890-copy>p,
  .home940-problem-copy>p,
  .home970-owner-head>p,
  .home970-owner-intro>p,
  .home1010-stack-copy>p,
  .home840-chapter-head>p,
  .home840-start-copy>p,
  .home840-tools-head>p,
  .va102-service-hero-copy>p,
  .va102-audience-hero-copy>p,
  .va103-audit-hero-copy>p,
  .va104-hero-copy>p
){
  font-size:var(--va-type-body-lg)!important;
  line-height:1.74!important;
  letter-spacing:-.002em!important;
  color:var(--va-type-copy)!important;
}

html body :is(
  .va102-section-head>p,
  .va103-section-head>p,
  .va104-section-head>p,
  .home970-panel-copy>p,
  .home840-diff-grid p,
  .home840-start-steps p,
  .service-showcase-copy p,
  .benefit-card p,
  .outcome-card p,
  .reason-card p,
  .topic-card p,
  .resource-feature p
){
  font-size:var(--va-type-body)!important;
  line-height:1.7!important;
  color:var(--va-type-copy)!important;
}

/* --------------------------------------------------------------------------
   NAVIGATION — readable, calm and consistent.
   -------------------------------------------------------------------------- */
html body :is(.nav930-trigger,.nav930-link,.nav930-cta,.nav930-mobile-link,.nav930-mobile-cta){
  font-family:var(--va-type-family)!important;
  font-size:14.25px!important;
  line-height:1.25!important;
  font-weight:600!important;
  letter-spacing:-.005em!important;
}
html body .nav930-panel :is(a,button){
  font-family:var(--va-type-family)!important;
}
html body .nav930-panel :is(.nav930-service-link b,.nav930-company-links a,.nav930-audience-grid a){
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
html body .nav930-panel :is(small,.nav930-service-link small,.nav107-platform-link small){
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:600!important;
  letter-spacing:.035em!important;
}
html body .nav930-panel .nav930-service-link span{
  font-size:13px!important;
  line-height:1.45!important;
}

/* --------------------------------------------------------------------------
   UI LABELS / MICROCOPY — eliminate unreadable 7–10px text.
   -------------------------------------------------------------------------- */
html body [class] small{
  font-size:12px!important;
  line-height:1.4!important;
}

html body :is(
  .eyebrow,
  .home840-chapter-no,
  .home940-label small,
  .home970-panel-kicker,
  .home970-step-top em,
  .home970-step-top span,
  .home970-flow-meta span,
  .va107-layer-rail small,
  .va107-layer>small,
  .va107-proof-note small,
  .va107-signature-head>small,
  .va107-signal-column small,
  .service-group,
  .audit-map-head small,
  .audit-value-grid article>span,
  .audit-process-steps span,
  .nav107-platform-link small,
  .va103-kicker,
  .va103-route-column>span,
  .va103-work-list small,
  .va103-decision-stack small,
  .context-column>small,
  .context-connector span,
  .context-core small,
  .va107-pipeline small,
  .va107-generic-flow small,
  .va107-support-intel-head small,
  .va107-support-intel-grid small,
  .va110-support-demo-flow small
){
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:600!important;
  letter-spacing:.045em!important;
}

/* Product interfaces remain compact, but never visually microscopic. */
html body :is(
  .home970-step>p,
  .home970-ownership-pills strong,
  .va107-layer-rail p,
  .va107-proof-note p,
  .va107-conversation-stream span,
  .va107-ledger b,
  .va107-inbox b,
  .va107-code-flow b,
  .audit-value-grid p,
  .audit-process-steps p,
  .va103-work-list span,
  .va103-decision-stack span,
  .context-column>span,
  .context-core p,
  .context-core>div:last-child span,
  .va107-ledger em,
  .va107-inbox em,
  .va107-code-flow small,
  .va107-conversation-stream .handoff,
  .va107-design-board em,
  .va110-support-demo-flow b
){
  font-size:12.5px!important;
  line-height:1.5!important;
  letter-spacing:0!important;
}

html body :is(
  .home970-step>strong,
  .home970-ownership-pills strong,
  .va107-layer-rail strong,
  .va107-signal-column b,
  .service-showcase-copy strong,
  .fit-list b
){
  font-size:14.5px!important;
  line-height:1.42!important;
  font-weight:600!important;
}

/* --------------------------------------------------------------------------
   BUTTONS / FORMS
   -------------------------------------------------------------------------- */
html body :is(
  .btn,.btn-primary,.va102-btn,.va103-btn,.va104-btn,.home890-primary,
  .contact-submit,.footer-contact-cta,.text-link,.home970-panel-copy>a,
  .home970-flow-status
){
  font-family:var(--va-type-family)!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:600!important;
  letter-spacing:-.003em!important;
}
html body :where(input,textarea,select){
  font-family:var(--va-type-family)!important;
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
html body label{
  font-family:var(--va-type-family)!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

/* --------------------------------------------------------------------------
   EDITORIAL QUOTES
   -------------------------------------------------------------------------- */
html body blockquote,
html body .home840-testimonial blockquote,
html body .home100-story blockquote{
  font-family:var(--va-type-family)!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
  line-height:1.42!important;
}

/* --------------------------------------------------------------------------
   FOOTER — compact layout, but readable typography everywhere.
   -------------------------------------------------------------------------- */
html body #va247-theme-footer,
html body #va247-theme-footer *{
  font-family:var(--va-type-family)!important;
}
html body #va247-theme-footer .footer-premium-brand h2{
  font-size:clamp(28px,2.55vw,36px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  font-weight:600!important;
}
html body #va247-theme-footer .footer-premium-brand p{
  font-size:14px!important;
  line-height:1.62!important;
}
html body #va247-theme-footer .footer-action-label{
  font-size:12px!important;
  line-height:1.35!important;
  letter-spacing:.04em!important;
  font-weight:600!important;
}
html body #va247-theme-footer .footer-contact-cta{
  font-size:14px!important;
  line-height:1.25!important;
}
html body #va247-theme-footer .footer-links-premium b{
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
html body #va247-theme-footer .footer-links-premium a{
  font-size:14px!important;
  line-height:1.55!important;
  font-weight:400!important;
}
html body #va247-theme-footer .footer-signature{
  font-size:12.5px!important;
  line-height:1.45!important;
}
html body #va247-theme-footer .footer-bottom-premium,
html body #va247-theme-footer .footer-bottom-premium span{
  font-size:12px!important;
  line-height:1.45!important;
}

/* --------------------------------------------------------------------------
   RESPONSIVE — keep hierarchy consistent rather than reinventing it per page.
   -------------------------------------------------------------------------- */
@media(max-width:900px){
  :root{
    --va-type-display:clamp(43px,8vw,58px);
    --va-type-h1:clamp(39px,7vw,52px);
    --va-type-h2:clamp(32px,5.4vw,42px);
    --va-type-h3:clamp(22px,3.4vw,27px);
  }
}

@media(max-width:760px){
  :root{
    --va-type-display:clamp(39px,10.5vw,50px);
    --va-type-h1:clamp(37px,9.6vw,47px);
    --va-type-h2:clamp(30px,7.7vw,38px);
    --va-type-h3:clamp(21px,5.4vw,25px);
    --va-type-body-lg:17px;
    --va-type-body:16.5px;
    --va-type-body-sm:14.5px;
    --va-type-ui:14px;
    --va-type-label:12px;
  }
  html body :is(.nav930-mobile-link,.nav930-mobile-cta){font-size:15px!important}
  html body #va247-theme-footer .footer-premium-brand p,
  html body #va247-theme-footer .footer-links-premium a{font-size:14px!important}
}

@media(max-width:480px){
  :root{
    --va-type-display:clamp(36px,10vw,44px);
    --va-type-h1:clamp(34px,9.5vw,42px);
    --va-type-h2:clamp(28px,7.7vw,35px);
  }
  html body #va247-theme-footer .footer-premium-brand h2{font-size:26px!important}
  html body #va247-theme-footer .footer-signature{display:none!important}
}
