/* Phase 1: shared water-column environment and depth wayfinding. */
html { scroll-snap-type: none; }
.main-section { scroll-snap-align: none; }

#main-content {
  background: linear-gradient(180deg, var(--water-sunlit-exit, #062330) 0%, var(--water-twilight-body, #041c29) 43%, var(--water-midnight-body, #03131f) 72%, var(--water-deep-exit, #020c13) 100%);
}

#hero .surface-transition {
  background: linear-gradient(to bottom, transparent, rgba(3, 25, 37, .2) 42%, rgba(5, 31, 43, .72) 76%, var(--water-sunlit-exit, #062330) 100%);
}

#how-it-works {
  background:
    radial-gradient(circle at 17% 24%, var(--water-particle-color, rgba(169, 232, 222, .055)) 0 1px, transparent 1.5px) 0 0 / 94px 108px,
    radial-gradient(circle at 72% 68%, rgba(169, 232, 222, .035) 0 1px, transparent 1.5px) 0 0 / 131px 149px,
    linear-gradient(180deg, var(--water-sunlit-exit, #062330) 0%, var(--water-sunlit-body, #062b3a) 34%, var(--water-twilight-entry, #062330) 100%);
}

#founding-fish {
  background:
    radial-gradient(circle at 21% 31%, rgba(169, 232, 222, .04) 0 1px, transparent 1.5px) 0 0 / 122px 139px,
    linear-gradient(180deg, var(--water-twilight-entry, #062330) 0%, var(--water-twilight-body, #041c29) 45%, var(--water-twilight-exit, #031722) 100%);
}

#founding-fish .tier-grid::before {
  background:
    linear-gradient(112deg, rgba(14, 57, 70, .13), transparent 34% 72%, rgba(8, 43, 56, .07)),
    linear-gradient(180deg, rgba(6, 35, 48, .3) 0%, rgba(4, 28, 41, .52) 48%, rgba(3, 23, 34, .18) 100%);
}

#founding-fish .origin-timeline {
  position: relative;
  background: linear-gradient(180deg, rgba(5, 34, 47, .5), rgba(3, 23, 34, .72));
  box-shadow: inset 0 1px 0 rgba(169, 232, 222, .08), 0 -44px 100px -88px rgba(98, 232, 213, .3);
}

#world {
  background:
    radial-gradient(circle at 77% 27%, rgba(169, 232, 222, .035) 0 1px, transparent 1.5px) 0 0 / 137px 153px,
    linear-gradient(180deg, var(--water-midnight-entry, #031722) 0%, var(--water-midnight-body, #03131f) 56%, var(--water-midnight-exit, #02111b) 100%);
}

#world::after {
  height: var(--water-transition-band, clamp(120px, 18vh, 220px));
  background: linear-gradient(180deg, transparent, rgba(2, 18, 28, .44) 54%, var(--water-midnight-body, #03131f) 100%);
}

#liams-letter {
  background: linear-gradient(180deg, var(--water-midnight-body, #03131f) 0%, #03121d 58%, var(--water-midnight-exit, #02111b) 100%);
}

#join-faq {
  background:
    radial-gradient(circle at 16% 18%, rgba(169, 232, 222, .028) 0 1px, transparent 1.5px) 0 0 / 149px 171px,
    linear-gradient(180deg, var(--water-deep-entry, #02111b) 0%, var(--water-deep-body, #041822) 30%, var(--water-deep-exit, #020c13) 100%);
}

.depth-rail {
  position: fixed;
  z-index: var(--layer-depth-rail, 90);
  top: 50%;
  right: var(--depth-rail-right, max(18px, env(safe-area-inset-right, 0px)));
  display: grid;
  gap: 4px;
  width: 68px;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(6px, -50%);
  transition: opacity var(--motion-standard) var(--ease-standard), transform var(--motion-standard) var(--ease-standard);
}

.depth-rail::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 14px;
  right: 4px;
  bottom: 14px;
  width: 1px;
  background: rgba(169, 232, 222, .18);
  pointer-events: none;
}

.depth-rail.is-visible { opacity: 1; pointer-events: auto; transform: translate(0, -50%); }

.depth-rail a {
  position: relative;
  display: block;
  width: 68px;
  height: 28px;
  color: rgba(238, 252, 248, .56);
  font: 700 7.5px/1.25 var(--font-mono);
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  outline: none;
}

.depth-rail-marker {
  position: absolute;
  top: 50%;
  right: 0;
  width: var(--depth-rail-marker, 9px);
  height: var(--depth-rail-marker, 9px);
  border: 1px solid rgba(169, 232, 222, .34);
  border-radius: 50%;
  background: rgba(3, 21, 34, .82);
  box-shadow: 0 0 0 0 rgba(98, 232, 213, 0);
  transform: translateY(-50%);
  transition: background var(--motion-standard) var(--ease-standard), border-color var(--motion-standard) var(--ease-standard), box-shadow var(--motion-standard) var(--ease-standard), transform var(--motion-standard) var(--ease-standard);
}

.depth-rail-label {
  position: absolute;
  top: 50%;
  right: 18px;
  color: rgba(238, 252, 248, .72);
  opacity: 0;
  pointer-events: none;
  transform: translate(4px, -50%);
  transition: opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);
  white-space: nowrap;
}

.depth-rail a[aria-current="location"] { color: var(--foam); }
.depth-rail a[aria-current="location"] .depth-rail-label,
.depth-rail a:hover .depth-rail-label,
.depth-rail a:focus-visible .depth-rail-label { opacity: 1; transform: translate(0, -50%); }
.depth-rail a[aria-current="location"] .depth-rail-marker {
  border-color: var(--aqua);
  background: var(--aqua);
  box-shadow: 0 0 0 3px rgba(98, 232, 213, .075), 0 0 12px rgba(98, 232, 213, .18);
  transform: translateY(-50%) scale(1.08);
}
.depth-rail a:hover,
.depth-rail a:focus-visible { color: var(--foam); }
.depth-rail a:focus-visible .depth-rail-marker { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
body.modal-open .depth-rail { opacity: 0; pointer-events: none; transform: translate(6px, -50%); }

.depth-zone-label { display: none; }

@media (max-width: 1023px) and (min-width: 621px) {
  .depth-rail { right: max(12px, var(--safe-right)); gap: 6px; width: 24px; }
  .depth-rail::before { right: 11px; }
  .depth-rail a { width: 24px; height: 28px; }
  .depth-rail-marker { right: 7px; }
  .depth-rail-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
}

@media (max-width: 620px) {
  .depth-rail { display: none; }
  .depth-zone-label {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 14px;
    color: rgba(169, 232, 222, .68);
    font: 700 8px/1 var(--font-mono);
    letter-spacing: .18em;
    text-transform: uppercase;
  }
  .depth-zone-label::before { content: ''; width: 18px; height: 1px; background: currentColor; }
}

@media (prefers-reduced-motion: reduce) {
  .depth-rail,
  .depth-rail a,
  .depth-rail-label,
  .depth-rail-marker { transition: none; }
}
