:root{--cd-red:#e8383f;--cd-red2:#ff4d57;--cd-black:#0d0d0d}
a{transition:color .25s ease;position:relative}
a:hover{color:var(--cd-red2)}
a:not(.btn):not(.tr-btn):not(.btn-train)::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:2px;background:var(--cd-red);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
a:not(.btn):not(.tr-btn):not(.btn-train):hover::after{transform:scaleX(1)}
h1,h2{animation:cdTitleIn .9s cubic-bezier(.2,.7,.2,1) both}
h1::after,h2::after{content:"";display:block;width:48px;height:3px;margin-top:8px;background:var(--cd-red);border-radius:2px;transform-origin:left;animation:cdUnderline .8s .4s cubic-bezier(.2,.7,.2,1) both}
@keyframes cdTitleIn{from{opacity:0;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes cdUnderline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.btn,.btn-train,.tr-btn,.tr-ok,.btn-dark{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn:hover,.btn-train:hover,.tr-btn:hover,.tr-ok:hover,.btn-dark:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(232,56,63,.25)}
.btn::after,.btn-train::after,.tr-btn::after,.tr-ok::after{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s ease}
.btn:hover::after,.btn-train:hover::after,.tr-btn:hover::after,.tr-ok:hover::after{left:125%}
.step-card,.mod,.tr-card,.plan-option,.option-card,.vas-card,.service-card,.value,.stat,.audience-card,.trust-item,.faq-item{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.cd-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.cd-reveal.cd-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}.cd-reveal{opacity:1;transform:none}}
