/* ==========================================================
   RESET
   ========================================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    overflow-x: hidden;
    background: #fff;
    -webkit-font-smoothing: antialiased;
    font-family: "Montserrat Alternates-Regular", Arial, sans-serif;
}

p {
    margin: 0;
}

span {
    word-break: break-word;
}

button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    letter-spacing: inherit;
    line-height: inherit;
    text-align: inherit;
}

input {
    font: inherit;
    color: inherit;
    border: 0;
    outline: 0;
    background: none;
    padding: 0;
    margin: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

/* ==========================================================
   СКЕЙЛИНГ (только ПК)
   ========================================================== */
.page {
    position: relative;
    width: 100%;
    max-width: 1920px;
    /* ограничили ширину "полотна" */
    margin: 0 auto;
    /* центрируем на широких экранах */
    aspect-ratio: 1920 / 11463;
    overflow: hidden;
}

.landing {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1920px;
    height: 11463px;
    overflow: hidden;
    transform-origin: top center;
    /* масштаб ужимает вниз, но не растит выше 1 (нативный размер) */
    --scale-factor: min(tan(atan2(100vw, 1920px)), 1);
    transform: translateX(-50%) scale(var(--scale-factor));
    will-change: transform;
    background: #fff;
}

/* ==========================================================
   УНИВЕРСАЛЬНЫЕ КНОПКИ
   ========================================================== */
/* Hero CTA — 437×92, круг 70, внутри центр */
.hero-cta {
    position: absolute;
    left: 56px;
    top: 828px;
    width: 437px;
    height: 92px;
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 0 14px 0 13px;
    background: #fff;
    border-radius: 50px;
    z-index: 2;
}

