.brand-story{border-bottom:1px solid var(--line)}
.story-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end}
.story-intro h2{font-size:clamp(28px,4vw,60px)}
.story-intro p{max-width:390px;color:var(--muted);font-size:16px;line-height:1.8}
.story-stage{position:relative;max-width:none;margin:48px auto 18px;isolation:isolate;color:var(--red)}
.duel-scene{display:block;width:100%;height:auto;overflow:visible}
.duel-ground{fill:none;stroke:var(--line);stroke-width:1}
.duel-actors{opacity:0}
.duel-walker{transform:translate(100px,285px)}
.duel-arm{transform-origin:169px 174px;transform:rotate(62deg)}
.duel-leg-a{transform-origin:126px 274px}
.duel-leg-b{transform-origin:163px 274px}
.duel-bullet-left,.duel-bullet-right,.duel-particle{opacity:0}
.duel-emblem{opacity:.06}
.story-ending{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0;color:var(--paper);pointer-events:none}
.story-ending p{width:100%;font:800 clamp(26px,6.3vw,96px)/1.13 var(--display);letter-spacing:-.04em;margin:0}
.story-line{display:block;overflow:hidden;padding:.06em 0;margin:-.03em 0}
.story-line-inner,.story-letter{display:inline-block}
.story-line:last-child{color:var(--red)}
.story-signature{font-size:11px;font-weight:700;letter-spacing:.4em;margin-top:28px}
.story-stage.is-ready .duel-actors{opacity:1}
.story-stage.is-ready .duel-emblem,.story-stage.is-ready .story-ending{opacity:0}
.story-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:48px}
.story-controls p{font-size:12px;color:var(--muted)}
.story-controls>div{display:flex;align-items:center;gap:12px;flex-shrink:0}
.story-control{color:var(--paper);font:600 13px var(--body);background:transparent;border:1px solid #77786e;border-radius:30px;padding:12px 18px;min-height:44px;transition:background 160ms ease,transform 160ms var(--ease)}
.story-control:active{transform:scale(.97)}
.story-control:disabled{opacity:.65}
@media(hover:hover) and (pointer:fine){.story-control:hover:not(:disabled){background:var(--red);border-color:var(--red)}}
@media(max-width:700px){.story-intro{grid-template-columns:1fr;gap:22px}.story-intro p{font-size:14px}.story-stage{margin:36px -8px 22px}.story-ending p{font-size:clamp(20px,6.3vw,44px)}.story-signature{margin-top:16px}.story-controls{align-items:start;flex-direction:column;gap:14px}.story-controls>div{flex-wrap:wrap}.story-controls p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.story-control{transition:none}.story-control:active{transform:none}}
