/* Movement stays on decorative layers; wave-to-pillar anchors never drift. */
@property --site-text-angle{syntax:'<angle>';inherits:true;initial-value:0deg}
@keyframes hub-text-spectrum{to{--site-text-angle:360deg}}
@property --text-proximity{syntax:'<number>';inherits:false;initial-value:0}
:root{--site-text-spectrum:conic-gradient(from var(--site-text-angle) at 50% 50%,#2ba7ff,#7368ff,#ca45ff,#ec64ba,#fe881b,#ca45ff,#2ba7ff);animation:hub-text-spectrum 5s linear infinite;animation-play-state:paused}
:root.text-spectrum-active{animation-play-state:running}
.site-spectrum-text{--text-proximity:0;background-image:radial-gradient(circle 180px at var(--text-x,50%) var(--text-y,50%),color-mix(in srgb,currentColor calc((1 - var(--text-proximity))*100%),transparent) 0%,currentColor 100%),var(--site-text-spectrum)!important;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone;animation:none!important;transition:--text-proximity .2s ease}
.product-heading-gradient{background-image:none!important;color:var(--ink);-webkit-text-fill-color:currentColor;animation:none!important}
.site-spectrum-text::selection{background:#1758d4;color:#fff;-webkit-text-fill-color:#fff}
@media(prefers-reduced-motion:reduce){:root{animation:none!important}.site-spectrum-text{background:none!important;-webkit-text-fill-color:currentColor;transition:none}}
.motion-document-hidden{animation-play-state:paused!important}
@media(forced-colors:active){.site-spectrum-text{background:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important}}
@media print{.site-spectrum-text{background:none!important;color:#141d35!important;-webkit-text-fill-color:#141d35!important}}
@keyframes hub-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(.8deg)}}
@keyframes hub-toast-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes hub-service-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.04)}}
@keyframes hub-orbit{to{transform:rotate(360deg)}}
/* Each heading line has one paint box matching the pointer coordinates. */
#freedom-heading>.site-spectrum-text{display:inline-block;max-width:100%;vertical-align:top}
.download-management-badge>svg{animation:hub-orbit 18s linear infinite;animation-play-state:paused;transform-origin:center}
.product-introduction.motion-in-view .download-management-badge>svg{animation-play-state:running}
.sample-toast{animation:hub-toast-float 4.5s ease-in-out infinite;animation-play-state:paused}
.sample-toast:nth-child(2){animation-delay:-1.5s}.sample-toast:nth-child(3){animation-delay:-3s}
.sample-notebook,.privacy-art>img{animation:hub-float 6s ease-in-out infinite;animation-play-state:paused}
.feature-story.motion-in-view .sample-toast,.feature-story.motion-in-view .sample-notebook,.privacy-art.motion-in-view>img{animation-play-state:running}
.service-list li>img{animation:hub-service-float 4s ease-in-out infinite;animation-play-state:paused}
.service-list li:nth-child(3n+2)>img{animation-delay:-1.3s}.service-list li:nth-child(3n)>img{animation-delay:-2.6s}
.services-section.motion-in-view .service-list li>img{animation-play-state:running}
.precision-line{transform-origin:bottom center}
.desktop-nav a,.hub-footer nav a{position:relative}
.desktop-nav a::after,.hub-footer nav a::after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:2px;background:linear-gradient(90deg,#2ba7ff,#ca45ff,#fe881b);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after,.hub-footer nav a:hover::after,.hub-footer nav a:focus-visible::after{transform:scaleX(1)}
.download-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s}
.download-button:not(.unavailable),.header-download,.text-link,.hub-footer-socials button{transition:transform .25s,box-shadow .25s}
@media(hover:hover) and (pointer:fine){.download-card:hover{transform:translateY(-7px);box-shadow:0 18px 42px -24px #365aa84a}.download-button:not(.unavailable):hover,.header-download:hover{transform:translateY(-3px);box-shadow:0 9px 22px -12px #0758ff99}.text-link:hover{transform:translateX(4px)}.hub-footer-socials button:hover{transform:translateY(-4px) rotate(-4deg)}}
.motion-document-hidden *,.motion-document-hidden *::before,.motion-document-hidden *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.product-heading-gradient,#freedom-heading>span,.download-management-badge>svg,.sample-toast,.sample-notebook,.privacy-art>img,.service-list li>img{animation:none!important}.download-card,.download-button,.header-download,.text-link,.hub-footer-socials button,.desktop-nav a::after,.hub-footer nav a::after{transition:none!important;transform:none!important}}