.hero-cta__icon {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-cta__arrow {
    width: 39px;
    height: 13px;
    background: url(../image/Arrow1.svg) center/contain no-repeat;
}

.hero-cta__text {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 30px;
    color: #000;
    text-align: left;
}

/* Test btn — 292×53, круг 40 */
.test-btn {
    position: absolute;
    left: 50px;
    top: 1552px;
    width: 292px;
    height: 53px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 21px 0 10px;
    background: #d2e3fd;
    border-radius: 50px;
}

.test-btn__icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.test-btn__arrow {
    width: 26px;
    height: 13.32px;
    background: url(../image/Arrow5.svg) center/contain no-repeat;
}

.test-btn__text {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 25px;
    line-height: 1.03;
    color: #000;
}

/* Pricing CTA — 505×137, текст сверху, стрелка внизу-справа */
.pricing-cta {
    position: absolute;
    left: 1313px;
    top: 8219.216797px;
    width: 505px;
    height: 137px;
    background: #b7d2fd;
    border-radius: 200px;
    z-index: 3;
}

.pricing-cta__text {
    position: absolute;
    left: 14px;
    top: 31px;
    width: 478px;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 38px;
    color: #000;
    text-align: center;
}

.pricing-cta__arrow {
    position: absolute;
    left: 309px;
    top: 85px;
    width: 49px;
    height: 13.32px;
    background: url(../image/Arrow8.svg) center/contain no-repeat;
}

/* ==========================================================
   HERO
   ========================================================== */
.bg-hero-blur {
    width: 1921px;
    height: 1342px;
    position: absolute;
    left: -1px;
    top: 0;
    background-image: url(../image/6cbaa1d5e404540d0275c1a388d0ae4bab5df9eb.webp);
    background-size: 100% 106.3912%;
    background-position: 0 -85.38px;
    background-repeat: no-repeat;
    filter: blur(1.3333333333333333px);
}

.hero-gradient {
    width: 1920px;
    height: 525px;
    position: absolute;
    left: 0;
    top: 0;
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20viewBox%3D'0%200%201920%20525'%20preserveAspectRatio%3D'none'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%0A%20%20%20%20%20%20%3Cdefs%3E%0A%20%20%20%20%20%20%20%20%3ClinearGradient%20id%3D'grad'%20gradientUnits%3D'objectBoundingBox'%20x1%3D'0'%20y1%3D'0.5'%20x2%3D'1'%20y2%3D'0.5'%20gradientTransform%3D'matrix(0.0000%2C%20-1.0400%2C%201.0400%2C%200.0000%2C%20-0.0200%2C%201.0400)'%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cstop%20stop-color%3D'rgba(38%2C39%2C80%2C0)'%20offset%3D'0'%2F%3E%3Cstop%20stop-color%3D'rgba(0%2C0%2C0%2C1)'%20offset%3D'0.849465'%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FlinearGradient%3E%0A%20%20%20%20%20%20%3C%2Fdefs%3E%0A%20%20%20%20%20%20%3Crect%20width%3D'100%25'%20height%3D'100%25'%20fill%3D'url(%23grad)'%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.nav {
    position: absolute;
    left: 1099px;
    top: 60px;
    display: flex;
    flex-direction: row;
    gap: 37px;
    align-items: center;
    z-index: 2;
}

.nav__link {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 86%;
    color: #fff;
    text-align: left;
    white-space: pre;
}

.hero-logo {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 132%;
    color: #fff;
    width: 347px;
    height: 42px;
    position: absolute;
    left: 56px;
    top: 52px;
    z-index: 2;
}

.hero-title {
    font-family: "Kreadon-Bold", sans-serif;
    font-weight: 700;
    font-size: 90px;
    line-height: 119px;
    color: #fff;
    width: 1255px;
    position: absolute;
    left: 56px;
    top: 209px;
    z-index: 2;
}

.hero-title__p {
    position: relative;
}

.hero-subtitle {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 132%;
    color: #fff;
    text-align: left;
    width: 508px;
    height: 132px;
    position: absolute;
    left: 69px;
    top: 569px;
    z-index: 2;
}

.hero-badge {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 132%;
    color: #fff;
    text-align: right;
    width: 391px;
    height: 102px;
    position: absolute;
    left: 1480px;
    top: 569px;
    z-index: 2;
}

.hero-badge__p {
    position: relative;
    line-height: 40px;
}

.hero-badge__p--bold {
    font-family: "Montserrat Alternates-SemiBold", sans-serif;
}

.hero-badge__dot-outer {
    width: 20px;
    height: 20px;
    background-image: url(../image/Ellipse31.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    position: absolute;
    left: 1550px;
    top: 622px;
    z-index: 2;
}

.hero-badge__dot-inner {
    width: 10px;
    height: 10px;
    background-image: url(../image/Ellipse30.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    position: absolute;
    left: 1555px;
    top: 627px;
    z-index: 2;
}

/* ==========================================================
   QUESTIONS
   ========================================================== */
.q-card {
    font-family: "Gilroy-Regular", sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 94%;
    color: #000;
    text-align: left;
    position: absolute;
}

.q-card-1 {
    width: 612px;
    height: 168px;
    left: 640px;
    top: 2205px;
}

.q-card-2 {
    width: 542px;
    height: 168px;
    left: 1346px;
    top: 2205px;
}

.q-card-3 {
    width: 618px;
    height: 191px;
    left: 60px;
    top: 1661px;
}

.q-card__title,
.q-card__text,
.q-card__gap {
    position: relative;
    font-family: "Montserrat Alternates-Regular", sans-serif;
}

.q-card__title {
    line-height: 36.57px;
}

.q-card__gap {
    line-height: 30px;
}

.q-card__text {
    font-size: 23px;
    line-height: 132%;
    width: 590px;
    top: 25px;
}

.q-card-1 .q-card__gap {
    line-height: 36px;
}

.q-card-3 .q-card__gap--c1 {
    line-height: 34.132px;
}

.q-clock {
    width: 421px;
    height: 711px;
    position: absolute;
    left: 1394px;
    top: 1433px;
    background-image: url(../image/3e4d7cca9e5fa717064dd7a180a4d55a0feca528.webp);
    background-size: 561.2838% 186.9463%;
    background-repeat: no-repeat;
    background-position: -1425px -248.09px;
}

.questions-title {
    font-family: "Kreadon-Regular", sans-serif;
    font-weight: 400;
    font-size: 54px;
    line-height: 100%;
    color: #000;
    width: 804px;
    position: absolute;
    left: 50px;
    top: 1360px;
}

.questions-title__p {
    line-height: 54.199997px;
    position: relative;
}

/* Спарклы */
.sparkle-wrap {
    position: absolute;
}

.sparkle {
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.sp-1 {
    left: 1531px;
    top: 1636px;
    width: 8px;
    height: 24px;
}

.sp-1 .sparkle {
    inset: -7.981363932291667% -42.5048828125% -14.7979736328125% -42.54150390625%;
    background-image: url(../image/Vector1.svg);
}

.sp-2 {
    left: 1543px;
    top: 1636px;
    width: 9px;
    height: 38px;
}

.sp-2 .sparkle {
    inset: -8.832108347039473% -37.83094618055556% -8.326480263157894% -38.330078125%;
    background-image: url(../image/Vector2.svg);
}

.sp-3 {
    left: 1562px;
    top: 1554px;
    width: 13px;
    height: 17px;
}

.sp-3 .sparkle {
    inset: -22.331686580882355% -26.712740384615387% -16.5771484375% -27.903395432692307%;
    background-image: url(../image/Vector3.svg);
}

.sp-4 {
    left: 1583px;
    top: 1546px;
    width: 8px;
    height: 34px;
}

.sp-4 .sparkle {
    inset: -10.445628446691178% -45.489501953125% -9.688074448529411% -45.7763671875%;
    background-image: url(../image/Vector4.svg);
}

.sp-5 {
    left: 1463px;
    top: 1371px;
    width: 9px;
    height: 3px;
}

.sp-5 .sparkle {
    inset: -113.330078125% -27.38715277777778% -13.330078125% -27.31662326388889%;
    background-image: url(../image/Vector5.svg);
}

.sp-6 {
    left: 1484px;
    top: 1375px;
    width: 13px;
    height: 11px;
}

.sp-6 .sparkle {
    inset: -31.092418323863637% -26.697716346153843% -24.542791193181817% -16.218449519230766%;
    background-image: url(../image/Vector6.svg);
}

.sp-7 {
    left: 1370px;
    top: 1576px;
    width: 8px;
    height: 13px;
}

.sp-7 .sparkle {
    inset: -27.747521033653843% -39.5751953125% -14.870042067307693% -42.88330078125%;
    background-image: url(../image/Vector7.svg);
}

.sp-8 {
    left: 1359px;
    top: 1552px;
    width: 23px;
    height: 37px;
}

.sp-8 .sparkle {
    inset: -10.086966849662163% -15.344769021739129% -7.409997888513513% -14.854364809782608%;
    background-image: url(../image/Vector8.svg);
}

.sp-9 {
    left: 1342px;
    top: 1547px;
    width: 27px;
    height: 45px;
}

.sp-9 .sparkle {
    inset: -8.148328993055555% -12.451171875% -5.066731770833333% -12.736906828703704%;
    background-image: url(../image/Vector9.svg);
}

.sp-10 {
    left: 1337px;
    top: 1628px;
    width: 14px;
    height: 12px;
}

.sp-10 .sparkle {
    inset: -26.74560546875% -18.1640625% -28.312174479166668% -25.6591796875%;
    background-image: url(../image/Vector10.svg);
}

.sp-11 {
    left: 1311px;
    top: 1626px;
    width: 29px;
    height: 22px;
}

.sp-11 .sparkle {
    inset: -15.761496803977273% -11.09577047413793% -16.12215909090909% -12.19524515086207%;
    background-image: url(../image/Vector11.svg);
}

.sp-12 {
    left: 1599px;
    top: 1641px;
    width: 3px;
    height: 27px;
}

.sp-12 .sparkle {
    inset: -7.394748263888889% -115.283203125% -11.933051215277777% -113.232421875%;
    background-image: url(../image/Vector12.svg);
}

.sp-13 {
    left: 1618px;
    top: 1626px;
    width: 18px;
    height: 43px;
}

.sp-13 .sparkle {
    inset: -6.903501998546512% -16.40353732638889% -6.6650390625% -19.373914930555554%;
    background-image: url(../image/Vector13.svg);
}

/* ==========================================================
   ДЕКОР: спирали, овалы, точки
   ========================================================== */
.decor-dot-2 {
    width: 4px;
    height: 4.24072265625px;
    background-image: url(../image/Vector92.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    position: absolute;
    left: 915.58984375px;
    top: 5605.23974609375px;
}

.decor-spiral-a {
    width: 1009px;
    height: 819px;
    position: absolute;
    left: 914px;
    top: 1342px;
    background: url(../image/Group19.svg) center/100% 100% no-repeat;
}

.decor-oval {
    width: 929px;
    height: 165px;
    position: absolute;
    left: 994px;
    top: 2961px;
    background: url(../image/Group21.svg) center/100% 100% no-repeat;
}

.decor-spiral-b {
    width: 792px;
    height: 537.000244140625px;
    position: absolute;
    left: 0.000023px;
    top: 1926.999695px;
    background: url(../image/Group20.svg) center/100% 100% no-repeat;
}

.decor-spiral-c {
    width: 731px;
    height: 537px;
    position: absolute;
    left: -1.000038px;
    top: 3483.000061px;
    background: url(../image/Group22.svg) center/100% 100% no-repeat;
}

.q-brain-right {
    width: 493px;
    height: 686px;
    position: absolute;
    left: 1289px;
    top: 1458px;
    background: url(../image/image111.webp) center/100% 100% no-repeat;
}

.q-tv {
    width: 251px;
    height: 309px;
    position: absolute;
    left: 145.000107px;
    top: 1865px;
    background: url(../image/image32.webp) center/100% 100% no-repeat;
}

.q-brain-left {
    width: 332.835205078125px;
    height: 338.27880859375px;
    position: absolute;
    left: -113px;
    top: 1732px;
    background: url(../image/imagePhotoroom91.webp) center/100% 100% no-repeat;
}

.q-box {
    width: 257px;
    height: 188px;
    position: absolute;
    left: 269.000092px;
    top: 2225px;
    background: url(../image/image34.webp) center/100% 100% no-repeat;
}

.decor-arrow-gold {
    width: 613px;
    height: 179px;
    position: absolute;
    left: 1321px;
    top: 4126px;
    background: url(../image/Group23.svg) center/100% 100% no-repeat;
}

.decor-arrow-down {
    width: 187.00048828125px;
    height: 159.84033203125px;
    position: absolute;
    left: 1153px;
    top: 4700px;
    background: url(../image/Group27.svg) center/100% 100% no-repeat;
}

.decor-dot {
    width: 1px;
    height: 1.38623046875px;
    position: absolute;
    left: 739.669921875px;
    top: 4282px;
    background: url(../image/Vector105.svg) center/100% 100% no-repeat;
}

/* Центральный мозг */
.q-brain-center {
    width: 484px;
    height: 524px;
    position: absolute;
    left: 721px;
    top: 1642px;
}

.q-brain-center-wrap {
    width: 478px;
    height: 524px;
    position: absolute;
    left: 6px;
    top: 0;
}

.q-brain-center-base {
    width: 478px;
    height: 524px;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../image/image31.webp) center/100% 100% no-repeat;
}

.q-brain-center-lines-wrap {
    position: absolute;
    left: 0;
    top: 43px;
    width: 157.000122px;
    height: 254.000107px;
}

.q-brain-center-lines {
    position: absolute;
    inset: -0.8164289744767705% -0.7006208926703862% -0.5118840240291654% -0.9984877292802359%;
    background: url(../image/Group30.svg) center/100% 100% no-repeat;
}

.q-brain-center-rect-1 {
    width: 141.620239px;
    height: 16.52183px;
    position: absolute;
    left: 181.544922px;
    top: 140.673096px;
    transform: rotate(19.238698deg);
    background: rgba(235, 241, 246, 1);
}

.q-brain-center-rect-2 {
    width: 150.114304px;
    height: 18.564871px;
    position: absolute;
    left: 167.930664px;
    top: 159.98877px;
    transform: rotate(19.824894deg);
    background: rgba(235, 241, 246, 1);
}

/* ==========================================================
   HERO / PSYCH спирали с масками
   ========================================================== */
.decor-hero-group {
    width: 1919px;
    height: 1321px;
    position: absolute;
    left: 2px;
    top: 2961px;
}

.decor-hero-inner {
    width: 2849.538086px;
    height: 1736.968872px;
    position: absolute;
    left: -21.96566px;
    top: -63px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201919%201321%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%221919.000000%22%20height%3D%221321.000000%22%20fill%3D%22none%22%20customFrame%3D%22%23000000%22%20mask%3D%22url(%23mask_5)%22%3E%0A%09%3Cdefs%3E%0A%09%09%3Cfilter%20id%3D%22pixso_custom_mask_type_alpha%22%3E%0A%09%09%09%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%201%200%200%200%200%201%200%200%200%200%201%200%200%200%201%200%20%22%20%2F%3E%0A%09%09%3C%2Ffilter%3E%0A%09%3C%2Fdefs%3E%0A%09%3Cmask%20id%3D%22mask_5%22%20width%3D%221919.000000%22%20height%3D%221321.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%0A%09%09%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%0A%09%09%09%3Crect%20id%3D%22Rectangle%20878%22%20width%3D%221919.000000%22%20height%3D%221321.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%0A%09%09%3C%2Fg%3E%0A%09%3C%2Fmask%3E%0A%0A%09%09%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%0A%09%09%09%3Crect%20id%3D%22Rectangle%20878%22%20width%3D%221919.000000%22%20height%3D%221321.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%0A%09%09%3C%2Fg%3E%0A%09%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201919%201321%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%221919.000000%22%20height%3D%221321.000000%22%20fill%3D%22none%22%20customFrame%3D%22%23000000%22%20mask%3D%22url(%23mask_5)%22%3E%0A%09%3Cdefs%3E%0A%09%09%3Cfilter%20id%3D%22pixso_custom_mask_type_alpha%22%3E%0A%09%09%09%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%201%200%200%200%200%201%200%200%200%200%201%200%200%200%201%200%20%22%20%2F%3E%0A%09%09%3C%2Ffilter%3E%0A%09%3C%2Fdefs%3E%0A%09%3Cmask%20id%3D%22mask_5%22%20width%3D%221919.000000%22%20height%3D%221321.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%0A%09%09%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%0A%09%09%09%3Crect%20id%3D%22Rectangle%20878%22%20width%3D%221919.000000%22%20height%3D%221321.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%0A%09%09%3C%2Fg%3E%0A%09%3C%2Fmask%3E%0A%0A%09%09%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%0A%09%09%09%3Crect%20id%3D%22Rectangle%20878%22%20width%3D%221919.000000%22%20height%3D%221321.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%0A%09%09%3C%2Fg%3E%0A%09%3C%2Fsvg%3E");
    -webkit-mask-size: 1919px 1321px;
    mask-size: 1919px 1321px;
    -webkit-mask-position: 21.96566px 63px;
    mask-position: 21.96566px 63px;
}

.decor-hero-layer-1-wrap {
    position: absolute;
    left: 5.895086px;
    top: 127.43438px;
    width: 2782.562012px;
    height: 1599.610596px;
}

.decor-hero-layer-1 {
    position: absolute;
    inset: -18.506613170395326% -9.387048892524376% -15.930509486947653% -10.457074838252524%;
    background: url(../image/Group401.svg) center/100% 100% no-repeat;
    opacity: 0.7;
}

.decor-hero-layer-2-wrap {
    position: absolute;
    left: 130.870251px;
    top: 8.779901px;
    width: 2712.287598px;
    height: 1651.94873px;
}

.decor-psych-group {
    width: 1920px;
    height: 818px;
    position: absolute;
    left: 0;
    top: 5481px;
}

.decor-psych-inner {
    width: 2439.942139px;
    height: 1485.000366px;
    position: absolute;
    left: 916px;
    top: 88px;
}

.decor-psych-layer-1-wrap {
    position: absolute;
    left: 5.039888px;
    top: 108.932835px;
    width: 2382.601074px;
    height: 1367.569336px;
}

.decor-psych-layer-1 {
    position: absolute;
    inset: -21.68838724514218% -11.196901484786688% -19.111789270551498% -12.267414110288033%;
    background: url(../image/Group400.svg) center/100% 100% no-repeat;
    opacity: 0.7;
}

.decor-psych-layer-2-wrap {
    position: absolute;
    left: 112.073269px;
    top: 7.50618px;
    width: 2322.419922px;
    height: 1412.28772px;
}

.decor-psych-layer-2 {
    position: absolute;
    inset: -7.269816860069442% -4.368905363327722% -7.7722926852504% -4.09207577674665%;
}

/* ==========================================================
   QUOTE
   ========================================================== */
.bg-quote {
    width: 1921px;
    height: 497px;
    position: absolute;
    left: -1px;
    top: 2464px;
    background-color: rgba(210, 227, 253, 1);
}

.quote-text {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-style: italic;
    font-size: 40px;
    letter-spacing: 0.15px;
    font-weight: 400;
    line-height: 130%;
    color: rgba(14, 72, 228, 1);
    text-align: left;
    width: 1545px;
    height: 165px;
    position: absolute;
    left: 206px;
    top: 2630px;
}

.quote-text__p {
    line-height: 52px;
    position: relative;
}

.quote-text__p span {
    font-family: "Montserrat Alternates-Medium Italic", sans-serif;
}

/* ==========================================================
   PSYCH section
   ========================================================== */
.psych-title {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 70px;
    line-height: 132%;
    color: #000;
    width: 845px;
    height: 172px;
    position: absolute;
    left: 967px;
    top: 3261px;
    text-align: left;
}

.psych-photo {
    width: 791px;
    height: 1217px;
    position: absolute;
    left: 106px;
    top: 3066px;
    background: url(../image/imagePhotoroom141.webp) center/100% 100% no-repeat;
}

.psych-badge {
    width: 673px;
    height: 71px;
    position: absolute;
    left: 967px;
    top: 3213px;
    border-radius: 50px;
    background-color: rgba(183, 210, 253, 1);
}

.psych-badge-text {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 132%;
    color: #000;
    position: absolute;
    left: 1005px;
    top: 3229px;
    white-space: pre;
}

.psych-education-border {
    position: absolute;
    left: 967px;
    top: 4007px;
    width: 649px;
    height: 71px;
    border-radius: 50px;
    border: 4px solid rgba(183, 210, 253, 1);
    box-sizing: border-box;
    pointer-events: none;
}

.psych-education-text {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 132%;
    color: #000;
    position: absolute;
    left: 1012px;
    top: 4023px;
    white-space: pre;
}

.psych-education-arrow {
    width: 80.00390625px;
    height: 13.3212890625px;
    position: absolute;
    left: 1491px;
    top: 4038px;
    background: url(../image/Arrow20.svg) center/100% 100% no-repeat;
}

.psych-desc {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 35px;
    line-height: 132%;
    color: #000;
    text-align: justify;
    width: 845px;
    height: 137px;
    position: absolute;
    left: 972px;
    top: 3543px;
}

.psych-subtitle {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 132%;
    color: #000;
    text-align: left;
    width: 544px;
    height: 137px;
    position: absolute;
    left: 1072px;
    top: 3741px;
}

.psych-subtext {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 132%;
    color: #000;
    width: 544px;
    height: 77px;
    position: absolute;
    left: 1072px;
    top: 3847px;
}

.psych-subtext__p {
    line-height: 40px;
    position: relative;
}

.psych-icon {
    position: absolute;
    width: 85px;
    height: 85px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.psych-icon-1 {
    left: 967px;
    top: 3739px;
    background-image: url(../image/Ellipse32.svg);
}

.psych-icon-2 {
    left: 967px;
    top: 3843px;
    background-image: url(../image/Ellipse34.svg);
}

.psych-icon-img {
    position: absolute;
    background-repeat: no-repeat;
}

.psych-icon-img-1 {
    width: 59px;
    height: 59px;
    left: 980px;
    top: 3752px;
    background: url(../image/imagePhotoroom151.webp) center/100% 100% no-repeat;
}

.psych-icon-img-2 {
    width: 61px;
    height: 61px;
    left: 979px;
    top: 3855px;
    background: url(../image/614d55bf6808e94ca0ad2710cffc4c0a9fca66d7.webp) -12.81px -22.85px / 395.3741% 176.6784% no-repeat;
}

/* ==========================================================
   PROCESS
   ========================================================== */
.bg-process {
    width: 1921px;
    height: 1120px;
    position: absolute;
    left: 0;
    top: 4361px;
    background: url(../image/86f4cda53757e2c5e6c84016dcc372b3718f3e39.webp) -130.41px 0.28px / 113.632% 109.6429% no-repeat;
}

.black-bar {
    width: 1921px;
    height: 85px;
    position: absolute;
    left: 0;
    top: 4282px;
    background-color: rgba(1, 1, 9, 1);
}

.process-title {
    font-family: "Kreadon-Regular", sans-serif;
    font-weight: 400;
    font-size: 54px;
    line-height: 100%;
    color: #fff;
    text-align: center;
    white-space: pre-line;
    width: 858px;
    height: 70px;
    position: absolute;
    left: 527px;
    top: 4356px;
}

.pill {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    border-radius: 100px;
    border: 1px solid #fff;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    font-family: "Montserrat Alternates-Light", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 300;
}

.pill b {
    font-weight: 300;
    font-size: 25px;
    line-height: 33px;
}

.pill span {
    font-size: 20px;
    line-height: 26px;
}

.pill-1 {
    left: 186px;
    top: 4683px;
    width: 298px;
    height: 91px;
    background-color: rgba(28, 71, 118, 0.2);
}

.pill-2 {
    left: 85px;
    top: 4960.217285px;
    width: 345px;
    height: 91px;
    background-color: rgba(94, 132, 178, 0.2);
}

.pill-3 {
    left: 1537.772217px;
    top: 4814.046387px;
    width: 286px;
    height: 91px;
    background-color: rgba(87, 128, 175, 0.2);
}

.pill-4 {
    left: 1421.328857px;
    top: 5114.263672px;
    width: 390px;
    height: 91px;
    background-color: rgba(62, 105, 156, 0.2);
}

.proc-img {
    position: absolute;
    background-repeat: no-repeat;
}

.proc-img-1 {
    width: 147.649185px;
    height: 104.643806px;
    left: 1710.772461px;
    top: 4720.046387px;
    transform: rotate(8.007361deg);
    background: url(../image/c5e1314afdd0391da54525095014de016da7cbfd.webp) -201.13px -244.14px / 236.2218% 333.3011% no-repeat;
}

.proc-img-2 {
    width: 96.703972px;
    height: 73.403801px;
    left: 206.06543px;
    top: 4579.001465px;
    transform: rotate(-26.716432deg);
    background: url(../image/c5e1314afdd0391da54525095014de016da7cbfd.webp) -94.70px -544.14px / 657.5703% 866.2959% no-repeat;
}

.proc-img-3 {
    width: 96.703972px;
    height: 73.403801px;
    left: 137.556641px;
    top: 4854.217285px;
    transform: rotate(-26.716432deg);
    background: url(../image/c5e1314afdd0391da54525095014de016da7cbfd.webp) -94.70px -544.14px / 657.5703% 866.2959% no-repeat;
}

.proc-img-4 {
    width: 134px;
    height: 134px;
    left: 1478.328857px;
    top: 4973.263672px;
    background: url(../image/3e2d76243054d5cb68aaead4f4ced842ea14b1c2.webp) center/cover no-repeat;
}

.proc-img-5 {
    width: 262px;
    height: 127px;
    left: 489px;
    top: 4562px;
    background: url(../image/ced44cd10da14e419afd14cc3c97c7d0dd09c336.webp) -109.67px -237.29px / 176.9883% 487.9572% no-repeat;
}

.proc-img-6 {
    width: 169px;
    height: 146px;
    left: 1334.3291015625px;
    top: 4805.04638671875px;
    background: url(../image/downarrow2.svg) no-repeat;
}

.proc-img-7 {
    width: 115.411819px;
    height: 190.038879px;
    left: 444px;
    top: 4784.217285px;
    transform: rotate(73.507616deg);
    background: url(../image/dcdc212e362ea32b6d0b2a808b558a0ae5eb262b.webp) -91.50px -52.06px / 203.7398% 164.9354% no-repeat;
}

.proc-img-8 {
    width: 196.591957px;
    height: 232.547882px;
    left: 1329.00048828125px;
    top: 4600px;
    background: url(../image/uparrow1.svg) no-repeat;
}

/* ==========================================================
   PRACTICE
   ========================================================== */
.practice-title {
    font-family: "Kreadon-Regular", sans-serif;
    font-weight: 400;
    font-size: 54px;
    line-height: 132%;
    color: #000;
    white-space: pre;
    width: 1076px;
    position: absolute;
    left: 168px;
    top: 5546px;
}

.practice-intro {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 23px;
    line-height: 132%;
    color: #000;
    width: 893px;
    height: 74px;
    position: absolute;
    left: 168px;
    top: 5708px;
}

.practice-num {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 132%;
    color: #000;
    position: absolute;
    height: 22px;
    top: 5959px;
}

.practice-num-1 {
    left: 168px;
    width: 22px;
}

.practice-num-2 {
    left: 690px;
    width: 32px;
}

.practice-num-3 {
    left: 1219px;
    width: 32px;
}

.practice-step-title {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 25px;
    line-height: 132%;
    color: #000;
    position: absolute;
    height: 29px;
    top: 6022px;
}

.practice-step-title-1 {
    left: 168px;
    width: 345px;
}

.practice-step-title-2 {
    left: 706px;
    width: 494px;
}

.practice-step-title-3 {
    left: 1235px;
    width: 494px;
}

.practice-step-desc {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 23px;
    line-height: 132%;
    color: #000;
    width: 497px;
    top: 6078px;
    position: absolute;
}

.practice-step-desc__p {
    line-height: 30px;
    position: relative;
}

.practice-step-desc__p span {
    text-decoration: underline;
}

.practice-step-desc-1 {
    left: 168px;
    height: 99px;
}

.practice-step-desc-2 {
    left: 706px;
    height: 99px;
}

.practice-step-desc-3 {
    left: 1235px;
    height: 119px;
}

.practice-line {
    width: 456px;
    height: 1px;
    position: absolute;
    top: 5973.5px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.practice-line-1 {
    left: 213px;
    background-image: url(../image/Line219.svg);
}

.practice-line-2 {
    left: 742px;
    background-image: url(../image/Line220.svg);
}

.practice-line-3 {
    left: 1271px;
    background-image: url(../image/Line221.svg);
}

.practice-card {
    width: 594px;
    height: 84px;
    position: absolute;
    left: 168px;
    border-radius: 20px;
    background-color: #fff;
}

.practice-card-1 {
    top: 6520px;
}

.practice-card-2 {
    top: 6616px;
}

.practice-card-3 {
    top: 6712px;
}

/* ==========================================================
   FAQ
   ========================================================== */
.bg-faq {
    width: 1920px;
    height: 1159px;
    position: absolute;
    left: 0;
    top: 8552.216797px;
    background-color: rgba(4, 7, 14, 1);
}

.faq-title {
    font-family: "Kreadon-Regular", sans-serif;
    font-weight: 400;
    font-size: 54px;
    line-height: 100%;
    color: #fff;
    width: 497px;
    height: 106px;
    position: absolute;
    left: 50px;
    top: 8656.216797px;
}

.faq-title__p {
    line-height: 56.199997px;
    position: relative;
}

.faq-line {
    position: absolute;
    height: 1px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.faq-line-1 {
    width: 1188px;
    left: 682px;
    top: 8779.716797px;
    background-image: url(../image/Line68.svg);
}

.faq-line-2 {
    width: 1119px;
    left: 751px;
    top: 8901.716797px;
    background-image: url(../image/Line70.svg);
}

.faq-line-3 {
    width: 1188px;
    left: 682px;
    top: 8901.716797px;
    background-image: url(../image/Line69.svg);
}

.faq-line-4 {
    width: 1119px;
    left: 751px;
    top: 9023.716797px;
    background-image: url(../image/Line72.svg);
}

.faq-line-5 {
    width: 1188px;
    left: 682px;
    top: 9023.716797px;
    background-image: url(../image/Line71.svg);
}

.faq-line-6 {
    width: 1188px;
    left: 682px;
    top: 9145.716797px;
    background-image: url(../image/Line74.svg);
}

.faq-line-7 {
    width: 1188px;
    left: 682px;
    top: 9267.716797px;
    background-image: url(../image/Line76.svg);
}

.faq-line-8 {
    width: 1188px;
    left: 682px;
    top: 9389.716797px;
    background-image: url(../image/Line90.svg);
}

.faq-line-9 {
    width: 1188px;
    left: 682px;
    top: 9511.716797px;
    background-image: url(../image/Line91.svg);
}

.faq-question {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 100%;
    color: #fff;
    position: absolute;
    left: 706px;
    height: 36px;
    text-align: left;
}

.faq-question-1 {
    width: 641px;
    top: 8717.216797px;
}

.faq-question-2 {
    width: 827px;
    top: 8823.216797px;
}

.faq-question-3 {
    width: 935px;
    top: 8945.216797px;
}

.faq-question-4 {
    width: 935px;
    top: 9067.216797px;
}

.faq-question-5 {
    width: 1061px;
    top: 9189.216797px;
}

.faq-question-6 {
    width: 907px;
    top: 9314.216797px;
}

.faq-question-7 {
    width: 907px;
    top: 9433.216797px;
}

.faq-plus-vert {
    width: 2px;
    height: 27px;
    position: absolute;
    left: 1824px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.faq-plus-horiz {
    width: 27px;
    height: 2px;
    position: absolute;
    left: 1812px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.faq-plus-vert-1 {
    background-image: url(../image/Line78.svg);
    top: 8722.216796875px;
}

.faq-plus-horiz-1 {
    background-image: url(../image/Line79.svg);
    top: 8733.216797px;
}

.faq-plus-vert-2 {
    background-image: url(../image/Line80.svg);
    top: 8844.216796875px;
}

.faq-plus-horiz-2 {
    background-image: url(../image/Line81.svg);
    top: 8855.216797px;
}

.faq-plus-vert-3 {
    background-image: url(../image/Line82.svg);
    top: 8966.216796875px;
}

.faq-plus-horiz-3 {
    background-image: url(../image/Line83.svg);
    top: 8977.216797px;
}

.faq-plus-vert-4 {
    background-image: url(../image/Line84.svg);
    top: 9088.216796875px;
}

.faq-plus-horiz-4 {
    background-image: url(../image/Line85.svg);
    top: 9099.216797px;
}

.faq-plus-vert-5 {
    background-image: url(../image/Line86.svg);
    top: 9210.216796875px;
}

.faq-plus-horiz-5 {
    background-image: url(../image/Line87.svg);
    top: 9221.216797px;
}

.faq-plus-vert-6 {
    background-image: url(../image/Line88.svg);
    top: 9332.216796875px;
}

.faq-plus-horiz-6 {
    background-image: url(../image/Line89.svg);
    top: 9343.216797px;
}

.faq-plus-vert-7 {
    background-image: url(../image/Line92.svg);
    top: 9454.216796875px;
}

.faq-plus-horiz-7 {
    background-image: url(../image/Line93.svg);
    top: 9465.216797px;
}

.faq-bg-image {
    width: 1920px;
    height: 1045px;
    position: absolute;
    left: 0;
    top: 6299px;
    background: url(../image/58e30abf39282b3744a7aa07adc9db02f88bfe3a.webp) -0.18px 0.49px / 100% 100.4117% no-repeat;
}

.faq-bg-gradient {
    width: 1920px;
    height: 543px;
    position: absolute;
    left: 0;
    top: 6299px;
    /*background: url("data:image/svg+xml;utf8,%3Csvg%20viewBox%3D'0%200%201920%20543'%20preserveAspectRatio%3D'none'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%0A%20%20%20%20%20%20%3Cdefs%3E%0A%20%20%20%20%20%20%20%20%3ClinearGradient%20id%3D'grad'%20gradientUnits%3D'objectBoundingBox'%20x1%3D'0'%20y1%3D'0.5'%20x2%3D'1'%20y2%3D'0.5'%20gradientTransform%3D'matrix(0.0000%2C%201.0000%2C%20-0.0334%2C%200.0000%2C%200.5167%2C%200.0000)'%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cstop%20stop-color%3D'rgba(222%2C236%2C249%2C1)'%20offset%3D'0'%2F%3E%3Cstop%20stop-color%3D'rgba(100%25%2C133%2C174%2C0)'%20offset%3D'1'%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FlinearGradient%3E%0A%20%20%20%20%20%20%3C%2Fdefs%3E%0A%20%20%20%20%20%20%3Crect%20width%3D'100%25'%20height%3D'100%25'%20fill%3D'url(%23grad)'%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E") center/100% 100% no-repeat;*/
}

.faq-card {
    width: 1015px;
    height: 407px;
    position: absolute;
    left: 445px;
    top: 6389px;
    background-color: rgba(247.644226, 247.644226, 247.644226, 1);
}

/* Обёртка для 3 элементов, чтобы высота считалась автоматически */
.faq-card-inner {
    position: absolute;
    left: 532px;
    top: 6446px;
    width: 874px;
    display: flex;
    flex-direction: column;
    z-index: 2;
    pointer-events: none;
}

.faq-active-title {
    margin: 0;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 25px;
    line-height: 1.32;
    color: #000;
    flex-shrink: 0;
}

.faq-underline {
    width: 207px;
    height: 1px;
    margin: 13px 0 0 3px;
    background: url(../image/Line65.svg) center/100% 100% no-repeat;
    flex-shrink: 0;
}

.faq-answer {
    margin: 26px 0 0 3px;
    padding: 0 60px 0 0px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 20px;
    line-height: 1.32;
    color: #000;
}

.faq-answer__p {
    margin: 0;
    line-height: 26px;
    white-space: normal;
}

.faq-answer__p+.faq-answer__p {
    margin-top: 20px;
}

.faq-arrow {
    width: 16px;
    height: 31px;
    position: absolute;
    top: 6577px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.faq-arrow--left {
    left: 477px;
    background-image: url(../image/Polygon2.svg);
}

.faq-arrow--right {
    left: 1420px;
    background-image: url(../image/Polygon3.svg);
}



.faq-decor {
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.faq-decor-1 {
    width: 14.00048828125px;
    height: 12.60302734375px;
    left: 1214px;
    top: 7102px;
    background-image: url(../image/Vector141.svg);
}

.faq-decor-2 {
    width: 15px;
    height: 13.5px;
    left: 1135px;
    top: 7128px;
    background-image: url(../image/Vector142.svg);
}

.faq-decor-3 {
    width: 15px;
    height: 13.5px;
    left: 1079px;
    top: 7165px;
    background-image: url(../image/Vector143.svg);
}

.faq-decor-4 {
    width: 15px;
    height: 11px;
    left: 1002px;
    top: 7156px;
    background-image: url(../image/Vector144.svg);
}

/* ==========================================================
   PRICING
   ========================================================== */
.bg-pricing {
    width: 1920px;
    height: 1204px;
    position: absolute;
    left: 1px;
    top: 7502.216797px;
    background-color: rgba(253.740524, 254.118378, 255, 1);
}

.decor-pricing-spiral-wrap {
    position: absolute;
    left: 581.917797px;
    top: 7719.233106px;
    width: 1735.838623px;
    height: 1267.654053px;
}

.decor-pricing-spiral {
    position: absolute;
    inset: -23.417680526478758% -15.758262892030938% -20.853877907334734% -17.08582490627356%;
    background: url(../image/Group40.svg) center/100% 100% no-repeat;
    opacity: 0.7;
}

.decor-pricing-group {
    width: 1919px;
    height: 1209px;
    position: absolute;
    left: 0;
    top: 7343px;
}

.decor-pricing-glow-wrap {
    position: absolute;
    left: 706.183546px;
    top: 110.459485px;
    width: 1777.011841px;
    height: 1297.725708px;
}

.decor-pricing-glow {
    position: absolute;
    inset: -7.921197974757191% 31.749669528510488% 15.348789946295751% -5.312060739596962%;
    /*background: url(../image/Group41.svg) center/100% 100% no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201919%201209%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%221919.000000%22%20height%3D%221209.000000%22%20fill%3D%22none%22%20customFrame%3D%22%23000000%22%20mask%3D%22url(%23mask_3)%22%20style%3D%22mix-blend-mode%3Aoverlay%22%3E%0A%09%3Cdefs%3E%0A%09%09%3Cfilter%20id%3D%22pixso_custom_mask_type_alpha%22%3E%0A%09%09%09%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%201%200%200%200%200%201%200%200%200%200%201%200%200%200%201%200%20%22%20%2F%3E%0A%09%09%3C%2Ffilter%3E%0A%09%3C%2Fdefs%3E%0A%09%3Cmask%20id%3D%22mask_3%22%20width%3D%221919.000000%22%20height%3D%221209.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%0A%09%09%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%0A%09%09%09%3Crect%20id%3D%22Rectangle%20880%22%20width%3D%221919.000000%22%20height%3D%221209.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%0A%09%09%3C%2Fg%3E%0A%09%3C%2Fmask%3E%0A%0A%09%09%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%0A%09%09%09%3Crect%20id%3D%22Rectangle%20880%22%20width%3D%221919.000000%22%20height%3D%221209.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%0A%09%09%3C%2Fg%3E%0A%09%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201919%201209%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%221919.000000%22%20height%3D%221209.000000%22%20fill%3D%22none%22%20customFrame%3D%22%23000000%22%20mask%3D%22url(%23mask_3)%22%20style%3D%22mix-blend-mode%3Aoverlay%22%3E%0A%09%3Cdefs%3E%0A%09%09%3Cfilter%20id%3D%22pixso_custom_mask_type_alpha%22%3E%0A%09%09%09%3CfeColorMatrix%20type%3D%22matrix%22%20values%3D%220%200%200%200%201%200%200%200%200%201%200%200%200%200%201%200%200%200%201%200%20%22%20%2F%3E%0A%09%09%3C%2Ffilter%3E%0A%09%3C%2Fdefs%3E%0A%09%3Cmask%20id%3D%22mask_3%22%20width%3D%221919.000000%22%20height%3D%221209.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%0A%09%09%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%0A%09%09%09%3Crect%20id%3D%22Rectangle%20880%22%20width%3D%221919.000000%22%20height%3D%221209.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%0A%09%09%3C%2Fg%3E%0A%09%3C%2Fmask%3E%0A%0A%09%09%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%0A%09%09%09%3Crect%20id%3D%22Rectangle%20880%22%20width%3D%221919.000000%22%20height%3D%221209.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%0A%09%09%3C%2Fg%3E%0A%09%3C%2Fsvg%3E");
    -webkit-mask-size: 1919px 1209px;
    mask-size: 1919px 1209px;
    -webkit-mask-position: -611.7875976562498px -7.664062500000583px;
    mask-position: -611.7875976562498px -7.664062500000583px;*/
}

.pricing-title {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 150%;
    color: #000;
    width: 950px;
    height: 158px;
    position: absolute;
    left: 108px;
    top: 7541.216797px;
}

.pricing-title__p {
    line-height: 60px;
    position: relative;
}

.pricing-features {
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    color: #000;
    width: 1106px;
    height: 276px;
    position: absolute;
    left: 113px;
    top: 7953px;
    line-height: 150%;
}

.pricing-features__title {
    position: absolute;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 40px;
    line-height: 60px;
    top: -116px;
}

.pricing-features__gap {
    line-height: 45px;
}

.pricing-features__item {
    font-size: 30px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    line-height: 45px;
}

.pricing-price {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 80px;
    line-height: 132%;
    color: #000;
    width: 401px;
    height: 87px;
    position: absolute;
    left: 1313px;
    top: 7573.216797px;
}

.pricing-intro {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 25px;
    line-height: 150%;
    color: #000;
    width: 505px;
    position: absolute;
    left: 1313px;
    top: 7938.216797px;
}

.pricing-intro__p {
    line-height: 38px;
    position: relative;
}

.pricing-divider {
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.pricing-divider--vert {
    width: 1px;
    height: 867px;
    left: 1234.5px;
    top: 7516.216796875px;
    background-image: url(../image/Line215.svg);
}

.pricing-divider--horiz {
    width: 501px;
    height: 1px;
    left: 1317px;
    top: 7703.716797px;
    background-image: url(../image/Line217.svg);
}

.pricing-questions {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 150%;
    color: #000;
    width: 505px;
    position: absolute;
    left: 1313px;
    top: 7762.216797px;
}

.pricing-questions__p {
    line-height: 45px;
    position: relative;
}

.pricing-underline {
    height: 40px;
    position: absolute;
    border-radius: 20px;
}

.pricing-underline-1 {
    width: 364px;
    left: 93px;
    top: 7704.216797px;
    background-color: rgba(183.250336, 210.007538, 253.328674, 1);
}

.pricing-underline-2 {
    width: 708px;
    left: 93px;
    top: 7644.216797px;
    background-color: rgba(183.250336, 210.007538, 253.328674, 1);
}

.pricing-underline-3 {
    width: 344px;
    left: 1302px;
    top: 7766.216797px;
    background-color: rgba(183, 210, 253, 1);
}

.pricing-underline-4 {
    width: 344px;
    left: 1302px;
    top: 7810.216797px;
    background-color: rgba(183, 210, 253, 1);
}

.pricing-underline-5 {
    width: 520px;
    left: 1302px;
    top: 7857.216797px;
    background-color: rgba(183, 210, 253, 1);
}

/* ==========================================================
   CONTACT
   ========================================================== */
.bg-contact-photo {
    width: 1930px;
    height: 1075px;
    position: absolute;
    left: -7px;
    top: 9699.216797px;
    background: url(../image/81ea677a4a9a01b6be85347d409710b1f658b25f.webp) -0.12px -41.41px / 100.0575% 103.8354% no-repeat;
    z-index: -1;
}

.contact-block {
    position: absolute;
    left: 1054px;
    /* форма left 1094 − 40 отступа */
    top: 9808px;
    /* title top 9868 − 60 отступа */
    width: 760px;
    /* 680 + 40 отступ слева + 40 справа */
    padding: 40px 40px 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 32px;
    /* отступ между title и form */
    z-index: 2;
    background: rgba(4, 7, 14, 0.62);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-radius: 24px;
}

.bg-contact-gradient {
    width: 1920px;
    height: 548px;
    position: absolute;
    left: 0;
    top: 9706.216797px;
    background: url("data:image/svg+xml;utf8,%3Csvg%20viewBox%3D'0%200%201920%20548'%20preserveAspectRatio%3D'none'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%0A%20%20%20%20%20%20%3Cdefs%3E%0A%20%20%20%20%20%20%20%20%3ClinearGradient%20id%3D'grad'%20gradientUnits%3D'objectBoundingBox'%20x1%3D'0'%20y1%3D'0.5'%20x2%3D'1'%20y2%3D'0.5'%20gradientTransform%3D'matrix(0.0000%2C%201.0000%2C%20-0.0988%2C%200.0000%2C%200.5494%2C%200.0000)'%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cstop%20stop-color%3D'rgba(4%2C7%2C14%2C0.92)'%20offset%3D'0'%2F%3E%3Cstop%20stop-color%3D'rgba(11%2C45%2C83%2C0)'%20offset%3D'1'%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FlinearGradient%3E%0A%20%20%20%20%20%20%3C%2Fdefs%3E%0A%20%20%20%20%20%20%3Crect%20width%3D'100%25'%20height%3D'100%25'%20fill%3D'url(%23grad)'%2F%3E%0A%20%20%20%20%3C%2Fsvg%3E") center/100% 100% no-repeat;
}

.contact-title {
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 400;
    font-size: 35px;
    line-height: 132%;
    color: #fff;
}

/* ==========================================================
   FOOTER
   ========================================================== */
.bg-footer-dark {
    width: 1921px;
    height: 695px;
    position: absolute;
    left: 0;
    top: 10768.216797px;
    background-color: rgba(4, 7, 14, 1);
}

.footer-logo {
    font-family: "Kreadon-Medium", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 400;
    font-size: 64px;
    letter-spacing: -0.01em;
    line-height: 108%;
    color: #fff;
    width: 769px;
    position: absolute;
    left: 76px;
    top: 10956.433594px;
    letter-spacing: 0.5px;
}

.footer-logo__p span {
    font-family: "Kreadon-Demi", sans-serif;
}

.footer-link {
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 132%;
    color: #fff;
    position: absolute;
    white-space: pre;
}

.footer-link--privacy {
    width: 705px;
    left: 76px;
    top: 11175.433594px;
}

.footer-link--agreement {
    width: 624px;
    left: 76px;
    top: 11116.433594px;
}

.footer-link--terms {
    width: 426px;
    left: 76px;
    top: 11234.433594px;
}

.footer-link--telegram {
    width: 184px;
    left: 896px;
    top: 11116.433594px;
}

.footer-link--instagram {
    width: 184px;
    left: 896px;
    top: 11175.433594px;
}

.footer-link--youtube {
    width: 184px;
    left: 896px;
    top: 11234.433594px;
}

.footer-text {
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 132%;
    color: #fff;
    width: 517px;
    position: absolute;
    left: 1195px;
    top: 11116.433594px;
    white-space: pre;
}

.footer-form {
    position: absolute;
    left: 1195px;
    top: 11199.433594px;
    width: 651px;
    height: 65px;
    border-radius: 100px;
    border: 1px solid #fff;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 0 30px 0 24px;
    gap: 12px;
}

.footer-form__input {
    flex: 1;
    min-width: 0;
    font-family: inherit;
    font-size: 20px;
    color: #fff;
}

.footer-form__input::placeholder {
    color: transparent;
}

.footer-form__submit {
    flex-shrink: 0;
    width: 41px;
    height: 13.32px;
    background: url(../image/Arrow3.svg) center/contain no-repeat;
}

/* ==========================================================
   Фикс z-index для текстовых слоёв на тёмном фоне
   ========================================================== */
.hero-subtitle,
.hero-badge,
.hero-logo,
.hero-title,
.nav,
.hero-badge__dot-outer,
.hero-badge__dot-inner {
    z-index: 2;
}

.quote-text,
.questions-title,
.q-card,
.faq-title,
.faq-question,
.faq-answer,
.faq-active-title,
.contact-title,
.contact-label,
.footer-logo,
.footer-link,
.footer-text,
.pricing-title,
.pricing-price,
.pricing-intro,
.pricing-features,
.pricing-questions,
.psych-title,
.psych-desc,
.psych-subtitle,
.psych-subtext,
.psych-badge-text,
.psych-education-text,
.practice-title,
.practice-intro,
.practice-num,
.practice-step-title,
.practice-step-desc,
.process-title {
    z-index: 2;
}

/* ===== Sticky header (desktop) ===== */
.site-header {
    height: clamp(72px, 7.5vw, 144px);
}

/* left = смещение_центрирования + min(vw_терм, native).
   Правильная формула: при vw>1920 смещение растёт, native стоит. */
.site-header__inner>.hero-logo {
    position: fixed;
    left: calc(max((100vw - 1920px) / 2, 0px) + min(2.9167vw, 56px));
    top: min(2.7083vw, 52px);
    width: min(18.0729vw, 347px);
    height: min(2.1875vw, 42px);
    font-size: min(1.5625vw, 30px);
}

.site-header__inner>.nav {
    position: fixed;
    left: calc(max((100vw - 1920px) / 2, 0px) + min(57.2396vw, 1099px));
    top: min(3.125vw, 60px);
    gap: min(1.9271vw, 37px);
}

.site-header__inner>.nav>.nav__link {
    font-size: min(1.5625vw, 30px);
}

/* ==========================================================
   CTA MODAL (compact)
   ========================================================== */
.cta-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 64px 16px 32px;
    background: rgba(227, 234, 247, 0.97);
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease-out;
}

.cta-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

/* Close */
.cta-modal__close {
    position: fixed;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    border: 0;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s;
}

.cta-modal__close:hover {
    background: #fff;
}

.cta-modal__close span {
    position: absolute;
    width: 18px;
    height: 2px;
    background: #000;
    border-radius: 2px;
}

.cta-modal__close span:first-child {
    transform: rotate(45deg);
}

.cta-modal__close span:last-child {
    transform: rotate(-45deg);
}

/* Inner */
.cta-modal__inner {
    margin: auto;
    width: 100%;
    max-width: 560px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    transform: translateY(16px) scale(0.98);
    opacity: 0;
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
    box-sizing: border-box;
}

.cta-modal.is-open .cta-modal__inner {
    transform: none;
    opacity: 1;
}

/* Title */
.cta-modal__title {
    font-family: "Kreadon-Medium", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.25;
    color: #000;
    text-align: center;
    margin: 0 0 28px;
}

/* Fields */
.cta-modal__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.cta-modal__label {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.3;
    color: #000;
}

.cta-modal__input,
.cta-modal__phone,
.cta-modal__select {
    width: 100%;
    height: 54px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: #fff;
    box-sizing: border-box;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 16px;
    color: #000;
    transition: border-color 0.2s;
    outline: none;
}

.cta-modal__input {
    padding: 0 20px;
}

.cta-modal__input::placeholder,
.cta-modal__phone-input::placeholder {
    color: rgba(0, 0, 0, 0.55);
    opacity: 1;
}

.cta-modal__input:focus,
.cta-modal__phone:focus-within,
.cta-modal__select:focus-within {
    border-color: rgba(183, 210, 253, 1);
}

.cta-modal__field.is-error .cta-modal__input,
.cta-modal__field.is-error .cta-modal__phone,
.cta-modal__field.is-error .cta-modal__select {
    border-color: #e65045;
}

/* Phone composite */
.cta-modal__phone {
    display: flex;
    align-items: center;
    padding: 0 16px;
    gap: 8px;
}

.cta-modal__chevron {
    width: 0;
    height: 0;
    flex-shrink: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid rgba(0, 0, 0, 0.65);
    pointer-events: none;
}

.cta-modal__phone-input {
    flex: 1;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
    font-family: inherit;
    font-size: 16px;
    color: inherit;
}

/* Select */
.cta-modal__select {
    display: flex;
    align-items: center;
    padding: 0 20px;
    cursor: pointer;
}

.cta-modal__select-input {
    flex: 1;
    height: 100%;
    border: 0;
    outline: none;
    background: transparent;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    padding: 0;
}

/* Error */
.cta-modal__error {
    display: none;
    background: #e65045;
    border-radius: 10px;
    padding: 14px 20px;
    margin-bottom: 16px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #000;
    text-align: center;
}

.cta-modal__error.is-visible {
    display: block;
}

/* Submit */
.cta-modal__submit {
    width: 100%;
    height: 54px;
    background: #b7d2fd;
    border-radius: 10px;
    border: 0;
    padding: 0;
    cursor: pointer;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #000;
    transition: background 0.2s;
    margin-top: 4px;
    text-align: center;
}

.cta-modal__submit:hover {
    background: #a3bee9;
}

/* Privacy */
.cta-modal__privacy {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 12px;
    line-height: 1.4;
    color: #4a5568;
    text-align: center;
    margin: 16px 0 0;
}

/* Mobile — modal пока выключен */
@media (max-width: 767px) {
    .cta-modal {
        display: none !important;
    }
}

body.cta-modal-open {
    overflow: hidden;
}

.cta-modal__close--mobile {
    display: none;
}

/* Country combobox */
.cta-modal__country {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 100%;
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
    outline: none;
    user-select: none;
    border-radius: 4px;
}

.cta-modal__country:focus-visible {
    outline: 2px solid rgba(183, 210, 253, 1);
    outline-offset: 2px;
}

.cta-modal__country-flag {
    font-size: 20px;
    line-height: 1;
    display: inline-block;
}

.cta-modal__country .cta-modal__chevron {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid rgba(0, 0, 0, 0.65);
}

.cta-modal__country-list {
    position: absolute;
    top: calc(100% + 8px);
    left: -16px;
    min-width: 220px;
    max-height: 260px;
    overflow-y: auto;
    margin: 0;
    padding: 6px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
    list-style: none;
    z-index: 50;
    box-sizing: border-box;
}

.cta-modal__country-list[hidden] {
    display: none;
}

.cta-modal__country-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 15px;
    line-height: 1.2;
    color: #000;
    white-space: nowrap;
}

.cta-modal__country-list li:hover,
.cta-modal__country-list li.is-hovered {
    background: rgba(183, 210, 253, 0.35);
}

.cta-modal__country-list li[aria-selected="true"] {
    background: rgba(183, 210, 253, 0.6);
}

.cta-modal__dial-code {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 16px;
    line-height: 1;
    color: #000;
    flex-shrink: 0;
    user-select: none;
}

.cta-modal__privacy-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    cursor: pointer;
    transition: color 0.15s, opacity 0.15s;
}

.cta-modal__privacy-link:hover {
    color: rgba(14, 72, 228, 1);
}

.cta-modal__privacy-link:focus-visible {
    outline: 2px solid rgba(183, 210, 253, 1);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ==========================================================
   FAQ — accordion
   ========================================================== */
.faq-list {
    position: absolute;
    left: 682px;
    top: 8673.216797px;
    width: 1188px;
    z-index: 2;
}

.faq-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.faq-item__q {
    display: flex;
    align-items: center;
    gap: 24px;
    width: 100%;
    padding: 44px 60px 41px 24px;
    background: transparent;
    border: 0;
    text-align: left;
    cursor: pointer;
    color: #fff;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 30px;
    line-height: 100%;
    box-sizing: border-box;
}

.faq-item:first-child .faq-item__q {
    padding-bottom: 25px;
}

.faq-item__q-text {
    flex: 1;
}

.faq-item__icon {
    position: relative;
    width: 27px;
    height: 27px;
    flex-shrink: 0;
    transition: transform 0.35s ease-out;
}

.faq-item__icon::before,
.faq-item__icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: #fff;
    border-radius: 1px;
}

.faq-item__icon::before {
    width: 27px;
    height: 2px;
    margin: -1px 0 0 -13.5px;
}

.faq-item__icon::after {
    width: 2px;
    height: 27px;
    margin: -13.5px 0 0 -1px;
}

.faq-item.is-open .faq-item__icon {
    transform: rotate(45deg);
}

.faq-item__a-wrap {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s ease-out;
}

.faq-item.is-open .faq-item__a-wrap {
    grid-template-rows: 1fr;
}

.faq-item__a {
    overflow: hidden;
}

.faq-item__a p {
    margin: 0;
    padding: 0 60px 32px 24px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 23px;
    line-height: 132%;
    color: #fff;
}

/* ==========================================================
   FAQ module carousel — sweep curtain
   ========================================================== */
.faq-curtain {
    position: absolute;
    left: 445px;
    top: 6389px;
    width: 1015px;
    height: 407px;
    background: #d9e6f9;
    clip-path: inset(0 100% 0 0);
    z-index: 3;
    pointer-events: none;
    will-change: clip-path;
}

/* Текст не перехватывает клики — они идут в .faq-card */
.faq-active-title,
.faq-underline,
.faq-answer {
    pointer-events: none;
}

/* Карточка кликабельна как область (курсор-указатель для UX) */
.faq-card {
    cursor: pointer;
}

/* ==========================================================
   CONTACT FORM — flex, поля как в модалке
   ========================================================== */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 22px;
    z-index: 2;
}

.contact-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-field-label {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.3;
    color: #ffffff;
}

.contact-field-input,
.contact-field-phone,
.contact-field-select {
    width: 100%;
    height: 64px;
    /* чуть выше 54 — пропорции ближе к модалке при ширине 680 */
    background: #fff;
    border-radius: 10px;
    border: 1px solid transparent;
    box-sizing: border-box;
    outline: none;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 16px;
    color: #000;
    transition: border-color .2s;
}

.contact-field-input {
    padding: 0 20px;
}

.contact-field-input::placeholder,
.contact-field-phone-input::placeholder {
    color: rgba(0, 0, 0, .55);
    opacity: 1;
}

.contact-field-input:focus,
.contact-field-phone:focus-within,
.contact-field-select:focus-within {
    border-color: rgba(183, 210, 253, 1);
}

.contact-field-phone {
    display: flex;
    align-items: center;
    padding: 0 16px;
    gap: 8px;
}

.contact-field-phone-input {
    flex: 1;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    outline: none;
    font: inherit;
    color: inherit;
}

.contact-dial-code {
    font: inherit;
    flex-shrink: 0;
    user-select: none;
}

.contact-country {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 100%;
    cursor: pointer;
    outline: none;
    user-select: none;
    border-radius: 4px;
}

.contact-country:focus-visible {
    outline: 2px solid rgba(183, 210, 253, 1);
    outline-offset: 2px;
}

.contact-country-flag {
    font-size: 18px;
    line-height: 1;
    display: inline-block;
}

.contact-chevron {
    width: 0;
    height: 0;
    flex-shrink: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid rgba(0, 0, 0, .65);
    pointer-events: none;
}

.contact-country-list {
    position: absolute;
    top: calc(100% + 8px);
    left: -16px;
    min-width: 220px;
    max-height: 260px;
    overflow-y: auto;
    margin: 0;
    padding: 6px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
    list-style: none;
    z-index: 50;
    box-sizing: border-box;
}

.contact-country-list[hidden] {
    display: none;
}

.contact-country-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 15px;
    color: #000;
    white-space: nowrap;
}

.contact-country-list li:hover,
.contact-country-list li.is-hovered {
    background: rgba(183, 210, 253, .35);
}

.contact-country-list li[aria-selected="true"] {
    background: rgba(183, 210, 253, .6);
}

.contact-field-select {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 20px;
}

.contact-field-select-input {
    flex: 1;
    height: 100%;
    border: 0;
    outline: none;
    background: transparent;
    font: inherit;
    color: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
}

/* Подсказка — теперь в потоке, раздвигает всё, что ниже */
.contact-field-hint {
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    transition: max-height .3s ease-out, margin-top .3s ease-out;
}

.contact-field-hint.is-visible {
    max-height: 100px;
    margin-top: 8px;
}

.contact-field-hint__text {
    display: block;
    padding: 10px 14px;
    background: #eef3fc;
    border-radius: 8px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
}

/* Кнопка «Записаться в группу» — стилистика сохранена, теперь в потоке.
   margin-top компенсирует визуальный отрыв, чтобы кнопка не «прилипла» к полям. */
.contact-form .contact-submit {
    width: 100%;
    height: 81px;
    margin-top: 12px;
    background: #b7d2fd;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-size: 30px;
    color: #000;
    cursor: pointer;
    border: 0;
    padding: 0;
}

.contact-or {
    text-align: center;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 18px;
    line-height: 1.4;
    color: rgba(255, 255, 255, .85);
}

.contact-contact-me {
    width: 100%;
    height: 70px;
    background: #fff;
    color: #000;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-size: 26px;
    line-height: 1.2;
    cursor: pointer;
    border: 0;
    padding: 0;
    transition: background .2s;
}

.contact-contact-me:hover {
    background: rgba(230, 239, 252, 1);
}

/* ==========================================================
   HINT в CTA-модалке
   ========================================================== */
.cta-modal__hint {
    max-height: 0;
    overflow: hidden;
    margin-top: 0;
    transition: max-height .3s ease-out, margin-top .3s ease-out;
}

.cta-modal__hint.is-visible {
    max-height: 80px;
    margin-top: 8px;
}

.cta-modal__hint-text {
    display: block;
    padding: 10px 14px;
    background: #eef3fc;
    border-radius: 8px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #000;
}

/* ==========================================================
   FLOW MODAL (submit / contact-me) — desktop
   ========================================================== */
.flow-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
    background: rgba(15, 20, 35, .55);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease-out;
    box-sizing: border-box;
}

.flow-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.flow-modal__close {
    position: fixed;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .85);
    border: 0;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background .2s;
}

.flow-modal__close:hover {
    background: #fff;
}

.flow-modal__close span {
    position: absolute;
    width: 18px;
    height: 2px;
    background: #000;
    border-radius: 2px;
}

.flow-modal__close span:first-child {
    transform: rotate(45deg);
}

.flow-modal__close span:last-child {
    transform: rotate(-45deg);
}

.flow-modal__inner {
    position: relative;
    width: 100%;
    max-width: 520px;
    background: #e3eaf7;
    border-radius: 20px;
    padding: 32px 32px 28px;
    box-sizing: border-box;
    transform: translateY(16px) scale(.98);
    opacity: 0;
    transition: transform .3s ease-out, opacity .3s ease-out;
}

.flow-modal.is-open .flow-modal__inner {
    transform: none;
    opacity: 1;
}

.flow-modal__state[hidden] {
    display: none;
}

.flow-modal__title {
    margin: 0 0 12px;
    font-family: "Kreadon-Medium", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.3;
    color: #000;
    text-align: center;
}

.flow-modal__text {
    margin: 0 0 22px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #000;
    text-align: center;
}

.flow-modal__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 22px;
}

.flow-modal__btn {
    width: 100%;
    height: 52px;
    border: 0;
    border-radius: 10px;
    padding: 0;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #000;
    cursor: pointer;
    transition: background .2s, opacity .2s;
    text-align: center;
    /* ← добавить */
}

.flow-modal__btn--primary {
    background: #b7d2fd;
}

.flow-modal__btn--primary:hover:not(:disabled) {
    background: #a3bee9;
}

.flow-modal__btn--secondary {
    background: #fff;
}

.flow-modal__btn--secondary:hover {
    background: #f4f7fd;
}

.flow-modal__btn:disabled {
    opacity: .65;
    cursor: default;
}

.flow-modal__spinner {
    width: 40px;
    height: 40px;
    margin: 8px auto 0;
    border: 3px solid rgba(0, 0, 0, .12);
    border-top-color: #0e48e4;
    border-radius: 50%;
    animation: flowSpin .8s linear infinite;
}

@keyframes flowSpin {
    to {
        transform: rotate(360deg);
    }
}

/* Contact-me modal */
.flow-modal__socials {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 22px;
}

.flow-modal__social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 56px;
    border-radius: 12px;
    background: #fff;
    color: #000;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 17px;
    transition: background .2s;
}

.flow-modal__social:hover {
    background: #f4f7fd;
}

.flow-modal__social-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #fff;
}

body.flow-modal-open {
    overflow: hidden;
}

.contact-field-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.3;
    color: #fff;
    transition: color .2s;
}

.contact-field-error {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.2;
    color: #ff7373;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .2s ease, transform .2s ease;
    pointer-events: none;
    flex-shrink: 0;
}

.contact-field.is-error .contact-field-error {
    opacity: 1;
    transform: none;
}

.contact-field.is-error .contact-field-label {
    color: #ff9a9a;
}

/* Красная обводка/фон поля при ошибке */
.contact-field.is-error .contact-field-input,
.contact-field.is-error .contact-field-phone,
.contact-field.is-error .contact-field-select {
    border-color: #ff5a5a;
    background: #fff5f5;
}

/* Вибрация невалидного поля */
@keyframes contactFieldShake {

    0%,
    100% {
        transform: translateX(0);
    }

    15% {
        transform: translateX(-7px);
    }

    30% {
        transform: translateX(7px);
    }

    45% {
        transform: translateX(-5px);
    }

    60% {
        transform: translateX(5px);
    }

    75% {
        transform: translateX(-2px);
    }

    90% {
        transform: translateX(2px);
    }
}

.contact-field.is-shaking .contact-field-input,
.contact-field.is-shaking .contact-field-phone,
.contact-field.is-shaking .contact-field-select {
    animation: contactFieldShake .55s cubic-bezier(.36, .07, .19, .97);
}

@media (prefers-reduced-motion: reduce) {

    .contact-field.is-shaking .contact-field-input,
    .contact-field.is-shaking .contact-field-phone,
    .contact-field.is-shaking .contact-field-select {
        animation: none;
    }
}

/* ==========================================================
   TEST MODAL (desktop + base)
   ========================================================== */
.test-modal {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background: rgba(0, 0, 0, 0.7);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease-out;
    box-sizing: border-box;
    overflow: hidden;
}

.test-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.test-modal__sheet {
    position: relative;
    width: 100%;
    max-width: 1080px;
    max-height: calc(100vh - 80px);
    background: #0a0a0a;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: translateY(20px) scale(.98);
    opacity: 0;
    transition:
        transform .35s ease-out,
        opacity .35s ease-out,
        background-color .45s ease;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .5);
}

.test-modal.is-open .test-modal__sheet {
    transform: none;
    opacity: 1;
}

/* Светлый фон после завершения */
.test-modal.is-result .test-modal__sheet {
    background: #f3f8fa;
}

/* Header */
.test-modal__header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 20px 24px 4px;
    flex-shrink: 0;
    position: relative;
}

