/* Олег 04.11.2026 · набор движения сайта: появление при прокрутке, подсветка карточек за курсором,
   свечение за заголовком, рамка главной кнопки. Приглушённая бирюза Корпуса, без золота.
   «Меньше анимации» в системе — всё статично. Без JS — всё видно сразу. */
@property --kx{syntax:'<length>';inherits:false;initial-value:-999px}
@property --ky{syntax:'<length>';inherits:false;initial-value:-999px}
.js-motion [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0ms)}
.js-motion [data-reveal].is-in{opacity:1;transform:none}
/* Подсветка за курсором: мягкое пятно внутри и светящаяся кромка */
.page-card,.feature,.landing-plan,.card{position:relative;isolation:isolate}
.page-card::before,.feature::before,.landing-plan::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;opacity:0;transition:opacity .35s;
 background:radial-gradient(420px circle at var(--kx) var(--ky),color-mix(in srgb,var(--primary) 13%,transparent),transparent 62%)}
.page-card::after,.feature::after,.landing-plan::after{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .35s;
 background:radial-gradient(260px circle at var(--kx) var(--ky),color-mix(in srgb,var(--primary) 70%,transparent),transparent 65%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.page-card:hover::before,.feature:hover::before,.landing-plan:hover::before,.page-card:hover::after,.feature:hover::after,.landing-plan:hover::after{opacity:1}
.page-card{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s}
.page-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}
/* Свечение за первым заголовком */
.hero{position:relative}
.hero::before{content:'';position:absolute;left:50%;top:38%;width:min(760px,92vw);height:360px;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;filter:blur(60px);opacity:.55;
 background:radial-gradient(closest-side,color-mix(in srgb,var(--primary) 26%,transparent),transparent 70%),radial-gradient(closest-side at 70% 60%,color-mix(in srgb,var(--info) 18%,transparent),transparent 70%);
 animation:korpusAura 14s ease-in-out infinite alternate}
@keyframes korpusAura{from{transform:translate(-52%,-50%) scale(1)}to{transform:translate(-48%,-46%) scale(1.08)}}
/* Главная кнопка: тонкая бегущая рамка */
@property --ka{syntax:'<angle>';inherits:false;initial-value:0deg}
.hero .actions .text-link.primary{position:relative;padding:12px 22px;border-radius:999px;isolation:isolate}
.hero .actions .text-link.primary::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;z-index:-1;
 background:conic-gradient(from var(--ka),transparent 0 70%,color-mix(in srgb,var(--primary) 85%,transparent) 85%,transparent 100%),linear-gradient(color-mix(in srgb,var(--primary) 22%,transparent),color-mix(in srgb,var(--primary) 22%,transparent));
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:korpusSpin 5s linear infinite}
.hero .actions .text-link.primary::after{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-2;background:color-mix(in srgb,var(--primary) 9%,transparent)}
@keyframes korpusSpin{to{--ka:360deg}}
@media (prefers-reduced-motion:reduce){
 .js-motion [data-reveal]{opacity:1;transform:none;transition:none}
 .hero::before,.hero .actions .text-link.primary::before{animation:none}
 .page-card,.page-card:hover{transition:none;transform:none}
}
@media (hover:none){.page-card::before,.feature::before,.landing-plan::before,.page-card::after,.feature::after,.landing-plan::after{display:none}}
