.scene-retry { margin-top: 28px; max-width: 36em; }
.scene-retry p { line-height: 1.8; }
.scene-retry button { cursor: pointer; padding: 12px 20px; border: 1px solid var(--ink); color: var(--ink); background: #fff; border-radius: 4px; }
.scene-replay { display: inline-block; margin: 0 0 28px; font-size: 13px; }
.section-portrait-character { display: block; width: 220px; height: 260px; object-fit: contain; margin: 28px 0 0 auto; }
.static-character-group { display: flex; align-items: flex-end; justify-content: center; gap: 12px; max-width: 520px; margin: 30px 0; }
.static-character-group img { width: 28%; height: 230px; object-fit: contain; }
.static-character-group img:nth-child(2) { width: 38%; }
.section-companions { display: flex; align-items: flex-end; justify-content: flex-end; gap: 6px; margin: 18px 0 0; }
.section-companions img { display: block; width: 72px; height: 110px; object-fit: contain; }
@media (max-width: 600px) {
  .section-portrait-character { width: 170px; height: 220px; }
  .section-companions img { width: 60px; height: 90px; }
  .static-character-group { gap: 6px; }
  .static-character-group img { height: 160px; }
}

.hero-context { margin: 22px 0 0; color: var(--ink); font-size: clamp(14px, 1.25vw, 18px); line-height: 1.85; font-weight: 400; letter-spacing: .02em; }
.hero-context span { display: block; }
@media (max-width: 600px) { .hero-context { margin-top: 18px; font-size: 14px; } }

.hero-context .hero-phrase { display: inline-block; }
.hero-specialty { margin: 0 0 12px; font-size: 14px; line-height: 1.7; color: #52636b; }
@media(max-width:600px) { .hero-specialty { font-size: 12px; } }
