/* Section identities follow their content, never their position on the page. */
.homepage > .section {
  isolation: isolate;
  border-top: 1px solid var(--scene-line, rgba(215, 191, 151, .2));
  background: var(--scene-color);
}
.homepage > .section::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: '';
  pointer-events: none;
  opacity: 1;
  filter: none;
  mix-blend-mode: normal;
  transform: none;
  background: var(--scene-art);
}
.homepage > .archive::after,
.homepage > .news-preview::after { content: none; }

/* Evelina: aged archive paper, without photographic scenery. */
.homepage > .archive {
  --scene-color: #d8c8a9;
  --scene-line: #b69a70;
  --scene-art: radial-gradient(ellipse at 20% 15%, rgba(255, 246, 218, .65), transparent 65%), linear-gradient(115deg, rgba(124, 91, 55, .1), transparent 55%), repeating-linear-gradient(0deg, transparent 0 59px, rgba(90, 66, 41, .025) 59px 60px);
}
.homepage .archive__copy { padding: clamp(1rem, 2vw, 2rem); border-left: 1px solid #987a55; background: rgba(238, 225, 199, .56); }
.homepage .archive__portrait { box-shadow: 0 24px 55px rgba(48, 35, 23, .32); }

/* A foreground missing-person notice; no photographic section background. */
.homepage > .missing-story {
  --scene-color: #2c2022;
  --scene-line: #796451;
  --scene-art: radial-gradient(ellipse at 10% 15%, rgba(153, 111, 75, .18), transparent 65%), linear-gradient(120deg, transparent, rgba(15, 12, 17, .35));
  color: #f1e2c8;
}
.missing-story__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.missing-story__poster { display: block; width: 100%; max-width: 430px; justify-self: center; color: #d4b994; text-decoration: none; }
.missing-story__poster img { display: block; width: 100%; height: auto; box-shadow: 0 22px 55px rgba(0, 0, 0, .4); }
.missing-story__poster > span { display: block; margin-top: .85rem; font-size: .78rem; letter-spacing: .06em; text-align: center; }
.missing-story__poster:focus-visible { outline: 2px solid #e8c48d; outline-offset: 8px; }
.homepage .missing-story .eyebrow { color: #cba984; }
.missing-story__copy h2 { margin: 0 0 1.6rem; text-wrap: balance; }
.missing-story__copy > p:not(.eyebrow) { color: #d8cbbb; line-height: 1.8; margin: 0 0 1.1rem; }
.missing-story__copy > p.missing-story__turn { color: #f4dfbb; font-family: var(--serif); font-size: 1.28rem; }
.missing-story__copy > p.missing-story__close { color: #ead0a7; font-style: italic; margin-bottom: 0; }
@media (max-width: 760px) {
  .missing-story__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .missing-story__poster { max-width: 340px; }
}

/* The place: restrained mist-green shading. */
.homepage > .place {
  --scene-color: #152723;
  --scene-art: radial-gradient(ellipse at 12% 20%, rgba(100, 137, 118, .22), transparent 65%), linear-gradient(110deg, transparent, rgba(7, 20, 18, .46));
  color: #f0e6d3;
}
.homepage .place .eyebrow { color: #dcc395; }
.homepage .place .section__body p { color: #d3ddd1; }
.homepage .place .section__body .lead { color: #f0e6d3; }
.homepage .place .text-link { color: #f0c593; border-color: #bf976b; }

/* News: a light paper notice board. */
.homepage > .news-preview {
  --scene-color: #e6d7bb;
  --scene-line: #c0a57d;
  --scene-art: radial-gradient(ellipse at 70% 10%, rgba(255, 247, 226, .65), transparent 70%), repeating-linear-gradient(0deg, transparent 0 47px, rgba(94, 66, 39, .025) 47px 48px);
}
.homepage .news-grid { background: rgba(246, 235, 213, .6); border: 1px solid #bca17c; }
.homepage .news-card { border-color: #bca17c; }
.homepage .news-card p { color: #493d32; }

/* Music keeps its own midnight-blue identity and the selected cover. */
.homepage > .music-section { --scene-color: #122c3a; --scene-art: linear-gradient(90deg, rgba(8, 22, 34, .58), rgba(10, 31, 44, .82)), var(--music-cover) center / cover no-repeat; }
.homepage .music-player { background: rgba(8, 21, 31, .93); }
.homepage .music-player__now span,
.homepage .music-player__progress div,
.homepage .music-player__volume,
.homepage .music-player__tracks button,
.homepage .music-player__tracks i { color: #b5c5ce; }
.homepage .music-player__tracks button:is(:hover, :focus-visible, .is-active) { color: #fff; }

/* Media: a warm contact sheet, contrasting with music and Discord. */
.homepage > .media-section {
  --scene-color: #d7c7a9;
  --scene-line: #ae916b;
  --scene-art: radial-gradient(ellipse at 8% 0%, rgba(255, 247, 223, .7), transparent 62%), repeating-linear-gradient(0deg, transparent 0 47px, rgba(82, 58, 37, .045) 47px 48px);
  color: #2a211c;
}
.homepage .media-section .eyebrow { color: #763d29; }
.homepage .media-section__heading > p,
.homepage .media-gallery__heading p,
.homepage .media-reel__footer p { color: #534337; }
.homepage .media-thumb { color: #30251c; }
.homepage .media-thumb__caption > span { color: #754226; }
.homepage .media-gallery { scrollbar-color: #816747 #c4b18e; }
.homepage .media-video { color: #f0e4d0; border-color: #8e775b; box-shadow: 0 20px 55px rgba(60, 41, 23, .18); }
.homepage .media-reel__toggle { color: #38291f; border-color: #806344; background: rgba(255, 244, 222, .48); }
.homepage .media-reel__toggle:hover { color: #fff0d7; background: #513b2b; }
.homepage .media-section :focus-visible { outline-color: #763729; }

/* Community: lamplight and oxblood, with an opaque, readable Discord card. */
.homepage > .discord-section {
  --scene-color: #422628;
  --scene-art: radial-gradient(ellipse at 15% 20%, rgba(169, 104, 93, .2), transparent 65%), linear-gradient(110deg, transparent, rgba(28, 15, 23, .54));
}
.homepage .discord-section .eyebrow { color: #e9bb99; }
.homepage .discord-section__copy > p:last-child { color: #dfcfc4; }
.homepage .discord-card { background: rgba(30, 17, 22, .88); border-color: #946e62; }
.homepage .discord-card__label,
.homepage .discord-card__stats dt,
.homepage .discord-card__state { color: #c5b4a8; }

/* Network: sandstone paper with a soft, warm highlight. */
.homepage > .network {
  --scene-color: #d6c3a4;
  --scene-line: #ae916b;
  --scene-art: radial-gradient(ellipse at 10% 0%, rgba(252, 238, 205, .72), transparent 70%), linear-gradient(125deg, transparent 55%, rgba(150, 115, 74, .12));
  color: #30221c;
}
.homepage .network .eyebrow { color: #813c2d; }
.homepage .pillars { border-color: #ae9473; background: rgba(242, 227, 199, .62); }
.homepage .pillar { border-color: #ae9473; }
.homepage .pillar__index { color: #7e432e; }
.homepage .pillar p { color: #514135; }
.homepage .network-status { border-color: #ae9473; background: rgba(247, 234, 212, .86); }
.homepage .network-status dl div,
.homepage .network-status__players { border-color: #b9a386; }
.homepage .network-status__label,
.homepage .network-status dt,
.homepage .network-status__players-title { color: #625040; }
.homepage .network-status dd,
.homepage .network-status__players-list { color: #35261d; }

/* Cartography: blue-green drafting cloth; the actual maps remain foreground. */
.homepage > .survey {
  --scene-color: #152e32;
  --scene-art: radial-gradient(ellipse at 80% 5%, rgba(86, 140, 143, .26), transparent 64%), repeating-linear-gradient(0deg, transparent 0 63px, rgba(203, 224, 209, .055) 63px 64px), repeating-linear-gradient(90deg, transparent 0 63px, rgba(203, 224, 209, .055) 63px 64px);
  color: #f0e5ce;
}
.homepage .survey .eyebrow { color: #d4bb89; }
.homepage .survey__heading > p { color: #c0cfca; }

/* Places: an illustrated field guide on pale paper. */
.homepage > .landmarks {
  --scene-color: #dfd1b6;
  --scene-line: #b59c79;
  --scene-art: radial-gradient(ellipse at 20% 0%, #efe4ce, transparent 70%), repeating-linear-gradient(0deg, transparent 0 47px, rgba(91, 64, 38, .035) 47px 48px);
  color: #30261f;
}
.homepage .landmarks .eyebrow { color: #7c422e; }
.homepage .landmarks__grid,
.homepage .landmark { border-color: #bba585; }
.homepage .landmark { background: rgba(250, 238, 214, .46); }
.homepage .landmark p,
.homepage .landmarks__heading > p { color: #574738; }

/* Currency and files: bronze vault followed by warm dossier paper. */
.homepage > .currency-section {
  --scene-color: #302116;
  --scene-art: radial-gradient(ellipse at 15% 15%, rgba(163, 112, 49, .31), transparent 60%), linear-gradient(120deg, transparent, rgba(24, 14, 11, .64));
}
.homepage .currency-section__heading > p,
.homepage .currency-card__copy > p:not(.currency-card__index):not(.currency-card__detail) { color: #d0bfaa; }
.homepage .currency-card__index,
.homepage .currency-card__detail,
.homepage .currency-section__caption { color: #c4ad8b; }
.homepage > .case-file {
  --scene-color: #d8c39f;
  --scene-line: #ae9066;
  --scene-art: radial-gradient(ellipse at 0% 25%, rgba(255, 243, 209, .65), transparent 65%), repeating-linear-gradient(0deg, transparent 0 39px, rgba(105, 74, 44, .055) 39px 40px);
}
.homepage > .launcher-section {
  --scene-color: #16222c;
  --scene-art: radial-gradient(ellipse at 75% 0%, rgba(81, 118, 143, .22), transparent 65%), linear-gradient(135deg, transparent, rgba(6, 12, 18, .48));
}
.homepage .launcher-section__heading > p { color: #c3c8c9; }
.homepage > .join {
  --scene-color: #603731;
  --scene-art: radial-gradient(ellipse at 50% 0%, rgba(189, 116, 83, .17), transparent 70%), linear-gradient(115deg, rgba(69, 28, 28, .28), rgba(40, 21, 25, .48));
}
.homepage .join .eyebrow { color: #f0c69d; }
.homepage .join__note { color: #e0c7b9; }
.homepage .server-address { background: rgba(30, 18, 17, .55); border-color: #c09278; }
