/* Hero-only ambient motion; brand palette and original three-path diagram stay intact. */
.hero:before{display:none}
/* Escape only the centered content column. Use the measured client width,
   excluding the scrollbar, so the backdrop is full-bleed without overflow. */
.hero-ambience{position:absolute;top:0;bottom:0;left:50%;width:var(--hero-canvas-width,100%);transform:translateX(-50%);z-index:-1;overflow:hidden;pointer-events:none;contain:paint;mask-image:none}
.hero-ambience:before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#f5f1ea22 .7px,transparent 1px);background-size:54px 54px;opacity:.35}
.ambient-glow{position:absolute;width:70%;height:85%;border-radius:50%;background:radial-gradient(ellipse,#f000001c,transparent 68%);will-change:transform}
.glow-one{left:-28%;top:-8%}.glow-two{right:-24%;bottom:-22%;background:radial-gradient(ellipse,#f0000024,transparent 66%)}
.ambient-orbit{position:absolute;width:75%;aspect-ratio:1;border:1px solid #f000001c;border-radius:50%;top:-40%;right:-30%;box-shadow:0 0 0 75px #f0000005,0 0 0 150px #f0000004;transform:rotate(-25deg) scaleX(.8)}
.ambient-spark{position:absolute;width:3px;height:3px;border-radius:50%;background:#f00000;opacity:.4;box-shadow:0 0 12px #f0000060}
.spark-one{left:6%;top:38%}.spark-two{left:49%;top:17%}.spark-three{right:4%;top:74%}
.hero .type-ready .hero-line{animation:none;opacity:1;transform:none}
.hero .type-ready em{animation:none;background:none;color:#f5f1ea}
.typed-letter{position:relative;display:inline-block;white-space:pre}
.typed-space{width:.25em}
.type-ready .typed-letter{visibility:hidden}.type-ready .typed-letter.is-typed{visibility:visible}
.typed-letter.is-typing:after,.typed-letter.is-complete:after{content:'';position:absolute;left:100%;top:15%;height:75%;width:2px;margin-left:4px;background:#f00000;pointer-events:none}
.hero .hero-routes-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;margin-bottom:16px;font-size:clamp(20px,1.8vw,25px);font-weight:600;line-height:1.3;letter-spacing:-.025em}
.hero .hero-routes-heading>span{font-size:12px;font-weight:400;letter-spacing:0;line-height:1.4}
@media(max-height:760px) and (min-width:701px){.hero{padding-block:14px 12px;row-gap:12px}.hero .eyebrow{margin-bottom:10px}.hero p.hero-purpose{margin:14px 0}.hero-copy>.fine{margin-top:8px}.hero .hero-routes-heading{margin-bottom:12px}}
@media(prefers-reduced-motion:no-preference){
 .typed-letter.is-complete:after{animation:hero-caret-blink 1.1s step-end infinite}
 .hero-ambience .glow-one{animation:ambient-drift-one 18s ease-in-out infinite alternate}
 .hero-ambience .glow-two{animation:ambient-drift-two 23s ease-in-out infinite alternate}
 .hero-ambience .ambient-orbit{animation:ambient-orbit-drift 26s ease-in-out infinite alternate}
 .hero-ambience .ambient-spark{animation:ambient-rise 12s ease-in-out infinite alternate}
 .hero-ambience .spark-two{animation-delay:-5s;animation-duration:17s}.hero-ambience .spark-three{animation-delay:-8s;animation-duration:15s}
}
@keyframes hero-caret-blink{0%,55%,100%{opacity:1}56%,99%{opacity:0}}
.hero.hero-motion-paused .typed-letter.is-complete:after{animation:none!important;opacity:1}
@keyframes ambient-drift-one{from{transform:translate3d(0,0,0) scale(.9)}to{transform:translate3d(24%,14%,0) scale(1.15)}}
@keyframes ambient-drift-two{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-22%,-20%,0) scale(1.2)}}
@keyframes ambient-orbit-drift{from{transform:translate3d(0,0,0) rotate(-25deg) scaleX(.8)}to{transform:translate3d(-8%,12%,0) rotate(10deg) scaleX(.8)}}
@keyframes ambient-rise{from{transform:translate3d(0,22px,0);opacity:.18}to{transform:translate3d(18px,-36px,0);opacity:.55}}
.hero:is(.hero-motion-paused,.hero-motion-away) *,.hero:is(.hero-motion-paused,.hero-motion-away) :after,.hero:is(.hero-motion-paused,.hero-motion-away) :before,.body-dialog-open .hero *,.body-dialog-open .hero :after,.body-dialog-open .hero :before{animation-play-state:paused!important}
@media(max-width:700px){.ambient-glow{width:140%;height:90%}.glow-one{left:-55%}.ambient-orbit{width:130%;top:-15%;right:-95%}.typed-letter:after{margin-left:2px}}
@media(max-width:700px){.hero .hero-routes-heading{font-size:20px;margin-bottom:15px}.hero .hero-routes-heading>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero .type-ready .typed-letter{animation:none!important;visibility:visible}.typed-letter:after{display:none}.typed-letter.is-complete:after{display:block;animation:none!important;opacity:1}.hero-ambience *{animation:none!important;will-change:auto}.ambient-spark{display:none}}
@media print{.hero-ambience,.typed-letter:after,.typed-letter.is-complete:after{display:none}.hero .type-ready .typed-letter{animation:none!important;visibility:visible}.hero .type-ready em{color:#000}}
