.home-index { background: #041c24; color: #edf7f5; font-family: "Segoe UI", "Microsoft YaHei", sans-serif; }
.home-index > .atlas-overview, .home-index > .depth-landing, .home-index > .depth-dive-intro,
.home-index > .site-header, .home-index > main, .home-index > .site-footer, .home-index > .seed-fab { display: none; }
.world-hero *, .below-world *, .world-memories * { letter-spacing: 0; box-sizing: border-box; }
.world-hero h1, .below-world h2, .below-world h3, .world-memories h2 { font-family: "Segoe UI", "Microsoft YaHei", sans-serif; }
.world-hero { position: relative; min-height: 620px; height: 82svh; max-height: 900px; overflow: hidden; isolation: isolate; }
.world-hero-backdrop { position: absolute; inset: -12px; z-index: -2; background: url("assets/home-surface-hero-v1.webp") center / cover; transform: translateY(var(--hero-shift, 0px)) scale(1.03); }
.world-hero::before { content: ""; position: absolute; inset: 0; background: #082e4638; z-index: -1; }
.world-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 4%; }
.world-brand { display: flex; align-items: center; gap: 12px; font-size: 24px; white-space: nowrap; }
.world-header nav { display: flex; gap: 30px; font-size: 13px; }
.world-header nav a { padding: 8px 0; border-bottom: 1px solid transparent; }
.world-header nav a:hover, .world-header nav .is-active { border-color: #fff; }
.world-tools { display: flex; gap: 18px; }
.world-tools button { display: flex; align-items: center; gap: 8px; border: 0; color: inherit; background: transparent; font: inherit; cursor: pointer; padding: 6px; }
.world-tools svg { width: 18px; height: 18px; }
.world-hero-copy { margin: 72px 4% 100px; max-width: 670px; text-shadow: 0 2px 16px #12384688; }
.world-kicker { font-size: 11px; margin: 0 0 18px; color: #b9e1e8; }
.world-hero-copy .world-kicker { color: #fff; }
.world-hero-copy h1 { font-size: 62px; font-weight: 350; line-height: 1.12; margin: 0 0 24px; }
.world-hero-copy h1 em { font-style: normal; }
.world-hero-copy > p:not(.world-kicker) { font-size: 15px; line-height: 1.9; }
.world-hero-button { display: inline-flex; align-items: center; gap: 24px; margin-top: 22px; padding: 13px 24px; border: 1px solid #ffffffb8; border-radius: 30px; background: #153c462e; }
.world-hero-button svg { width: 18px; height: 18px; }
.world-hero-button:hover { background: #ffffff26; }
.world-hero-note { position: absolute; right: 7%; top: 30%; font: italic 20px Georgia, serif; line-height: 1.6; transform: rotate(-8deg); }
.world-scroll-note { position: absolute; right: 4%; bottom: 80px; font-size: 10px; text-align: center; }
.world-scroll-note i { display: block; height: 48px; border-left: 1px solid #a7d9e5; margin: 12px auto; width: 1px; }
.world-waterline { position: absolute; bottom: -6px; left: -2%; width: 104%; height: 30px; background: #5acbdf30; border-top: 2px solid #b8f1ef9e; border-radius: 45% 65% 0 0; animation: tide 7s ease-in-out infinite alternate; }
.world-waterline span { position: absolute; top: -24px; left: 6%; font: 10px monospace; }
.below-world { padding: 42px 4% 30px; position: relative; background: linear-gradient(#073441d9, #041e2de8), url("assets/underwater-world-v1.webp") center / cover; overflow: hidden; }
.below-heading { display: flex; justify-content: space-between; align-items: start; gap: 32px; }
.below-heading h2 { font-size: 28px; font-weight: 400; margin: 0; }
.below-heading > p { font-size: 13px; line-height: 1.8; color: #b5d2d5; }
.below-scene { max-width: 1350px; margin: auto; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 64px 32px; align-items: center; padding: 70px 0 50px; }
.below-object { display: flex; align-items: center; gap: 20px; min-width: 0; }
.world-orb { flex: 0 0 136px; width: 136px; height: 136px; border-radius: 50%; overflow: hidden; border: 2px solid #a1dce0; box-shadow: 0 0 20px #7adcea26; animation: float-memory 7s ease-in-out infinite; }
.world-orb img { width: 100%; height: 100%; object-fit: cover; }
.object-work .world-orb { animation-delay: -2s; }
.object-lab .world-orb { animation-delay: -4s; }
.object-world .world-orb { animation-delay: -1s; }
.world-orb:hover { animation-play-state: paused; border-color: #fff; box-shadow: 0 0 24px #7adcea66; }
.below-object span { font: 10px monospace; color: #93c9cd; }
.below-object h3 { margin: 8px 0; font-size: 23px; font-weight: 450; }
.below-object p { margin: 0; font-size: 12px; line-height: 1.9; color: #c0d4d7; }
.now-glass { border: 1px solid #477381; background: #03212cb8; border-radius: 8px; padding: 26px; }
.now-glass h3 { font-size: 20px; margin: 0; font-weight: 450; }
.now-glass ul { list-style: none; margin: 20px 0; padding: 0; }
.now-glass li { display: grid; grid-template-columns: 78px 1fr; gap: 12px; font-size: 12px; margin: 15px 0; color: #c1d7dc; line-height: 1.7; }
.now-glass b { color: #8ecdd9; font-weight: 400; }
.now-glass > a { font-size: 12px; color: #a3e0e6; }
.below-quote { font: italic 19px/1.8 Georgia, serif; color: #b5d1d7; padding: 20px; }
.below-quote small { display: block; font: 11px "Segoe UI", sans-serif; margin-top: 20px; }
.world-memories { padding: 36px 4% 20px; background: #041c24; }
.memory-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.memory-heading h2 { margin: 0; font-size: 16px; font-weight: 450; }
.memory-heading > a { color: #a1c4ce; font-size: 12px; }
.world-memory-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.world-memory-strip img { width: 100%; aspect-ratio: 2.1; object-fit: cover; border-radius: 4px; }
.world-memory-strip strong, .world-memory-strip span { display: block; font-size: 12px; margin-top: 10px; font-weight: 400; }
.world-memory-strip span { font-size: 10px; color: #8ca7ae; }
.world-memories footer { display: flex; justify-content: space-between; border-top: 1px solid #21414b; margin-top: 36px; padding-top: 24px; color: #8daab2; font-size: 10px; }
.home-index > .private-threshold { padding: 70px 4%; }
.home-index > .private-threshold h2 { font-size: 30px; }
.home-index a:focus-visible, .home-index button:focus-visible { outline: 2px solid #f5cd86; outline-offset: 6px; }
.world-still *, .world-still .world-waterline { animation: none !important; }
@keyframes tide { to { transform: translate(1%, -6px); border-radius: 65% 40% 0 0; } }
@keyframes float-memory { 50% { transform: translateY(-9px); } }
@media (max-width: 1100px) {
  .below-scene { grid-template-columns: 1fr 1fr; }
  .world-header nav { gap: 18px; }
}
@media (max-width: 700px) {
  .world-header { flex-wrap: wrap; gap: 20px; padding-top: 20px; }
  .world-brand { font-size: 20px; }
  .world-header nav { order: 3; width: 100%; justify-content: space-between; gap: 12px; font-size: 12px; }
  .world-hero { min-height: 600px; height: 84svh; }
  .world-hero-copy { margin-top: 70px; }
  .world-hero-copy h1 { font-size: 40px; }
  .world-hero-copy > p:not(.world-kicker) { max-width: 280px; font-size: 13px; }
  .world-hero-note { display: none; }
  .below-heading { display: block; }
  .below-heading > p { margin-top: 16px; }
  .below-scene { grid-template-columns: 1fr; gap: 38px; padding: 35px 0; }
  .below-object:nth-child(even) { margin-left: 12%; }
  .world-orb { flex-basis: 108px; width: 108px; height: 108px; }
  .below-quote { padding-left: 0; }
  .world-memory-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
}
@media (prefers-reduced-motion: reduce) { .home-index * { animation: none !important; scroll-behavior: auto !important; } }
