/* About page: existing Reference Softened palette and IBM Plex Sans. */
.com-about-hero-media, .com-about-section-media { overflow: hidden; border-radius: var(--com-radius-lg); }
.com-about-hero-media img, .com-about-section-media img { display: block; width: 100%; height: auto; }
.com-about-identity-wrap { margin-top: 2rem; }
.com-about-identity-wrap .com-about-identity { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: 2rem; }
.com-about-identity-wrap .com-about-eyebrow { grid-column: 1; }
.com-about-identity-wrap h2 { grid-column: 1; margin-top: 0; }
.com-about-identity-wrap .com-about-identity > p { grid-column: 2; grid-row: 1 / span 2; margin: 0; align-self: center; }
.com-about-identity-wrap .com-about-source { grid-column: 1 / -1; grid-template-columns: auto 1fr auto 1fr; gap: .5rem 1rem; align-items: baseline; }
#purpose .com-about-section-media { margin-top: 1.5rem; }
.com-about-feature-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2.5rem; align-items: center; margin-bottom: 2rem; }
.com-about-feature-head .com-about-section-head { margin-bottom: 0; }
@media (max-width: 991.98px) {
  .com-about-identity-wrap .com-about-identity { display: block; }
  .com-about-identity-wrap .com-about-identity > p { margin-top: .75rem; }
  .com-about-identity-wrap .com-about-source { grid-template-columns: 1fr 1fr; }
  .com-about-feature-head { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 575.98px) {
  .com-about-identity-wrap .com-about-source { grid-template-columns: 1fr; gap: .25rem; }
}
.com-about-brand-media { float: right; width: min(36%, 23rem); margin: 0 0 2rem 2rem; overflow: hidden; border-radius: var(--com-radius-lg); }
.com-about-brand-media img { display: block; width: 100%; height: auto; }
#services .row { clear: both; }
@media (max-width: 767.98px) {
  .com-about-brand-media { float: none; width: 100%; max-width: 28rem; margin: 0 0 2rem; }
}
.com-about-hero h1 { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.14; max-width: 48rem; }
.com-page-head .com-about-intro { font-size: 1.125rem; line-height: 1.75; margin-top: 1.25rem; max-width: 43rem; }
.com-about-identity { padding: 1.75rem; background: var(--com-surface); border: 1px solid var(--com-border); border-top: 3px solid var(--com-accent); border-radius: var(--com-radius-lg); }
.com-about-identity h2 { font-size: 1.375rem; line-height: 1.35; margin: .75rem 0; }
.com-page-head .com-about-identity p { color: var(--com-text); font-size: .9375rem; line-height: 1.7; }
.com-about-eyebrow { display: block; color: var(--com-accent); text-transform: uppercase; letter-spacing: .09em; font-size: .75rem; font-weight: 600; margin-bottom: .75rem; }
.com-about-source { display: grid; gap: .25rem; border-top: 1px solid var(--com-border); margin-top: 1.25rem; padding-top: 1rem; font-size: .875rem; }
.com-about-source span { color: var(--com-muted); }
.com-about-source strong { color: var(--com-primary); font-weight: 500; margin-bottom: .5rem; }
.com-about-nav { background: var(--com-surface); border-bottom: 1px solid var(--com-border); padding: .75rem 0; }
.com-about-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .875rem; border-radius: var(--com-radius-sm); color: var(--com-text); font-size: .875rem; text-decoration: none; }
.com-about-nav a:hover { background: var(--com-hero-bg); color: var(--com-accent); }
.com-about-prose p { line-height: 1.8; }
.com-about-lead { color: var(--com-primary); font-size: 1.25rem; }
.com-about-card { padding: 1.75rem; }
.com-about-card h3, .com-about-note h3, .com-about-process h3, .com-about-principles h3 { font-size: 1.125rem; line-height: 1.4; margin-bottom: .75rem; }
.com-about-card p { line-height: 1.75; }
.com-about-card p:last-child { margin-bottom: 0; }
.com-about-card a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-weight: 500; }
.com-about-number { display: inline-block; color: var(--com-accent); font-weight: 600; font-size: .875rem; margin-bottom: 1.25rem; }
.com-about-section-head { max-width: 46rem; margin-bottom: 2rem; }
.com-about-section-head > p:last-child { line-height: 1.75; margin: 1rem 0 0; }
.com-about-process article { display: flex; gap: 1.25rem; padding: 1.5rem 0; border-bottom: 1px solid var(--com-border); }
.com-about-process article:first-child { padding-top: 0; }
.com-about-process article:last-child { border: 0; padding-bottom: 0; }
.com-about-process p { margin: 0; line-height: 1.75; }
.com-about-step { flex: 0 0 2.25rem; height: 2.25rem; display: grid; place-items: center; border-radius: 50%; background: var(--com-hero-bg); color: var(--com-accent); font-weight: 600; }
.com-about-note { background: var(--com-hero-bg); padding: 1.75rem; border-radius: var(--com-radius-lg); }
.com-about-note ul { padding-left: 1.25rem; }
.com-about-note li { padding-left: .25rem; margin-bottom: .875rem; line-height: 1.7; }
.com-about-note p { line-height: 1.75; }
.com-about-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; border-top: 1px solid var(--com-border); margin-top: 2.5rem; padding-top: 2rem; }
.com-about-principles p { margin: 0; line-height: 1.7; }
.com-about-service-label { display: inline-block; background: var(--com-hero-bg); color: var(--com-accent); padding: .35rem .625rem; border-radius: var(--com-radius-sm); font-size: .75rem; font-weight: 500; margin-bottom: 1rem; }
.com-about-detail { color: var(--com-muted); font-size: .875rem; border-top: 1px solid var(--com-border); padding-top: 1rem; }
.com-about-service-note { margin: 1.5rem 0 0; max-width: 65rem; color: var(--com-muted); line-height: 1.75; font-size: .875rem; }
.com-about-faq details { border-bottom: 1px solid var(--com-border); }
.com-about-faq summary { padding: 1.25rem 1.5rem 1.25rem 0; color: var(--com-primary); font-weight: 500; cursor: pointer; line-height: 1.5; }
.com-about-faq details p { padding: 0 1.5rem 1.25rem 0; margin: 0; line-height: 1.8; }
.com-about-nav a:focus-visible, .com-about-faq summary:focus-visible { outline: 2px solid var(--com-accent); outline-offset: 3px; }
#purpose, #our-data, #use-cases, #services, #questions { scroll-margin-top: 1.5rem; }
@media (max-width: 767.98px) {
  .com-about-card, .com-about-note, .com-about-identity { padding: 1.25rem; }
  .com-about-principles { grid-template-columns: 1fr; gap: 1.5rem; }
  .com-about-process article { gap: .875rem; }
  .com-about-nav a { padding: .5rem .625rem; }
  .com-page-head .com-about-intro { font-size: 1rem; }
}
