:root{--focus:#22d3e6;--text-muted:#526473}
html{font-size:16px;text-size-adjust:100%}
body{text-rendering:optimizeLegibility;font-kerning:normal}
::selection{background:#22d3e6;color:#07121b}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important}
h1,h2,h3{letter-spacing:-.035em!important;text-wrap:balance}
h1{font-size:clamp(3rem,6.2vw,6rem)!important}
p,li{line-height:1.65;text-wrap:pretty}
.section-copy,.hero-lead,.service-hero-copy>p,.diag-lead,.client-lead{max-width:68ch}
.service-card p,.sector-card p,.case-card p,.benefit-row p,.process-list p,.start-steps p,.resource-card p{font-size:14px;line-height:1.6}
.cargo-phase span{color:#bfd2dd;font-size:14px}.cargo-phase:not(.is-active){opacity:.68}
.eyebrow,.service-number,.post-copy small,.featured-content small,.access-kicker,.support-options small,.diag-steps li,.service-breadcrumb{font-size:12px!important;line-height:1.4}
.ops-top,.ops-footer,.ops-title span,.flow-step small,.node small,.demo-note p{font-size:11px!important}
.service-number,.clients>p,.carousel-hint,.metrics-note{color:#526473!important}
.node small,.demo-note p,.flow-step small,.ops-top,.ops-footer,.ops-title span{color:#c0d1dc!important}
.case-card small,.hub-card small,.live-panel small,.metrics-note,.legal{font-size:12px!important}
.live-panel{background:linear-gradient(135deg,#0b1a2e,#153554)!important}
footer div>p,.footer-brand p{font-size:13px;line-height:1.75;color:#a7bac6}
footer p a{display:inline-flex;align-items:center;min-height:42px;padding:2px 0}.legal a{display:inline-flex;align-items:center;min-height:42px}
.text-link,.service-card a,.case-card a,.resource-card a{text-underline-offset:4px}
@media(max-width:700px){h1,.hero h1,.client-copy h1,.blog-hero h1,.diag-intro h1,.service-hero h1{font-size:clamp(2.65rem,12vw,3.5rem)!important;line-height:.98!important}h2,.section-heading h2,.automation h2,.cta h2{font-size:clamp(2.3rem,10vw,3rem)!important}.hero-lead,.section-copy,.diag-lead,.client-lead{font-size:16px!important}.cky-consent-container{width:calc(100% - 24px)!important;max-width:430px!important;left:12px!important;right:12px!important;bottom:12px!important}.cky-consent-bar{padding:20px!important;max-height:82vh;overflow:auto}.cky-title{font-size:19px!important}.cky-notice-des{font-size:13px!important;line-height:1.5!important}.cky-btn{min-height:44px!important;padding:10px 12px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Typography and readability refinement 2026-11-06 */
body,button,input,select,textarea{font-synthesis:none}
button,input,select,textarea{font-family:var(--body);font-size:1rem}
.button,.client-login,.menu-toggle,.diag-back,.result-copy,.result-restart{min-height:44px}
.button{line-height:1.25;text-align:center}
.client-benefits p{font-size:13px!important;line-height:1.65;color:#a9bdc9!important}
.access-trust span,.access-help,.diag-help,.diag-count,.choice small,.field small,.result-note{font-size:13px!important;line-height:1.55}
.service-hero-copy>p,.client-lead,.blog-lead,.diag-lead{color:#b8c8d2}
.post-copy p,.featured-content p{font-size:15px;line-height:1.65}
.goucargo-back{min-height:40px!important}
@media(max-width:700px){
  .diag-steps{gap:4px}
  .diag-steps li{min-width:0;font-size:0!important;letter-spacing:0!important;text-align:center}
  .diag-steps li:before{font-size:11px!important;letter-spacing:.04em}
  .diag-step legend{font-size:clamp(1.7rem,8vw,2.15rem)!important;line-height:1.05!important}
  .choice b,.pill span,.check span{font-size:14px}
  .client-benefits strong{font-size:16px}
  .service-breadcrumb{font-size:11px!important;letter-spacing:.1em}
  .goucargo-back{min-height:40px!important}
}
