.character .chapter-inner{max-width:1600px}
.character-intro{max-width:850px;margin:0 0 clamp(70px,8vw,125px);font-size:clamp(16px,1.7vw,23px)}
.character-group{border-top:1px solid var(--line);padding:clamp(38px,5vw,75px) 0 clamp(60px,7vw,110px)}
.character-group__heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px}
.character-group__heading .eyebrow{margin-bottom:12px}
.character-group__heading h3{margin:0 0 12px;font:italic clamp(38px,5vw,75px)/1 Georgia,serif;color:var(--gold)}
.character-group__heading h3 span{font:400 clamp(16px,1.5vw,23px)/1.3 "Noto Sans SC",sans-serif;color:var(--paper);vertical-align:middle}
.character-group__heading p{color:var(--ash);font-size:clamp(13px,1.2vw,17px)}
.board-open{border:1px solid var(--gold);background:transparent;color:var(--gold);padding:13px 18px;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s}
.board-open:hover,.board-open:focus-visible{background:var(--gold);color:var(--night)}
.push-gallery{--push-gap:clamp(8px,1vw,16px);display:grid;grid-template-columns:repeat(var(--card-count),minmax(0,1fr));gap:var(--push-gap);padding:25px 30px 45px;overflow:visible}
.push-card{position:relative;z-index:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;padding:0;border:1px solid #b6a88b36;background:#1b1c1b;color:var(--paper);cursor:pointer;text-align:left;transform:translate3d(var(--push-x,0px),0,0) scale(1);transition:transform .42s cubic-bezier(.2,.7,.2,1),box-shadow .42s,border-color .42s;box-shadow:0 18px 30px #0005;overflow:hidden}
.push-card img{width:100%;height:clamp(220px,29vw,425px);object-fit:contain;background:#242424;transition:filter .3s}
.push-card span{display:block;min-height:47px;padding:14px 10px;color:#e5d4ba;font:11px/1.3 Georgia,serif;letter-spacing:.09em;white-space:nowrap}
.push-card.is-active,.push-card:focus-visible{z-index:3;transform:translate3d(var(--push-x,0px),-9px,0) scale(1.12);border-color:var(--gold);box-shadow:0 26px 60px #000b}
.push-card:focus-visible,.board-open:focus-visible,.board-viewer__close:focus-visible{outline:2px solid #ffe2a9;outline-offset:3px}
.push-gallery[data-push-gallery] .push-card:not(.is-active) img{filter:saturate(.82)}
.board-viewer{width:min(96vw,1460px);max-width:none;max-height:92vh;padding:0;border:1px solid var(--gold);background:#171817;color:var(--paper);overflow:auto;box-shadow:0 35px 100px #000e}
.board-viewer::backdrop{background:#060706d9;backdrop-filter:blur(6px)}
.board-viewer__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;background:#171817f0;border-bottom:1px solid var(--line)}
.board-viewer__label{font-size:15px;color:var(--gold)}
.board-viewer__close{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:8px 12px;cursor:pointer}
.board-viewer img{display:block;width:max(100%,1600px);max-width:none;height:auto}
.script .tone-stage,.script .story-stage{grid-template-columns:1fr;gap:24px}
.tone-stage .stage-media{justify-items:start}
.tone-board{width:100%;height:auto;max-width:1320px;background:#e6e4df}
.story-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,28px);align-items:stretch}
.story-board{min-width:0;background:#252624;border:1px solid var(--line)}
.story-board__frame{aspect-ratio:1.5;display:grid;place-items:center;overflow:hidden;background:#e8e6e1}
.story-board__image{width:100%;height:100%;object-fit:contain}
.story-board__footer{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;color:var(--paper);font-size:14px}
.story-board__footer .board-open{padding:9px 11px;font-size:12px}
.bento-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,18px);margin-top:clamp(24px,3.5vw,52px)}
.bento-card{--spot-x:50%;--spot-y:50%;--tilt-x:0deg;--tilt-y:0deg;position:relative;min-width:0;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid #c8a06b50;background:#23211f;box-shadow:0 15px 32px #0005;transform:perspective(700px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(0);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;transition-delay:var(--stagger,0ms);outline-offset:4px}
.bento-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--spot-x) var(--spot-y),#ffe7b53d,transparent 45%);opacity:0;transition:opacity .3s}
.bento-card img{width:100%;height:175px;object-fit:contain;background:#e8e5df}
.bento-card div{padding:15px}
.bento-card span{display:block;color:var(--gold);font:10px Georgia,serif;letter-spacing:.16em;margin-bottom:8px}
.bento-card h4{font-size:clamp(16px,1.45vw,21px);font-weight:400;margin:0}
.bento-ready .bento-card:not(.is-visible){opacity:0;transform:translateY(42px) scale(.95)}
.bento-card:hover,.bento-card:focus-visible{z-index:2;border-color:var(--gold);box-shadow:0 22px 50px #0009;transform:perspective(700px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-8px)}
.bento-card:hover::after,.bento-card:focus-visible::after{opacity:1}
.bento-card:focus-visible{outline:2px solid #ffe2a9}
.script .stage.script-gallery-stage,.script .stage.scouting-gallery-stage{grid-template-columns:1fr;gap:25px}
.stage-media.three.push-gallery,.stage-media.scouting.push-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,22px);padding:30px 32px 55px;overflow:visible}
.stage-media.three.script-panels .push-card img,.stage-media.scouting.scouting-panels .push-card img{width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:contain;background:#e8e6df}
.script-panels .push-card span,.scouting-panels .push-card span{padding:17px 18px;font-size:13px;min-height:52px}
@media(max-width:950px){.bento-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.push-gallery{overflow-x:auto;overflow-y:hidden;grid-auto-flow:column;grid-auto-columns:minmax(170px,28vw);grid-template-columns:none;scroll-snap-type:x proximity;padding:25px 30px 42px}.push-card{scroll-snap-align:center}.push-card img{height:290px}}
@media(max-width:950px){.stage-media.three.push-gallery,.stage-media.scouting.push-gallery{grid-template-columns:repeat(3,minmax(240px,1fr));overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}}
@media(max-width:650px){.character-group__heading{align-items:start;flex-direction:column}.character-group__heading h3{font-size:42px}.push-gallery{margin-inline:-20px;grid-auto-columns:minmax(185px,52vw);padding-inline:30px}.push-card img{height:275px}.board-viewer img{width:max(100%,1200px)}.story-boards,.bento-gallery{grid-template-columns:1fr}.story-board__footer{align-items:start;flex-direction:column}.bento-card{min-height:0}.bento-card img{height:auto;max-height:240px}}
@media(max-width:650px){.stage-media.three.push-gallery,.stage-media.scouting.push-gallery{grid-template-columns:repeat(3,minmax(78vw,1fr));margin-inline:-20px;padding-inline:20px}.script-panels .push-card span,.scouting-panels .push-card span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.push-card,.push-card img,.board-open,.bento-card{transition:none}.push-card.is-active,.push-card:focus-visible{transform:none;border-color:var(--gold)}.bento-ready .bento-card:not(.is-visible){opacity:1;transform:none}.bento-card:hover,.bento-card:focus-visible{transform:none}}