.test-nav {
    display: none;
}

.test-close {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    border: 0;
    cursor: pointer;
    position: relative;
    transition: background .2s;
}

.test-close:hover {
    background: rgba(255, 255, 255, .16);
}

.test-close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
}

.test-close span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
}

.test-close span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* X в результате на светлом фоне */
.test-modal.is-result .test-close {
    background: rgba(0, 0, 0, .06);
}

.test-modal.is-result .test-close:hover {
    background: rgba(0, 0, 0, .12);
}

.test-modal.is-result .test-close span {
    background: #000;
}

/* Body */
.test-modal__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0 24px 24px;
    -webkit-overflow-scrolling: touch;
    transition: opacity .18s ease-out;
}

.test-modal__body.is-hiding {
    opacity: 0;
}

.test-modal__note {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 12px;
    line-height: 1.4;
    color: rgba(255, 255, 255, .45);
    margin: 0 0 24px;
}

/* Questions list */
.test-list {
    display: flex;
    flex-direction: column;
}

.test-item {
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 22px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.test-item:first-child {
    padding-top: 4px;
}

.test-item:last-child {
    border-bottom: 0;
}

.test-item__text {
    flex: 1;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .88);
}

.test-item__meta {
    display: none;
}

.test-item__err {
    display: none;
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.3;
    color: #ff6a6a;
}

