.capabilities { flex: 1; padding-block: var(--page-top) 5rem; }
.capabilities-hero { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: clamp(2rem, 6vw, 6rem); align-items: end; padding-bottom: 3.5rem; }
.capabilities h1 { margin: 0; max-width: 23ch; font-size: clamp(2.4rem, 4.5vw, 4.5rem); line-height: 1.06; font-weight: 500; letter-spacing: -.055em; text-wrap: balance; }
.capabilities .lede { max-width: 46rem; margin-bottom: 0; }
.capabilities-share { border-top: 2px solid var(--accent); padding-top: 1.25rem; }
.capabilities-share .eyebrow { margin-bottom: .75rem; }
.capabilities-share p:not(.eyebrow) { color: var(--muted); font-size: .9375rem; line-height: 1.65; }
.capabilities-share .button { width: 100%; }
.capabilities-architecture { margin: 0 0 3rem; max-width: 100%; min-width: 0; }
.architecture-scroll { width: 100%; overflow-x: auto; }
.architecture-scroll svg { display: block; width: 100%; min-width: 720px; max-height: 540px; }
.capabilities-architecture figcaption { max-width: 50rem; margin-top: 1rem; font-size: .9375rem; line-height: 1.6; color: var(--muted); }
.capabilities-section-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 2rem; padding-block: 1.25rem; border-top: 1px solid var(--ink); }
.capabilities-section-heading h2 { margin: 0; font-size: 1.25rem; font-weight: 500; letter-spacing: -.03em; }
.capabilities-section-heading > p { margin: 0; color: var(--muted); font-size: .875rem; }
.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 6vw, 6rem); }
.capability { position: relative; padding: 1.75rem 0 2rem 2.75rem; border-top: 1px solid var(--rule); break-inside: avoid; }
.capability-number { position: absolute; inset: 1.9rem auto auto 0; margin: 0; color: var(--accent); font-size: .75rem; font-variant-numeric: tabular-nums; letter-spacing: .06em; }
.capability h3 { margin: 0 0 .8rem; font-size: 1.3rem; font-weight: 500; letter-spacing: -.035em; line-height: 1.25; }
.capability > p:not(.capability-number) { margin: 0; color: var(--muted); line-height: 1.7; text-wrap: pretty; }
.capability > .capability-deliverable { margin-top: 1rem !important; font-size: .875rem; }
.capability-deliverable strong { color: var(--ink); font-weight: 500; }
.capabilities-engage { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 2rem clamp(2rem, 6vw, 6rem); margin-top: 1rem; padding: 2.5rem; background: var(--surface); border-top: 2px solid var(--accent); }
.capabilities-engage .eyebrow { margin-bottom: .8rem; }
.capabilities-engage h2 { margin: 0 0 1rem; max-width: 25ch; font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.2; font-weight: 500; letter-spacing: -.04em; }
.capabilities-engage p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.7; }
.capabilities-contact { align-self: center; }
.capabilities-contact > a { display: block; width: fit-content; max-width: 100%; padding-block: .25rem; overflow-wrap: anywhere; }
.capabilities-contact > p { margin-top: .8rem !important; font-size: .875rem; }
.capabilities-contact .text-link { display: inline-flex; gap: .5rem; margin-top: .5rem; }
.capabilities-detail { max-width: 52rem; }
.capabilities-imprint { margin: 3rem 0 0; color: var(--muted); font-size: .8125rem; }
@media (max-width: 900px) {
  .capabilities-hero { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .capabilities-share { max-width: 26rem; }
  .capabilities-engage { padding: 1.5rem; }
}
@media (max-width: 700px) {
  .capability-grid, .capabilities-engage { grid-template-columns: minmax(0, 1fr); }
  .capabilities-hero { padding-bottom: 2.5rem; }
  .capability { padding-left: 2rem; }
  .capabilities h1 { font-size: clamp(2rem, 7vw, 3rem); }
}
/* Browser print view. The downloadable one-pager uses the shared proposal template. */
@page { size: letter; margin: .4in .45in; }
@media print {
  :root { --paper: #fff; --muted: #444c49; font-size: 10pt; background: #fff; }
  body { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .capabilities-page { display: block; max-width: none; min-height: 0; padding: 0; }
  .capabilities-page .site-header { padding: 0 0 9pt; }
  .capabilities-page .brand { font-size: 15pt; }
  .capabilities-page .brand img { width: 30pt; height: 30pt; }
  .capabilities-page .site-nav, .capabilities-page .nav-cta, .capabilities-page .nav-menu,
  .capabilities-page .site-footer, .capabilities .breadcrumb, .capabilities-share,
  .capabilities-detail, .capabilities-contact .text-link, .skip-link { display: none; }
  .capabilities { padding: 0; }
  .capabilities-architecture { margin-bottom: 12pt; }
  .architecture-scroll { overflow: visible; }
  .architecture-scroll svg { min-width: 0; }
  .capabilities-hero { display: block; padding-bottom: 12pt; }
  .capabilities .eyebrow { margin-bottom: 7pt; font-size: 7.5pt; }
  .capabilities h1 { max-width: none; font-size: 26pt; line-height: 1.06; }
  .capabilities .lede { max-width: 50rem; margin-top: 9pt; font-size: 10pt; line-height: 1.5; }
  .capabilities-section-heading { padding-block: 9pt; }
  .capabilities-section-heading h2 { font-size: 11pt; }
  .capabilities-section-heading > p { font-size: 8pt; }
  .capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22pt; }
  .capability { padding: 8pt 0 9pt 19pt; }
  .capability-number { top: 9pt; font-size: 7.5pt; }
  .capability h3 { margin-bottom: 6pt; font-size: 11pt; }
  .capability > p:not(.capability-number) { font-size: 9pt; line-height: 1.35; }
  .capability > .capability-deliverable { margin-top: 6pt !important; font-size: 8.5pt !important; }
  .capabilities-engage { grid-template-columns: 1.15fr 1fr; gap: 18pt; margin-top: 6pt; padding: 13pt; break-inside: avoid; }
  .capabilities-engage h2 { max-width: none; margin-bottom: 6pt; font-size: 14pt; }
  .capabilities-engage p:not(.eyebrow) { font-size: 8.5pt; line-height: 1.45; }
  .capabilities-contact > a { font-size: 9pt; padding-block: 2pt; }
  .capabilities-contact > p { margin-top: 6pt !important; }
  .capabilities-imprint { margin-top: 10pt; font-size: 7.5pt; }
}
