/* One continuous article: introduction, steps, optional detail and next action. */
body:has(#start) #texts.game-story { padding:64px 0; color:#3b4173; background:#fff; scroll-margin-top:110px }
.game-story * { box-sizing:border-box }
.game-story>.kg-wrap { width:calc(100% - 64px); max-width:1268px; margin:0 auto }
.game-story__header { max-width:900px }
.game-story__eyebrow { margin:0 0 12px; color:#c1492e; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase }
.game-story h2 { margin:0 0 24px; font-size:44px; font-weight:700; line-height:1.1; letter-spacing:-.035em }
.game-story p { font-size:16px; line-height:1.65; color:inherit }
.game-story .game-story__lead { max-width:780px; margin:0; font-size:18px; line-height:1.6 }
.game-story__process { margin-top:36px }
.game-story h3 { margin:0; font-size:23px; line-height:1.3; font-weight:700; letter-spacing:-.025em }
.game-story__process ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; margin:24px 0 0; list-style:none }
.game-story__process li { min-width:0; border-top:1px solid #dde0eb; padding-top:16px }
.game-story__number { display:block; margin-bottom:12px; color:#c1492e; font-size:12px; font-weight:700 }
.game-story h4 { margin:0 0 8px; font-size:18px; font-weight:700; line-height:1.3 }
.game-story__process p { margin:0; font-size:15px; line-height:1.6 }
.game-story__details { margin-top:32px; border-top:1px solid #dde0eb }
.game-story__details details { border-bottom:1px solid #dde0eb }
.game-story__details summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 0; cursor:pointer; list-style:none }
.game-story__details summary::-webkit-details-marker { display:none }
.game-story__details summary>span { flex-shrink:0; color:#c1492e; font-size:26px; font-weight:400; line-height:1; transition:transform .2s }
.game-story__details details[open] summary>span { transform:rotate(45deg) }
.game-story__details summary:focus-visible { outline:2px solid #c1492e; outline-offset:4px }
.game-story__detail-copy { max-width:780px; padding:0 0 24px }
.game-story__label { display:block; margin:0 0 12px; font-size:12px; font-weight:700; letter-spacing:.1em; color:#c1492e; text-transform:uppercase }
.game-story__details p { margin:0 0 12px }
.game-story__details p:last-child { margin-bottom:0 }
.game-story dl { margin:20px 0 0 }
.game-story dl>div { display:grid; grid-template-columns:95px 1fr; gap:12px; padding:12px 0; border-top:1px solid #dde0eb; font-size:15px; line-height:1.6 }
.game-story dt { font-weight:700 }
.game-story dd { margin:0 }
.game-story__order { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:32px }
.game-story__order h3 { font-size:22px }
.game-story__order p { margin:8px 0 0; max-width:650px; font-size:15px }
.game-story__button { display:inline-flex; align-items:center; justify-content:center; gap:32px; flex-shrink:0; padding:16px 24px; border-radius:12px; background:#c1492e; color:#fff; text-decoration:none; font-size:16px; font-weight:700 }
.game-story__button:hover { background:#a83b24; color:#fff; text-decoration:none }
.game-story__button:focus-visible { outline:2px solid #3b4173; outline-offset:4px }
@media(max-width:900px) {
    .game-story__process ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px }
    .game-story__order { align-items:flex-start }
}
@media(max-width:700px) {
    body:has(#start) #texts.game-story { padding:40px 0; scroll-margin-top:100px }
    .game-story>.kg-wrap { width:calc(100% - 32px) }
    .game-story h2 { font-size:32px }
    .game-story .game-story__lead { font-size:16px }
    .game-story h3 { font-size:20px }
    .game-story__process { margin-top:28px }
    .game-story__process ol { grid-template-columns:1fr; gap:0; margin-top:20px }
    .game-story__process li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:6px 12px; padding:16px 0 }
    .game-story__number { grid-row:1 / 3; margin:3px 0 0 }
    .game-story__process h4 { margin:0; font-size:17px }
    .game-story__process p { grid-column:2; font-size:14px }
    .game-story__details { margin-top:12px }
    .game-story__details summary { padding:18px 0 }
    .game-story dl>div { grid-template-columns:1fr; gap:4px }
    .game-story__order { display:block; margin-top:28px }
    .game-story__button { width:100%; margin-top:20px }
}
@media(prefers-reduced-motion:reduce) { .game-story__details summary>span { transition:none } }