.test-item.is-error .test-item__text {
    color: #ff8f8f;
}

.test-item.is-error .test-item__err {
    display: block;
}

.test-item__controls {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.test-answer {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: 76px;
    height: 40px;
    padding: 0 18px;
    border-radius: 20px;
    background: #232323;
    color: #fff;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
    line-height: 1;
    border: 0;
    cursor: pointer;
    transition: background .2s, color .2s, transform .15s;
}

.test-answer:hover {
    background: #2e2e2e;
}

.test-answer.is-selected {
    background: #fff;
    color: #000;
}

.test-answer:active {
    transform: scale(.97);
}

/* Sticky footer */
.test-modal__footer {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    padding: 16px 24px 24px;
    background: linear-gradient(180deg, rgba(10, 10, 10, 0) 0%, #0a0a0a 40%);
}

.test-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    max-width: 500px;
    height: 58px;
    background: #2a2a2a;
    color: #fff;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-size: 18px;
    letter-spacing: .01em;
    border-radius: 29px;
    border: 0;
    cursor: pointer;
    transition: background .2s;
}

.test-submit:hover {
    background: #363636;
}

/* Result view — светлая тема */
.test-modal__body--result {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 24px 32px;
}

.test-modal__body--result:not([hidden]) {
    animation: testResultIn .35s cubic-bezier(.22, .61, .36, 1) .1s both;
}

@keyframes testResultIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.test-result {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.test-result__media {
    width: 100%;
    aspect-ratio: 1668 / 878;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 16px;
    background-color: #e6edf2;
    margin-bottom: 40px;
}

.test-result__media--none {
    background-image: url(../image/test-result-none.webp);
}

.test-result__media--inattentive {
    background-image: url(../image/test-result-inattentive.webp);
}

.test-result__media--combined {
    background-image: url(../image/test-result-combined.webp);
}

.test-result__content {
    padding: 0 4px;
}

.test-result__title {
    margin: 0 0 24px;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 1.3;
    color: #0a0a0a;
    letter-spacing: -0.01em;
}

.test-result__body {
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-size: 18px;
    line-height: 1.55;
    color: rgba(0, 0, 0, .78);
}

.test-result__body p {
    margin: 0 0 18px;
}

.test-result__body p:last-child {
    margin: 0;
}

.test-result__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
    margin-top: 40px;
    transition: opacity .3s ease;
}

.test-result__actions.is-locked {
    pointer-events: none;
    opacity: .55;
}

.test-result__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 56px;
    padding: 0 40px;
    border-radius: 28px;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-size: 17px;
    border: 0;
    cursor: pointer;
    line-height: 1;
    transition: background .2s, color .2s;
}

