/* Version 149: final visual, accessibility, and responsive refinement. */
:root{
  --blue-accessible:#1478AA;
  --blue-accessible-dark:#0B648F;
  --focus-ring:#0B74A5;
  --card-radius-v149:22px;
  --card-shadow-v149:0 10px 30px rgba(15,23,42,.055);
}
html{scroll-padding-top:96px}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
main{overflow-wrap:anywhere}
main h1,main h2,main h3,main h4{text-wrap:balance}
main p,main li{text-wrap:pretty}
main .section{padding-block:clamp(64px,7vw,96px)}
main .section-heading{margin-bottom:clamp(28px,4vw,44px)}
main .section-heading>p{max-width:72ch;margin-left:auto;margin-right:auto}
main .section-heading.text-left>p,
main .section-heading[style*="text-align:left"]>p{margin-left:0}
.card,.diagnostic-card,.offer-card,.result-card,.capability-card,.industry-card,.proof-card{
  border-radius:var(--card-radius-v149);
}
.card{box-shadow:var(--card-shadow-v149)}
.card-grid,.cards-3,.cards-4{gap:clamp(16px,2vw,24px)}
.button{
  min-height:48px;
  padding:13px 22px;
  line-height:1.25;
  white-space:normal;
}
.button.small{min-height:44px;padding:10px 18px}
.button:not(.secondary):not(.light){
  background:var(--blue-accessible)!important;
  box-shadow:0 10px 26px rgba(20,120,170,.22)!important;
}
.button:not(.secondary):not(.light):hover{background:var(--blue-accessible-dark)!important}
main .text-link,
main .home-card-link,
main a:not(.button):not(.logo):not(.flag-link):not(.social-links a){
  text-underline-offset:3px;
  text-decoration-thickness:1.5px;
}
main .text-link,main .home-card-link{color:var(--blue-accessible)!important}
main .text-link:hover,main .home-card-link:hover{text-decoration:underline}
main .eyebrow{color:#176F9F}
main .section-dark .eyebrow,main .hero.section-dark .eyebrow,main .hero-image-background .eyebrow{color:#9AD9F5}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--focus-ring)!important;
  outline-offset:3px!important;
}
.section-dark a:focus-visible,.section-dark button:focus-visible,.site-footer a:focus-visible{
  outline-color:#fff!important;
}
input,select,textarea{scroll-margin-top:120px}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"],.is-invalid{
  border-color:#A23531!important;
  box-shadow:0 0 0 4px rgba(162,53,49,.12)!important;
}
main table{width:100%;border-collapse:collapse}
main th,main td{vertical-align:top}
main :where(.process-flow,.workflow-track,.methodology-track,.journey-track,[class*="diagram"]){max-width:100%}
.private-concept-signals h3{margin-top:0}
.private-concept-signals .check-list{margin-bottom:0}
@media (max-width:768px){
  html{scroll-padding-top:78px}
  main .section{padding-block:clamp(52px,12vw,72px)}
  .button{width:100%;justify-content:center;text-align:center}
  .cta-row{align-items:stretch}
  main table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  main :where(.process-flow,.workflow-track,.methodology-track,.journey-track,[class*="diagram"]){overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
}
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* V149 contrast corrections for small accent text. */
.card-kicker,
.home-path-index,
.breadcrumbs a {
  color: #176f9f !important;
}
.trust-principles-grid article > span,
.trust-market-grid article > span {
  color: #176f9f !important;
}
.site-nav a[aria-current="page"] {
  color: #176f9f !important;
}
