/* Scoped additions to the existing service-page design. */
.scope-section { scroll-margin-top: 92px; }
.scope-intro { max-width: 760px; font-size: 18px; line-height: 1.7; color: #4e5068; margin: 20px 0 30px; }
.scope-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 28px 0 32px; }
.scope-facts-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.scope-facts > div { min-width: 0; border-top: 2px solid #d8d4ee; padding-top: 18px; }
.scope-facts dt { font-weight: 750; font-size: 19px; color: #17152f; margin-bottom: 10px; }
.scope-facts dd { margin: 0; font-size: 16px; line-height: 1.75; color: #4e5068; }
.scope-note { max-width: 850px; font-size: 16px; line-height: 1.75; color: #4e5068; margin: 16px 0; }
.ecom-page .hero .h1 { font-size: clamp(38px, 4.2vw, 60px); }
.ecom-page .hero .hero-art img { border-radius: 12px; border: 1px solid #dedcec; height: auto; }
.ecom-flow { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; counter-reset: flow; margin: 36px 0; }
.ecom-flow li { counter-increment: flow; padding-top: 16px; border-top: 2px solid #bcb5df; min-width: 0; }
.ecom-flow li::before { content: counter(flow); font-size: 14px; font-weight: 750; color: #62549c; display: block; margin-bottom: 12px; }
.ecom-flow h3 { font-size: 20px; margin: 0 0 12px; }
.ecom-flow p { font-size: 16px; line-height: 1.7; color: #4e5068; }
.ecom-proof { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 48px; align-items: start; }
.ecom-proof figure { margin: 0; min-width: 0; }
.ecom-proof img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid #dedcec; }
.ecom-proof figcaption { font-size: 13px; line-height: 1.6; color: #626477; margin-top: 12px; }
.ecom-page .section { background: #fff; }
.ecom-page .section h3 { color: #17152f; }
.ecom-page .hero { background: #f4f3fc; }
.ecom-page .hero .wrap { padding-top: 76px; padding-bottom: 68px; }
.ecom-page .ctaband { background: #f2f1fa; color: #17152f; }
.ecom-page .ctaband h2, .ecom-page .ctaband .sub, .ecom-page .ctaband label { color: #17152f; }
.ecom-page .ctaband input, .ecom-page .ctaband textarea { background: white; color: #17152f; border-color: #b5afcd; }
.ecom-page .ctaband input::placeholder, .ecom-page .ctaband textarea::placeholder { color: #666078; }
.ecom-page .ctaband .fsubmit { background: #62549c; color: white; }
.ecom-page .ctaband .grid { display: none; }
@media (max-width: 760px) {
 .scope-facts, .scope-facts-two, .ecom-proof { grid-template-columns: 1fr; gap: 24px; }
 .ecom-flow { grid-template-columns: 1fr; gap: 16px; }
 .scope-intro { font-size: 17px; }
 .ecom-page .hero .wrap { padding-top: 42px; padding-bottom: 38px; }
}

/* Client portal evidence and role comparison. */
.portal-hero-photo { margin: 0; }
.portal-hero-photo figcaption { margin-top: 8px; color: #626477; font-size: 13px; }
.portal-role-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; margin: 32px 0; }
.portal-role-grid article { border-top: 2px solid #d8d4ee; padding-top: 18px; }
.portal-role-grid h3 { font-size: 23px; margin: 0 0 18px; }
@media (max-width:760px) { .portal-role-grid { grid-template-columns: 1fr; gap: 24px; } }

/* Service index capabilities remain in page content, not in the menu. */
.capability-list { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 48px; row-gap: 28px; }
.capability-list li { min-width: 0; }
.capability-list a { font-size: 20px; font-weight: 750; }
.capability-list p { margin: 8px 0 0; font-size: 16px; line-height: 1.7; color: #4e5068; }
.core-service-section + .core-service-section { border-top: 1px solid #e8e6f1; }
@media (max-width:760px) { .capability-list { grid-template-columns: 1fr; gap: 24px; } }
