/* Shared motion layer. Content stays visible when scripting is unavailable. */
:root { --motion-ease: cubic-bezier(.22, 1, .36, 1); }

.home-page .site-nav,
.newsroom-page .site-header {
  animation: nav-arrive .8s var(--motion-ease) both;
}

.home-page .hero-content > *,
.newsroom-page .hero-copy > * {
  animation: rise-in .9s var(--motion-ease) both;
}
.home-page .hero-content > :nth-child(1),
.newsroom-page .hero-copy > :nth-child(1) { animation-delay: .14s; }
.home-page .hero-content > :nth-child(2),
.newsroom-page .hero-copy > :nth-child(2) { animation-delay: .28s; }
.home-page .hero-content > :nth-child(3),
.newsroom-page .hero-copy > :nth-child(3) { animation-delay: .44s; }
.newsroom-page .hero-copy > :nth-child(4) { animation-delay: .58s; }

.home-page .signal-object {
  animation: signal-float 12s ease-in-out infinite;
}
.home-page .orbit-a { animation: orbit-glow 7s ease-in-out infinite; }
.home-page .orbit-c { animation: orbit-glow 7s ease-in-out -3.5s infinite; }
.home-page .data-field { animation: data-drift 24s ease-in-out infinite alternate; }
.home-page .edge-pattern { animation: pattern-drift 22s ease-in-out infinite alternate; }
.home-page .edge-mark { animation: mark-pulse 8s ease-in-out infinite; }

.newsroom-page .orb-one { animation: orb-float 11s ease-in-out infinite; }
.newsroom-page .orb-two { animation: orb-float 9s ease-in-out -4s infinite reverse; }
.newsroom-page .orb-three { animation: orb-float 10s ease-in-out -2s infinite; }
.newsroom-page .hero-visual::before { animation: pattern-drift 24s ease-in-out infinite alternate; }
.newsroom-page .live-dot { animation: live-pulse 2.4s ease-out infinite; }

.home-page .plan,
.newsroom-page .story-card {
  transition: transform .42s var(--motion-ease), box-shadow .42s var(--motion-ease), background .3s ease, border-color .3s ease;
}
.home-page .plan:hover,
.home-page .plan:focus-within {
  transform: translateY(-8px);
  border-color: #7e9775;
  box-shadow: 0 25px 50px #1717171c;
}
.home-page .plan.highlighted:hover,
.home-page .plan.highlighted:focus-within { box-shadow: 0 28px 56px #17171740; }
.newsroom-page .story-card:hover,
.newsroom-page .story-card:focus-visible {
  transform: translateY(-5px);
  box-shadow: 0 18px 36px #17171718;
  position: relative;
  z-index: 1;
}
.home-page .plan a span,
.home-page .text-link span,
.home-page .final-cta > a span,
.newsroom-page .story-action,
.newsroom-page .back-link span {
  display: inline-block;
  transition: transform .3s var(--motion-ease);
}
.home-page .plan a:hover span,
.home-page .text-link:hover span,
.home-page .final-cta > a:hover span,
.newsroom-page .story-card:hover .story-action,
.newsroom-page .back-link:hover span { transform: translate(3px, -3px); }

.reveal-item {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s var(--motion-ease), transform .8s var(--motion-ease);
}
.reveal-item.is-visible { opacity: 1; transform: translateY(0); }
.home-page .statement-grid > :nth-child(2),
.home-page .plan-grid > :nth-child(2) { transition-delay: .08s; }
.home-page .statement-grid > :nth-child(3),
.home-page .plan-grid > :nth-child(3) { transition-delay: .16s; }
.home-page .plan.reveal-item.is-visible:hover,
.home-page .plan.reveal-item.is-visible:focus-within { transform: translateY(-8px); }
.newsroom-page .story-card.reveal-item.is-visible:hover,
.newsroom-page .story-card.reveal-item.is-visible:focus-visible { transform: translateY(-5px); }

@keyframes nav-arrive {
  from { opacity: 0; transform: translateY(-18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes rise-in {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes signal-float {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-22px); }
}
@keyframes orbit-glow {
  0%, 100% { opacity: .65; }
  50% { opacity: 1; }
}
@keyframes data-drift {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-22px, -12px, 0); }
}
@keyframes pattern-drift {
  from { background-position: 0 0; }
  to { background-position: 55px 35px; }
}
@keyframes mark-pulse {
  0%, 100% { opacity: .8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
}
@keyframes orb-float {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-18deg); }
  50% { transform: translate3d(0, -18px, 0) rotate(-12deg); }
}
@keyframes live-pulse {
  0%, 100% { box-shadow: 0 0 0 4px #d9f3c130; }
  50% { box-shadow: 0 0 0 9px #d9f3c100; }
}

@media (max-width: 650px) {
  .home-page .plan:hover,
  .home-page .plan:focus-within,
  .home-page .plan.reveal-item.is-visible:hover,
  .home-page .plan.reveal-item.is-visible:focus-within,
  .newsroom-page .story-card:hover,
  .newsroom-page .story-card:focus-visible,
  .newsroom-page .story-card.reveal-item.is-visible:hover,
  .newsroom-page .story-card.reveal-item.is-visible:focus-visible { transform: translateY(-3px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal-item { opacity: 1 !important; transform: none !important; }
}
