/* Solution introduction: shared brand shell, independent content layout. */
.solution-page { --intro-navy:#0b1427; --intro-blue:#3974ff; --intro-muted:#66748a; }
.solution-page main [id] { scroll-margin-top:55px; }
.solution-map ol,.sourcing-tracks ol,.start-steps { list-style:none; padding-left:0; }
.solution-hero { padding:28px 0 90px; overflow:hidden; }
.breadcrumb { display:flex; gap:14px; color:#748198; font-size:13px; margin-bottom:72px; }
.breadcrumb a:hover { color:#2563ed; }
.solution-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:65px; align-items:center; }
.solution-intro .eyebrow { color:#3b6bcc; }
.solution-intro h1 { font-size:clamp(46px,4.3vw,64px); line-height:1.2; font-weight:800; letter-spacing:-.055em; word-break:keep-all; }
.solution-intro h1>span { color:#2563ed; }
.solution-intro>p:not(.eyebrow) { font-size:20px; line-height:1.7; color:#65748a; margin:28px 0 32px; }
.solution-release-note { display:block; color:#78869b; font-size:12px; line-height:1.6; margin-top:22px; }
.solution-overview-link { display:inline-flex; align-items:center; gap:12px; margin:18px 0 0 20px; color:#2563ed; font-size:16px; font-weight:700; white-space:nowrap; }
.solution-overview-link:hover { text-decoration:underline; text-underline-offset:5px; }
@media (max-width:640px) { .solution-overview-link { display:flex; width:fit-content; margin-left:0; } }
.mobile-break { display:none; }
.solution-map { border:1px solid #e0e7f1; border-radius:20px; background:#f6f8fc; box-shadow:0 24px 60px #173f7a0c; padding:28px; position:relative; }
.map-top,.map-bottom { display:flex; justify-content:space-between; gap:16px; align-items:center; font-size:10px; letter-spacing:1px; color:#6d83a7; }
.map-dot { letter-spacing:0; font-size:11px; color:#546b8c; }
.map-dot:before { content:''; display:inline-block; width:5px; height:5px; background:#3974ff; border-radius:50%; margin-right:7px; box-shadow:0 0 12px #3974ff; }
.solution-map ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:30px 0; }
.solution-map li { border:1px solid #dfe7f2; border-radius:10px; padding:20px 15px; min-height:130px; position:relative; background:#fff; }
.solution-map li:after { content:'↗'; position:absolute; right:13px; top:15px; font-size:15px; color:#668ac8; }
.solution-map li:last-child { border-color:#9cbcff; background:#eaf1ff; }
.solution-map li small { font-size:10px; letter-spacing:1px; color:#527ed1; }
.solution-map li strong { display:block; font-size:18px; font-weight:650; letter-spacing:-.5px; margin:13px 0 5px; }
.solution-map li>span { display:block; color:#7889a3; font-size:11px; line-height:1.5; word-break:keep-all; }
.map-bottom { border-top:1px solid #dfe7f2; padding-top:22px; font-size:9px; }
.map-bottom>span { font-weight:800; color:#3b5680; letter-spacing:1.5px; }
.map-bottom b { font-weight:500; letter-spacing:.7px; }
.solution-subnav { --subnav-content-height:66px; position:sticky; top:88px; z-index:19; height:calc(var(--subnav-content-height) + 1px); background:linear-gradient(105deg,#154fc9,#2869ec 55%,#1b50c4); border-bottom:1px solid #ffffff24; }
.solution-subnav>.container { display:flex; gap:0; height:var(--subnav-content-height); overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.solution-subnav>.container::-webkit-scrollbar { display:none; }
.solution-subnav a { flex:1; min-width:0; height:var(--subnav-content-height); min-height:var(--subnav-content-height); display:flex; align-items:center; justify-content:center; padding:0 12px; border-bottom:3px solid transparent; font-size:17px; font-weight:650; color:#eaf2ff; white-space:nowrap; transition:background .2s,color .2s; }
.solution-subnav a:hover { background:#ffffff0d; }
.solution-subnav a[aria-current] { color:#fff; border-color:#fff; background:#ffffff12; }
.solution-subnav a:focus-visible { outline:2px solid #fff; outline-offset:-5px; }
.solution-section { padding:110px 0; }
.solution-section h2 { letter-spacing:-.05em; font-weight:800; word-break:keep-all; }
.cap-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-bottom:1px solid #dfe5ed; margin:0 0 45px; gap:12px; }
.cap-tabs button { background:none; color:#7b879b; text-align:left; padding:17px 5px 20px; border-bottom:3px solid transparent; margin-bottom:-1px; font-size:17px; font-weight:700; word-break:keep-all; }
.cap-tabs button small { display:block; margin-bottom:7px; font-size:10px; letter-spacing:1px; font-weight:500; }
.cap-tabs button[aria-selected=true] { border-color:#3974ff; color:#2460d8; }
.cap-panel { display:grid; grid-template-columns:.95fr 1.05fr; gap:60px; align-items:center; }
.cap-panel[hidden] { display:none; }
.cap-copy h3 { font-size:38px; line-height:1.28; letter-spacing:-.04em; font-weight:780; }
.cap-copy>p:not(.eyebrow) { font-size:18px; line-height:1.75; color:var(--intro-muted); margin:22px 0 28px; max-width:480px; word-break:keep-all; }
.cap-copy ul { display:grid; gap:19px; }
.cap-copy li { padding-left:21px; position:relative; }
.cap-copy li:before { content:''; width:5px; height:5px; border-radius:50%; background:#3974ff; position:absolute; left:0; top:9px; }
.cap-copy li strong { display:block; font-size:16px; margin-bottom:5px; color:#273b58; }
.cap-copy li span { display:block; font-size:14px; color:#718097; line-height:1.65; word-break:keep-all; }
.cap-preview { min-width:0; background:#f3f6fb; border:1px solid #dde5f0; border-radius:16px; overflow:hidden; box-shadow:0 18px 40px #163e8210; }
.cap-window-top { display:flex; justify-content:space-between; align-items:center; height:42px; padding:0 22px; background:#e9eef6; border-bottom:1px solid #dde5f0; }
.cap-window-top>span { display:flex; gap:5px; }
.cap-window-top i { width:6px; height:6px; border-radius:50%; background:#bac6d8; }
.cap-window-top small { color:#7787a2; font-size:9px; letter-spacing:1px; }
.cap-window-body { margin:22px; background:white; padding:24px; border:1px solid #e6ebf3; border-radius:10px; }
.cap-demo-title { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.cap-demo-title b { font-size:17px; letter-spacing:-.3px; }
.cap-demo-title>span { font-size:10px; color:#7485a4; border:1px solid #dbe4f4; padding:3px 7px; border-radius:4px; flex:none; }
.cap-metric { padding:26px 20px; background:#eff4ff; border-radius:8px; margin:22px 0; }
.cap-metric>span { display:block; font-size:9px; letter-spacing:1.1px; color:#5e83c7; }
.cap-metric strong { display:block; font-size:23px; line-height:1.4; color:#2652a1; letter-spacing:-.6px; margin:9px 0 7px; word-break:keep-all; }
.cap-metric small { font-size:11px; color:#7487a9; }
.cap-labels,.cap-row { display:grid; grid-template-columns:1.2fr 1fr .8fr; gap:8px; align-items:center; }
.cap-labels { font-size:10px; color:#8b96a8; padding:0 0 12px; border-bottom:1px solid #e1e8f2; }
.cap-row { font-size:12px; padding:17px 0; border-bottom:1px solid #e9edf4; }
.cap-row>span:first-child { color:#3b4f6c; font-weight:600; }
.cap-row>span:nth-child(2) { color:#8692a5; font-size:11px; }
.cap-row>span:last-child { color:#3974dd; background:#f1f5ff; border-radius:4px; text-align:center; padding:4px 2px; font-size:10px; }
.cap-flow { margin-top:22px; font-size:10px; display:grid; gap:7px; color:#8a98ac; }
.cap-flow strong { color:#536b90; font-size:12px; font-weight:550; }
.cap-footnote { font-size:10px; line-height:1.7; color:#8895aa; margin:0 22px 19px; }
.sourcing-section { background:var(--intro-navy); color:#fff; }
.sourcing-heading { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; }
.sourcing-heading .eyebrow { color:#93b2eb; }
.sourcing-heading h2>span { color:#8da7d7; }
.sourcing-number { text-align:right; flex:none; }
.sourcing-number strong { display:block; font-size:92px; font-weight:650; line-height:1; color:#82aaff; letter-spacing:-5px; }
.sourcing-number strong>span { font-size:18px; letter-spacing:-.4px; margin-left:14px; color:#c2d1ec; }
.sourcing-number>small { display:block; font-size:12px; color:#869cbe; margin-top:15px; }
.sourcing-lead { font-size:20px; line-height:1.7; color:#a7b7d1; margin:30px 0 46px; }
.sourcing-tracks { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.sourcing-tracks article { padding:34px; background:#111f36; border:1px solid #2c3c57; border-radius:12px; }
.track-label { font-size:10px; color:#8fb3fb; letter-spacing:1.5px; }
.red-track { color:#f48590; }
.sourcing-tracks h3 { font-size:27px; font-weight:650; letter-spacing:-1px; margin:15px 0 30px; }
.sourcing-tracks ol { display:grid; grid-template-columns:1fr 1fr; gap:30px 22px; counter-reset:track; }
.sourcing-tracks li { counter-increment:track; border-top:1px solid #30415e; padding-top:17px; }
.sourcing-tracks li:before { content:'0' counter(track); display:block; color:#5275ae; font-size:11px; margin-bottom:9px; }
.sourcing-tracks li>b { font-size:16px; font-weight:600; }
.sourcing-tracks li>span { display:block; font-size:12px; color:#8e9fbb; margin-top:7px; line-height:1.6; word-break:keep-all; }
.scope-note { font-size:12px; color:#879bbd; margin-top:22px; line-height:1.8; word-break:keep-all; }
.sourcing-expansion { margin-top:10px; font-size:14px; font-weight:650; color:#f1f1f1; letter-spacing:0; }
.feature-scope { padding-top:0; }
.feature-scope-heading { display:flex; justify-content:space-between; gap:36px; align-items:flex-end; margin-bottom:32px; }
.feature-scope-heading h2 { font-size:36px; line-height:1.35; }
.feature-scope-heading>p { color:#555; font-size:17px; line-height:1.8; }
.feature-scope-list { margin:0; border-top:2px solid #222; }
.feature-scope-list>div { display:grid; grid-template-columns:200px 1fr; gap:36px; padding:28px 0; border-bottom:1px solid #ddd; }
.feature-scope-list dt { color:#222; font-size:20px; font-weight:750; }
.feature-scope-list dt>span { display:block; color:#666; font-size:11px; margin-bottom:10px; letter-spacing:1px; }
.feature-scope-list dd { margin:0; }
.feature-scope-list dd p { font-size:16px; line-height:1.85; color:#505050; word-break:keep-all; }
.feature-scope-list dd p+p { margin-top:13px; }
.feature-scope-list dd b { display:block; font-size:14px; color:#222; margin-bottom:3px; }
.feature-scope-note { color:#626262; font-size:13px; line-height:1.7; margin-top:20px; }
@media (max-width:760px) {
 .feature-scope-heading { display:block; }
 .feature-scope-heading h2 { font-size:28px; }
 .feature-scope-heading>p { font-size:16px; margin-top:20px; }
 .feature-scope-list>div { grid-template-columns:1fr; gap:16px; padding:24px 0; }
 .feature-scope-list dt>span { display:inline; margin-right:12px; }
 .feature-scope-list dd p { font-size:15px; }
 .sourcing-expansion { font-size:13px; }
}
.extension-list { border-top:1px solid #cbd4e2; }
.extension-list article { display:grid; grid-template-columns:70px minmax(0,1fr) 110px; gap:32px; padding:40px 0; border-bottom:1px solid #e1e6ee; align-items:start; }
.extension-index { color:#5781cc; font-size:14px; padding-top:8px; }
.extension-list h3 { font-size:28px; font-weight:700; letter-spacing:-.8px; }
.extension-list p { font-size:17px; line-height:1.8; color:#78859a; max-width:760px; margin-top:15px; word-break:keep-all; }
.extension-tags { display:flex; gap:8px; margin-top:20px; flex-wrap:wrap; }
.extension-tags span { font-size:12px; color:#5c7399; background:#f1f5fb; border-radius:5px; padding:6px 10px; }
.availability { font-size:11px; border:1px solid #dfe6f0; padding:6px 9px; color:#7e8da6; border-radius:30px; text-align:center; margin-top:6px; }
.getting-started { background:#f4f6f9; }
.start-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin-top:60px; }
.start-steps li { border-top:2px solid #bacbe8; padding-top:24px; }
.start-steps li>span { font-size:10px; letter-spacing:1px; color:#6c8cbd; }
.start-steps h3 { font-size:23px; font-weight:700; letter-spacing:-.7px; margin:17px 0 12px; }
.start-steps p { font-size:16px; line-height:1.8; color:#7d8ba0; }
.start-bottom { border-top:1px solid #dbe2ec; padding-top:30px; margin-top:50px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.start-bottom p { font-size:15px; color:#7d8ba0; }
.start-bottom strong { color:#3d639f; margin-right:6px; }
.start-bottom p>span { margin:0 16px; color:#b7c5db; }
@media (max-width:1150px) {
 .solution-hero-grid { gap:35px; } .solution-map { padding:22px; } .solution-map li { padding:16px 11px; } .solution-map li strong { font-size:16px; }
 .solution-intro h1 { font-size:48px; } .solution-intro>p:not(.eyebrow) { font-size:18px; }
 .cap-panel { gap:35px; } .cap-copy h3 { font-size:34px; } .cap-tabs button { font-size:15px; } .cap-window-body { margin:16px; padding:20px; }
 .sourcing-number strong { font-size:72px; } .sourcing-number strong>span { display:block; margin-top:15px; }
}
@media (max-width:1024px) {
 .solution-subnav { top:78px; } .solution-page main [id] { scroll-margin-top:49px; }
 .solution-subnav a { font-size:16px; }
 .solution-hero-grid { grid-template-columns:1fr; gap:45px; } .solution-hero { padding-bottom:65px; } .breadcrumb { margin-bottom:40px; }
 .solution-intro h1 { font-size:60px; } .solution-intro>p:not(.eyebrow) { font-size:20px; }
 .solution-map { max-width:660px; width:100%; } .solution-map li strong { font-size:21px; } .solution-map li>span { font-size:13px; } .solution-map li { padding:22px; }
 .solution-section { padding:80px 0; } .cap-panel { grid-template-columns:1fr; gap:35px; } .cap-copy>p:not(.eyebrow) { max-width:600px; }
 .cap-copy ul { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; } .cap-preview { width:100%; max-width:640px; margin:auto; }
 .sourcing-heading h2 { font-size:38px; } .sourcing-tracks article { padding:28px; }
 .start-steps { grid-template-columns:1fr 1fr; gap:35px; } .start-bottom { align-items:flex-start; flex-direction:column; }
}
@media (max-width:760px) {
 .cap-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 15px; border:0; margin-bottom:32px; }
 .cap-tabs button { border-bottom-color:#dfe5ed; } .cap-copy ul { grid-template-columns:1fr; gap:20px; }
 .sourcing-heading { display:block; } .sourcing-number { text-align:left; margin-top:32px; } .sourcing-number strong { font-size:80px; } .sourcing-number strong>span { display:inline; margin-left:14px; }
 .sourcing-tracks { grid-template-columns:1fr; } .extension-list article { grid-template-columns:30px minmax(0,1fr); gap:18px; }
 .availability { grid-column:2; justify-self:start; padding:5px 12px; margin:0; }
}
@media (max-width:640px) {
 .solution-subnav { top:72px; } .solution-page main [id] { scroll-margin-top:51px; } .solution-subnav>.container { gap:0; } .solution-subnav a { flex:1 0 96px; font-size:14px; padding:0 12px; }
 .solution-hero { padding:20px 0 50px; } .breadcrumb { font-size:11px; margin-bottom:38px; }
 .solution-intro h1 { font-size:clamp(31px,9.3vw,46px); line-height:1.25; } .solution-intro>p:not(.eyebrow) { font-size:16px; margin:23px 0 28px; }
 .solution-intro .button { font-size:15px; min-height:52px; } .solution-release-note { font-size:10px; } .mobile-break { display:block; }
 .solution-map { border-radius:13px; padding:18px; } .solution-map ol { grid-template-columns:1fr 1fr; gap:10px; margin:22px 0; } .solution-map li { padding:17px 14px; min-height:120px; }
 .solution-map li strong { font-size:18px; } .solution-map li>span { font-size:11px; } .map-top { flex-wrap:wrap; gap:9px; font-size:9px; } .map-dot { font-size:10px; } .map-bottom { font-size:8px; gap:10px; flex-wrap:wrap; }
 .solution-section { padding:65px 0; } .cap-tabs { gap:4px 10px; } .cap-tabs button { font-size:14px; padding:12px 0 16px; } .cap-tabs button small { font-size:9px; }
 .cap-copy h3 { font-size:30px; } .cap-copy>p:not(.eyebrow) { font-size:16px; } .cap-copy li strong { font-size:15px; } .cap-copy li span { font-size:13px; }
 .cap-window-body { margin:12px; padding:16px; } .cap-window-top { padding:0 17px; height:36px; } .cap-demo-title b { font-size:15px; } .cap-demo-title>span { font-size:9px; }
 .cap-metric { padding:21px 15px; margin:20px 0; } .cap-metric strong { font-size:20px; } .cap-metric small { font-size:10px; } .cap-row { font-size:10px; gap:5px; } .cap-row>span:nth-child(2) { font-size:9px; } .cap-row>span:last-child { font-size:9px; }
 .cap-labels { font-size:9px; } .cap-flow strong { font-size:10px; } .cap-footnote { margin:0 17px 16px; font-size:9px; }
 .sourcing-heading h2 { font-size:31px; } .sourcing-number strong { font-size:72px; } .sourcing-number strong>span { font-size:16px; } .sourcing-lead { font-size:16px; margin-bottom:30px; }
 .sourcing-tracks article { padding:25px; } .sourcing-tracks h3 { font-size:24px; } .sourcing-tracks ol { gap:24px 18px; } .sourcing-tracks li>b { font-size:14px; } .sourcing-tracks li>span { font-size:11px; } .scope-note { font-size:11px; }
 .extension-list article { padding:28px 0; gap:13px; grid-template-columns:24px minmax(0,1fr); } .extension-list h3 { font-size:23px; } .extension-list p { font-size:15px; } .extension-tags span { font-size:10px; padding:5px 8px; }
 .start-steps { gap:28px 18px; margin-top:35px; } .start-steps h3 { font-size:19px; } .start-steps p { font-size:14px; } .start-steps p br { display:none; } .start-steps li>span { font-size:9px; }
 .start-bottom { gap:20px; margin-top:35px; } .start-bottom p { font-size:13px; line-height:1.8; } .start-bottom p>span { display:block; height:8px; color:transparent; } .start-bottom .arrow-link { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .solution-subnav { backdrop-filter:none; } }
