/* Text-led hero: original wording, no streaming diagram or panel. */
.hero{overflow:clip}
.hero-inner{position:relative;z-index:1;padding-top:76px;padding-bottom:45px}
.hero:before{content:"";position:absolute;pointer-events:none;width:520px;height:900px;right:-270px;top:-180px;background:var(--color-navy-800);opacity:.35;transform:translateY(var(--hero-offset,0px)) rotate(24deg)}
.motion-enabled .hero:before{animation:hero-background-drift 18s ease-in-out infinite alternate}
.hero h1{padding-bottom:.08em}
.hero-text-enter .hero-phrase{animation:hero-phrase-reveal 1.05s cubic-bezier(.16,1,.3,1) both}
.hero-text-enter .hero-phrase:nth-child(2){animation-delay:.22s}
.hero-text-enter .hero-phrase:nth-child(3){animation-delay:.48s}
.hero-word{display:inline-block}
.motion-enabled .hero-word{animation:hero-word-emphasis 9s ease-in-out infinite;animation-delay:calc(2s + var(--word-index)*.25s)}
.hero.motion-paused .hero-phrase,.hero.motion-paused .hero-word,.hero.motion-paused:before{animation-play-state:paused!important}
@keyframes hero-phrase-reveal{from{opacity:0;transform:translateY(32px);clip-path:inset(100% 0 -15% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(-15% -5% -15% -5%)}}
@keyframes hero-word-emphasis{0%,14%,100%{color:var(--color-blue-200);transform:translateY(0)}5%,9%{color:var(--color-white);transform:translateY(-3px)}}
@keyframes hero-background-drift{from{translate:0 0}to{translate:-10px 12px}}
@media(max-width:800px){.hero-inner{padding-top:55px;padding-bottom:28px}}
@media(max-width:540px){.hero-inner{padding-top:40px;padding-bottom:20px}.hero-word{display:inline}.hero:before{right:-430px}}
@media(prefers-reduced-motion:reduce){.hero:before,.hero-phrase,.hero-word{animation:none!important;transform:none!important;clip-path:none!important}}
