/* One continuous illustrated game world. */
.home-page section[id] { scroll-margin-top:85px; }
.home-page .reveal { opacity:1; transform:none; }
.home-page .game-hero::after { background:linear-gradient(transparent,#090b24); height:150px; }
.home-page :is(.mission-section,.skills-section) { background:#090b24; color:#eef0ff; }
.home-page :is(.mission-section,.skills-section) h2 { color:#fff9ec; }
.home-page :is(.mission-section,.skills-section) p:not(.eyebrow),.home-page .skill-list small { color:#b9c6e3; }
.home-page .skill-list strong { color:#fff9ec; }
.home-page .skill-list li { border-color:#ffffff24; }
.home-page .skills-visual img { border-color:#4f63aa; object-position:right center; }
.home-page .eyebrow--dark { color:#80e4f8; }
.home-page .mission-section { padding:60px 0 90px; }
.home-page .levels-section { padding:70px 0; }
.home-page .skills-section { padding:70px 0; }
.home-page .level-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-page .level-card,.home-page .level-card--wide { display:block; grid-column:auto; }
.home-page .level-image { min-height:0; height:210px; }
.home-page .level-body { padding:24px; }
.world-crew,.world-rankings { position:relative; padding:85px 0; color:#eef0ff; background:#090b24; }
.home-page :is(.world-crew,.world-shop,.world-rankings) h2 { font:800 clamp(2.7rem,4.5vw,4.5rem)/1 'Baloo 2',sans-serif; letter-spacing:-.025em; color:#fff9ec; }
.world-intro { max-width:650px; margin:22px 0 38px; color:#b9c6e3; line-height:1.8; }
.crew-lineup { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.crew-member { min-width:0; text-align:center; }
.crew-member img { width:100%; height:275px; object-fit:contain; filter:drop-shadow(0 16px 22px #5d70cf35); }
.crew-member h3 { font:800 1.6rem/1.1 'Baloo 2',sans-serif; color:#ffcc50; margin:20px 0 10px; }
.crew-member p { color:#80e4f8; font-size:.76rem; font-weight:900; letter-spacing:.08em; }
.crew-member small { display:block; color:#bdc6df; line-height:1.65; margin-top:12px; }
.world-shop { min-height:700px; padding:125px 0; color:#eef0ff; background:linear-gradient(0deg,#090b24,transparent 25%),linear-gradient(90deg,#090b24da,transparent 80%),url('../images/station-supply-dock.png') center / cover; }
.shop-brief { width:min(530px,52%); }
.shop-brief>p:not(.eyebrow) { margin:24px 0; color:#ccd6ef; line-height:1.8; }
.shop-brief>small { display:block; margin-top:22px; color:#bcc8e4; }
.supply-list { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:28px 0 38px; }
.rank-preview { background:#151b3a; border:1px solid #839ce640; border-radius:24px; padding:24px; margin:30px 0; overflow:auto; }
.rank-preview table { border-collapse:collapse; width:100%; min-width:480px; text-align:left; }
.rank-preview :is(td,th) { padding:18px 14px; border-bottom:1px solid #ffffff18; }
.rank-preview thead { color:#83e5f6; }
.rank-empty { padding:30px 0; font:800 2rem/1.5 'Baloo 2',sans-serif; color:#ffcc50; }
.rank-empty span { font:400 1rem/1.7 'Nunito',sans-serif; color:#b9c6e3; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.home-page .final-cta { background-image:linear-gradient(#090b24,transparent 45%),url('../images/station-supply-dock.png'); }
.navbar .preview-badge { display:none; }
.home-page .home-footer { min-height:150px; }
@media(max-width:900px) { .crew-lineup { grid-template-columns:repeat(2,minmax(0,1fr)); } .home-page .level-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .home-page .level-grid { grid-template-columns:1fr; }
 .crew-lineup { gap:24px 14px; } .crew-member img { height:185px; } .crew-member h3 { font-size:1.3rem; }
 .world-shop { padding:510px 0 70px; background-position:70% top; background-size:auto 600px; background-repeat:no-repeat; background-color:#090b24; }
 .shop-brief { width:100%; padding:24px; background:#090b24df; border-radius:22px; }
 .world-crew,.world-rankings { padding:60px 0; } .rank-preview { padding:16px; }
 .supply-list { font-size:.85rem; }
}