/* Синяя кнопка «Записаться» — видна на светлом */
.test-result__btn--cta {
    background: #b7d2fd;
    color: #000;
}

.test-result__btn--cta:hover {
    background: #a3bee9;
}

/* Тёмная кнопка «Пройти заново» */
.test-result__btn--dark {
    background: #0a0a0a;
    color: #fff;
}

.test-result__btn--dark:hover {
    background: #222;
}

/* Nav в результате (для мобилки) — чёрный текст */
.test-modal.is-result .test-nav:not(.test-nav--next) {
    color: #000;
}

/* Confirm exit */
.test-confirm {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .78);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 10;
}

.test-confirm[hidden] {
    display: none;
}

.test-confirm__box {
    width: 100%;
    max-width: 400px;
    background: #1a1a1a;
    border-radius: 16px;
    padding: 28px 24px;
    text-align: center;
}

.test-confirm__title {
    margin: 0 0 24px;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 17px;
    line-height: 1.4;
    color: #fff;
}

.test-confirm__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.test-confirm__btn {
    height: 48px;
    border-radius: 24px;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 15px;
    border: 0;
    cursor: pointer;
}

.test-confirm__btn--yes {
    background: #ff5a5a;
    color: #fff;
}

.test-confirm__btn--no {
    background: #fff;
    color: #000;
}

