/* v12.12: a bounded visual-first surface; a hover lens never reflows neighboring tiles. */
#harnessHeroHost{min-width:0;width:100%;margin:16px 0 26px}.harness-landing{max-width:1180px!important}.harness-landing .seo-hero{max-width:none}.scenario-intro{padding-top:16px}.scenario-intro h1{font-size:clamp(28px,3.3vw,40px);margin:6px 0 10px}.scenario-intro #scenarioLead{font-size:17px;line-height:1.4;margin-bottom:10px}.scenario-context{margin-top:24px!important}.eco-v1211.ecosystem-section{margin:0;padding:16px 0 0;border-top:2px solid #5031bf;max-width:1180px}.eco-v1211 .eco-heading{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:10px}.eco-v1211 .eco-heading h2{font-size:clamp(22px,2.3vw,30px)!important;margin:5px 0;line-height:1.16}.eco-v1211 .eyebrow{font-size:11px}.eco-v1211 .trace-btn{font:600 13px/1.3 'IBM Plex Sans',system-ui,sans-serif;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;min-height:44px;border:1px solid #827992;border-radius:6px;background:#fff;color:#5031bf;text-decoration:none;white-space:normal;cursor:pointer}.eco-v1211 .trace-btn:hover{border-color:#5031bf;background:#efebff}.eco-v1211 .trace-btn:focus-visible{outline:3px solid #5031bf;outline-offset:3px}.eco-v1211 .eco-directions{font:14px/1.45 'IBM Plex Sans',system-ui,sans-serif;margin:0 0 12px;color:#302d43;max-width:none}.eco-v1211 .eco-directions strong{display:block}.eco-v1211 .eco-workspace{display:grid!important;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr)!important;gap:16px;align-items:start;max-width:100%}.eco-v1211 .eco-visual-frame{min-width:0;position:relative}.eco-v1211 .eco-scroll{position:relative;border:1px solid #827992;overflow:hidden;max-width:100%;background:#fff;border-radius:10px;scrollbar-gutter:auto}.eco-v1211 .eco-scroll>.eco-svg{position:static!important;inset:auto;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;aspect-ratio:1002/746!important;display:block}.eco-v1211 .eco-inner-ring{fill:#f7f6fb;stroke:#bab2cc;stroke-dasharray:4 6;stroke-width:1.5}.eco-v1211 .eco-node rect,.eco-v1211 .eco-node-copy rect{fill:#fff;stroke:#827992;stroke-width:1.8}.eco-v1211 .eco-node circle,.eco-v1211 .eco-node-copy circle{fill:#efebff;stroke:#5031bf;stroke-width:2}.eco-v1211 .eco-node:hover rect,.eco-v1211 .eco-node.is-selected rect{fill:#efebff;stroke:#5031bf;stroke-width:2.8}.eco-v1211 .eco-node:focus-visible rect,.eco-v1211 .eco-node:focus-visible circle{stroke:#111;stroke-width:4}.eco-v1211 .eco-node.is-path rect,.eco-v1211 .eco-node.is-path circle{stroke:#17603f;stroke-width:3}.eco-v1211 .eco-title{font:650 22px/1.2 'IBM Plex Sans',system-ui,sans-serif;fill:#211a30}.eco-v1211 .eco-meta{font:600 13px/1.2 'IBM Plex Mono',monospace;fill:#5031bf}.eco-v1211 .eco-core-title{font:650 27px 'Space Grotesk',system-ui,sans-serif;fill:#211a30}.eco-v1211 .eco-core-hint,.eco-v1211 .eco-center-note{font:500 16px 'IBM Plex Sans',system-ui,sans-serif;fill:#514964}.eco-v1211 .eco-lens{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:8;pointer-events:none;background:#fff;border:3px solid #5031bf;border-radius:9px;box-shadow:0 10px 28px rgba(32,21,52,.2);padding:0;overflow:hidden;max-width:none}.eco-v1211 .eco-lens[hidden]{display:none!important}.eco-v1211 .eco-lens-label{padding:7px 10px;background:#5031bf;color:#fff;font:600 11px/1.25 'IBM Plex Mono',monospace;letter-spacing:.05em}.eco-v1211 .eco-lens-art{line-height:0}.eco-v1211 .eco-lens-svg{display:block;max-width:none!important;position:static!important;inset:auto!important;aspect-ratio:auto;overflow:visible}.eco-v1211 .eco-lens-svg .eco-node-copy rect{fill:#fff;stroke-width:1}.eco-v1211 .eco-lens-svg .eco-title{font-size:22px}.eco-v1211 .eco-reading-pane{min-width:0;max-height:min(760px,78vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;border:1px solid #827992;border-top:3px solid #5031bf;border-radius:9px;scroll-margin-top:calc(var(--header-height,70px) + 15px)}.eco-v1211 .eco-inline-explainer{border:0;border-radius:0;padding:0 18px 18px;margin:0;width:100%;max-width:100%;background:white}.eco-v1211 .eco-explainer-head{position:sticky!important;top:0;background:#fff;border-bottom:1px solid #b5adca;padding:6px 0;margin:0 0 14px;z-index:1;gap:8px}.eco-v1211 .eco-explainer-head span{font-size:11px;line-height:1.4;color:#5031bf;overflow-wrap:anywhere}.eco-v1211 .eco-explainer-head button{font-size:12px;min-width:98px;line-height:1.3;min-height:44px}.eco-v1211 .eco-explainer h2{font:650 24px/1.18 'Space Grotesk',system-ui,sans-serif;margin:0 0 10px;overflow-wrap:anywhere}.eco-v1211 .eco-context-label{font:600 10px/1.3 'IBM Plex Mono',monospace;color:#5031bf!important}.eco-v1211 .eco-explainer section{padding-top:12px;margin-top:12px}.eco-v1211 .eco-explainer h3{font-size:15px;line-height:1.3;margin-bottom:6px}.eco-v1211 .eco-explainer p{font:16px/1.47 'IBM Plex Sans',system-ui,sans-serif;color:#302d43}.eco-v1211 .eco-accountability,.eco-v1211 .tm-component{border:1px solid #b5adca;border-radius:6px;margin:16px 0;padding:10px 12px}.eco-v1211 summary{font-size:14px;font-weight:600;line-height:1.4;color:#5031bf;min-height:44px;cursor:pointer}.eco-v1211 .eco-accountability h3{margin-top:14px}.eco-v1211 .eco-guide-mode .eco-scroll{display:none}.eco-v1211 .eco-component-guide{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.eco-v1211.eco-guide-mode .eco-component-guide{display:grid}.eco-v1211 .eco-guide-button{border-color:#827992;min-height:80px}.eco-v1211 .eco-guide-button strong{font-size:16px}.eco-v1211 .eco-view-switch{margin-top:10px;gap:8px}.eco-v1211 .eco-view-switch button[aria-pressed=true]{background:#5031bf;color:#fff;border-color:#5031bf}.eco-v1211 .eco-controls{border-top:1px solid #b5adca;margin-top:14px;padding-top:14px;gap:8px}.eco-v1211 .eco-controls label{font:14px 'IBM Plex Sans',system-ui,sans-serif;color:#302d43}.eco-v1211 .eco-controls select{font-size:14px;min-height:44px;border-color:#827992;max-width:100%}.eco-v1211 .eco-flow-status{font:14px/1.45 'IBM Plex Sans',system-ui,sans-serif;min-height:58px;margin:8px 0;padding:12px 14px;border-color:#5031bf}.eco-v1211 .source-note{font-size:12px;line-height:1.45;color:#514964}.eco-v1211 .eco-legend{font-size:10px}.eco-v1211 .eco-legend .mandate:before{border-color:#94600d}.eco-v1211 .eco-step-navigation{margin:10px 0}.eco-v1211 .eco-scroll-hint{font-size:12px;line-height:1.45;margin:10px 0;color:#514964}#stepEcosystemHost{margin:16px 0 24px;clear:both}.eco-page-intro{padding-top:18px!important}.eco-page-intro h1{font-size:32px!important}.eco-page-intro .lead{max-width:85ch!important}.harness-landing .seo-component-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.eco-v1211 [hidden]{display:none!important}
@media(min-width:1450px){.eco-v1211 .eco-workspace{grid-template-columns:minmax(0,1.9fr) minmax(320px,1fr)!important}}
@media(max-width:880px){.eco-v1211 .eco-workspace{grid-template-columns:minmax(0,1fr)!important}.eco-v1211 .eco-reading-pane{max-height:560px}.eco-v1211 .eco-heading{align-items:start;flex-direction:column;gap:4px}.eco-v1211 .eco-component-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.eco-v1211 .eco-scroll-hint{font-size:13px}.eco-v1211 .eco-directions{font-size:14px}.eco-v1211 .eco-controls label{width:100%}.eco-v1211 .eco-controls select{width:100%;min-width:0}.harness-landing .seo-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.eco-v1211 .eco-explainer h2{font-size:23px}.eco-v1211 .eco-explainer p{font-size:16px}.eco-v1211 .eco-legend{gap:7px}.eco-v1211 .eco-lens-label{font-size:9px}.eco-v1211 .eco-component-guide{grid-template-columns:1fr}.eco-v1211 .eco-controls .trace-btn{flex:1 1 130px}.eco-v1211 .eco-view-switch .trace-btn{flex:1 1 125px}.eco-v1211 .eco-heading h2{font-size:23px!important}}
@media(prefers-reduced-motion:reduce){.eco-v1211 *{scroll-behavior:auto!important}.eco-v1211 .eco-node rect{transition:none}}
@media print{.eco-v1211 .eco-lens,.eco-v1211 .eco-view-switch,.eco-v1211 .eco-controls,.eco-v1211 .eco-step-navigation{display:none!important}.eco-v1211 .eco-workspace{display:block!important}.eco-v1211 .eco-reading-pane{max-height:none;overflow:visible}.eco-v1211 .eco-explainer{display:block!important}}

.eco-v1211 .eco-explainer .eco-context-label{font:600 11px/1.4 "IBM Plex Mono",monospace;color:#5031bf}.eco-v1211 .eco-heading .trace-btn{min-height:44px!important}
/* Keep the public landing headline subordinate to the working visual. */
.harness-landing.seo-main{padding-top:22px!important}.harness-landing .seo-hero{padding-top:12px!important}.harness-landing .seo-hero>h1{font-size:clamp(28px,3.6vw,44px)!important;line-height:1.12!important;letter-spacing:-.025em!important;max-width:none!important;margin:8px 0 18px!important}.harness-landing .eco-v1211 a.trace-btn{padding:9px 12px!important;font:600 13px/1.3 'IBM Plex Sans',system-ui,sans-serif!important;min-height:44px!important}.harness-landing .eco-v1211 .eyebrow{font:600 11px/1.4 'IBM Plex Mono',monospace!important;color:#5031bf;letter-spacing:.06em}

.eco-v1211 .eco-core-hint{font-size:13px}

/* Retire the old 20px input-only override; all outer labels retain the 22px design size. */
.eco-v1211 .eco-svg [data-component="inp"] .eco-title{font-size:22px;font-weight:650}
