/* ============================================================
   Вектор ИИ — Landing 2026
   ============================================================ */

:root {
    --bg:         #0B0C0C;
    --card-dark:  #1A1A1A;
    --purple:     #702C9F;
    --purple-2:   #5037A0;
    --purple-3:   #46255D;
    --purple-light: #8D2DCF;
    --accent:     #F17400;
    --accent-h:   #F58F33;
    --green:      #209F6D;
    --blue:       #28343E;
    --white:      #FFFFFF;
    --radius:     16px;
    --pill:       99px;
    --maxw:       1216px;
}

/* ---- Landing scope reset ---- */
.vec, .vec * { box-sizing: border-box; }

.vec {
    background:
        radial-gradient(216.25% 141.42% at 0% 0%, rgba(7, 1, 16, 0.7) 100%, #491275 100%),
        radial-gradient(190.62% 112.81% at 0% 50.03%, #7E41AE 0%, rgba(7, 1, 16, 0.00) 100%),
        var(--bg);
    color: var(--white);
    position: relative;
    font-family: '~', 'Proxima Nova', 'Inter', system-ui, sans-serif;
    overflow: hidden;
}

.vec section {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

.vec__blur {
    position: absolute;
    top: 132px;
    left: 50%;
    transform: translateX(-50%);
    width: 1440px; height: 1440px;
    border-radius: 1440px;
    pointer-events: none;
    z-index: 1;
}
.vec__blur--violet1 {
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #4D08B0 0%, rgba(77,8,176,0) 95%);
    filter: blur(94.3px);
}
.vec__blur--violet2 {
    opacity: 0.9;
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #4D07B2 0%, rgba(77,7,178,0) 78%);
    filter: blur(50px);
}
.vec__blur--violet3 {
    filter: blur(94.3px);
}

.vec .wrapper {
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 0 76px;
    position: relative;
    z-index: 2;
}

.vec section { position: relative; }

/* ---- Typography ---- */
.vec h1:not([class]), .vec h2:not([class]), .vec h3:not([class]) { margin: 0; font-weight: 700; }
.vec p:not([class]) { margin: 0; }

/* ---- Buttons ---- */
.vec .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px 35.5px;
    height: 54px;
    border-radius: var(--pill);
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    border: 0;
    cursor: pointer;
    transition: background-color .25s ease, color .25s ease;
    white-space: nowrap;
}
.vec .btn--orange { background: var(--accent); color: var(--white); }
.vec .btn--orange:hover { background: var(--accent-h); }
.vec .btn--white  { background: var(--white); color: #0b0c0c; height: 48px; }
.vec .btn--white:hover  { background: #dcdcdc; }

/* ============================================================
   1. HERO
   ============================================================ */
.hero {
    padding: 48px 0 128px;
    color: var(--white);
    position: relative;
}

/* decorative blurs */
.hero__blur {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    filter: blur(94.3px);
}
.hero__blur--green-tl {
    width: 686px; height: 698px;
    left: -165px; top: -115px;
    border-radius: 698px;
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #006732 0%, rgba(0,103,50,0) 100%);
}
.hero__blur--blue-tl {
    width: 584px; height: 594px;
    left: 29px; top: 48px;
    border-radius: 594px;
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #02ADEE 0%, rgba(2,173,238,0) 100%);
}
.hero__blur--green-tr {
    width: 434px; height: 442px;
    right: -28px; top: 209px;
    border-radius: 442px;
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #006732 0%, rgba(0,103,50,0) 100%);
}
.hero__blur--blue-tr {
    width: 434px; height: 442px;
    right: -28px; top: 210px;
    border-radius: 442px;
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #02ADEE 0%, rgba(2,173,238,0) 100%);
}

/* logos row */
.hero__logos {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
    min-height: 55px;
    position: relative;
    z-index: 3;
}
.hero__logo { flex: 0 0 auto; height: 48px; display: flex; align-items: center; }
.hero__logo img { display: block; max-height: 100%; width: auto; }
.hero__logo--fond      { width: 125px; }
.hero__logo--academy   { width: 100px; }
.hero__logo--dvizhenie { width: 24px;  }
.hero__logo--nit       { width: 82px; height: 55px; }
.hero__logo--nto       { width: 130px; }
.hero__logo--vsoi      { width: 36px;  }
.hero__logo--aic       { width: 150px; }

.hero__sep {
    flex: 0 0 auto;
    display: inline-flex;
}
.hero__sep img { display: block; }

/* layout */
.hero__layout {
    display: flex;
    align-items: center;
    gap: 32px;
    position: relative;
    z-index: 2;
    min-height: 360px;
}
.hero__content {
    flex: 1 1 50%;
    max-width: 640px;
    display: flex;
    flex-direction: column;
    margin-top: 64px;
}
.hero__date    { font-weight: 700; font-size: 24px; line-height: 32px; }
.hero__title   { font-weight: 700; font-size: 64px; line-height: 72px; }
.hero__title:not(:last-child)   { margin-bottom: 24px; }
.hero__subtitle{ font-weight: 700; font-size: 24px; line-height: 32px; max-width: 472px; }
.hero__subtitle:not(:last-child)   { margin-bottom: 24px; }
.hero__content .btn { align-self: flex-start; }

.hero__media {
    position: relative;
    flex: 0 0 632px;
    height: 492px;
    margin-right: -30px;
}
.hero__grid {
    position: absolute;
    left: 83px; top: -11px;
    width: 503px; height: 503px;
    border-radius: 50%;
    overflow: hidden;
    opacity: .85;
    z-index: 1;
}
.hero__img {
    position: absolute;
    bottom: 0;
    left: -1px;
    width: 625px;
    height: 474px;
    z-index: 2;
}
.hero__img img { width: 100%; height: 100%; object-fit: cover; }

/* ============================================================
   2. INTRO
   ============================================================ */
.intro { padding: 0 0 80px; }
.intro__card {
    position: relative;
    width: 100%;
    min-height: 500px;
    border-radius: var(--radius);
    background: url('img/new/intro-bg.png') center / 100% 100% no-repeat;
    aspect-ratio: 1215 / 500;
    min-height: 0;
    padding: 64px 80px 80px;
    display: flex;
    align-items: flex-start;
    color: var(--white);
}
.intro__bg-shape {
    position: absolute;
    pointer-events: none;
}
.intro__bg-shape--circle {
    right: -403px;
    top: -144px;
    width: 1068px; height: 868px;
    border-radius: 9999px;
    background: radial-gradient(36.39% 37.42% at 51.62% 48.3%, rgba(0,103,50,0.9) 0%, rgba(0,103,50,0) 100%);
    z-index: -1;
}
.intro__bg-shape--violet {
    right: -40px; top: -100px;
    width: 600px; height: 600px;
    aspect-ratio: 1 / 1;
    z-index: 1;
}
.intro__bg-shape--violet img { width: 100%; height: 100%; object-fit: contain; }
.intro__bg-shape--photo {
    right: -40px; top: 0;
    width: 529px; height: 504px;
    z-index: 2;
}
.intro__bg-shape--photo img { width: 100%; height: 100%; object-fit: cover; object-position: bottom; }

.intro__text {
    position: relative;
    z-index: 3;
    max-width: 720px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.intro__title {
    font-style: normal;
    font-weight: 700;
    font-size: 64px;
    line-height: 72px;
}
.intro__title em { font-style: italic; font-weight: 700; }
.intro__desc {
    font-size: 24px;
    line-height: 32px;
    max-width: 642px;
    font-weight: 400;
}

/* ============================================================
   3. HOW IT WORKS
   ============================================================ */
.how {
    padding: 40px 0 80px;
    position: relative;
}
.how__blur {
    position: absolute;
    pointer-events: none;
    z-index: 0;
}
.how__deco {
    position: absolute;
    pointer-events: none;
    z-index: 3;
}
.how__deco img { display: block; width: 100%; height: 100%; object-fit: contain; }
.how__deco--team {
    left: 65%;
    top: -88px;
    width: 215px; height: auto;
    transform: translateX(-50%) rotate(-8deg);
}
.how__deco--team img { animation: vec-floatY 4s ease-in-out infinite; }

.how__blur--black {
    right: -512px; bottom: 270px;
    width: 1840px; height: 930px;
    border-radius: 9999px;
    background: radial-gradient(50.57% 52.94% at 86.02% 63.95%, rgba(0,0,0,0) 0%, #000 100%);
    filter: blur(117.28px);
}
.how__blur--blue {
    left: -886px; top: -200px;
    width: 1624px; height: 1624px;
    border-radius: 1624px;
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, rgba(2,173,238,0.5) 0%, rgba(2,173,238,0.5) 100%);
    filter: blur(150px);
}

.how__head {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 40px;
    color: var(--white);
}
.how__title {
    font-style: italic; font-weight: 700;
    font-size: 64px;
    line-height: 72px;
}
.how__subtitle {
    font-weight: 700;
    font-size: 40px;
    line-height: 48px;
}

/* cards row */
.how__cards {
    position: relative;
    display: flex;
    gap: 8px;
    align-items: stretch;
    width: 100%;
    z-index: 2;
}
.how__card {
    flex: 1 1 0;
    min-width: 0;
    border-radius: var(--radius);
    overflow: hidden;
    position: relative;
}
.how__card--list {
    background: var(--card-dark);
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    max-width: 400px;
}
.how__item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: var(--white);
    position: relative;
    z-index: 2;
}
.how__item-title { font-weight: 700; font-size: 24px; line-height: 32px; }
.how__item-desc  { font-weight: 400; font-size: 20px; line-height: 28px; }

.how__list-img {
    position: absolute;
    right: -24px; bottom: -98px;
    width: 200px; height: 200px;
    z-index: 1;
}
.how__list-img img { width: 100%; height: 100%; object-fit: contain; }

.how__card--illustration {
    background: url('img/new/how-bg.png') center / 100% 100% no-repeat;
    min-height: 540px;
    max-width: 400px;
}

.how__card--stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: transparent;
    overflow: visible;
    max-width: 400px;
}
.how__sub {
    background: var(--purple);
    color: var(--white);
    border-radius: var(--radius);
    padding: 32px;
    flex: 1 1 0;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 266px;
}
.how__sub-title { font-weight: 700; font-size: 24px; line-height: 32px; max-width: 336px; }
.how__sub-desc  { font-weight: 400; font-size: 20px; line-height: 28px; max-width: 336px; }
.how__sub-img {
    position: absolute;
    right: -24px; bottom: -98px;
    width: 200px; height: 200px;
    z-index: 0;
}
.how__sub-img img { width: 100%; height: 100%; object-fit: contain; }

/* bottom block */
.how__bottom {
    margin-top: 40px;
    background: var(--card-dark);
    border-radius: var(--radius);
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: var(--white);
    position: relative;
    overflow: hidden;
}
.how__bottom-blur {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    border-radius: 50%;
}
.how__bottom-blur--violet1 {
    left: -267.832px; bottom: -270.432px;
    width: 615.665px; height: 911.567px;
    border-radius: 911.567px;
    background: rgba(73,18,117,0.7);
    transform: rotate(39.4deg);
    filter: blur(125px);
}
.how__bottom-blur--violet2 {
    right: -289.742px; bottom: -395.486px;
    width: 1011.401px; height: 603.722px;
    border-radius: 1011.401px;
    background: #702C9F;
    transform: rotate(39.4deg);
    filter: blur(135.5px);
}
.how__bottom-text {
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    max-width: 423px;
    position: relative;
    z-index: 2;
}
.how__bottom-img {
    width: 127px; height: 127px;
    flex: 0 0 127px;
    position: relative;
    z-index: 2;
}
.how__bottom-img img { width: 100%; height: 100%; object-fit: contain; }
.how__bottom-note {
    background: var(--card-dark);
    border-radius: var(--radius);
    padding: 24px;
    font-size: 20px;
    line-height: 28px;
    max-width: 572px;
    position: relative;
    z-index: 2;
    box-shadow: 0 0 0 1px rgba(255,255,255,.04) inset;
}

/* hand-drawn "собери команду" badge */
.how__badge {
    position: absolute;
    z-index: 5;
    pointer-events: none;
    font-family: 'Proxima Nova', sans-serif;
    font-style: italic; font-weight: 700;
    color: var(--white);
    background: var(--purple-light);
    padding: 8px 16px;
    border-radius: 12px;
    transform: rotate(-7.7deg);
    box-shadow: 0 6px 18px rgba(141,45,207,.4);
}
.how__badge--team {
    right: 120px;
    top: 90px;
    font-size: 24px;
    line-height: 1.4;
}

/* ============================================================
   4. LEVELS
   ============================================================ */
.levels {
    padding: 40px 0 80px;
    position: relative;
}
.levels__blur {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    border-radius: 50%;
}
.levels__blur--violet {
    left: -470.006px; bottom: -326.271px;
    width: 1098.842px; height: 1098.842px;
    border-radius: 9999px;
    background: radial-gradient(43.11% 43.11% at 51.62% 48.3%, rgba(100,35,141,0.9) 0%, rgba(126,65,174,0) 100%);
    transform: rotate(134.679deg);
}
.levels__blur--violet2 {
    right: -204px; top: -93px;
    width: 1098px; height: 1098px;
    border-radius: 1098px;
    opacity: 0.9;
    background: radial-gradient(50% 50% at 50% 50%, #4D08B0 0%, rgba(77,8,176,0) 77.88%);
    filter: blur(50px);
}
.levels__deco {
    position: absolute;
    z-index: 3;
    pointer-events: none;
}
.levels__deco img { display: block; width: 100%; height: 100%; object-fit: contain; }
.levels__deco--left      { left: -90px;  top: 180px;  width: 270px; height: 270px; transform: rotate(-28deg); }
.levels__deco--right     { right: -150px; bottom: 80px; width: 415px; height: 415px; transform: rotate(135deg); }
.levels__deco--right-top { right: 214px;  top: 172px;  width: 111px; height: 111px; }

.levels__title {
    font-style: italic; font-weight: 700;
    font-size: 64px;
    line-height: 72px;
    text-align: center;
    color: var(--white);
    margin-bottom: 40px;
    position: relative;
    z-index: 2;
}
.levels__mini-img {
    position: absolute;
    left: -64px; bottom: 256px;
    width: 218px; height: auto;
    z-index: 3;
    pointer-events: none;
    transform: rotate(-22deg);
}
.levels__mini-img img {
    width: 100%; height: 100%; object-fit: contain;
    animation: vec-floatY 4s ease-in-out infinite;
}

.levels__participate {
    position: absolute;
    right: -68px; top: 310px;
    width: 204px; height: auto;
    z-index: 3;
    pointer-events: none;
    transform: rotate(22deg);
}
.levels__participate img {
    width: 100%; height: 100%; object-fit: contain;
    animation: vec-floatX 4s ease-in-out infinite;
}

.levels__badge {
    position: absolute;
    z-index: 5;
    pointer-events: none;
    font-family: 'Proxima Nova', sans-serif;
    font-style: italic; font-weight: 700;
    color: var(--white);
    background: var(--purple-light);
    padding: 10px 22px;
    border-radius: 14px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(141,45,207,.45);
}

.levels__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    position: relative;
    z-index: 2;
}
.level {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 32px;
    padding-left: 24px;
    border-radius: var(--radius);
    max-width: 864px;
    width: 100%;
    color: var(--white);
}
.level--basic { background: var(--purple); }
.level--plus  { background: var(--purple-2); }
.level--pro   { background: var(--card-dark); }

.level__img {
    flex: 0 0 158px;
    width: 158px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.level__img img { max-width: 100%; max-height: 100%; object-fit: contain; }

.level__text {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.level__title { font-weight: 700; font-size: 24px; line-height: 32px; }
.level__sep   { opacity: .6; margin: 0 4px; }
.level__desc  { font-weight: 400; font-size: 20px; line-height: 28px; }

.levels__cta {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    position: relative;
    z-index: 2;
}
.levels__cta .btn { padding: 12px 60px; }

/* ============================================================
   5. GAINS
   ============================================================ */
.gains {
    padding: 40px 0 80px;
    position: relative;
}
.gains__blur {
    position: absolute;
    pointer-events: none;
    z-index: 0;
}
.gains__blur--black1 {
    left: -430px; bottom: 24px;
    width: 2300px; height: 1054px;
    border-radius: 9999px;
    background: radial-gradient(50.57% 52.94% at 86.02% 63.95%, rgba(0,0,0,0) 0%, #000 100%);
    filter: blur(117.28px);
}
.gains__blur--black2 {
    left: -1182px; bottom: 50px;
    width: 3804px; height: 1484px;
    border-radius: 9999px;
    background: radial-gradient(43.11% 43.11% at 51.62% 48.3%, #0B0C0C 15.87%, rgba(11,12,12,0) 100%);
}
.gains__blur--green {
    right: 24px; top: 72px;
    width: 656px; height: 666px;
    border-radius: 666px;
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #006732 0%, rgba(0,103,50,0) 100%);
    filter: blur(94.3px);
}
.gains__blur--violet {
    left: -444px; bottom: 50px;
    width: 1232px; height: 1232px;
    border-radius: 1232px;
    opacity: 0.9;
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #4D08B0 0%, rgba(77,8,176,0) 78%);
    filter: blur(50px);
}
.gains__title {
    font-style: italic; font-weight: 700;
    font-size: 64px;
    line-height: 72px;
    text-align: center;
    color: var(--white);
    margin-bottom: 40px;
}
.gains__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
.gain {
    background: var(--purple);
    color: var(--white);
    border-radius: var(--radius);
    padding: 32px;
    position: relative;
    overflow: hidden;
    font-size: 24px;
    line-height: 32px;
    min-height: 224px;
}
.gain b { font-weight: 700; }
.gain p { position: relative; z-index: 2; max-width: 442px; }

.gain__img {
    position: absolute;
    right: -8px; bottom: -120px;
    width: 264px; height: 264px;
    z-index: 1;
}
.gain__img img { width: 100%; height: 100%; object-fit: contain; }

.gain--small { grid-column: span 1; }
.gain--medium { grid-column: span 2; min-height: 242px; }
.gain--medium-top { min-height: 224px; }

.gain--medium:not(.gain--medium-top) .gain__img { bottom: -105px; }
.gain--hero {
    grid-column: span 2;
    grid-row: span 2;
    min-height: 492px;
    background: transparent;
    padding: 0;
}
.gain--hero .gain__hero-img {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
}
.gain--hero .gain__hero-img img { width: 100%; height: 100%; object-fit: cover; }

.gains__cta {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
.gains__cta .btn { padding: 12px 60px; }

/* ============================================================
   6. FORMAT
   ============================================================ */
.format {
    padding: 40px 0 80px;
    position: relative;
}
.format__blur {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    border-radius: 50%;
}
.format__blur--blue {
    left: 50%; 
    transform: translateX(-50%);
    bottom: -64px;
    width: 912px; height: 535px;
    border-radius: 912px;
    background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, rgba(2,173,238,0.5) 0%, rgba(2,173,238,0.5) 100%);
    filter: blur(150px);
}
.format .wrapper {
    text-align: center;
    color: var(--white);
    position: relative;
    z-index: 2;
}
.format__title {
    font-style: italic; font-weight: 700;
    font-size: 64px;
    line-height: 72px;
    margin-bottom: 24px;
}
.format__desc {
    font-size: 24px;
    line-height: 32px;
    max-width: 560px;
    margin: 0 auto 50px;
}
.format__sub {
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 24px;
}
.format__pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    max-width: 820px;
    margin: 0 auto;
}
.pill {
    background: var(--white);
    color: #0b0c0c;
    border-radius: 30px;
    padding: 16px 32px;
    font-size: 24px;
    line-height: 32px;
    font-weight: 400;
}

/* ============================================================
   7. WHAT NEXT
   ============================================================ */
.next {
    padding: 40px 0 120px;
    position: relative;
}
.next__blur {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    border-radius: 50%;
}
.next__blur--black {
    left: -435px; bottom: -1523px;
    width: 2310px; height: 2310px;
    border-radius: 2310px;
    background: radial-gradient(0.11% 33.23% at 50% 50%, rgba(0, 0, 0, 0.00) 0%, #000 100%);
    filter: blur(150px);
}
.next__title {
    font-style: italic;
    font-weight: 700;
    font-size: 64px;
    line-height: 72px;
    text-align: center;
    color: var(--white);
    margin-bottom: 40px;
    position: relative;
    z-index: 2;
}
.next__card {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    background: url('img/new/next-bg.png') center / 100% 100% no-repeat;
    aspect-ratio: 1216 / 500;
    min-height: 0;
    padding: 64px 80px;
    display: flex;
    align-items: center;
}
.next__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.next__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .6; }
.next__photo {
    position: absolute;
    right: 80px; top: 10px;
    width: 466px; height: 471px;
    border-radius: 50%;
    overflow: hidden;
    z-index: 2;
}
.next__photo img { width: 100%; height: 100%; object-fit: cover; }
.next__text {
    position: relative;
    z-index: 3;
    max-width: 700px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    color: var(--white);
}
.next__heading {
    font-style: italic; 
    font-weight: 700;
    font-size: 40px;
    line-height: 1.1;
}
.next__sub {
    font-size: 20px;
    line-height: 28px;
    max-width: 512px;
}
.next__text .btn { align-self: flex-start; }

/* ============================================================
   FORM OVERRIDES (replaces unicorn-class rules from style.css)
   ============================================================ */
.vec .banner-back,
.vec .banner-img,
.vec .second-block__img.desc,
.vec .advantage__img,
.vec .blue-mini-img,
.vec .white-bukva-img,
.vec .prokachka-img,
.vec .blue-bukva-img,
.vec .bottom-banner__button,
.vec .b-order-politic label,
.vec .b-order-politic .m-form-policy__text,
.vec .b-order-button button,
.vec .b-order-button--white button,
.vec .b-order-button,
.vec .m-send-image,
.vec .m-send-title,
.vec .b-order-forms-result .b-order-button,
.vec .b-order-forms-result .b-order-button button,
.vec .b-order-forms-result p,
.vec .bottom-banner__desc,
.vec .bottom-banner__img { /* no-op container — preserved for shared form selectors */ }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
    .hero__layout { flex-direction: column; align-items: stretch; gap: 40px; }
    .hero__media { width: 100%; max-width: 632px; align-self: center; }
    .hero__title { font-size: 48px; line-height: 56px; }
    .intro__card { padding: 48px 40px 60px; min-height: 460px; }
    .intro__bg-shape--photo { left: auto; right: 0; width: 360px; height: 360px; }
    .intro__bg-shape--circle { left: auto; right: -100px; }
    .intro__title { font-size: 48px; line-height: 56px; }

    .how__cards { flex-wrap: wrap; }
    .how__card { flex: 1 1 calc(50% - 4px); max-width: none; }
    .how__card--list, .how__card--illustration, .how__card--stack { max-width: none; }
    .how__bottom { flex-wrap: wrap; }
    .how__bottom-img { display: none; }
    .how__bottom-note { width: 100%; max-width: none; }

    .gains__grid { grid-template-columns: repeat(2, 1fr); }
    .gain--medium, .gain--hero { grid-column: span 2; grid-row: auto; min-height: 220px; }
    .gain--hero { min-height: 320px; }

    .levels__badge--up { left: 8px; top: 540px; font-size: 26px; }
    .levels__badge--in { right: 8px; top: 250px; font-size: 24px; }
    
    .levels__mini-img { right: 16px; top: 110px; width: 193px; height: auto; }
    .next__photo { display: none; }
    .next__card { padding: 48px 40px; }
    .next__heading { font-size: 32px; }
}

/* ---- Tablet (744–1199) — matches Figma node 336:11818 ---- */
@media (min-width: 744px) and (max-width: 1199px) {
    .vec .wrapper { padding: 0 76px; max-width: 100%; }
    .vec {
        background:
            radial-gradient(212.71% 141.42% at 0% 0%, rgba(7,1,16,0.5) 0%, #491275 100%),
            radial-gradient(135.72% 103% at 0% 37.43%, #7E41AE 0%, rgba(7,1,16,0) 100%),
            var(--bg);
    }
    .vec__blur--violet1,
    .vec__blur--violet2 {
        display: none;
    }
    .vec__blur--violet3 {
        width: 744px; height: 744px; top: 96px;
        background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #4D07B2 0%, #4D07B2 45%, rgba(77,7,178,0) 98%);
        filter: blur(50px);
    }

    /* HERO */
    .hero { padding: 48px 0; }
    .hero__logos { gap: 24px; min-height: 0; margin-bottom: 0; }
    .hero__logo { height: auto; }
    .hero__logo--fond      { width: 98px;  height: 33px; }
    .hero__logo--academy   { width: 81px;  height: 31px; }
    .hero__logo--dvizhenie { width: 19px;  height: 37px; }
    .hero__logo--nit       { width: 55px;  height: 37px; }
    .hero__logo--nto       { width: 104px; height: 27px; }
    .hero__logo--vsoi      { width: 29px;  height: 31px; }
    .hero__logo--aic       { width: 112px; height: 33.6px; }
    .hero__sep img { width: 9px; height: 9px; }

    .hero__layout { flex-direction: row; align-items: flex-start; justify-content: space-between; gap: 24px; min-height: 0; margin-top: 24px; }
    .hero__content { flex: 0 0 294px; max-width: 294px; margin-top: 50px; }
    .hero__date     { font-size: 16px; line-height: 20px; }
    .hero__title    { font-size: 40px; line-height: 48px; }
    .hero__title:not(:last-child)    { margin-bottom: 16px; }
    .hero__subtitle { font-size: 16px; line-height: 20px; max-width: 294px; }
    .hero__subtitle:not(:last-child) { margin-bottom: 16px; }
    .hero__content .btn { height: 48px; padding: 12px 35.5px; }

    .hero__media { flex: 0 0 332px; width: 332px; height: 258px; max-width: 332px; align-self: flex-start; margin: 0; margin-top: -4px; margin-left: -8px; }
    .hero__img { position: absolute; inset: 0; width: 100%; height: 100%; left: 0; }

    .hero__blur--green-tl { width: 409px; height: 416px; left: -116px; top: 34px; }
    .hero__blur--blue-tl  { width: 349px; height: 354px; left: -1px;   top: 131px; }
    .hero__blur--green-tr { width: 297px; height: 303px; right: -20px; top: 194px; left: auto; }
    .hero__blur--blue-tr  { width: 297px; height: 302px; right: -20px; top: 195px; left: auto; }
    .hero__blur { filter: blur(48px); }

    /* INTRO */
    .intro { padding: 88px 0 40px; }
    .intro__card { padding: 64px 24px; aspect-ratio: 592/700; min-height: 700px; max-width: 600px; margin: 0 auto; align-items: flex-start; background-image: url('img/new/intro-bg-tab.png'); }
    .intro__text { max-width: 544px; gap: 24px; }
    .intro__title { font-size: 40px; line-height: 48px; }
    .intro__desc  { font-size: 24px; line-height: 32px; max-width: 544px; }
    .intro__bg-shape--circle { right: -210px; top: auto; bottom: -60px; width: 550px; height: 550px; left: auto; }
    .intro__bg-shape--violet { right: -100px; top: auto; bottom: -40px; width: 491px; height: 491px; }
    .intro__bg-shape--photo  { display: block; left: auto; right: -10px; top: auto; bottom: -40px; width: 410px; height: 412px; }

    /* HOW */
    .how { padding: 88px 0 40px; }
    .how__head { gap: 24px; margin-bottom: 40px; }
    .how__title    { font-size: 64px; line-height: 72px; }
    .how__subtitle { font-size: 40px; line-height: 48px; }
    .how__cards { flex-wrap: wrap; gap: 8px; }
    .how__card--list,
    .how__card--illustration { flex: 1 1 calc(50% - 4px); max-width: calc(50% - 4px); padding: 24px 16px; gap: 32px; min-height: 596px; }
    .how__card--illustration { background: url('img/new/how-bg-tab.png') center / 100% 100% no-repeat; aspect-ratio: 292 / 595; min-height: 0; }
    .how__card--stack { flex: 1 1 100%; max-width: 100%; flex-direction: row; gap: 8px; }
    .how__sub { flex: 1 1 calc(50% - 4px); padding: 24px 16px; min-height: 300px; }
    .how__item-title, .how__sub-title { font-size: 24px; line-height: 32px; }
    .how__item-desc,  .how__sub-desc  { font-size: 20px; line-height: 28px; }
    .how__list-img, .how__sub-img { width: 200px; height: 200px; right: -24px; bottom: -98px; }

    .how__bottom { flex-wrap: wrap; padding: 32px 24px; gap: 64px; align-items: flex-start; }
    .how__bottom-text { font-size: 24px; line-height: 32px; max-width: 423px; }
    .how__bottom-img  { position: absolute; 
        top: 29px;
        right: 52px;
        transform: rotate(150deg);
        display: block;
        width: 127px;
        height: 127px; }
    .how__bottom-note { width: 100%; max-width: none; padding: 24px; font-size: 20px; line-height: 28px; }
    .how__bottom-blur--violet1 { width: 615px; height: 911px;         left: -200px;
        top: -400px; border-radius: 911px; background: rgba(73,18,117,0.70); filter: blur(125px); transform: rotate(39.4deg); z-index: 2; }
    .how__bottom-blur--violet2 { width: 1011px; height: 603px;         right: -140px;
        top: 40px; left: auto; bottom: auto; border-radius: 1011px; background: #702C9F; filter: blur(135.5px); transform: rotate(40deg); }

    .how__deco--team { left: auto; right: 0; top: -56px; width: 172px; transform: rotate(-16deg); }
    .how__blur--black {
        left: 200px; top: 0;
    }
    .how__blur--blue {
        left: -886px; top: 0;
        width: 1624px; height: 500px;
        border-radius: 1624px;
        background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, rgba(2,173,238,0.5) 0%, rgba(2,173,238,0.5) 100%);
        filter: blur(150px);
    }

    /* LEVELS */
    .levels { padding: 80px 0 40px; }
    .levels__title { font-size: 64px; line-height: 72px; margin-bottom: 40px; }
    .level { position: relative; flex-direction: row; padding: 24px; gap: 24px; max-width: none; align-items: flex-start; }
    .level__img { position: absolute; top: 24px; left: 24px; flex: 0 0 100px; width: 100px; height: 89px; }
    .level__text { gap: 24px; }
    .level__title { min-height: 89px; padding-left: 124px; padding-top: 12.5px; font-size: 24px; line-height: 32px; }
    .level__desc  { font-size: 20px; line-height: 28px; }
    .levels__cta { margin-top: 40px; }
    .levels__cta .btn { padding: 12px 60px; height: 48px; }

    .levels__deco--left { width: 176px; height: 176px; left: auto; right: -48px; top: 116px; transform: rotate(-160deg);}
    .levels__deco--right { width: 209px; height: 209px; left: -96px; bottom: 16px; right: auto; top: auto; transform: rotate(0deg); }
    .levels__deco--right-top { right: -40px;
        top: 536px; width: 111px; height: 111px; }
    .levels__mini-img    { left: 34px; right: auto; bottom: auto; top: 134px; width: 136px; height: auto; transform: rotate(-22deg); }
    .levels__participate { right: 32px; top: auto; bottom: 64px; width: 134px; height: auto; transform: rotate(22deg); }
    .levels__blur--violet  { left: -226px; bottom: auto; top: 4715px; width: 636px; height: 636px; transform: none; }
    .levels__blur--violet2 { right: -100px; top: -50px; width: 600px; height: 600px; }

    /* GAINS */
    .gains { padding: 80px 0 40px; }
    .gains__title { font-size: 64px; line-height: 72px; margin-bottom: 40px; }
    .gains__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .gain { padding: 24px; font-size: 24px; line-height: 32px; min-height: 224px; }
    .gain p { max-width: 360px; }
    .gain--small  { grid-column: span 1; }
    .gain--medium { grid-column: span 2; min-height: 242px; }
    .gain--hero   { grid-column: span 2; grid-row: auto; min-height: 482px; padding: 0; }
    .gain__img { width: 264px; height: 264px; right: -24px; bottom: -120px; }
    .gain--medium .gain__img { bottom: -105px; }
    .gains__cta { margin-top: 40px; }
    .gains__cta .btn { padding: 12px 60px; height: 48px; }
    .gains__blur--green  { right: -50px; top: 100px; width: 500px; height: 500px; }
    .gains__blur--violet { left: -300px; top: 500px; bottom: auto; width: 900px; height: 900px; }
    .gains__blur--black1 { width: 1965px; height: 767px; right: -611px; top: -200px; left: auto; bottom: auto; border-radius: 5166.15px; background: radial-gradient(43.11% 43.11% at 51.62% 48.3%, #0B0C0C 15.87%, rgba(11,12,12,0) 100%); filter: none; }
    .gains__blur--black2 { width: 1100px; height: 400px; right: -204px; top: 500px; left: auto; bottom: auto; border-radius: 9999px; background: radial-gradient(50.57% 52.94% at 86.02% 63.95%, rgba(0,0,0,0) 0%, #000 100%); filter: blur(117.28018951416016px); }

    /* FORMAT */
    .format { padding: 80px 0 40px; }
    .format__title { font-size: 64px; line-height: 72px; margin-bottom: 24px; }
    .format__desc  { font-size: 24px; line-height: 32px; max-width: 559px; margin-bottom: 50px; }
    .format__sub   { font-size: 24px; line-height: 32px; margin-bottom: 24px; }
    .format__pills { max-width: 592px; gap: 16px; }
    .pill { padding: 16px 32px; font-size: 24px; line-height: 32px; }
    .format__blur--blue { left: 50%; 
    transform: translateX(-50%); bottom: 27px; width: 744px; height: 436px; }

    /* NEXT */
    .next { padding: 80px 0 80px; }
    .next__title { font-size: 64px; line-height: 72px; margin-bottom: 40px; }
    .next__card { padding: 64px 24px; aspect-ratio: 592 / 894; min-height: 0; max-width: 600px; margin: 0 auto; align-items: flex-start; background-image: url('img/new/next-bg-tab.png'); }
    .next__photo { display: none; }
    .next__text { max-width: 544px; gap: 24px; }
    .next__heading { font-size: 40px; line-height: 44px; }
    .next__sub     { font-size: 20px; line-height: 28px; max-width: 464px; }
    .next__text .btn { height: 54px; }
    .next__blur--black {
        left: -435px;
        top: auto;
        bottom: -589px;
        width: 1687px;
        height: 1687px;
        border-radius: 2310px;
        background: radial-gradient(0.11% 33.23% at 50% 50%, rgba(0, 0, 0, 0.00) 0%, #000 100%);
        filter: blur(150px);
    }
}

/* ---- Mobile (≤743) — matches Figma node 336:18540 ---- */
@media (max-width: 743px) {
    .vec .wrapper { padding: 0 16px;}
    .vec {
        background:
            radial-gradient(212.31% 141.42% at 0% 0%, rgba(7,1,16,0.7) 0%, #491275 100%),
            radial-gradient(222.27% 104.45% at 0% 45.12%, #7E41AE 0%, rgba(7,1,16,0) 100%),
            var(--bg);
    }
    .vec__blur--violet1,
    .vec__blur--violet2 {
        display: none;
    }
    .vec__blur--violet3 {
        width: 511px; height: 511px; left: -68px; top: 241px; transform: none;
        background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, #4D07B2 0%, #4D07B2 15%, rgba(77,7,178,0) 98%);
        filter: blur(50px);
    }

    /* HERO */
    .hero { padding: 16px 0 40px; }
    .hero__logos { gap: 16px 14px; margin-bottom: 0; }
    .hero__logo { height: auto; }
    .hero__logo--fond      { width: 57px;  height: 19px; }
    .hero__logo--academy   { width: 47px;  height: 18px; }
    .hero__logo--dvizhenie { width: 11px;  height: 21px; }
    .hero__logo--nit       { width: 32px;  height: 21px; }
    .hero__logo--nto       { width: 60px;  height: 16px; }
    .hero__logo--vsoi      { width: 17px;  height: 18px; }
    .hero__logo--aic       { width: 64px;  height: 19px; }
    .hero__sep img { width: 6px; height: 6px; }

    .hero__layout { flex-direction: column; align-items: stretch; gap: 24px; min-height: 0; margin-top: 8px; }
    .hero__media { order: -1; width: 100%; max-width: 300px; height: 230px; align-self: center; margin: 0 auto; flex: 0 0 auto; }
    .hero__img { position: absolute; inset: 0; width: 100%; height: 100%; left: 0; }

    .hero__content { margin-top: 0; max-width: 100%; flex: 1 1 auto; }
    .hero__date     { font-size: 16px; line-height: 20px; }
    .hero__title    { font-size: 40px; line-height: 48px; }
    .hero__title:not(:last-child)    { margin-bottom: 16px; }
    .hero__subtitle { font-size: 16px; line-height: 20px; max-width: 100%; }
    .hero__subtitle:not(:last-child) { margin-bottom: 16px; }
    .hero__content .btn { width: 100%; height: 48px; padding: 12px 35.5px; }

    .hero__blur--green-tl { width: 243px; height: 248px; left: -70px; top: -23px; }
    .hero__blur--blue-tl  { width: 209px; height: 211px; left: -2px;  top: 35px; }
    .hero__blur--green-tr { width: 204px; height: 208px; right: -14px; top: 142px; left: auto; }
    .hero__blur--blue-tr  { width: 204px; height: 208px; right: -14px; top: 142px; left: auto; }
    .hero__blur { filter: blur(24px);}

    /* INTRO */
    .intro { padding: 40px 0 40px; overflow: hidden; }
    .intro__card { padding: 40px 24px; aspect-ratio: auto; min-height: 596px; max-width: 400px; margin: 0 auto; align-items: flex-start; background-image: url('img/new/intro-bg-mob.png'); }
    .intro__text { gap: 16px; }
    .intro__title { font-size: 24px; line-height: 32px; }
    .intro__desc  { font-size: 20px; line-height: 26px; }
    .intro__bg-shape--circle { right: -50px; top: auto; bottom: -50px; width: 252px; height: 264px; left: auto; }
    .intro__bg-shape--violet { left: -68px; right: auto; top: auto; bottom: -40px; width: 352px; height: 351px; }
    .intro__bg-shape--photo  { display: block; left: auto; right: -8px; top: auto; bottom: -16px; width: 293px; height: 295px; }
    .intro__bg-shape--photo img { object-position: center bottom; }

    /* HOW */
    .how { padding: 40px 0; }
    .how__head { gap: 24px; margin-bottom: 40px; text-align: center; }
    .how__title    { font-size: 40px; line-height: 48px; }
    .how__subtitle { font-size: 24px; line-height: 32px; }
    .how__cards { flex-direction: column; gap: 8px; }
    .how__card--list,
    .how__card--illustration,
    .how__card--stack { flex: 1 1 100%; max-width: 100%; }
    .how__card--list { padding: 24px 16px; min-height: 0; gap: 24px; }
    .how__card--illustration { min-height: 0; flex: 0 0 auto; width: 100%; background: url('img/new/how-bg-mob.png') center / 100% 100% no-repeat; aspect-ratio: 344 / 464; }
    .how__card--stack { flex-direction: column; gap: 8px; }
    .how__sub { padding: 24px 16px; min-height: auto; flex: auto; gap: 8px; }
    .how__sub-desc { font-size: 20px; line-height: 32px;}
    .how__item {gap: 8px;}
    .how__item-title, .how__sub-title { font-size: 24px; line-height: 32px; }
    .how__item-desc,  .how__sub-desc  { font-size: 18px; line-height: 22px; }
    .how__list-img, .how__sub-img { display: none; }

    .how__bottom { flex-direction: column; align-items: stretch; padding: 24px 16px; gap: 40px; }
    .how__bottom-text { font-size: 24px; line-height: 32px; max-width: none; padding-right: 24px; }
    .how__bottom-img  { transform: rotate(145deg); display: block; width: 64px; height: 64px; flex: 0 0 64px; position: absolute; top: 92px; right: 10px; z-index: 3;}
    .how__bottom-note { width: 100%; max-width: none; padding: 16px; font-size: 18px; line-height: 22px; }
    .how__bottom-blur--violet1 { width: 424.733px; height: 628.868px;         left: -278.114px;
        top: -412.522px; border-radius: 628.868px; background: rgba(73,18,117,0.70); filter: blur(125px); transform: rotate(39.4deg); }
    .how__bottom-blur--violet2 { width: 810.412px; height: 483.749px; right: -405.282px;
        bottom: -350.204px; left: auto; top: auto; border-radius: 810.412px; background: #702C9F; filter: blur(135.5px); transform: rotate(39.4deg); }

    .how__deco--team { left: auto; right: 16px; top: -20px; width: 154px; transform: rotate(17deg); }
    .how__blur--black {
        left: auto; left: 54px; top: -150px;
    }
    .how__blur--blue {
        left: -886px; top: 0;
        width: 1624px; height: 500px;
        border-radius: 1624px;
        background: radial-gradient(53.05% 53.05% at 56.76% 50.16%, rgba(2,173,238,0.5) 0%, rgba(2,173,238,0.5) 100%);
        filter: blur(150px);
    }

    /* LEVELS */
    .levels { padding: 72px 0 40px; }
    .levels__title { font-size: 40px; line-height: 46px; margin-bottom: 40px; }
    .level { position: relative; flex-direction: row; padding: 24px 16px; gap: 8px; max-width: none; align-items: flex-start; }
    .level__img { position: absolute; top: 24px; left: 16px; flex: 0 0 64px; width: 64px; height: 74px; }
    .level__text { gap: 16px; }
    .level__title { min-height: 74px; padding-left: 72px; font-size: 24px; line-height: 32px; }
    .level__desc  { font-size: 18px; line-height: 22px; }
    .levels__cta { margin-top: 40px; }
    .levels__cta .btn { width: 242px; padding: 12px 24px; height: 48px; }
    .level:nth-child(1) .level__img {top: 27px;}
    .level:nth-child(2) .level__title {padding-top: 5px;}
    .level:nth-child(3) .level__img {top: 30px;}
    
    .levels__deco--left { width: 68px; height: 68px; left: -8px; top: 28px; transform: rotate(-160deg); }
    .levels__deco--right { width: 117px; height: 117px; top: 100px; right: -72px;  }
    .levels__deco--right-top { right: 24px; top: 172px; width: 62px; height: 62px; }
    .levels__mini-img    { left: 16px; right: auto; bottom: auto; top: 75px; width: 74px; height: auto; transform: rotate(-22deg); }
    .levels__participate { right: 24px; top: auto; bottom: 88px; width: 78px; height: auto; transform: rotate(22deg); }
    .levels__blur--violet  { left: -136px; bottom: auto; top: 4808px; width: 320px; height: 320px; transform: none; }
    .levels__blur--violet2 { right: -100px; top: -50px; width: 400px; height: 400px; }

    /* GAINS */
    .gains { padding: 40px 0; }
    .gains__title { font-size: 40px; line-height: 48px; margin-bottom: 40px; }
    .gains__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .gain { padding: 24px 16px; font-size: 18px; line-height: 22px; min-height: 200px; }
    .gain p { max-width: 100%; }
    .gain--small  { grid-column: span 1; }
    .gain--medium { grid-column: span 2; min-height: 200px; }
    .gain--medium-top { min-height: 200px; }
    .gain--hero   { grid-column: span 2; grid-row: auto; min-height: 280px; padding: 0; }
    .gain__img { width: 120px; height: 120px; right: 0; bottom: -40px; }
    .gain--medium:not(.gain--medium-top) .gain__img { bottom: -40px; }
    .gains__cta { margin-top: 40px; }
    .gains__cta .btn { padding: 12px 24px; height: 48px; width: auto;}
    .gains__blur--black1 { width: 1914px; height: 746px; left: -769px; top: -200px; right: auto; bottom: auto; border-radius: 2603.906px; background: radial-gradient(43.11% 43.11% at 51.62% 48.3%, #0B0C0C 15.87%, rgba(11,12,12,0) 100%); filter: none; }
    .gains__blur--black2 { width: 1020px; height: 500px; right: -322.5px; top: 700px; left: auto; bottom: auto; border-radius: 9999px; background: radial-gradient(50.57% 52.94% at 86.02% 63.95%, rgba(0,0,0,0) 0%, #000 100%); filter: blur(117.28018951416016px); }
    .gains__blur--green {display: none;}
    .gains__blur--violet { width: 500px; height: 500px; left: -150px; top: 500px;}

    /* FORMAT */
    .format { padding: 40px 0; }
    .format__title { font-size: 40px; line-height: 48px; margin-bottom: 16px; }
    .format__desc  { font-size: 20px; line-height: 28px; max-width: 344px; margin-bottom: 50px; }
    .format__sub   { font-size: 18px; line-height: 24px; margin-bottom: 24px; }
    .format__pills { max-width: 350px; gap: 16px; }
    .pill { padding: 8px 13px; font-size: 18px; line-height: 22px; }

    /* NEXT */
    .next { padding: 40px 0 56px; }
    .next__title { font-size: 40px; line-height: 48px; margin-bottom: 40px; }
    .next__card { padding: 40px 24px; aspect-ratio: 344 / 664; min-height: 0; max-width: 400px; margin: 0 auto; align-items: flex-start; background-image: url('img/new/next-bg-mob.png'); }
    .next__photo { display: none; }
    .next__text {gap: 0;}
    .next__heading { font-size: 24px; line-height: 32px; max-width: 296px; margin-bottom: 16px; }
    .next__sub     { font-size: 18px; line-height: 22px; max-width: 296px; margin-bottom: 24px; }
    .next__text .btn { height: 48px; padding: 12px 24px; width: auto; }
    .next__blur--black {
        left: -268px; bottom: -138px;
        width: 912px;
        height: 912px;
        border-radius: 2310px;
        background: radial-gradient(0.11% 33.23% at 50% 50%, rgba(0, 0, 0, 0.00) 0%, #000 100%);
        filter: blur(150px);
    }
}

/* ============================================================
   Animations (decorative floats)
   ============================================================ */
@keyframes vec-floatY {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(20px); }
}
@keyframes vec-floatX {
    0%, 100% { transform: translateX(0); }
    50%      { transform: translateX(20px); }
}
.how__deco--team { transform-origin: center; }

/* ============================================================
   Order form (modal) — ported from style.css
   ============================================================ */
.b-order-subtitle.green { display: flex; align-items: center; gap: 8px; }
.b-order-subtitle.green svg { height: 24px; width: 24px; min-width: 24px; }
.b-order-subtitle.green span { font-size: 16px; line-height: 22px; color: #209F6D; font-weight: 400; }
.b-order-title { margin-bottom: 25px; }
.b-reg-field.first { flex: 0 0 60%; }
.b-reg-field.second { flex: 0 0 36.5%; }
textarea[name="comment"]::placeholder { color: var(--gray40); }
.input-subtext { font-weight: 400; font-size: 16px; line-height: 24px; color: #B2B4B2; margin: 24px 0 8px; }
.🦄 .b-order-politic label { max-width: none; margin-left: 0; margin-top: 16px; }
.🦄 .b-order-politic .m-form-policy__text { font-size: 16px; max-width: 610px; color: #0B0C0C; }
.b-order-button button { margin-left: unset; }
.buttons { display: flex; justify-content: flex-start; gap: 32px; }
.🦄 .b-order-button button { padding: 12px 31px; max-width: unset; border-radius: 99px; }
.🦄 .b-order-button--white button { background-color: white; color: #46255D; border: 1px solid #46255D; padding: 12px 24px; }
.🦄 .b-order-button--white button:hover { background-color: rgb(220, 220, 220) !important; }
.🦄 .b-order-button { margin-top: 48px; }
.b-reg-field__input.telephone span { width: 90%; }
.b-reg-field__input.telephone.not-empty span { width: unset; }
.input-subtext.--bday { display: flex; justify-content: flex-start; margin-top: 0; }
.b-order-form-group-inputs.--first-row { align-items: flex-end; }
.b-reg-field__select-panel.error span { color: var(--color50); }
.tablet-only { display: none; }
.🦄 .m-send-image { max-width: unset; }
.🦄 .m-send-title { max-width: 500px; margin: 32px auto 16px; }
.🦄 .b-order-forms-result .b-order-button { margin-top: 32px; justify-content: center; }
.🦄 .b-order-forms-result .b-order-button button { gap: 8px; }
.🦄 .b-order-forms-result p { font-weight: 400; font-size: 20px; line-height: 24px; text-align: center; }

@media screen and (max-width: 1199px) and (min-width: 744px) {
    .b-order-form-group-inputs.--first-row { flex-direction: column; align-items: unset; }
    .b-order-form-group-inputs.--first-row .b-reg-field.second { width: 48%; }
}

@media screen and (max-width: 743px) {
    .b-order-form-group-inputs.--first-row { align-items: unset; }
    .🦄 .b-order-forms-result p { font-size: 16px; line-height: 20px; }
    .🦄 .m-send-title { font-size: 18px; line-height: 24px; }
}