body.test-modal-open {
    overflow: hidden;
}

/* ==========================================================
   EDUCATION MODAL (desktop)
   ========================================================== */
.education-modal {
    position: fixed;
    inset: 0;
    z-index: 3500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background: rgba(4, 7, 14, 0.75);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease-out;
    box-sizing: border-box;
}

.education-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.education-modal__inner {
    position: relative;
    width: 100%;
    max-width: 640px;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    background: #e8effa;
    border-radius: 24px;
    padding: 56px 48px 40px;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translateY(16px) scale(.98);
    opacity: 0;
    transition: transform .3s ease-out, opacity .3s ease-out;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .35);
}

.education-modal.is-open .education-modal__inner {
    transform: none;
    opacity: 1;
}

.education-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .06);
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: background .2s;
}

.education-modal__close:hover {
    background: rgba(0, 0, 0, .12);
}

.education-modal__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    background: #000;
    border-radius: 2px;
}

.education-modal__close span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
}

.education-modal__close span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.education-modal__title {
    margin: 0 0 32px;
    padding: 0;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 400;
    font-size: 36px;
    line-height: 1.2;
    color: #000;
    text-align: center;
    width: 100%;
}

.education-modal__list {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    margin: 0 0 32px;
    padding: 0;
}

.education-modal__item {
    width: 100%;
    text-align: center;
    padding: 0;
    margin: 0;
}

