/* Shared architectural language: flow, boundaries, provenance and evidence. */
.engineering-plate{border:1px solid #c7d4e1;background:#fbfcfe;overflow:hidden}
.engineering-svg{display:block;width:100%;height:auto;font-family:var(--font);text-rendering:optimizeLegibility}
.plate-grid{fill:none;stroke:#dce5ee;stroke-width:.7;opacity:.38}
.plate-label{font-size:15px;font-weight:600;letter-spacing:-.15px;fill:#13283e}
.plate-sub{font-size:12px;fill:#50667c}
.plate-kicker{font:10px var(--mono);letter-spacing:.8px;fill:#4d6780}
.plate-tiny{font:9px var(--mono);letter-spacing:.05px;fill:#4d6780}
.plate-route{stroke:#0a66c2;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.plate-control{stroke:#7a91a7;stroke-width:1.4;stroke-dasharray:5 5;fill:none}
.plate-boundary{stroke:#b7cadd;stroke-width:1;stroke-dasharray:4 5;fill:#eaf3fc33}
.plate-node>rect{stroke:#9db5cc;stroke-width:1;fill:#fff;transition:stroke .2s,fill .2s}
.plate-node.plate-dark>rect,.plate-agent>rect{fill:#102940;stroke:#214965;stroke-width:1}
.plate-dark .plate-label,.plate-agent-title{fill:#fff;font-size:15px;font-weight:600;letter-spacing:.2px}
.plate-dark .plate-sub,.plate-agent-sub{fill:#bad4e8;font-size:11px}
.plate-dark-lines{fill:none;stroke:#77b7e4;stroke-width:2}
.plate-gate{fill:#0a66c2}
.plate-storage>rect{fill:#eef5fc;stroke:#88aace;stroke-width:1}
.plate-storage>path{stroke:#a7bfd7;stroke-width:1;fill:none}
.plate-storage .plate-storage-spine{stroke:#0a66c2;stroke-width:3}
.plate-storage-label{font:600 10px var(--mono);fill:#164e81}
.plate-review{fill:#f7f4ee;stroke:#b8ab8e;stroke-width:1}
.engineering-plate>figcaption{display:flex;justify-content:space-between;gap:8px 22px;flex-wrap:wrap;border-top:1px solid #cfdae6;padding:13px 22px;background:#fff;font-size:10px;color:var(--muted);line-height:1.7}
.engineering-plate>figcaption strong{font:9px/1.8 var(--mono);letter-spacing:.04em;color:var(--blue)}
.plate-current{fill:none;stroke:#92ccf5;stroke-width:4;stroke-dasharray:13 230;animation:plate-transport 9s linear infinite;animation-play-state:paused}
.plate-current-late{animation-delay:-4s}
.concept-project[data-motion=running] .plate-current{animation-play-state:running}
.component-reference{margin-top:10px;border-bottom:1px solid var(--line)}
.component-reference>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;font-size:12px;font-weight:500;color:var(--muted)}
.component-reference>summary>span{font-size:20px;color:var(--blue)}
.component-reference[open]>summary>span{transform:rotate(45deg)}
.component-reference .architecture-canvas{margin-bottom:20px}
.component-reference .agent-boundary::before,.component-reference .forecast-fork::before{animation:none}
.mature-hero .platform-map{margin-top:10px;border-bottom:1px solid #c7d4e1}
.mature-hero .hero-transport{stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.mature-hero .hero-packet{stroke-width:3.5}
.mature-hero .plate-label{font-size:17px}
.mature-hero .plate-sub{font-size:12px}
.mature-hero .plate-kicker{font-size:10px;letter-spacing:.4px}
.mature-hero .plate-tiny{font-size:9px}
.mature-hero .plate-storage-label{font-size:11px}
.mature-hero .hero-stage-controls{border-top:0}
.mature-hero .hero-stage-note{font-size:12px}
.mature-hero[data-active-stage=collect] .mature-collect rect,.mature-hero[data-active-stage=serve] .mature-serve rect{fill:#eef5fc;stroke:#0a66c2;stroke-width:2}
.mature-hero[data-active-stage=engineer] .plate-boundary{fill:#eaf3fc88;stroke:#6c9fcb}
.plate-mobile{display:none}
.project-purpose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-block:28px 22px;padding-block:22px;border-block:1px solid var(--line)}
.project-purpose h5{font:10px/1.7 var(--mono);letter-spacing:.04em;color:var(--blue);margin:0 0 8px}
.project-purpose p{font-size:13px;line-height:1.75;color:var(--muted)}
.proof-index{margin-top:34px;border:1px solid var(--line);background:#f8fafc}
.proof-index>summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 24px;min-height:75px}
.proof-index>summary>span:first-child{font-size:21px;letter-spacing:-.5px;font-weight:600}
.proof-index>summary>span:last-child{font-size:25px;color:var(--blue)}
.proof-index-body{padding:0 24px 24px}
.proof-index-body>p{font-size:13px;color:var(--muted);max-width:760px;line-height:1.8;margin-bottom:19px}
.proof-rows{display:grid;grid-template-columns:1fr 1fr}
.proof-row{padding:19px 22px 19px 0;border-top:1px solid var(--line)}
.proof-row:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
.proof-row a{display:flex;justify-content:space-between;font-size:19px;font-weight:600;color:var(--blue);min-height:40px}
.proof-row small{font:9px/1.8 var(--mono);display:block;color:#4b6279;margin-bottom:10px}
.proof-row p{font-size:12px;color:var(--muted);line-height:1.8}
.signalbench{display:block!important;padding-top:52px!important;margin-top:70px!important;border-top:1px solid #aebed0}
.signalbench-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:27px}
.signalbench-heading h3{font-size:clamp(49px,6.2vw,82px);line-height:1;letter-spacing:-.065em;margin-block:18px}
.signalbench-heading h3 span{color:var(--blue)}
.signalbench-heading .project-subtitle{font-size:22px;line-height:1.4;max-width:430px}
.signalbench-heading>div>p:not(.eyebrow):not(.project-subtitle){font-size:14px;color:var(--muted);line-height:1.85;margin-top:14px;max-width:470px}
.implemented-badge{display:inline-flex;padding:5px 9px;border:1px solid #9bbfb0;color:#245d4a;background:#f1f8f4;font:10px/1.6 var(--mono)}
.signalbench-workflow{margin-top:25px}
.signalbench-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:25px;margin-top:28px;align-items:start}
.signalbench .forecast-lab{width:100%;min-width:0}
.signalbench .forecast-toolbar{padding:16px 19px;display:block}
.signalbench .forecast-models{margin-top:12px;display:flex;flex-wrap:wrap}
.signalbench #operations-chart{height:220px}
.signalbench .forecast-feedback{font-size:12px;min-height:74px}
.signalbench .forecast-quality{gap:10px;flex-wrap:wrap}
.signalbench-results{border:1px solid var(--line);padding:22px;background:#fbfcfe}
.signalbench-results h4{font-size:22px;letter-spacing:-.6px;line-height:1.3;margin-top:10px}
.signalbench-results>p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px}
.benchmark-row{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}
.benchmark-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px}
.benchmark-row>div:first-child strong{font:600 15px/1.4 var(--mono);color:var(--ink)}
.benchmark-bar{height:7px;background:#e4ebf3;margin-top:10px;position:relative}
.benchmark-bar>span{display:block;height:100%;background:#0a66c2;width:var(--bar)}
.benchmark-row:nth-of-type(2) .benchmark-bar>span{background:#778ea5}
.benchmark-row small{display:block;color:var(--muted);font-size:10px;margin-top:7px;line-height:1.7}
.benchmark-verdict{margin-top:20px;padding:15px;border-left:3px solid #0a66c2;background:#edf4fc;font-size:12px;line-height:1.8;color:#30506e}
.evaluation-timeline{margin-top:30px}
.evaluation-timeline>p{font:10px/1.7 var(--mono);color:var(--muted);margin-bottom:12px}
.timeline-segments{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3px}
.timeline-segments>div{padding:13px 12px;background:#edf2f7;border-top:3px solid #8fa6ba}
.timeline-segments>div:nth-child(2){background:#e5effa;border-color:#5489bc}
.timeline-segments>div:nth-child(3){background:#d7e9fa;border-color:#0a66c2}
.timeline-segments>div:last-child{background:#f7faff;border-top-style:dashed;border-color:#0a66c2}
.timeline-segments strong{display:block;font-size:12px;line-height:1.6}
.timeline-segments span{font:10px/1.8 var(--mono);color:var(--muted);display:block;margin-top:5px}
.evaluation-timeline>small{display:block;font-size:11px;line-height:1.8;color:var(--muted);margin-top:12px}
.signalbench-deliverables{margin-top:23px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:24px;border:1px solid var(--line);background:var(--surface)}
.signalbench-deliverables h4{font-size:15px;line-height:1.4;margin-bottom:8px}
.signalbench-deliverables p{font-size:12px;color:var(--muted);line-height:1.8}
.signalbench-deliverables code{font-size:10px;overflow-wrap:anywhere;color:#335571;display:block;margin-top:9px}
.signalbench .forecast-method{margin-top:10px}
.signalbench-run{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:19px 0}
.signalbench-run code{font:12px/1.8 var(--mono);color:#335571;overflow-wrap:anywhere}
.signalbench-run .text-link{font-size:12px}
.signalbench .project-disclosure{line-height:1.8}
.work-jump-links{grid-template-columns:repeat(4,minmax(0,1fr))}
.proof-index{margin:0 0 30px}
.horizon-comparison{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.horizon-comparison>p:not(.eyebrow){font-size:12px;margin-top:8px;color:var(--muted)}
.horizon-comparison>small{display:block;font-size:10px;color:var(--muted);line-height:1.8;margin-top:14px}
.sb-horizon-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:18px}
.sb-horizon{height:116px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;border-bottom:1px solid var(--line)}
.sb-horizon-bar{height:calc(var(--mae) * 2px);max-height:80px;min-height:1px;width:18px;background:#387db8;transition:height .3s ease;margin-bottom:8px}
.sb-horizon strong{font:10px/1.7 var(--mono);color:var(--ink)}
.sb-horizon small{font:9px/1.7 var(--mono);color:var(--muted);padding-block:4px 8px;white-space:nowrap}
@media(max-width:700px){.work-jump-links{grid-template-columns:repeat(2,minmax(0,1fr))}.work-jump-links>a:nth-child(3){border-left:0;border-top:1px solid var(--line)}.work-jump-links>a:nth-child(4){border-top:1px solid var(--line)}.work-jump-links>a{padding:15px}.sb-horizon-grid{gap:4px}.horizon-comparison>small{font-size:10px}}
@keyframes plate-transport{to{stroke-dashoffset:-486}}
@media(max-width:980px){.signalbench-heading{gap:30px}.signalbench-workspace{grid-template-columns:minmax(0,1fr)}.signalbench-results{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.signalbench-results>.eyebrow,.signalbench-results>h4,.signalbench-results>p,.benchmark-verdict{grid-column:1 / -1}.project-purpose{gap:22px}.mature-hero{max-width:700px!important}.mature-hero .plate-label{font-size:14px}.mature-hero .plate-sub{font-size:11px}}
@media(max-width:700px){.engineering-plate>.engineering-svg{display:none}.plate-mobile{display:block;padding:21px 20px}.mobile-node{border:1px solid #b6c9dc;border-left:3px solid #0a66c2;background:#fff;padding:17px 18px}.mobile-node small{display:block;font:9px/1.7 var(--mono);color:#4a6781;letter-spacing:.03em}.mobile-node strong{display:block;font-size:19px;line-height:1.3;letter-spacing:-.4px;margin-top:8px}.mobile-node p{font-size:12px;line-height:1.75;color:var(--muted);margin-top:8px}.mobile-node-dark{background:#102940;color:white;border-color:#244e72}.mobile-node-dark small,.mobile-node-dark p{color:#c0d5e6}.mobile-route{height:31px;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:22px}.mobile-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mobile-inputs span{border:1px solid #b6c9dc;background:white;padding:11px 4px;text-align:center;font-size:11px;font-weight:600;line-height:1.5}.mobile-branch{display:block;border-top:1px dashed #a5bad0;padding-top:9px;margin-top:13px;font-size:10px;line-height:1.8;color:#52677e}.mobile-node-dark .mobile-branch{color:#c0d5e6;border-color:#597b99}.mobile-storage{border:1px solid #9ebbd7;border-left:3px solid #0a66c2;background:#eef5fc}.mobile-storage>span{display:flex;align-items:center;gap:15px;padding:13px;font-size:11px;color:#42607d;line-height:1.7}.mobile-storage>span+span{border-top:1px solid #bdcfe1}.mobile-storage b{font:600 9px/1.7 var(--mono);min-width:60px;color:#164e81}.mobile-foundation{font:9px/1.9 var(--mono);color:#5d7186;text-align:center;border-top:1px dashed #bbcad9;padding-top:15px;margin-top:19px}.engineering-plate>figcaption{padding:12px 17px;font-size:10px;gap:4px 15px}.engineering-plate>figcaption strong{display:block;width:100%;margin-top:4px}.project-purpose{grid-template-columns:minmax(0,1fr);gap:18px;margin-block:22px}.project-purpose h5{margin-bottom:5px}.project-purpose p{font-size:13px}.component-reference>summary{font-size:11px}.proof-index>summary{padding:19px}.proof-index>summary>span:first-child{font-size:20px}.proof-index-body{padding:0 19px 20px}.proof-rows{grid-template-columns:minmax(0,1fr)}.proof-row:nth-child(even){padding-left:0;border-left:0}.proof-row{padding-right:0}.signalbench-heading{grid-template-columns:minmax(0,1fr);gap:24px}.signalbench-heading h3{font-size:clamp(48px,12vw,70px)}.signalbench-heading .project-subtitle{font-size:21px}.signalbench{padding-top:34px!important;margin-top:48px!important}.signalbench-results{display:block;padding:20px}.timeline-segments{grid-template-columns:1fr 1fr;gap:7px}.timeline-segments strong{font-size:12px}.signalbench-deliverables{grid-template-columns:minmax(0,1fr);gap:21px;padding:20px}.signalbench-run code{font-size:10px}.signalbench .forecast-toolbar{padding:15px}.signalbench #operations-chart{height:190px}}
@media(max-width:540px){.mature-hero .platform-map>.hero-system-art{display:none}.mature-hero .hero-mobile-map{padding:19px 12px}.mature-hero .hero-mobile-workers{display:flex;gap:9px;margin:13px 0 0;padding:12px 0 0;border-top:1px solid #40617d}.mature-hero .hero-mobile-workers>span{height:auto;background:none;border:0;padding:0;font:10px/1.8 var(--mono);color:#b8d5eb;flex:1}.mature-hero .hero-mobile-workers>span::before{display:none}.mature-hero .hero-stage-note{font-size:12px}.mature-hero .plate-mobile strong{font-size:18px}}
@media(min-width:541px){.mature-hero .plate-mobile{display:none}}
@media(prefers-reduced-motion:reduce){.plate-current{animation:none!important;opacity:0}.engineering-svg *{transition:none!important}}
@media(forced-colors:active){.plate-node>rect,.plate-storage>rect,.plate-review{fill:Canvas;stroke:CanvasText}.plate-label,.plate-sub,.plate-kicker,.plate-tiny{fill:CanvasText}.plate-route{stroke:LinkText}.plate-control{stroke:CanvasText}.plate-current{display:none}.engineering-plate,.mobile-node,.mobile-storage{background:Canvas;color:CanvasText;border-color:CanvasText}.benchmark-bar>span{background:Highlight}}
