/* Hide the superseded hero from first paint, before the module installs. */
.engine-visual>:not(.automation-loom){visibility:hidden!important}
.loom-installed>:not(.automation-loom){display:none!important}
.automation-loom{position:absolute;inset:0;display:flex;flex-direction:column;color:#e5e7e4;--look-x:0deg;--look-y:0deg}
.loom-heading{display:flex;justify-content:space-between;gap:14px;font-size:9px;letter-spacing:.17em;color:#929c9d;padding:30px 0 0}
.loom-viewport{flex:1;min-height:0;position:relative;perspective:1100px;overflow:hidden;background:radial-gradient(ellipse at 55% 70%,#82918d0b,transparent 60%)}
.loom-world{position:absolute;width:720px;height:430px;left:50%;top:50%;margin:-215px 0 0 -360px;transform:scale(var(--loom-scale,1)) rotateX(var(--look-x)) rotateY(var(--look-y));transform-style:preserve-3d;transition:transform .65s ease}
.loom-routes{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:url(#route-light);stroke-width:1;opacity:.65;transform:translateZ(-40px) rotateX(14deg)}
.loom-routes .loom-signal{stroke:#eef2ed;stroke-width:2;stroke-dasharray:14 700;stroke-dashoffset:0;opacity:0}
.loom-inbox{position:absolute;left:42px;top:100px;transform-style:preserve-3d;transform:rotateY(23deg) rotateZ(-8deg)}
.loom-document{position:absolute;width:142px;height:165px;border:1px solid #4a5153;background:linear-gradient(120deg,#242a2c,#101416);padding:18px 14px;box-shadow:5px 7px 0 #090c0d,6px 8px 0 #303739,0 22px 35px #0008}
.loom-document small,.loom-document b{display:block;font-size:8px;letter-spacing:.07em;font-weight:400}.loom-document small{color:#b2bcbd;margin-bottom:25px}.loom-document b{margin-top:20px;color:#d2d8d6}.loom-document i,.loom-scan i{display:block;height:2px;background:#6f7879;margin-top:9px;width:85%}.loom-document i:nth-child(3){width:60%}.loom-document i:nth-child(4){width:75%}
.doc-one{transform:translate(-8px,-40px) translateZ(-35px) rotateZ(-6deg)}.doc-two{transform:translate(8px,24px) translateZ(0)}.doc-three{transform:translate(22px,88px) translateZ(35px) rotateZ(5deg)}
.loom-engine{position:absolute;left:302px;top:75px;width:166px;height:268px;transform-style:preserve-3d;transform:rotateY(-29deg) rotateX(9deg)}
.loom-slab{position:absolute;inset:0;border:1px solid #84908f;border-radius:3px;background:linear-gradient(125deg,#3c4548dd,#101617f5 54%,#252d30);box-shadow:4px 3px 0 #3d4749,5px 4px 0 #161c1d,20px 30px 50px #0008;padding:18px;backface-visibility:hidden}
.loom-slab>span{font-size:8px;letter-spacing:.14em;color:#d5ddda;display:block}.slab-back{transform:translateZ(-65px) translateX(60px)}.slab-middle{transform:translateZ(0) translateX(30px)}.slab-front{transform:translateZ(65px);background:linear-gradient(120deg,#485252,#171e20 40%,#0c1113 85%);border-color:#aab4b0}
.slab-front strong{display:block;font-size:25px;letter-spacing:-.055em;line-height:1.15;font-weight:400;margin-top:26px}.slab-front>small{font-size:5px;letter-spacing:.13em;display:block;margin-top:23px;color:#a7b3b3}.loom-scan{height:48px;margin-top:20px;position:relative;overflow:hidden}.loom-scan i{background:#778582;height:1px}.loom-scan i:nth-child(2){width:60%}.loom-scan>div{position:absolute;inset:0;background:linear-gradient(transparent,#d9e7df38,transparent);transform:translateY(-100%)}
.slab-middle svg{width:100%;height:190px;fill:#171e20;stroke:#9ba8a4;stroke-width:1}.loom-matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:70px}.loom-matrix i{width:8px;height:8px;border:1px solid #697a74;background:#82918b22}
.loom-foot{position:absolute;width:195px;height:110px;background:radial-gradient(ellipse,#8799911f,transparent 65%);left:-10px;bottom:-80px;transform:rotateX(75deg)}
.loom-results{position:absolute;right:10px;top:78px;display:grid;gap:46px;transform:rotateY(-8deg)}.loom-results>div{width:135px;border-bottom:1px solid #485653;padding:0 0 13px}.loom-results span{font-size:8px;letter-spacing:.13em;color:#9ba6a3}.loom-results b{display:block;font-size:11px;font-weight:400;margin-top:11px}.loom-results em{font-style:normal;margin-left:8px;color:#cbdcd2}
.loom-footer{border-top:1px solid #ffffff21;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 0}.loom-footer p{font-size:11px;margin:0}.loom-footer small{display:block;font-size:7px;letter-spacing:.14em;color:#808b89;margin-top:9px}.loom-status-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#c6d3ce;margin-right:8px}.loom-replay{background:transparent;border:0;border-bottom:1px solid #626c69;padding:8px 0;color:#d4dcd7;font-size:10px;cursor:pointer;white-space:nowrap}.loom-replay:focus-visible,.story-steps button:focus-visible{outline:2px solid #e2e8e3;outline-offset:5px}
.loom-play .loom-signal{animation:loom-travel 5s linear 2}.loom-play .loom-signal.second{animation-delay:1.5s}.loom-play .loom-scan>div{animation:loom-scan 3.5s ease-in-out 3}.loom-play .slab-front{animation:loom-open 7s ease-in-out 1}.loom-play .loom-results em{animation:loom-confirm 5s ease-in-out 2}.loom-play .loom-results>div:nth-child(2) em{animation-delay:1s}.loom-play .loom-results>div:nth-child(3) em{animation-delay:2s}
.loom-play .doc-two{animation:loom-receive 5.5s ease-in-out 2}.loom-play .loom-matrix i:nth-child(3n){animation:loom-cell 3s ease-in-out 3}.loom-play .loom-matrix i:nth-child(4n){animation:loom-cell 3s 1s ease-in-out 3}@keyframes loom-receive{0%,100%{transform:translate(8px,24px) translateZ(0)}45%,65%{transform:translate(32px,24px) translateZ(20px)}}@keyframes loom-cell{50%{background:#c5d4ca;box-shadow:0 0 8px #c5d4ca30}}
@keyframes loom-travel{0%{stroke-dashoffset:700;opacity:0}12%,90%{opacity:1}100%{stroke-dashoffset:-700;opacity:0}}@keyframes loom-scan{0%,100%{transform:translateY(-100%)}70%{transform:translateY(100%)}}@keyframes loom-open{0%,100%{transform:translateZ(65px)}45%,65%{transform:translateZ(100px) translateX(-15px)}}@keyframes loom-confirm{0%,35%{opacity:.15}60%,100%{opacity:1}}
.varied-capability>.spatial-system{display:none!important}.cap-story{grid-area:2/2/auto/4;min-width:0;padding:15px 0 12px}.cap-story svg{width:100%;height:auto;display:block;overflow:visible;fill:none;stroke:#63716c;stroke-width:1}.cap-story svg rect,.cap-story svg circle{fill:#131a18}.cap-story svg text{font-family:inherit;font-size:9px;letter-spacing:.05em;fill:#c7cfca;stroke:none;text-anchor:middle}.cap-story>p{font-size:11px!important;color:#8e9a94!important;margin-top:18px!important}.story-steps{display:flex;gap:8px;border-top:1px solid #ffffff0e;padding-top:16px}.story-steps button{border:0;background:none;text-align:left;cursor:pointer;color:#86928b;font-size:10px;padding:6px 4px;flex:1;transition:color .3s}.story-steps small{display:block;font-size:7px;letter-spacing:.15em;margin-bottom:5px}.story-steps button[aria-pressed=true]{color:#f0f1ec}.cap-story .v-flow{stroke:#d3ddd5;stroke-width:2;stroke-dasharray:9 280}.cap-story[data-step="1"] .v-choice,.cap-story[data-step="1"] .v-map{stroke:#e1e7df;stroke-width:2}.cap-story[data-step="2"] .v-end,.cap-story[data-step="2"] .v-destination{stroke:#e1e7df;stroke-width:2}.story-visible .v-flow{animation:cap-flow 5s linear 2}.v-parcel{transition:transform 1s cubic-bezier(.2,.7,.3,1)}[data-step="1"] .v-parcel{transform:translateX(155px)}[data-step="2"] .v-parcel{transform:translateX(310px)}.v-blueprint{stroke-dasharray:3 6;opacity:.5}.v-piece{transition:transform 1s cubic-bezier(.2,.7,.3,1)}[data-step="0"] .p-one{transform:translate(-55px,-10px) rotate(-4deg);transform-origin:250px 60px}[data-step="0"] .p-two{transform:translate(60px,-10px) rotate(5deg);transform-origin:360px 60px}[data-step="0"] .p-three{transform:translateY(20px)}[data-step="1"] .p-one,[data-step="1"] .p-two{transform:translateY(-8px)}[data-step="2"] .v-piece{stroke:#dbe5de}.story-visible .v-flow{animation-play-state:running}.cap-story:not(.story-visible) .v-flow{animation-play-state:paused}@keyframes cap-flow{to{stroke-dashoffset:-578}}
/* The live workflow already has its own functional stage animation. Give it space. */
.phase1-refined .system-panel>.spatial-system,.phase1-refined .final-architecture{display:none}.phase1-refined .contact{border-top:1px solid #ffffff12}.phase1-refined .cap-glyph{display:none}
.varied-capability .cap-bottom{display:flex;align-items:center;justify-content:space-between}.varied-capability .cap-bottom>span{font-size:8px}.varied-capability .cap-top{align-self:start}.cap-story svg{max-height:240px}.cap-story .story-steps{max-width:780px}.cap-story>p{margin-bottom:0}.story-bridge svg{max-height:260px}
@media(min-width:851px) and (max-width:1350px){.automation-loom{--loom-scale:.74}.loom-heading{font-size:7px}.loom-footer p{font-size:9px}.loom-replay{font-size:9px}}
@media(max-width:850px){.automation-loom{--loom-scale:.79}.cap-story{grid-column:2;grid-row:auto}.loom-heading{padding-top:10px}}
@media(max-width:600px){.automation-loom{--loom-scale:.48}.loom-heading{font-size:7px}.loom-footer{padding:14px 0}.loom-footer p{font-size:9px;max-width:210px}.loom-footer small{font-size:6px}.loom-replay{font-size:9px}.loom-installed.engine-visual{height:370px!important}.cap-story{grid-column:1/-1}.story-steps button{font-size:9px}.cap-story svg{min-height:135px}}
@media(max-width:370px){.automation-loom{--loom-scale:.39}.loom-heading{font-size:6px}.loom-footer p{max-width:170px}}
@media(prefers-reduced-motion:reduce){.automation-loom *,.cap-story *{animation:none!important;transition:none!important}.loom-world{transform:scale(var(--loom-scale,1))}}

/* Exact supplied Morne artwork, including its alpha channel. */
.human-brand-mark i { width:30px;height:20px;background:url("/brand/morne-emblem.png") center / contain no-repeat;clip-path:none; }
.brand-portrait img { filter:none;mix-blend-mode:normal; }

/* Morne identity: approved ribbon emblem, restrained platinum finish. */

.brand>svg{width:42px;height:32px;flex:none;}
.brand{gap:13px;}
.brand strong{font-weight:520;letter-spacing:.23em;}
.footer .brand>svg,.cinema-footer .brand>svg{width:36px;height:28px;}
.human-brand>svg,.model-brand>svg{width:36px;height:27px;flex:none;}
.human-brand-mark i{width:27px;height:20px;background:url("/brand/morne-display.svg") center / contain no-repeat;clip-path:none;}
.brand-portrait img{filter:none;mix-blend-mode:normal;}
@media(max-width:650px){.brand>svg{width:36px;height:28px;}.brand{gap:11px;}.brand strong{font-size:17px;letter-spacing:.22em;}}



/* Supplied Morne artwork: preserve both finishes without colour filters or masks. */
.morne-emblem,svg:has(>image[href*="morne-emblem"]){filter:none!important;mask:none!important;-webkit-mask:none!important;background:none!important;}
.morne-emblem>image,svg:has(>image[href*="morne-emblem"])>image{visibility:visible!important;}
.brand-portrait img{filter:none;mask:none;-webkit-mask:none;mix-blend-mode:normal;}
.human-brand-mark i{background-image:url("/brand/morne-white.svg");}
.precision-art svg:has(image){background:url("/brand/morne-display.svg") center / contain no-repeat!important;}
.precision-art svg:has(image)>image{visibility:hidden!important;}