.education-modal__school,
.education-modal__specialty {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.35;
    color: #000;
    text-align: center;
}

.education-modal__specialty {
    margin-top: 4px;
}

.education-modal__submit {
    width: 100%;
    max-width: 320px;
    height: 56px;
    margin: 0;
    padding: 0;
    background: #b7d2fd;
    color: #000;
    border: 0;
    border-radius: 28px;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: background .2s;
    /* ключевой фикс — центрируем текст кнопки */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.education-modal__submit:hover {
    background: #a3bee9;
}

body.education-modal-open {
    overflow: hidden;
}

.contact-consent {
    margin: -4px 0 0;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.55);
    text-align: center;
}

.contact-consent__link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    transition: color .15s;
}

.contact-consent__link:hover {
    color: #fff;
}

/* ==========================================================
   RU-ONLY CALLS MODAL (desktop)
   ========================================================== */
.ru-only-modal {
    position: fixed;
    inset: 0;
    z-index: 3600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background: rgba(4, 7, 14, 0.75);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease-out;
    box-sizing: border-box;
}

.ru-only-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.ru-only-modal__inner {
    position: relative;
    width: 100%;
    max-width: 520px;
    background: #e3eaf7;
    border-radius: 24px;
    padding: 40px 32px 28px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transform: translateY(16px) scale(.98);
    opacity: 0;
    transition: transform .3s ease-out, opacity .3s ease-out;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .35);
}

