/* OFF/ON only. Header and shared website CSS are intentionally untouched. */
body.off-on-page{background:#010904;color:#f2f6ef}
body.off-on-page::before,body.off-on-page::after{display:none}
.oo-main{background:#010904;isolation:isolate}
.oo-experience{position:relative;width:100%;height:calc(100vh - var(--oo-header-height,76px));height:calc(100svh - var(--oo-header-height,76px));min-height:552px;display:flex;flex-direction:column;overflow:hidden}
.oo-toolbar{flex:none;min-height:52px;box-sizing:border-box;display:flex;align-items:center;gap:24px;padding:7px 3.8%;background:linear-gradient(90deg,#031008,#051108,#020904);border-bottom:1px solid #28482a80;z-index:5}
.oo-toolbar p{flex:1;margin:0;text-align:center;color:#d5e1d0;font-size:clamp(11px,1vw,16px);letter-spacing:.21em;line-height:1.4}
.oo-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:88px;padding:6px 8px 6px 13px;border:1px solid #ff766e;border-radius:30px;background:#1c0d0b;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;box-shadow:0 0 12px #ff5b5426}
.oo-thumb{width:23px;height:23px;border-radius:50%;background:#ffaaa0;box-shadow:0 0 12px #ff69696b}
.oo-switch[aria-checked="true"]{border-color:#8eff80;background:#09220b;box-shadow:0 0 15px #67ff4538}
.oo-switch[aria-checked="true"] .oo-thumb{background:#aaff91;box-shadow:0 0 15px #8bff6c99}
.oo-switch:focus-visible{outline:3px solid #fff;outline-offset:4px}
.oo-stage{--node-size:70px;--label-size:15px;position:relative;flex:1;min-height:500px;width:100%;overflow:hidden;background:radial-gradient(ellipse 24% 44% at 50% 39%,#10471955,transparent 90%),radial-gradient(ellipse at 50% 100%,#12331a55,transparent 60%),#010a05}
.oo-network,.oo-nodes{position:absolute;inset:0;width:100%;height:100%}
.oo-network{z-index:0;overflow:hidden}.oo-nodes{z-index:2;pointer-events:none}
.oo-circuit{fill:none;stroke:#277b38;stroke-width:.8;opacity:.48;stroke-linejoin:miter}
.oo-circuit.deep{stroke:#1f4f2b;stroke-width:.6;opacity:.38}
.oo-circuit.near{stroke:#3aaa4a;stroke-width:1;opacity:.34}
.oo-contact{fill:#59bd56;opacity:.36}.oo-via{fill:#06130a;stroke:#469147;stroke-width:1;opacity:.48}
.oo-pins{stroke:#4e9d51;stroke-width:.7;opacity:.32}
.oo-hub-ring{fill:none;stroke:#4d9b42;stroke-width:1;opacity:.28}
.oo-route-base{fill:none;stroke:#23512c;stroke-width:1;opacity:.12}
.oo-route{fill:none;stroke:#b7ff9b;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;opacity:0;filter:drop-shadow(0 0 3px #74ff59) drop-shadow(0 0 8px #44e93777)}
.oo-route.in-flight,.oo-route.complete{opacity:1}
.oo-route.failure{stroke:#ff9d83;filter:drop-shadow(0 0 3px #ff6959) drop-shadow(0 0 8px #ff493d77)}
.oo-route-pad{fill:#baff9e;stroke:#387433;stroke-width:2;opacity:0;filter:drop-shadow(0 0 5px #75ff62)}
.oo-route-pad.reached{opacity:1}.oo-route-pad.failure{fill:#ffc5a3;stroke:#d45143;filter:drop-shadow(0 0 5px #ff6f59)}
.oo-signal{fill:#edffcb;filter:drop-shadow(0 0 3px #a8ff82) drop-shadow(0 0 8px #73ff5e)}
.oo-signal.failure{fill:#ffdab7;filter:drop-shadow(0 0 5px #ff7660)}
/* Hidden nodes remain measurable for IntersectionObserver, but neither icon nor label is painted or announced. */
.oo-node{position:absolute;transform:translate(-50%,-50%);width:calc(var(--node-size)*1.72);text-align:center;color:#f0f6ec;font-family:Arial,sans-serif;opacity:0;visibility:hidden}
.oo-node[data-reveal="visible"]{opacity:1;visibility:visible;animation:oo-reveal .32s ease-out both}
@keyframes oo-reveal{from{opacity:0;filter:brightness(1.8);translate:0 4px}to{opacity:1;filter:brightness(1);translate:0 0}}
.oo-face{display:grid;place-items:center;width:var(--node-size);height:var(--node-size);margin:auto;border:1px solid #95d979;border-radius:13px;background:linear-gradient(145deg,#102b16,#010a04 70%);box-shadow:inset 0 0 12px #71ec4225,0 0 13px #70ff493c,0 0 25px #39c52612}
.oo-face img,.oo-face svg{width:57%;height:57%;display:block;filter:drop-shadow(0 0 4px #a8ff7844)}
.oo-label{position:absolute;top:100%;left:0;width:100%;padding-top:6px;font-size:var(--label-size);line-height:1.15;font-weight:400;text-shadow:0 2px 4px #000}
.oo-inquiry{position:absolute;left:50%;top:calc(100% + var(--label-size) + 11px);transform:translateX(-50%);width:calc(var(--node-size)*2.15);padding:5px 7px;border:1px solid #446a3e99;border-radius:7px;background:#07170bdd;color:#dcefd2;font-size:calc(var(--label-size)*.8);line-height:1.2;box-sizing:border-box}
.oo-node.problem .oo-face{border-color:#ff7366;color:#ff9690;box-shadow:inset 0 0 12px #ff442220,0 0 15px #ff463847}
.oo-node[data-icon="whatsapp"] .oo-face{border-color:#00f08b;background:radial-gradient(circle,#073e1e,#011709);box-shadow:0 0 17px #00f07c4f,inset 0 0 10px #00cc6125}
.oo-node[data-icon="instagram"] .oo-face{border-color:#c19aea;background:radial-gradient(at 22% 100%,#c78c1e66,#80113f44 40%,#42216755 80%)}
.oo-node[data-icon="messenger"] .oo-face{border-color:#098edf;background:radial-gradient(circle,#4230a866,#07233b)}
.oo-node[data-icon="openai"] .oo-face{border-color:#00e7a6;box-shadow:0 0 15px #00d98a33,inset 0 0 10px #0f9e6922}
.oo-node[data-icon="googlegemini"] .oo-face{border-color:#48a3bd;background:#06181e}
.oo-node[data-icon="make"] .oo-face{border-color:#c47ceb;background:radial-gradient(circle,#35123e,#110a1b)}
.oo-node[data-icon="manychat"] .oo-face{border-color:#129ce8;background:#03161f}
.oo-node.hub{width:calc(var(--node-size)*1.7);z-index:3}
.oo-node.hub .oo-face{width:calc(var(--node-size)*1.55);height:calc(var(--node-size)*1.55);border-radius:24px;border-color:#b0f395;box-shadow:0 0 22px #6aff5455,inset 0 0 18px #74ff4d20;background:#061809}
.oo-node.hub .oo-face svg{width:44%;height:44%;transform:translateY(-17%);color:#a6ff8d}
.oo-node.hub .oo-label{top:70%;font-size:calc(var(--label-size)*1.1);padding-top:0}
.oo-node.terminal{width:calc(var(--node-size)*2.25)}
.oo-node.terminal .oo-face{width:100%;height:calc(var(--node-size)*1.2);border-radius:15px}
.oo-node.terminal .oo-face svg{width:32%;height:44%;transform:translateY(-22%);color:#a8ff93}
.oo-node.terminal.problem .oo-face svg{color:#ff9290}
.oo-node.terminal .oo-label{top:69%;padding:0}
.oo-node.delay{width:calc(var(--node-size)*1.1)}
.oo-node.delay .oo-face{width:calc(var(--node-size)*.42);height:calc(var(--node-size)*.42);border:0;background:transparent;box-shadow:none}
.oo-node.delay .oo-face svg{width:100%;height:100%;filter:drop-shadow(0 0 5px #ff5b50)}
.oo-node.delay .oo-label{font-size:calc(var(--label-size)*.73)}
.oo-robot{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:1;height:auto;pointer-events:none;max-width:none}
.oo-status{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
@media(max-width:900px){
 .oo-experience{height:auto;min-height:0;overflow:hidden}.oo-toolbar{min-height:62px;padding:10px 14px;gap:12px}.oo-toolbar p{text-align:left;font-size:11px;letter-spacing:.06em}
 .oo-switch{min-width:80px;font-size:12px}.oo-thumb{width:21px;height:21px}
 .oo-stage{flex:none;min-height:0;height:auto;aspect-ratio:390/1100;max-width:620px;margin:auto}
 .oo-face{border-radius:10px}.oo-label{padding-top:5px}.oo-inquiry{padding:4px;width:calc(var(--node-size)*1.95);font-size:calc(var(--label-size)*.85)}
 .oo-node.hub .oo-face{border-radius:19px}.oo-node.terminal{width:calc(var(--node-size)*1.92)}
 .oo-node.terminal .oo-label{font-size:calc(var(--label-size)*.92)}
}
@media(prefers-reduced-motion:reduce){.oo-experience *{animation:none!important;transition:none!important}}
.oo-node.hub::before{content:"";position:absolute;z-index:-1;inset:-16% -8%;border:1px solid #5baa4460;border-radius:50%;box-shadow:0 0 0 7px #4d96351c,0 0 0 15px #4d963514,0 0 25px #4aff3520}

.oo-junction{opacity:0;filter:drop-shadow(0 0 4px #77f961)}.oo-junction.reached{opacity:1}.oo-junction.failure{filter:drop-shadow(0 0 4px #ff7264)}

/* Final approved reference: 1670x462 artwork, with its 56px top control strip. */
@media(min-width:901px){
 .oo-experience{height:auto!important;min-height:0;overflow:visible;display:block}
 .oo-toolbar{min-height:56px;padding:7px 3.8%}
 .oo-stage{height:auto!important;min-height:0!important;aspect-ratio:1670/405;flex:none;background-color:#010803}
 .oo-robot{z-index:1}
 .oo-node{z-index:3}
 .oo-node.hub{z-index:4}
 .oo-face{border-width:1.4px}
}
/* The design is a complete visible circuit. Animation highlights traversal;
   it must never hide or replace the three workflows. */
.oo-node,.oo-node[data-reveal="hidden"]{opacity:1;visibility:visible}
.oo-node[data-phase="waiting"] .oo-face{filter:brightness(.92)}
.oo-node[data-phase="reached"] .oo-face,.oo-node[data-phase="complete"] .oo-face{filter:brightness(1.12)}
.oo-inquiry{display:none}
.oo-route{opacity:.24}
.oo-stage[data-state="off"] .oo-route{stroke:#b7ff9b;filter:drop-shadow(0 0 3px #5de84e)}
.oo-stage[data-state="off"] .oo-route.failure{stroke:#ff9d83;filter:drop-shadow(0 0 4px #e76756)}
.oo-stage[data-state="off"] .oo-route.in-flight,.oo-stage[data-state="off"] .oo-route.complete{opacity:1}
.oo-stage[data-state="on"] .oo-route.in-flight,.oo-stage[data-state="on"] .oo-route.complete{opacity:1}
.oo-route-pad{opacity:.28}
.oo-junction{opacity:.26}
.oo-route-pad.reached,.oo-junction.reached{opacity:1}
@media(max-width:900px){
 .oo-node,.oo-node[data-reveal="hidden"]{opacity:1;visibility:visible}
 .oo-stage{background-color:#010803}
 .oo-node.hub{z-index:4}
}

/* Fidelity correction R9. Routes remain drawn at rest; moving highlights are separate. */
.oo-stage{background:
 radial-gradient(ellipse 21% 55% at 50% 45%, #1645206e, transparent 88%),
 radial-gradient(ellipse 75% 42% at 50% 105%, #13411d3c, transparent 86%),
 linear-gradient(180deg,#001007 0%,#000904 68%,#000c06 100%)}
.oo-route-base{stroke:#9afb84;stroke-width:2.6;opacity:.87;filter:drop-shadow(0 0 3px #64ef4e) drop-shadow(0 0 6px #3bf03175);stroke-linecap:round;stroke-linejoin:round}
.oo-route-base.failure{stroke:#ff7066;opacity:.94;stroke-dasharray:8 6;filter:drop-shadow(0 0 3px #ff6458) drop-shadow(0 0 8px #ff312e80)}
.oo-route{stroke-width:3.2}
.oo-stage[data-state="off"] .oo-route.failure{stroke:#ff7f70}
.oo-node[data-icon="whatsapp"] .oo-face,.oo-node[data-icon="instagram"] .oo-face,.oo-node[data-icon="messenger"] .oo-face{filter:brightness(1.12)}
.oo-face{box-shadow:inset 0 0 15px #79f54a29,0 0 11px #6cfe4650,0 0 24px #36dd3f22}
.oo-node.problem .oo-face,.oo-node.terminal.problem .oo-face{background:linear-gradient(150deg,#2a0d0b,#120a0a 70%);box-shadow:inset 0 0 10px #ff59572c,0 0 13px #ed4a4673,0 0 21px #ff24192b}
.oo-trace-contact{filter:drop-shadow(0 0 4px #a7ff9d)}
.oo-trace-contact.failure{filter:drop-shadow(0 0 4px #ff8880)}
.oo-warning-icon{filter:drop-shadow(0 0 6px #ff605b)}
.oo-hub-ring{stroke:#6fed60;opacity:.31}
.oo-stage[data-state="off"] .oo-node.hub .oo-face{box-shadow:0 0 14px #78e65923,inset 0 0 12px #64a94721}
.oo-circuit{opacity:.61}.oo-circuit.deep{opacity:.43}.oo-circuit.near{opacity:.49}
.oo-via{opacity:.62}.oo-contact{opacity:.59}
@media(min-width:901px){
 .oo-experience{min-height:calc(100svh - var(--oo-header-height,76px));background:
 linear-gradient(180deg,transparent 0,transparent 460px,#010b06 88%)}
 .oo-stage{aspect-ratio:1672/407}
}
@media(max-width:900px){
 .oo-route-base{stroke-width:2.8;opacity:.85}
 .oo-stage{background:#001007}
}
