:root{
 --brand-banner:url("assets/brand-banner.webp");
 --brand-float-lift:-14px;
 --brand-float-angle:1deg;
 --brand-float-duration:8s;
}
/* One selected scene for the homepage and all five inner-page headers. */
.hero-v3,.page-intro{--page-scene:var(--brand-banner);position:relative;isolation:isolate;background:#f0f8ff}
.hero-v3:before,.page-intro:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--brand-banner);background-size:cover;background-position:center;opacity:.82;pointer-events:none}
.hero-v3:after,.page-intro:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7fbff8a,transparent 65%),linear-gradient(0deg,#f8fcffe8,transparent 27%);pointer-events:none}
.hero-grid{display:none}
.hero-layout{position:relative}
/* A shared amplitude and cycle; phase offsets keep the objects from marching in sync. */
.hero-object,.motion-asset,.intro-art .motion-asset,.feature .motion-asset,.quick-card .motion-asset{
 animation:brand-float var(--brand-float-duration) ease-in-out infinite;
 animation-delay:var(--float-delay,0s);
}
@keyframes brand-float{
 0%,100%{transform:translateY(0) rotate(calc(-1 * var(--brand-float-angle)))}
 50%{transform:translateY(var(--brand-float-lift)) rotate(var(--brand-float-angle))}
}
.motion-asset.motion-idle,.stage-offscreen .hero-object,.page-background .motion-asset,.page-background .hero-object{animation-play-state:paused!important}
/* Material is in the filled SVG object, rather than a rounded box around a line glyph. */
.line-icon.glass-icon{border:0;background:none;box-shadow:none;border-radius:0;color:inherit;overflow:visible;isolation:isolate;transform:translateZ(0)}
.line-icon.glass-icon:before{inset:3%;border:0;border-radius:50%;background:radial-gradient(ellipse,#eef9ffb3,transparent 73%);z-index:-1}
.line-icon.glass-icon svg{width:100%;height:100%;overflow:visible;filter:none;transform:translateY(0);transition:transform .35s var(--ease),filter .35s}
.subnav .line-icon.glass-icon{width:43px;height:43px;min-width:43px;border:0;box-shadow:none;border-radius:0}
.subnav .line-icon.glass-icon:before{inset:0;border:0;border-radius:50%}
.subnav a{gap:13px;padding:13px 18px;min-height:84px}
.subnav a strong{font-size:12px}
.subnav a:hover .glass-icon{transform:none;border:0;box-shadow:none}
.subnav a:hover .glass-icon svg{transform:translateY(-3px) rotate(-5deg);filter:drop-shadow(0 4px 4px #4c9fce1d)}
.surface:hover>.glass-icon,.mini-feature:hover .glass-icon{transform:none;border:0;box-shadow:none}
.surface:hover>.glass-icon svg,.mini-feature:hover .glass-icon svg{transform:translateY(-3px) rotate(-4deg)}
.feature>.glass-icon{width:61px;height:61px;margin-bottom:22px}
.mini-feature .glass-icon{width:46px;height:46px;min-width:46px;margin-top:-3px}
.mini-feature .glass-icon svg,.feature>.glass-icon svg{width:100%;height:100%}
.journey-line .glass-icon,.growth-flow .glass-icon,.application-grid .glass-icon{width:50px;height:50px;top:21px;right:18px;margin:0;display:grid;border:0;box-shadow:none;background:none;border-radius:0}
.journey-line .glass-icon svg,.growth-flow .glass-icon svg,.application-grid .glass-icon svg{width:100%;height:100%}
.journey-line>a:hover .glass-icon,.growth-flow article:hover .glass-icon,.application-grid article:hover .glass-icon{transform:none;box-shadow:none}
.journey-line>a:hover .glass-icon svg,.growth-flow article:hover .glass-icon svg,.application-grid article:hover .glass-icon svg{transform:translateY(-3px) rotate(-4deg)}
/* Low-priority orbital detail balances the empty lower corner of process cards. */
.pipeline-tabs button{overflow:hidden;isolation:isolate;min-height:151px}
.pipeline-tabs button:before{content:"";position:absolute;width:135px;height:135px;right:-54px;bottom:-76px;border:1px solid #9dcdf45e;border-radius:50%;box-shadow:0 0 0 13px #c2e4fa18,0 0 0 27px #d0edfc14;z-index:-1;transition:transform .5s var(--ease),border-color .4s}
.pipeline-tabs button:after{content:"";position:absolute;width:84px;height:84px;right:-19px;bottom:-44px;border:1px solid #9aceed7a;border-radius:50%;background:radial-gradient(ellipse at 30% 25%,#c5eafb47,#eaf7ff08 65%);z-index:-1;transition:transform .5s var(--ease),background .4s}
.pipeline-tabs button strong,.pipeline-tabs button b,.pipeline-tabs button>span{position:relative;z-index:1}
.pipeline-tabs button>span{position:absolute}
.pipeline-tabs button:hover:before{transform:translate(-3px,-3px);border-color:#7eb9e77d}
.pipeline-tabs button:hover:after{transform:scale(1.06)}
.pipeline-tabs button[aria-selected=true]:before{border-color:#75b7ec80;box-shadow:0 0 0 13px #b0dafa26,0 0 0 27px #d0edfc24}
.pipeline-tabs button[aria-selected=true]:after{border-color:#75b7eaa1;background:radial-gradient(ellipse at 30% 25%,#a9dffb68,#dff3ff17 65%)}
@media(max-width:1180px){
 .subnav a{padding:13px 14px;gap:10px}
 .subnav .line-icon.glass-icon{width:39px;height:39px;min-width:39px}
 .mini-feature .glass-icon{width:41px;height:41px;min-width:41px}
}
@media(max-width:960px){
 .subnav a{min-width:164px}
 .subnav .line-icon.glass-icon{width:39px;height:39px;min-width:39px}
}
@media(max-width:680px){
 .hero-v3:before,.page-intro:before{background-size:auto 100%;background-position:65% center;opacity:.82}
 .hero-v3:after,.page-intro:after{background:linear-gradient(90deg,#f6fbffac,transparent 90%),linear-gradient(0deg,#f8fcffc9,transparent 32%)}
 .subnav a{min-width:155px;min-height:75px;padding:12px 14px;gap:10px}
 .subnav .line-icon.glass-icon{width:39px;height:39px;min-width:39px}
 .subnav a strong{font-size:11px}
 .mini-feature .glass-icon{width:44px;height:44px;min-width:44px;margin-bottom:13px}
 .journey-line .glass-icon,.growth-flow .glass-icon,.application-grid .glass-icon{width:42px;height:42px;right:13px;top:19px}
 .feature>.glass-icon{width:53px;height:53px}
 .pipeline-tabs button{min-height:133px}
 .pipeline-tabs{scroll-snap-type:none;scroll-behavior:auto}
 .pipeline-tabs button:before{width:106px;height:106px;right:-43px;bottom:-61px;box-shadow:0 0 0 10px #c2e4fa18,0 0 0 21px #d0edfc14}
 .pipeline-tabs button:after{width:65px;height:65px;right:-16px;bottom:-34px}
}
@media(prefers-reduced-motion:reduce){
 .hero-object,.motion-asset,.intro-art .motion-asset,.feature .motion-asset,.quick-card .motion-asset{animation:none!important;transform:none!important}
 .glass-icon svg,.pipeline-tabs button:before,.pipeline-tabs button:after{transition:none}
}
