:root{--precision-ease:cubic-bezier(.22,1,.36,1)}
@keyframes precision-arrive{from{opacity:.25;filter:blur(5px);translate:0 20px}to{opacity:1;filter:blur(0);translate:0 0}}
@keyframes precision-photo{from{filter:blur(4px);scale:1.025}to{filter:blur(0);scale:1}}
.hero-copy h1{animation:precision-arrive 1s var(--precision-ease) both}.hero-copy>p{animation:precision-arrive .9s var(--precision-ease) .12s both}.hero-copy>a,.hero-copy>button{animation:precision-arrive .8s var(--precision-ease) .24s both}
.precision-entered{animation:precision-arrive .85s var(--precision-ease) var(--precision-delay,0ms) both}.chapter-visual.precision-entered{animation:precision-photo 1s var(--precision-ease) both}
.product-frame{transition:opacity .65s var(--precision-ease)}.product-frame.is-current img{animation:precision-photo .8s var(--precision-ease) both}.product-frame:not(.is-current){pointer-events:none}.product-step-jump{transition:background .4s,color .4s,scale .4s var(--precision-ease)}.product-step.is-active .product-step-jump{scale:1.06}
.product-steps{position:relative}.product-steps:before{content:'';position:absolute;inset-inline-start:21px;top:40px;bottom:40px;width:1px;background:#10243a20;pointer-events:none;z-index:0}.product-step-jump{position:relative;z-index:1;background:#e7ecee}.product-progress i{transition:transform .6s var(--precision-ease)}
.city-row>span{position:relative;padding-inline-start:16px}.city-row>span:before{content:'';position:absolute;inset-inline-start:0;top:.5em;width:5px;height:5px;border-radius:50%;background:#df7a2b;box-shadow:0 0 0 4px #df7a2b12;transition:box-shadow .4s}.city-row>span.precision-entered:before{box-shadow:0 0 12px #df7a2b60}
/* Keep connection labels above the timeline on every viewport. */
#ecosystem .continuity-map .ecosystem-overview{padding-top:40px!important}
@media(hover:hover) and (pointer:fine){.plan-card{transition:translate .45s var(--precision-ease),box-shadow .45s}.plan-card:hover{translate:0 -4px;box-shadow:0 12px 30px #00000018,inset 0 0 0 1px #df7a2b55}.chapter-visual>img{transition:filter .45s}.chapter-visual:hover>img{filter:brightness(1.035)}header .brand-logo img{transition:rotate .55s var(--precision-ease)}header .brand-logo:hover img{rotate:2deg}}
@media(max-width:760px){.hero-copy h1,.hero-copy>p,.hero-copy>a,.hero-copy>button,.precision-entered{animation-duration:.6s;filter:none}.chapter-visual.precision-entered,.product-frame.is-current img{animation:none}.product-steps:before{inset-inline-start:21px}#ecosystem .continuity-map .ecosystem-overview{padding-top:0!important;grid-template-columns:1fr!important}.chapter-visual>img{will-change:auto}}
@media(prefers-reduced-motion:reduce){.hero-copy h1,.hero-copy>p,.hero-copy>a,.hero-copy>button,.precision-entered,.product-frame.is-current img,.chapter-visual.precision-entered{animation:none!important;filter:none;translate:none;scale:none}.product-frame,.product-progress i,.product-step-jump,.plan-card,.chapter-visual>img,header .brand-logo img{transition:none!important}.plan-card:hover,header .brand-logo:hover img{translate:none;rotate:none}.product-step.is-active .product-step-jump{scale:1}}
