/* ORE construction overlays; ordinary content retains its source layout. */
html.ore-build-enabled{overflow-x:clip}
.solutions-page [data-build-working]{opacity:var(--build-opacity,1)!important;transition:none!important}
.solutions-page.ore-swarm-building #module-graph{pointer-events:none}
.solutions-page .ore-build-runway{position:relative;margin:0;--build-height:100svh;--build-travel:220svh;--build-top:0px}
.solutions-page .ore-build-runway.is-pinned{height:calc(var(--build-height) + var(--build-travel))}
.solutions-page .ore-build-stage{position:relative;min-height:var(--build-height);padding:22px 0 54px;overflow:visible}
.solutions-page .ore-build-runway.is-pinned>.ore-build-stage,.solutions-page .ore-build-stage.is-pinned{position:sticky;top:var(--build-top);height:var(--build-height)}
.solutions-page .ore-build-stage>.sx-hero{--sx-graph-height:clamp(310px,calc(var(--build-height) - 146px),590px);padding-top:0}
.solutions-page .ore-build-stage .sx-hero-copy{padding-block:0 16px}
.solutions-page .ore-build-stage .sx-hero .sx-kicker{margin-bottom:25px}
.solutions-page .ore-build-stage .sx-hero h1{font-size:clamp(54px,6.3vw,100px)}
.solutions-page .ore-build-stage .sx-hero-lead{margin-top:24px;font-size:clamp(17px,1.5vw,21px)}
.solutions-page .ore-build-stage .sx-hero-detail{margin-top:14px}
.solutions-page .ore-build-stage .sx-hero .sx-actions{margin-top:24px}
.solutions-page .ore-build-stage .sx-hero-index{margin-top:0;padding-block:15px}

/* A short viewport uses a compact composition, never a scaled page. */
@media(min-width:900px) and (max-height:760px){
 .solutions-page .ore-build-stage{padding-block:15px 46px}
 .solutions-page .ore-build-stage>.sx-hero{--sx-graph-height:clamp(290px,calc(var(--build-height) - 131px),500px);gap:0 20px}
 .solutions-page .ore-build-stage .sx-hero .sx-kicker{margin-bottom:18px;font-size:10px}
 .solutions-page .ore-build-stage .sx-hero h1{font-size:clamp(50px,5.8vw,84px)}
 .solutions-page .ore-build-stage .sx-hero-lead{margin-top:18px;font-size:17px;line-height:1.4}
 .solutions-page .ore-build-stage .sx-hero-detail{margin-top:12px;font-size:12px;line-height:1.5}
 .solutions-page .ore-build-stage .sx-hero .sx-actions{margin-top:18px;gap:16px}
 .solutions-page .ore-build-stage .sx-hero .sx-button{padding:13px 17px;min-height:45px}
 .solutions-page .ore-build-stage .sx-hero-index{padding-block:12px}
}

