:root{--hue: 10;--accent: #e0245e;--accent-dim: rgb(224 36 94 / .08)}.gallery-wide-hero .gallery-row:first-child .shot-open video{object-fit:contain;background:#000}.gallery-wide-hero .gallery-row:first-child .shot-open video{scale:1.5;transform-origin:50% 10%}.device{display:flex;align-items:center;justify-content:center;height:96px;margin-bottom:6px}.device img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(17,17,17,.14))}.win.is-target{border-color:var(--accent);background:var(--accent-dim)}.cond-svg{display:block;width:min(72%,300px);height:auto;margin:4px auto 8px;overflow:visible}.cond-svg .ln{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round}.cond-svg .tint{fill:color-mix(in oklab,var(--accent),transparent 80%)}.av-flow{animation:avFlow 3.2s cubic-bezier(.4,0,.2,1) infinite}.av-closed{animation:avClosed 3.2s cubic-bezier(.4,0,.2,1) infinite}.av-open{animation:avOpen 3.2s cubic-bezier(.4,0,.2,1) infinite}.av-lumen{fill:var(--surface);opacity:.9}@keyframes avClosed{0%,14%{opacity:1}38%,62%{opacity:0}86%,to{opacity:1}}@keyframes avOpen{0%,14%{opacity:0}38%,62%{opacity:1}86%,to{opacity:0}}@keyframes avFlow{0%,18%{opacity:.18;transform:translateY(4px)}40%,60%{opacity:.72;transform:translateY(0)}82%,to{opacity:.18;transform:translateY(4px)}}.af-heart{transform-box:fill-box;transform-origin:center;animation:afQuiver .26s steps(2,end) infinite,afBeat 1.1s cubic-bezier(.4,0,.2,1) infinite}@keyframes afQuiver{0%{translate:0 0}25%{translate:.7px -.6px}50%{translate:-.6px .5px}75%{translate:.5px .6px}to{translate:-.4px -.4px}}@keyframes afBeat{0%,to{scale:1}30%{scale:1.045}45%{scale:.99}}.af-ecg-lit{stroke-dasharray:46 1200;stroke-dashoffset:0;animation:afScan 2.6s linear infinite}@keyframes afScan{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1246}}.states{grid-template-columns:repeat(3,minmax(0,1fr))}.states .frame video{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:10px}@media (max-width: 760px){.states{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.av-flow,.av-closed,.av-open,.af-heart,.af-ecg-lit{animation:none}.av-open{opacity:0}}.states .frame{cursor:pointer;outline:none;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s ease,border-color .2s ease}.states .frame.is-playing{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 38px var(--shadow-color)}.states .frame:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
