/* One banner stage for EVERY work. Artwork is composed inside it, never followed
   by a work-specific extra block that changes the carousel's height. */
@layer legacy {
 #view-home .home-hero-journey .hero-media {position:absolute!important;inset:0 0 0 auto!important;width:76%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;transform:none!important;margin:0!important;border:0!important}
 @media(max-width:800px){#view-home .home-hero-journey .hero-media{inset:0!important;width:100%!important;height:74%!important}}
}
#view-home .home-hero-journey {height:clamp(620px,80svh,790px);min-height:0;max-height:none;position:relative;isolation:isolate;overflow:hidden;background:#091323;touch-action:pan-y}
#view-home .home-hero-journey .hero-grid {display:block;position:relative;width:100%;max-width:none;height:100%;min-height:0;padding:0;isolation:isolate}
#view-home .home-hero-journey .hero-media {z-index:0;padding:0;display:block;opacity:1!important;box-shadow:none;border-radius:0;mask-image:linear-gradient(90deg,transparent,#000 24%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%)}
#view-home .home-hero-journey .hero-media>img,#view-home .home-hero-journey .hero-media>video {width:100%;height:100%;min-height:0;object-fit:cover;display:block}
#view-home .home-hero-journey .hero-media::after {content:'';position:absolute;inset:0;background:linear-gradient(0deg,#091323 0%,transparent 24%);pointer-events:none}
#view-home .home-hero-journey .hero-background {position:absolute;inset:0;opacity:1;z-index:-1}
#view-home .home-hero-journey .hero-copy {position:absolute;inset:0 auto 0 max(4vw,calc((100vw - 1280px)/2));display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:45%;max-width:650px;padding:24px 0 55px;margin:0;text-align:left;z-index:3;background:none}
#view-home .home-hero-journey .hero-copy::before {content:'';position:absolute;z-index:-1;inset:0 -15% 0 -15vw;background:linear-gradient(90deg,#091323f5 30%,#091323ac 70%,transparent);pointer-events:none}
#view-home .home-hero-journey .hero-logo {width:min(100%,520px)!important;height:210px!important;max-height:210px!important;object-fit:contain;object-position:left center;margin:8px 0!important}
#view-home .home-hero-journey[data-theme=academy] .hero-logo {mix-blend-mode:screen}
#view-home .home-hero-journey .hero-copy h1 {margin:0 0 12px;font-size:29px}
#view-home .home-hero-journey[data-theme=academy] .hero-copy h1 {display:none}
#view-home .home-hero-journey .hero-copy>p {font-size:16px;line-height:1.8;max-width:30em;color:#eff4fb;margin:8px 0 22px;text-shadow:0 2px 12px #07101e;word-break:keep-all}
#view-home .home-hero-journey .hero-actions {display:flex;flex-wrap:wrap;gap:9px;position:static!important;inset:auto!important;transform:none!important;margin:0!important;width:100%;height:auto}
#view-home .home-hero-journey .hero-actions .button {min-width:0;min-height:50px;font-size:14px;padding:15px 23px;white-space:normal}
#view-home .home-hero-journey .academy-hero-measure {flex-basis:100%;max-width:310px}
#view-home .home-hero-journey>.hero-dots {position:absolute!important;inset:auto auto 16px 50%!important;transform:translateX(-50%)!important;display:flex;padding:0;margin:0;width:auto;gap:5px;z-index:12}
#view-home .home-hero-journey .hero-character-caption {right:5%;bottom:55px;z-index:3}
#view-home .home-hero-journey .home-scroll-cue {display:none}
#view-home .home-hero-journey .hero-transition-outgoing {position:absolute!important;inset:0!important;height:100%!important;width:100%;margin:0;z-index:8;pointer-events:none}
#view-home .home-hero-journey.is-sliding>.hero-grid {will-change:transform,opacity}
.hero-transition-outgoing .hero-grid {height:100%!important}

/* Academy editorial system. Display font and body font are bundled, licensed
   Paperlogy / Wanted Sans, not platform-dependent UI fallbacks. */
.academy-story {--story-ink:#07121f;--story-paper:#eef5fa;--story-accent:#a5dfed;--story-muted:#c0d2df;background:#07121f!important;color:var(--story-paper);overflow:clip;font-family:'Wanted Sans',sans-serif}
.academy-story h1,.academy-story h2,.academy-story h3,.academy-story .story-term-line b {font-family:'Paperlogy','Wanted Sans',sans-serif;letter-spacing:-.04em;word-break:keep-all;text-wrap:balance}
.academy-story h2 {font-size:clamp(30px,3.7vw,54px);line-height:1.3;margin:16px 0 24px;color:#fff}
.academy-story p {font-size:16px;line-height:1.9;color:#d1deea;word-break:keep-all;text-wrap:pretty}
.academy-story .eyebrow {font:650 11px/1.6 'Wanted Sans',sans-serif;letter-spacing:.16em;color:#a9dfea}
.academy-story .container {width:calc(100% - 88px);max-width:1220px;margin-inline:auto}
.academy-story [hidden] {display:none!important}
.academy-story :is(section,article)[id] {scroll-margin-top:135px}
.academy-story .work-image-slot {border:0;box-shadow:none;overflow:hidden;position:relative;min-width:0;background:#0d1e2c;mask-image:none}
.academy-story .work-image-slot img {width:100%;height:100%;object-fit:cover;display:block}
.academy-story img[data-src] {visibility:hidden}
.academy-story .story-backdrop {position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.academy-story .story-backdrop .work-image-slot {width:100%;height:100%;aspect-ratio:auto;background:transparent}
.academy-story .story-backdrop::after {content:'';position:absolute;inset:0;background:linear-gradient(#07121f,#07121f85 25%,#07121fc9 80%,#07121f)}
.academy-story [data-story-load] {position:relative;isolation:isolate}
.academy-story .story-energy {position:absolute;right:-12%;top:0;width:min(900px,90%);height:auto;z-index:-1;opacity:.27;pointer-events:none;animation:story-energy 14s ease-in-out infinite alternate;animation-play-state:paused}
.academy-story .story-in-view>.story-energy {animation-play-state:running}
.academy-story.story-paused .story-energy {animation-play-state:paused}
@keyframes story-energy {to{transform:translate3d(-22px,15px,0);opacity:.4}}
/* Content remains readable at all times; arrival enhances rather than hides it. */
.academy-story [data-story-reveal].story-arrived {animation:story-arrival .65s cubic-bezier(.18,.65,.25,1) both}
@keyframes story-arrival {from{transform:translateY(22px);opacity:.7}to{transform:none;opacity:1}}
.academy-story .story-tab-enter {animation:story-tab .35s ease-out}
@keyframes story-tab {from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Key visual: background, original cutout and typography share one composition. */
.academy-story .story-cover {height:clamp(650px,85svh,860px);min-height:0;display:block;position:relative;background:#07121f}
.academy-story .story-cover-art {position:absolute;inset:0;isolation:isolate;overflow:hidden}
.academy-story .academy-cover-scenery {z-index:0;object-fit:cover;opacity:.78}
.academy-story .academy-cover-character {position:absolute;z-index:1;inset:0 0 0 auto;width:65%;height:100%;mask-image:linear-gradient(0deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(0deg,transparent,#000 18%)}
.academy-story .academy-cover-character img {height:100%;width:100%;object-fit:cover}
.academy-story .story-cover::after {z-index:1;background:linear-gradient(90deg,#07121fe6,transparent 77%),linear-gradient(0deg,#07121f,transparent 28%)}
.academy-story .academy-cover-grid {height:100%;position:relative;z-index:2;align-items:center;padding:35px 0 80px;pointer-events:none}
.academy-story .academy-cover-copy {width:48%;max-width:610px;margin:0;text-align:center;pointer-events:auto}
.academy-story .academy-logo {width:100%;max-height:320px!important;height:auto!important;object-fit:contain;margin:0 auto;mix-blend-mode:screen}
.academy-story .academy-cover-copy>p {font-size:20px;padding:0;background:none;margin:8px 0 20px;color:#fff;text-shadow:0 2px 8px #000}
.academy-story .work-back {position:absolute;left:0;top:24px;margin:0;background:#07121f70;padding:8px 12px;min-height:36px;border-radius:2px}
.academy-story .academy-scroll {margin-top:22px;font-size:12px;letter-spacing:.05em}
.academy-story .academy-scroll span {display:inline-block;margin-left:8px;animation:story-scroll 2s ease-in-out infinite}
@keyframes story-scroll {50%{transform:translateY(5px)}}
.academy-story .story-chapter-nav {display:flex;justify-content:center;gap:clamp(10px,4vw,56px);padding:21px 20px;border-block:1px solid #bfd3df24;background:#0b1b29;overflow-x:auto;scrollbar-width:none;position:relative;z-index:4}
.academy-story .story-chapter-nav a {color:#d2e5ee;white-space:nowrap;text-decoration:none;font-size:13px;padding:8px 4px}
.academy-story .story-chapter-nav a:hover {color:#fff;text-shadow:0 0 10px #84e4ff}
.academy-story .story-prologue {padding:100px 0 85px}
.academy-story .story-prologue>.container {display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.academy-story .prologue-heading h2 {max-width:8em;font-size:clamp(36px,4.4vw,63px)}
.academy-story .prologue-heading strong {display:block;color:#bce4f2;font-size:17px;line-height:1.8;max-width:24em;word-break:keep-all}
.academy-story .prologue-body {border-left:1px solid #a6d1df4d;padding-left:32px}
.academy-story .prologue-body p {margin:0 0 16px}
.academy-story .academy-tags {justify-content:flex-start;gap:8px;display:flex;flex-wrap:wrap;margin-top:25px}
.academy-story .academy-tags span {border:1px solid #a1c7d137;padding:6px 10px;font-size:11px;color:#bfd4df}
.academy-story .story-chapter-copy {position:relative;max-width:710px}
.academy-story .story-chapter-number {display:block;font:700 56px/1 'Wanted Sans',sans-serif;color:#86bfcd;margin-bottom:12px;opacity:.75}
.academy-story .story-chapter-copy p {max-width:44em;margin:0}
.academy-story .story-campus {padding-block:60px 100px;display:grid;grid-template-columns:.88fr 1.12fr;gap:44px;align-items:center}
.academy-story .story-campus-art {position:relative;transform:rotate(1deg);border:1px solid #abcad235;padding:9px;background:#10212e}
.academy-story .story-campus-art .work-image-slot {aspect-ratio:4/3}
.academy-story .story-photo-label {display:block;padding:14px 6px 6px;font-size:10px;color:#9abcc8;letter-spacing:.1em}
.academy-story .story-term-line {grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:30px 4%;gap:16px;border-block:1px solid #98c9d134;background:linear-gradient(90deg,transparent,#17304080,transparent)}
.academy-story .story-term-line small {display:block;font-size:11px;color:#93bfce;margin-bottom:10px}
.academy-story .story-term-line b {font-size:21px;color:#f0f6fb}
.academy-story .story-term-line i {color:#6692a2;font-size:25px;font-style:normal}
.academy-story .story-ability {padding:90px 0;background:radial-gradient(ellipse at 75% 45%,#173b4d70,transparent 65%),#081725;overflow:hidden}
.academy-story .story-ability>.container {display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.academy-story .story-ability-art {margin-top:32px;position:relative}
.academy-story .story-ability-art .work-image-slot {aspect-ratio:16/9;mask-image:linear-gradient(0deg,transparent,#000 30%)}
.academy-story .story-ability-art>span {display:block;font-size:13px;color:#c4e0e9;position:relative;text-align:center;margin-top:-10px}
.academy-story .story-ability-art>span>b {color:#7dbbcf;padding:0 7px}
.academy-story .story-lab-label {text-align:center;margin-bottom:20px}
.academy-story .story-lab-label b {display:block;font-size:19px;color:#e8f8ff}
.academy-story .story-lab-label span {display:block;font-size:12px;color:#a6c8d6;margin-top:9px}
.academy-story .affinity-orbit {position:relative;width:100%;max-width:450px;aspect-ratio:1;margin:auto}
.academy-story .affinity-links {position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:#6697a9}
.academy-story .affinity-links path {fill:none;stroke:currentColor;stroke-width:2}
.academy-story .affinity-links marker path {fill:currentColor;stroke:none}
.academy-story .affinity-links path.is-active {stroke:#e4faff;stroke-width:4;filter:drop-shadow(0 0 4px #95eaff)}
.academy-story .orbit-guide {fill:none;stroke:#71b7c220;stroke-width:35}
.academy-story .affinity-node {position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);display:grid;place-content:center;width:72px;height:72px;background:radial-gradient(circle at 45% 30%,#203b4f,#091927 80%);color:var(--element);border:1px solid color-mix(in srgb,var(--element) 55%,transparent);border-radius:50%;padding:0;box-shadow:0 0 0 5px #091928,0 0 22px #040d12;cursor:pointer;transition:box-shadow .25s,border-color .25s}
.academy-story .affinity-node b {font-size:30px;line-height:1.1;font-family:serif}
.academy-story .affinity-node span {font-size:11px;margin-top:3px}
.academy-story .affinity-node[aria-pressed=true],.academy-story .affinity-node:hover {box-shadow:0 0 0 5px #091928,0 0 28px color-mix(in srgb,var(--element) 40%,transparent);border-color:var(--element)}
.academy-story .affinity-node.is-target {border-width:3px}
.academy-story .affinity-center {position:absolute;inset:33%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #76c3d440;border-radius:50%;background:#0e263680}
.academy-story .affinity-center small {font-size:11px;color:#9dc2d1}.academy-story .affinity-center strong {font:600 clamp(28px,3vw,40px)/1.4 'Wanted Sans',sans-serif;color:#e5f6ff}.academy-story .affinity-center>span {font-size:10px;color:#8dabbf}
.academy-story .affinity-caption {text-align:center;min-height:100px;padding:0 8px}.academy-story .affinity-caption>strong {font-size:21px;color:#eaf7ff}.academy-story .affinity-caption p {font-size:13px;line-height:1.7;max-width:32em;margin:10px auto}
.academy-story .affinity-exceptions {display:grid;grid-template-columns:1.2fr 1fr;gap:20px;border-top:1px solid #85c2d13d;padding-top:20px;align-items:center;text-align:center}
.academy-story .affinity-dual>span {font-size:11px;color:#aac7d7}.academy-story .affinity-dual>div {display:flex;align-items:center;justify-content:center;gap:16px;margin:10px 0}.academy-story .affinity-dual div>span,.academy-story .affinity-neutral>span {color:var(--element);font:30px/1.2 serif;text-shadow:0 0 20px var(--element)}
.academy-story .affinity-exceptions small {font-size:10px;color:#9ebccb;display:block;line-height:1.8}
.academy-story .affinity-neutral {display:flex;gap:14px;align-items:center;justify-content:center;border-left:1px solid #85c2d13d}.academy-story .affinity-neutral b {font-size:13px}
.academy-story .story-outside {padding-block:90px 30px}.academy-story .story-outside .story-chapter-copy {max-width:900px;margin-bottom:35px}
.academy-story .story-panorama {position:relative;overflow:hidden;width:100%;border-top:1px solid #c2deee55}
.academy-story .story-panorama .work-image-slot {aspect-ratio:16/9}
.academy-story .story-panorama::after {content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#06101be8);pointer-events:none}
.academy-story .story-panorama-caption {position:absolute;z-index:1;left:5%;bottom:9%;text-shadow:0 3px 14px #000}.academy-story .story-panorama-caption span {display:block;font-size:10px;letter-spacing:.15em;color:#b6d2e0;margin-bottom:12px}.academy-story .story-panorama-caption b {font:700 clamp(25px,3.8vw,48px)/1.35 'Paperlogy',sans-serif;color:#fff}
.academy-story .story-threats {padding-block:50px 90px;background:none}.academy-story .story-threats header {text-align:center;max-width:730px;margin:auto}.academy-story .story-threats p {max-width:none}
.academy-story .academy-threat-gallery {gap:20px;margin-top:35px}.academy-story .academy-threat-gallery figure {display:block;background:#0d1b2c;border-bottom:1px solid #7186976b}.academy-story .academy-threat-gallery .work-image-slot {aspect-ratio:4/3}.academy-story .academy-threat-gallery figcaption {padding:18px 16px;text-align:left}.academy-story .academy-threat-gallery small {display:block;color:#7fabbd;font-size:10px;letter-spacing:.1em;margin-bottom:7px}.academy-story .academy-threat-gallery b {color:#ebf0f6;font-size:15px}
.academy-story .story-paths {background:none;padding:85px 0}.academy-story .story-paths header {max-width:750px;margin:0 0 38px}.academy-story .story-paths header p {font-size:14px}
.academy-story .story-tabs {display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}
.academy-story .story-tabs button {display:flex;gap:8px;align-items:center;background:#0a1a2de8;border:1px solid #86a9bd50;color:#b3c9d8;min-height:46px;padding:12px 17px;font:600 14px 'Wanted Sans',sans-serif;border-radius:2px;cursor:pointer;white-space:nowrap}
.academy-story .story-tabs button small {font-size:10px;color:#90b5ca}.academy-story .story-tabs button[aria-selected=true] {color:#fff;border-color:#c2e9ee;background:#234450;box-shadow:inset 0 -2px #b1e7ed}
.academy-story .story-faction-panel {display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;padding:36px;background:linear-gradient(120deg,#122c3de8,#0a192cf5);border-block:1px solid #8db5c34d;min-height:330px;align-items:center}
.academy-story .story-faction-copy h3 {font-size:32px;margin:13px 0 20px}.academy-story .story-faction-copy p {font-size:16px;max-width:27em}.academy-story .faction-2 {background:linear-gradient(120deg,#2d1528e8,#0a1423f5)}.academy-story .faction-3 {background:linear-gradient(120deg,#2e281ae8,#0a1423f5)}
.academy-story .story-faction-cast {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}.academy-story .story-faction-cast .work-image-slot {aspect-ratio:3/4;border:1px solid #acc0d03b}.academy-story .story-faction-cast b {display:block;text-align:center;font-size:14px;color:#e8f2f6;margin-top:12px}
.academy-story .story-faction-controls,.academy-story .story-swipe-copy {display:none}
.academy-story .story-faction-track {min-width:0}
@media(max-width:800px){
 .academy-story .story-click-copy {display:none}
 .academy-story .story-swipe-copy {display:inline}
 .academy-story .has-faction-swipe .story-faction-track {display:flex;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:auto;outline-offset:4px;cursor:grab}
 .academy-story .has-faction-swipe .story-faction-track.is-dragging {scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
 .academy-story .has-faction-swipe .story-faction-track::-webkit-scrollbar {display:none}
 .academy-story .has-faction-swipe .story-faction-panel {flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;animation:none}
 .academy-story .has-faction-swipe .story-faction-panel img {-webkit-user-drag:none;user-select:none}
 .academy-story .has-faction-swipe .story-faction-controls {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
 .academy-story .story-faction-controls button {flex:none;width:44px;height:44px;border:1px solid #8db5c359;border-radius:50%;background:#0c2030;color:#e7f5ff;font-size:23px;cursor:pointer}
 .academy-story .story-faction-controls button:disabled {opacity:.25;cursor:default}
 .academy-story .story-faction-controls span {font-size:12px;line-height:1.5;color:#b4d0df;text-align:center}
}
.academy-story .story-webtoon {padding-block:55px 70px}.academy-story .academy-webtoon-empty {padding:45px 25px;background:none;isolation:isolate}.academy-story .academy-webtoon-empty>p {position:relative}
.academy-story .story-invitation {background:none;position:relative;isolation:isolate;margin-block:30px 70px}
.academy-story .story-invitation>.container {height:500px;min-height:0;position:relative;display:flex;align-items:center;justify-content:flex-end;padding:0}
.academy-story .story-invitation>.container>img {position:absolute;inset:0 auto 0 -10%;width:75%;height:100%;object-fit:cover;object-position:center top;margin:0;max-width:none;mask-image:linear-gradient(90deg,#000 70%,transparent),linear-gradient(0deg,transparent,#000 14%);mask-composite:intersect;-webkit-mask-image:linear-gradient(0deg,transparent,#000 14%)}
.academy-story .story-invitation>.container>div {position:relative;width:48%;padding:28px;background:linear-gradient(90deg,#081624c7,#081624f0);border:0;margin:0;z-index:1}
.academy-story .story-invitation h2 {font-size:clamp(24px,2.7vw,36px)}
.academy-story .story-roster {max-width:none;padding:70px 0;background:none;position:relative;isolation:isolate}.academy-story .story-roster header {max-width:760px}.academy-story .story-roster .academy-roster-group {margin:0}.academy-story .story-roster .academy-cast-grid {grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--cast-gap)}
.academy-story .story-roster .academy-cast-grid>a {display:block;position:relative;text-decoration:none;background:#102335;padding:0 0 16px;border:1px solid #95b0c328;overflow:hidden}.academy-story .story-roster .work-image-slot {aspect-ratio:3/4}.academy-story .story-roster b {font-size:16px;color:#e7f3fa;padding-inline:12px}.academy-story .story-roster small {display:block;font-size:10px;color:#8aaabe;padding:12px 12px 6px}
.academy-story .story-roster .academy-roster-group {margin-top:48px}
.academy-story .story-roster .story-cast-group-title {display:flex;align-items:baseline;gap:14px;margin:0 0 21px;padding-bottom:15px;border-bottom:1px solid #9ec6d63d;font-size:23px;line-height:1.5;color:#e8f3fa}
.academy-story .story-roster .story-cast-group-title small {display:inline;flex:none;padding:0;font:500 12px/1.5 'Wanted Sans',sans-serif;color:#9ebdce}
.academy-story .story-continuity {padding-block:90px;background:none}.academy-story .story-continuity .container {max-width:850px}.academy-story .story-continuity ol {font-size:14px;line-height:1.9;color:#c3d7e5}.academy-story .story-continuity li {margin-bottom:10px}
.academy-story .story-ending {position:relative;isolation:isolate;background:none;padding:70px 0 90px}.academy-story .academy-ending-logo {width:340px;max-width:85%;height:auto;margin:auto;mix-blend-mode:screen}.academy-story .story-ending h2 {font-size:clamp(27px,3.2vw,42px)}
@media(max-width:800px){
 #view-home .home-hero-journey {height:clamp(620px,calc(100svh - 130px),740px)}
 #view-home .home-hero-journey .hero-grid {height:100%;display:block}
 #view-home .home-hero-journey .hero-media {mask-image:linear-gradient(#000 50%,transparent 100%)!important;-webkit-mask-image:linear-gradient(#000 50%,transparent 100%)!important}
 #view-home .home-hero-journey .hero-media::after {background:linear-gradient(0deg,#091323,transparent 65%)}
 #view-home .home-hero-journey .hero-copy {inset:auto 20px 62px;width:auto!important;max-width:none;margin:0;padding:0;align-items:center;text-align:center;background:none}
 #view-home .home-hero-journey .hero-copy::before {inset:-20px -20px -30px;background:linear-gradient(transparent,#091323b8 18%,#091323 95%)}
 #view-home .home-hero-journey .hero-logo {width:88%!important;max-width:340px;height:135px!important;max-height:135px!important;object-position:center;margin:2px auto!important}
 #view-home .home-hero-journey .hero-copy h1 {font-size:23px;margin:0 0 7px}
 #view-home .home-hero-journey .hero-copy .eyebrow {font-size:9px;margin:0;color:#b8d5e7;line-height:1.6}
 #view-home .home-hero-journey .hero-copy>p {font-size:14px;line-height:1.7;margin:6px 0 16px;max-width:29em;text-shadow:0 2px 10px #000}
 #view-home .home-hero-journey .hero-actions {display:grid;grid-template-columns:1fr 1fr;gap:7px}
 #view-home .home-hero-journey .hero-actions .button {width:100%;font-size:13px;padding:13px 14px;min-height:47px}
 #view-home .home-hero-journey .academy-hero-measure {grid-column:1/-1;max-width:none;min-height:40px!important;background:none!important;text-decoration:underline;text-underline-offset:5px;padding:7px!important;color:#c9eaf6!important}
 #view-home .home-hero-journey .hero-character-caption {display:none}
 #view-home .home-hero-journey>.hero-dots {bottom:15px!important}
 .academy-story .container {width:calc(100% - 36px)}
 .academy-story .story-cover {height:700px;min-height:0;display:block;max-height:none}
 .academy-story .story-cover-art {height:79%}
 .academy-story .academy-cover-character {width:100%;height:100%;inset:0;mask-image:linear-gradient(#000 60%,transparent);-webkit-mask-image:linear-gradient(#000 60%,transparent)}
 .academy-story .academy-cover-character img {object-fit:cover}
 .academy-story .story-cover::after {background:linear-gradient(0deg,#07121f 0%,#07121fdf 13%,transparent 66%)}
 .academy-story .academy-cover-grid {display:flex;align-items:flex-end;height:100%;padding:0 0 32px}
 .academy-story .academy-cover-copy {width:100%;max-width:500px;margin:0 auto}
 .academy-story .academy-logo {width:90%;max-width:350px;max-height:230px!important;height:auto!important;margin:-3px auto}
 .academy-story .academy-cover-copy>.eyebrow {font-size:9px;text-shadow:0 2px 8px #000}
 .academy-story .academy-cover-copy>p {font-size:18px;margin:0 auto 16px}
 .academy-story .work-back {top:15px;left:0;font-size:12px}
 .academy-story .academy-actions {margin-top:14px;display:flex;gap:8px}
 .academy-story .academy-actions .button {font-size:14px;min-height:49px;padding:15px 25px}
 .academy-story .academy-scroll {margin-top:18px}
 .academy-story .story-chapter-nav {justify-content:flex-start;gap:20px;padding:10px 18px}.academy-story .story-chapter-nav a {font-size:11px;min-height:38px;display:flex;align-items:center}
 .academy-story .story-prologue {padding:58px 0 38px}.academy-story .story-prologue>.container {display:block}
 .academy-story .prologue-heading h2 {font-size:39px;max-width:8em}.academy-story .prologue-heading strong {font-size:16px;max-width:26em}.academy-story .prologue-body {margin-top:27px;padding-left:19px}.academy-story .prologue-body p {font-size:15px;line-height:1.85;margin-bottom:13px}
 .academy-story h2 {font-size:30px;line-height:1.35;margin:12px 0 21px}.academy-story p {font-size:15px;line-height:1.85}
 .academy-story .story-chapter-number {font-size:38px;margin-bottom:14px}
 .academy-story .story-campus {display:flex;flex-direction:column;gap:24px;padding:35px 0 55px;align-items:stretch}.academy-story .story-campus-art {transform:rotate(.8deg);padding:6px}.academy-story .story-term-line {padding:23px 0;gap:9px}.academy-story .story-term-line small {font-size:9px;max-width:9em;line-height:1.6;margin-bottom:6px}.academy-story .story-term-line b {font-size:15px}.academy-story .story-term-line i {font-size:16px}
 .academy-story .story-ability {padding:50px 0}.academy-story .story-ability>.container {display:block}.academy-story .story-ability-art {margin-top:25px}.academy-story .story-ability-art .work-image-slot {aspect-ratio:16/8}.academy-story .story-affinity-wrap {margin-top:38px}.academy-story .story-lab-label b {font-size:18px}.academy-story .story-lab-label span {font-size:11px}.academy-story .affinity-node {width:62px;height:62px}.academy-story .affinity-node b {font-size:25px}.academy-story .affinity-center {inset:32%}.academy-story .affinity-center strong {font-size:33px}.academy-story .affinity-caption {margin-top:12px}.academy-story .affinity-exceptions {gap:12px}
 .academy-story .story-outside {padding:55px 0 15px}.academy-story .story-outside .story-chapter-copy {margin-bottom:24px}.academy-story .story-panorama .work-image-slot {aspect-ratio:4/3}.academy-story .story-panorama-caption {left:6%;bottom:8%}.academy-story .story-panorama-caption b {font-size:25px}.academy-story .story-panorama-caption span {font-size:8px;margin-bottom:8px}
 .academy-story .story-threats {padding:40px 0 50px}.academy-story .story-threats header {text-align:left}.academy-story .academy-threat-gallery {grid-template-columns:1fr;gap:22px;margin-top:28px}.academy-story .academy-threat-gallery figure {display:block}.academy-story .academy-threat-gallery .work-image-slot {aspect-ratio:16/10}.academy-story .academy-threat-gallery figcaption {padding:15px 16px}.academy-story .academy-threat-gallery b {font-size:16px}
 .academy-story .story-paths {padding:50px 0}.academy-story .story-tabs {flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:8px;gap:7px;margin:20px 0}.academy-story .story-tabs button {flex:none;font-size:12px;padding:12px 14px;min-height:45px}.academy-story .story-faction-panel {display:block;padding:23px 17px}.academy-story .story-faction-copy h3 {font-size:30px;margin:10px 0 14px}.academy-story .story-faction-copy p {font-size:15px;max-width:none;margin-bottom:23px}.academy-story .story-faction-cast {gap:8px}.academy-story .story-faction-cast b {font-size:12px}.academy-story .story-webtoon {padding:40px 0}.academy-story .academy-webtoon-empty {padding:35px 22px}
 .academy-story .story-invitation {margin:20px 0 30px}.academy-story .story-invitation>.container {height:670px;display:flex;align-items:flex-end;justify-content:center;padding:0 0 25px}.academy-story .story-invitation>.container>img {inset:0 auto auto -18px;width:calc(100% + 36px);height:440px;object-fit:cover;mask-image:linear-gradient(#000 62%,transparent);-webkit-mask-image:linear-gradient(#000 62%,transparent)}.academy-story .story-invitation>.container>div {width:100%;padding:22px 15px 15px;background:linear-gradient(transparent,#07121fde 20%);text-align:center}.academy-story .story-invitation h2 {font-size:27px}.academy-story .story-invitation p {font-size:14px;line-height:1.8}.academy-story .story-invitation .academy-last-result {margin:10px auto 0}
 .academy-story .story-roster {padding:45px 0}.academy-story .story-roster .academy-cast-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.academy-story .story-roster b {font-size:14px;padding-inline:9px}.academy-story .story-roster small {padding:10px 9px 5px}.academy-story .story-continuity {padding:50px 0}.academy-story .story-continuity .container {padding:0}.academy-story .story-continuity ol {padding-left:21px;font-size:14px}.academy-story .story-ending {padding:35px 0 55px}
}
.academy-story :is(.story-ability,.story-paths,.story-roster,.story-continuity){padding-block:var(--section-space)}
@media(max-width:800px){.academy-story :is(.story-ability,.story-paths,.story-roster,.story-continuity){padding-block:calc(var(--section-space)*.625)}.academy-story .story-roster .academy-cast-grid{gap:clamp(8px,calc(var(--cast-gap)*.67),26px)}}
@media(max-width:450px){.academy-story .story-roster .academy-cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.academy-story .story-roster-swipe-hint {display:none}
@media(max-width:800px){
 /* One native scrolling shelf per existing group; never one 51-card rail. */
 .academy-story .story-roster .academy-cast-grid {display:flex;flex-wrap:nowrap;align-items:stretch;overflow-x:auto;overflow-y:hidden;min-width:0;gap:12px;padding:0 0 12px;scroll-snap-type:x proximity;scroll-padding-inline:0;overscroll-behavior-x:contain;touch-action:auto;scrollbar-width:thin;scrollbar-color:#6a94aa #132536}
 .academy-story .story-roster .academy-cast-grid>a {flex:0 0 clamp(130px,43%,210px);min-width:0;scroll-snap-align:start;box-sizing:border-box}
 .academy-story .story-roster .academy-cast-grid img {-webkit-user-drag:none;user-select:none}
 .academy-story .story-roster .academy-roster-group {margin-top:30px}
 .academy-story .story-roster .story-cast-group-title {font-size:21px;margin-bottom:10px;padding-bottom:11px}
 .academy-story .story-roster .story-roster-swipe-hint {display:block;color:#9ebdce;font-size:12px;margin:0 0 14px}
}
@media(prefers-reduced-motion:reduce){.academy-story *{scroll-behavior:auto!important}.academy-story [data-story-reveal].story-arrived,.academy-story .story-energy,.academy-story .story-tab-enter,.academy-story .academy-scroll span{animation:none!important}}