.ore-build-canvas{position:fixed;z-index:90;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.ore-code-card{position:fixed;z-index:89;left:24px;top:calc(100dvh - 245px);width:280px;max-width:calc(100vw - 32px);overflow:hidden;border:1px solid #8cba9a45;border-radius:9px;background:linear-gradient(145deg,#12251fed,#08130ff5);color:#e4ece5;box-shadow:0 18px 45px #0005,0 0 0 1px #06110a88,inset 0 1px #daffe50a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;pointer-events:none;transform-origin:top left;contain:layout paint style}
.ore-code-title{display:flex;align-items:center;gap:7px;min-height:32px;padding:8px 12px;border-bottom:1px solid #8cbf9c20;background:#c5f56804;color:#9fb7a7;font:500 9px/1.3 "SFMono-Regular",Consolas,"Liberation Mono",monospace;letter-spacing:.025em}
.ore-code-title>span:not(.ore-code-dots),.ore-code-title>strong,.ore-code-title .ore-code-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.ore-code-dots{display:flex;align-items:center;gap:4px;margin-left:auto;flex:none}
.ore-code-dots i,.ore-code-title>i,.ore-code-title .dot{display:block;width:5px;height:5px;flex:none;border-radius:50%;background:#c5f56899}
.ore-code-dots i:nth-child(2),.ore-code-title>i:nth-of-type(2){background:#6be1b97a}
.ore-code-dots i:nth-child(3),.ore-code-title>i:nth-of-type(3){background:#45ceee66}
.ore-code-body{display:block;margin:0;padding:13px 14px 15px;max-height:178px;overflow:hidden;color:#d1ded4;font:400 10px/1.65 "SFMono-Regular",Consolas,"Liberation Mono",monospace;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2}
.ore-code-body code{padding:0;background:none;color:inherit;font:inherit;white-space:inherit}
.ore-code-body .tok-tag{color:#6be1b9}.ore-code-body .tok-key{color:#78d9f0}.ore-code-body .tok-str{color:#c5f568}.ore-code-body .tok-comment{color:#647c6c}
.ore-code-caret{display:inline-block;width:1.5px;height:1.15em;margin-left:2px;vertical-align:-.15em;background:#c5f568}

.ore-build-hint{position:fixed;z-index:91;left:26px;bottom:22px;display:flex;align-items:center;gap:9px;max-width:calc(100vw - 220px);margin:0;color:#b8cdbf;font:500 10px/1.4 "Hanken Grotesk",Arial,sans-serif;letter-spacing:.025em;text-shadow:0 1px 5px #07120d,0 0 14px #07120d;pointer-events:none}
.ore-build-hint svg{width:13px;height:19px;flex:none;fill:none;stroke:#c5f568;stroke-width:1.4}
.ore-build-hint .ore-build-progress{width:48px;height:2px;background:#b8d4bf2e;overflow:hidden}
.ore-build-hint .ore-build-progress i{display:block;height:100%;background:#c5f568;transform:scaleX(var(--build-progress,0));transform-origin:left}
.ore-build-skip{position:fixed;z-index:91;right:26px;bottom:16px;display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #91b69c38;border-radius:5px;background:#0b1712d9;color:#c8d8cd;font:500 10px/1.4 "Hanken Grotesk",Arial,sans-serif;backdrop-filter:blur(8px);cursor:pointer}
.ore-build-skip:hover{border-color:#c5f56880;color:#c5f568;background:#10251bee}
.ore-build-skip:focus-visible{outline:2px solid #45ceee;outline-offset:4px}
.ore-build-skip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}

/* Natural sections keep their layout; full-screen module detail can escape. */
.solutions-page .ore-build-runway:not(.is-pinned)>.ore-build-stage{min-height:0;height:auto}
.solutions-page .ore-build-runway:has(.sx-module-graph.is-expanded){z-index:101}
body.sx-graph-open .ore-code-card,body.sx-graph-open .ore-build-canvas,body.sx-graph-open .ore-build-hint,body.sx-graph-open .ore-build-skip{visibility:hidden}
@media(max-width:899px){
 .solutions-page .ore-build-stage{min-height:0;padding-block:18px 24px}
 .solutions-page .ore-build-stage>.sx-hero{--sx-graph-height:370px}
}
@media(max-width:720px){
 .solutions-page .ore-build-stage .sx-hero h1{font-size:clamp(57px,12.6vw,84px)}
 .solutions-page .ore-build-stage .sx-hero .sx-kicker{margin-bottom:25px}
 .solutions-page .ore-build-stage .sx-hero-lead{margin-top:25px;font-size:18px;line-height:1.5}
 .solutions-page .ore-build-stage .sx-hero-detail{margin-top:14px;font-size:13px}
 .solutions-page .ore-build-stage .sx-hero .sx-actions{margin-top:25px}
 .solutions-page .ore-build-stage .sx-hero-index{padding-block:0}
 .ore-code-card{left:16px;top:calc(100dvh - 220px);width:180px;border-radius:7px}
 .ore-code-title{min-height:26px;padding:6px 9px;font-size:8px;gap:5px}
 .ore-code-dots{gap:3px}
 .ore-code-dots i,.ore-code-title>i,.ore-code-title .dot{width:4px;height:4px}
 .ore-code-body{padding:10px 10px 12px;max-height:122px;font-size:8px;line-height:1.6}
 .ore-build-hint{left:16px;bottom:19px;max-width:calc(100vw - 165px);font-size:9px;gap:6px;letter-spacing:0}
 .ore-build-hint .ore-build-progress{display:none}
 .ore-build-skip{right:14px;bottom:12px;padding:8px 10px;font-size:9px;gap:6px}
}
@media(prefers-reduced-motion:reduce){
 .solutions-page .ore-build-runway{height:auto!important}
 .solutions-page .ore-build-stage{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;padding-block:0!important}
 .ore-build-canvas,.ore-code-card,.ore-build-hint,.ore-build-skip{display:none!important}
}

/* In-page terminal illustrations: no operating-system windows are opened. */
.ore-terminal{position:fixed;z-index:89;display:flex;flex-direction:column;width:360px;height:224px;max-width:calc(100vw - 24px);overflow:hidden;border:1px solid #b5b7bd9c;border-radius:5px;background:#012456;color:#f3f6ff;box-shadow:0 20px 65px #0007,0 3px 13px #0005;pointer-events:none;transform-origin:25% 0;font-family:"Cascadia Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;contain:layout paint style}
.ore-terminal[hidden]{display:none!important}
.ore-terminal-title{display:flex;align-items:center;gap:7px;height:29px;min-height:29px;padding-left:9px;background:linear-gradient(#fafafa,#e6e7eb);color:#25262b;font:400 10px/1.2 "Segoe UI",Arial,sans-serif;white-space:nowrap;user-select:none}
.ore-terminal-icon{display:grid;place-items:center;width:17px;height:17px;flex:none}.ore-terminal-icon svg{width:16px;height:16px}
.ore-terminal-name{overflow:hidden;max-width:calc(100% - 102px);text-overflow:ellipsis}
.ore-terminal-controls{display:flex;align-self:stretch;margin-left:auto;color:#38383c}
.ore-terminal-controls i{display:grid;place-items:center;width:29px;font-size:14px;font-style:normal;font-weight:300}
.ore-terminal-controls i:nth-child(2){font-size:12px}.ore-terminal-controls i:last-child{font-size:19px}
.ore-terminal-body{position:relative;flex:1;min-height:0;padding:11px 12px 13px;overflow:hidden;background:#012456;font:400 10px/1.6 "Cascadia Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;scrollbar-width:none}
.ore-terminal-line{min-height:1.6em;white-space:pre-wrap;overflow-wrap:anywhere}
.ore-terminal-line:last-child::after{content:"";display:inline-block;vertical-align:-.1em;width:5px;height:1em;margin-left:3px;background:#dbeaffb8}
.ore-terminal-caret{display:none}
.ore-terminal-body .terminal-prompt{color:#f3f5ff}.ore-terminal-body .terminal-code{color:#f6d889}.ore-terminal-body .terminal-markup{color:#a7d7ff}.ore-terminal-body .terminal-success{color:#83f3a1}
.ore-terminal-body .terminal-error{color:#ffb4ab}.ore-terminal-body .terminal-removed{color:#ffb4ab;background:#b3293e38;text-decoration:line-through;text-decoration-color:#ffb4ab88}
.ore-terminal-body .terminal-added{color:#d5ffc7;background:#4b9b613a;box-shadow:inset 2px 0 #9de994;padding-left:5px;margin-left:-5px}
.ore-terminal-cmd,.ore-terminal-cmd .ore-terminal-body{background:#0c0c0c;color:#e8e8e8}
.ore-terminal-cmd .terminal-prompt{color:#fff}.ore-terminal-cmd .terminal-success{color:#89e6a4}
.ore-terminal[data-repair=fault],.ore-terminal[data-repair=select]{border-color:#e8757888}
.ore-terminal[data-repair=pass]{border-color:#88e7a4b0}
body.sx-graph-open .ore-terminal{visibility:hidden}
@media(max-width:759px){
 .ore-terminal{width:258px;height:184px;border-radius:4px}
 .ore-terminal-title{height:26px;min-height:26px;font-size:9px;padding-left:7px;gap:5px}
 .ore-terminal-controls i{width:23px;font-size:12px}.ore-terminal-controls i:last-child{font-size:16px}
 .ore-terminal-icon,.ore-terminal-icon svg{width:14px;height:14px}
 .ore-terminal-body{padding:9px 9px 11px;font-size:8px;line-height:1.6}
 .ore-terminal-cmd{display:none!important}
}
@media(prefers-reduced-motion:reduce){.ore-terminal{display:none!important}}
