/* Subtle movement and scroll feedback */
html:before{content:"";position:fixed;z-index:1001;inset:0 auto auto 0;width:100%;height:2px;pointer-events:none;background:linear-gradient(90deg,#60e2d0,#438ef1 55%,#a68bff);transform:scaleX(var(--page-progress,0));transform-origin:left;box-shadow:0 0 12px #438ef188;transition:transform .08s linear}
header{transition:background .25s ease,box-shadow .25s ease}body.has-scrolled header{background:rgba(7,17,31,.96);box-shadow:0 8px 30px rgba(0,0,0,.16)}
.hero{isolation:isolate}.hero:before{content:"";position:absolute;z-index:-1;width:min(60vw,760px);height:min(60vw,760px);right:-12%;top:-28%;border-radius:50%;background:radial-gradient(circle,rgba(54,126,205,.2),rgba(38,94,161,.08) 38%,transparent 70%);filter:blur(8px);animation:hero-breathe 11s ease-in-out infinite alternate;pointer-events:none}
@keyframes hero-breathe{from{transform:translate3d(-2%,0,0) scale(.94);opacity:.65}to{transform:translate3d(2%,3%,0) scale(1.08);opacity:1}}
.category-card,.plan,.feature-card,.catalog-plan{--shine-x:50%;--shine-y:0%;position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.75,.25,1),border-color .28s ease,box-shadow .28s ease}
.category-card:after,.plan:after,.feature-card:after,.catalog-plan:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(320px circle at var(--shine-x) var(--shine-y),rgba(105,168,255,.11),transparent 65%);transition:opacity .25s ease}
.category-card:hover,.plan:hover,.feature-card:hover,.catalog-plan:hover{transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) translateY(-4px);border-color:rgba(105,168,255,.48);box-shadow:0 18px 44px rgba(0,0,0,.2)}
.category-card:hover:after,.plan:hover:after,.feature-card:hover:after,.catalog-plan:hover:after{opacity:1}
.motion-ready .scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
.motion-ready .scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
.motion-ready .scroll-reveal.is-visible.category-card:hover,.motion-ready .scroll-reveal.is-visible.plan:hover,.motion-ready .scroll-reveal.is-visible.feature-card:hover,.motion-ready .scroll-reveal.is-visible.catalog-plan:hover{transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) translateY(-4px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.brand-image{display:flex;align-items:center}.brand-image img{display:block;width:140px;height:52px;object-fit:cover;background:#f8fbff;border-radius:8px}@media(max-width:720px){.brand-image img{width:108px;height:44px}}

/* Keep scroll feedback subtle and the layout static and square. */
html:before{background:#6ca7e3;box-shadow:none}
.hero:before{display:none!important}
.category-card:after,.plan:after,.feature-card:after,.catalog-plan:after{display:none!important}
.category-card:hover,.plan:hover,.feature-card:hover,.catalog-plan:hover{transform:none!important;box-shadow:none!important}
.motion-ready .scroll-reveal{transform:none;transition:opacity .28s ease var(--reveal-delay,0ms)}
.motion-ready .scroll-reveal.is-visible.category-card:hover,.motion-ready .scroll-reveal.is-visible.plan:hover,.motion-ready .scroll-reveal.is-visible.feature-card:hover,.motion-ready .scroll-reveal.is-visible.catalog-plan:hover{transform:none!important}
