/* Team hero: Ministries navy, dots and drifting light; Vision proportions. */
.story-page--team .s-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(155deg, var(--ink) 18%, #102d46 55%, #0a2237);
  color: var(--cream-on-dark);
}
.story-page--team .s-hero > .section__inner { position: relative; z-index: 1; }
/* A static dot field and two drifting light washes sit below all content. */
.team-hero-atmosphere { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.team-hero-atmosphere::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, rgba(176,209,232,.19) .75px, transparent 1px) 0 0 / 14px 14px;
  -webkit-mask-image: linear-gradient(90deg, transparent 10%, rgba(0,0,0,.25) 40%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 10%, rgba(0,0,0,.25) 40%, #000 100%);
}
.team-hero-atmosphere i {
  position: absolute;
  display: block;
  width: clamp(30rem, 65vw, 65rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(76,160,217,.19), rgba(76,160,217,.065) 38%, transparent 70%);
  left: 34%;
  top: -35%;
  animation: team-hero-drift 22s ease-in-out -6s infinite alternate;
  animation-play-state: paused;
}
.team-hero-atmosphere i:nth-child(2) {
  width: clamp(25rem, 52vw, 54rem);
  background: radial-gradient(ellipse, rgba(198,160,98,.12), rgba(198,160,98,.035) 40%, transparent 70%);
  left: 48%;
  top: 8%;
  animation-duration: 28s;
  animation-delay: -15s;
  animation-direction: alternate-reverse;
}
.s-hero.is-atmosphere-active .team-hero-atmosphere i { animation-play-state: running; }
@keyframes team-hero-drift {
  0% { transform: translate3d(-16%, -8%, 0) scale(.94); }
  50% { transform: translate3d(7%, 15%, 0) scale(1.08); }
  100% { transform: translate3d(-8%, 35%, 0) scale(.98); }
}
.story-page--team .header.on-dark,
.story-page--team .header.on-dark.is-scrolled {
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.story-page--team .header.menu-open { background: transparent; }
.story-page--team .s-hero h1 em,
.story-page--team .s-hero .s-icon { color: #93c9ed; }
.story-page--team .s-hero__lede,
.story-page--team .s-photo figcaption { color: #d2deE8; }
.story-page--team .s-hero__button { background: var(--paper); color: var(--ink); }
.story-page--team .s-hero__button:hover { background: #93c9ed; color: var(--ink); }
.story-page--team .s-index { border-color: var(--line-light); }
.story-page--team .s-index a:hover { color: #93c9ed; }

.story-page--team .s-photo::before { border-color: rgba(255,255,255,.75); }
.story-page--team .s-photo__ornament { color: #93c9ed; }
.story-page--team .s-photo img { object-position: 44% center; } /* the pastor at the pulpit */
@media (max-width: 640px) {
  .team-hero-atmosphere i { left: -30%; top: 5%; }
  .team-hero-atmosphere i:nth-child(2) { left: -5%; top: 42%; }
  .team-hero-atmosphere::after { opacity: .7; }
}
@media (prefers-reduced-motion: reduce) {
  .team-hero-atmosphere i { animation: none; }
}