.ru-only-modal.is-open .ru-only-modal__inner {
    transform: none;
    opacity: 1;
}

.ru-only-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .06);
    border: 0;
    cursor: pointer;
    transition: background .2s;
}

.ru-only-modal__close:hover {
    background: rgba(0, 0, 0, .12);
}

.ru-only-modal__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    background: #000;
    border-radius: 2px;
}

.ru-only-modal__close span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
}

.ru-only-modal__close span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.ru-only-modal__title {
    margin: 0 0 16px;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 1.25;
    color: #000;
}

.ru-only-modal__text {
    margin: 0 0 24px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(0, 0, 0, .75);
}

.ru-only-modal__country {
    font-weight: 600;
    color: #000;
}

.ru-only-modal__actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 20px;
}

.ru-only-modal__btn {
    width: 100%;
    height: 52px;
    border: 0;
    border-radius: 10px;
    padding: 0;
    cursor: pointer;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1;
    transition: background .2s;
}

.ru-only-modal__btn--primary {
    background: #b7d2fd;
    color: #000;
}

.ru-only-modal__btn--primary:hover {
    background: #a3bee9;
}

.ru-only-modal__btn--secondary {
    background: #fff;
    color: #000;
}

.ru-only-modal__btn--secondary:hover {
    background: #f4f7fd;
}

.ru-only-modal__or {
    text-align: center;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 14px;
    color: rgba(0, 0, 0, .5);
    padding: 4px 0;
}

.ru-only-modal__back {
    height: 44px;
    padding: 0 24px;
    background: transparent;
    color: rgba(0, 0, 0, .55);
    border: 0;
    border-radius: 22px;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 14px;
    text-decoration: underline;
    cursor: pointer;
    transition: color .2s;
}

.ru-only-modal__back:hover {
    color: #000;
}

body.ru-only-open {
    overflow: hidden;
}

.contact-field-select-input option:disabled,
.cta-modal__select-input option:disabled {
    color: rgba(0, 0, 0, 0.35);
}

/* ==========================================================
ЛЕВИТАЦИЯ ПРЕДМЕТОВ (ПК)
========================================================== */
.q-clock,
.q-brain-right,
.q-brain-left,
.q-tv,
.q-box,
.q-brain-center {
    will-change: transform;
}

.q-clock.is-shown,
.q-brain-right.is-shown,
.q-brain-left.is-shown,
.q-tv.is-shown,
.q-box.is-shown,
.q-brain-center.is-shown {
    animation: qFloatPc1 5s cubic-bezier(0.37, 0, 0.63, 1) infinite;
}

@keyframes qFloatPc1 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }
}

@keyframes qFloatPc2 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

@keyframes qFloatPc3 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-14px);
    }
}

@keyframes qFloatPc4 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-11px);
    }
}

@keyframes qFloatPc5 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-13px);
    }
}

@keyframes qFloatPc6 {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

@media (prefers-reduced-motion: reduce) {

    .q-clock.is-shown,
    .q-brain-right.is-shown,
    .q-brain-left.is-shown,
    .q-tv.is-shown,
    .q-box.is-shown,
    .q-brain-center.is-shown {
        animation: none;
    }
}

#4890ff

/* ==========================================================
HERO BADGE DOT — плавное моргание + цветная волна-кольцо
========================================================== */
.hero-badge__dot-inner {
    position: relative;
    animation: dotBlink 3.5s ease-in-out infinite;
}

/* inset: -1px расширяет псевдоэлемент на 1px со всех сторон —
   кольцо начинается от видимого края точки, без просвета */
.hero-badge__dot-inner::before {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: 50%;
    border: 2px solid #4890ff;
    background: transparent;
    transform: scale(1);
    transform-origin: center;
    opacity: 0;
    pointer-events: none;
    animation: dotWaveOut 3.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.hero-badge__dot-inner::after {
    content: '';
    position: absolute;
    inset: 1px;
    border-radius: 50%;
    border: 2px solid #4890ff;
    background: transparent;
    transform: scale(2);
    transform-origin: center;
    opacity: 0;
    pointer-events: none;
    animation: dotWaveIn 3.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes dotWaveOut {
    0% {
        transform: scale(1);
        opacity: 0;
    }

    15% {
        opacity: 0.85;
    }

    50% {
        transform: scale(2);
        opacity: 0.6;
    }

    100% {
        transform: scale(2);
        opacity: 0;
    }
}

@keyframes dotWaveIn {

    0%,
    50% {
        transform: scale(2);
        opacity: 0;
    }

    55% {
        opacity: 0.6;
    }

    100% {
        transform: scale(0);
        opacity: 0;
    }
}

@keyframes dotBlink {

    0%,
    100% {
        filter: brightness(1);
    }

    50% {
        filter: brightness(1.35);
    }
}

@media (prefers-reduced-motion: reduce) {

    .hero-badge__dot-inner,
    .hero-badge__dot-inner::before,
    .hero-badge__dot-inner::after {
        animation: none;
        filter: none;
    }
}