/* HeroFanout: a single line expanding into open routes, with the recording in front. */
.om-hero-fanout {position:relative;width:100vw;left:50%;margin:0;transform:translateX(-50%);color:var(--text);}
.om-fan-art {overflow:hidden;pointer-events:none;}
.om-fan-sculpture {display:block;width:100%;height:auto;margin:0;overflow:visible;}
.om-fan-thread {fill:none;stroke:url(#fan-metal);stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:5 5;}
.om-fan-routes {opacity:.85;}
.om-fan-mask .om-fan-thread {stroke:#fff;stroke-width:1.5;}
.om-fan-hotspot {transform-box:fill-box;transform-origin:center;}
.om-fan-heat {opacity:.9;}
.om-fan-reveal {opacity:0;}
.om-fan-reveal-window {transform-origin:0 0;transform:scaleX(0);}
.om-flow-toggle {position:absolute;z-index:2;right:max(20px,calc((100vw - var(--marketing-width))/2));top:0;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--text);cursor:pointer;}
.om-flow-toggle:hover {background:var(--hover);color:var(--text);}
.om-flow-toggle:focus-visible {outline:2px solid var(--text);outline-offset:2px;}
.om-flow-toggle[hidden],.om-flow-toggle [hidden] {display:none;}
.om-flow-toggle span {display:flex;}
.om-flow-toggle svg {width:14px;height:14px;}
.om-hero-demonstration>.om-media {position:relative;z-index:1;width:calc(100% - 48px);margin:calc(24px - clamp(120px,25vw,386px)) auto 0;}
.om-hero-demonstration .om-media-stage {border:1px solid var(--line);}
@media(max-width:700px) {
 .om-fan-art {padding-top:32px;}
 .om-fan-thread,.om-fan-mask .om-fan-thread {stroke-width:1.5;}
 .om-flow-toggle {top:-12px;}
 .om-hero-demonstration>.om-media {width:100%;}
}
@media(prefers-reduced-motion:reduce) {
 .om-fan-heat,.om-flow-toggle {display:none;}
}

/* Clip the recording’s baked-in dark corner pixels inside the frame. */
.om-hero-demonstration>.om-media{padding:8px;background:#efeff0;border-radius:28px}
.om-hero-demonstration .om-media-stage{border:0;border-radius:20px;clip-path:inset(0 round 20px);background:var(--canvas);box-shadow:none}
.om-hero-demonstration .om-inline-video{border-radius:20px}
