/* Companion 02, adapted from the owner's rewire-robot presentation. */
.hero-visual.hero-robot{height:520px;min-height:0;max-width:580px;width:100%;padding:0;perspective:none;isolation:isolate}
.hero-robot::before{content:none}
.hero-robot .companion-host,.hero-robot .companion{width:100%;height:100%;position:relative}
.hero-robot .companion{display:flex;flex-direction:column;color:var(--accent)}
.hero-robot .companion-header,.hero-robot .stage-index,.hero-robot .stage-material{display:none}
.hero-robot .robot-stage{position:relative;width:100%;flex:1;min-height:0;isolation:isolate}
.hero-robot .robot-canvas{position:relative;display:block;width:100%;height:100%;z-index:2;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hero-robot .robot-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-5px;border-radius:32px}
.hero-robot .halo{pointer-events:none;position:absolute;width:76%;aspect-ratio:1;border-radius:50%;top:43%;left:50%;transform:translate(-50%,-50%);border:1px solid #6a744426;background:radial-gradient(ellipse at 48% 45%,#f7f2e88c,#c4c6aa18 65%,transparent 72%)}
.hero-robot .halo::before,.hero-robot .halo::after{content:"";position:absolute;inset:26px;border:1px solid #6a744410;border-radius:inherit}
.hero-robot .halo::after{inset:-26px;border-color:#6a74440c}
.hero-robot .halo span{position:absolute;width:5px;height:5px;border-radius:50%;background:#9ca57c;right:14%;top:14%;box-shadow:0 0 0 5px #9ca57c10}
.hero-robot .ground-shadow{position:absolute;bottom:7%;left:50%;width:25%;height:15px;transform:translateX(-50%);border-radius:50%;background:#746b4b;opacity:.12;filter:blur(13px);pointer-events:none}
.hero-robot .robot-fallback{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.hero-robot .robot-stage[data-ready="true"] .robot-fallback{visibility:hidden}
.hero-robot .robot-stage[data-state="unavailable"] .robot-canvas{visibility:hidden}
.hero-robot .companion-footer{border-top:1px solid #6a744425;display:flex;align-items:center;justify-content:flex-start;padding:14px 8px 0;margin-inline:14px;gap:20px;flex-shrink:0}
.hero-robot .presence{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.025em}
.hero-robot .presence-dot{width:5px;height:5px;flex-shrink:0;background:#6a7444;border-radius:50%;box-shadow:0 0 0 4px #6a74440b}
.hero-robot .hello-button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #6a74443d;border-radius:99px;background:#f5efdf80;color:var(--accent);padding:10px 16px;min-height:44px;font:inherit;font-size:12px;cursor:pointer;transition:background .2s,border-color .2s}
.hero-robot .hello-button:hover{background:#f5efdf;border-color:#6a7444}
.hero-robot .hello-button:disabled{opacity:.55;cursor:default}
.hero-robot .hello-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.hero-robot .hello-button>span{margin-left:4px;opacity:.65}
.hero-robot .robot-instructions{text-align:left;padding-inline:22px;margin:8px 0 0;font-size:0;letter-spacing:0;font-weight:400;line-height:1.5;flex-shrink:0}
.hero-robot .robot-instructions>span{display:block;font-size:11px;margin-top:4px;color:var(--muted,#685d4e)}
.hero-robot .robot-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero-robot .robot-placeholder img{display:block;width:100%;height:calc(100% - 42px);object-fit:contain}
.hero-robot .robot-placeholder p{margin:0;font-size:13px;color:var(--accent)}
@media(max-width:800px){.hero-visual.hero-robot{height:420px;min-height:0;max-width:460px;margin-top:14px}.hero-robot .companion-footer{margin-inline:4px}.hero-robot .halo{width:82%}.hero-robot .halo::after{inset:-14px}}
@media(max-width:360px){.hero-visual.hero-robot{height:390px}.hero-robot .presence,.hero-robot .hello-button{font-size:11px}.hero-robot .hello-button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.hero-robot .hello-button{transition:none}}
