/* ==========================================================
   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;
}

/* ==========================================================
   СКЕЙЛИНГ (мобильный: 1rem = 1% ширины вьюпорта)
   При 480px viewport 1rem = 16px — точь-в-точь как в Pixso.
   ========================================================== */
html {
    font-size: calc(100vw / 30);
    width: 100%;
    height: 100%;
}

.page {
    width: 100%;
    height: 100%;
    overflow: auto;
}

.landing {
    width: 100%;
    height: 552.25rem;
    min-width: 30rem;
    position: relative;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 1);
    flex-shrink: 0;
}

.landing>* {
    position: absolute;
}

/* ==========================================================
   HERO
   ========================================================== */
.hero-bg-blur {
    left: -0.8125rem;
    top: 14.1875rem;
    width: 30.875rem;
    height: 43.625rem;
    background-image: url(../image-mobile/6cbaa1d5e404540d0275c1a388d0ae4bab5df9eb.webp);
    background-size: 190.2208% 100.0599%;
    background-repeat: no-repeat;
    background-position: -11.1344rem 1.2781rem;
    filter: blur(0.0833rem);
}

.hero-gradient {
    left: 0;
    top: 16.8125rem;
    width: 30rem;
    height: 17.6875rem;
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20viewBox%3D'0%200%20480%20283'%20preserveAspectRatio%3D'none'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cdefs%3E%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.0789%2C%200.0981%2C%200.0000%2C%200.5462%2C%201.0789)'%3E%3Cstop%20stop-color%3D'rgba(5%2C12%2C30%2C0)'%20offset%3D'0'%2F%3E%3Cstop%20stop-color%3D'rgba(4.970655%2C11.94131%2C29.845938%2C0.007336)'%20offset%3D'0.187458'%2F%3E%3Cstop%20stop-color%3D'rgba(1%2C4%2C9%2C1)'%20offset%3D'1'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D'100%25'%20height%3D'100%25'%20fill%3D'url(%23grad)'%2F%3E%3C%2Fsvg%3E");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.hero-blackbar {
    left: 0;
    top: 0;
    width: 30rem;
    height: 16.125rem;
    background-color: rgba(1, 4, 9, 1);
}

.hero-logo {
    left: 1.375rem;
    top: 2.75rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 86.000001%;
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    white-space: pre;
    z-index: 2;
}

.hero-title {
    left: 1.375rem;
    top: 5.65rem;
    width: 25.75rem;
    height: 5.0625rem;
    font-family: "Kreadon-Bold", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 700;
    font-size: 2.0625rem;
    line-height: 132.000005%;
    color: rgba(255, 255, 255, 1);
    z-index: 2;
}

.hero-title__line {
    display: block;
    line-height: 2.75rem;
}

.hero-subtitle {
    left: 1.375rem;
    top: 13.9375rem;
    width: 25.5625rem;
    height: 3.875rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 132.000005%;
    color: rgba(255, 255, 255, 1);
    z-index: 2;
}

.hero-badge {
    left: 1.5rem;
    top: 22.8125rem;
    width: 21.875rem;
    height: 2.125rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 132.000005%;
    color: rgba(255, 255, 255, 1);
    white-space: pre-wrap;
    z-index: 2;
}

/* Было Montserrat Alternates-SemiBold — нет в font.css.
   Заменил на доступный Medium с weight:600. */
.hero-badge strong {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 600;
}

.hero-badge__dot-outer {
    left: 19.63rem;
    top: 23.1125rem;
    width: 0.65rem;
    height: 0.65rem;
    background-image: url(../image-mobile/Ellipse31.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: 10;
}

.hero-badge__dot-inner {
    left: 19.6875rem;
    top: 23.125rem;
    width: 0.625rem;
    height: 0.625rem;
    background-image: url(../image-mobile/Ellipse30.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: 2;
}

/* CTA */
.hero-cta {
    left: 1.5rem;
    top: 19rem;
    width: 17.875rem;
    height: 2.1875rem;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    z-index: 2;
}

.hero-cta__bg {
    position: absolute;
    inset: 0;
    border-radius: 3.125rem;
    background-color: rgba(255, 255, 255, 1);
}

.hero-cta__circle {
    position: absolute;
    left: 0.25rem;
    top: 0.1875rem;
    width: 1.8125rem;
    height: 1.8125rem;
    background-image: url(../image-mobile/Ellipse28.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.hero-cta__arrow {
    position: absolute;
    left: 0.6875rem;
    top: 0.925rem;
    width: 0.9689rem;
    height: 0.4163rem;
    background-image: url(../image-mobile/Arrow1.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.hero-cta__text {
    position: absolute;
    left: 2.5rem;
    top: 0.625rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 0.75rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    text-align: left;
    white-space: pre;
}

/* ==========================================================
   QUESTIONS
   ========================================================== */
.questions-bg {
    left: 0;
    top: 58.0625rem;
    width: 30rem;
    height: 62.0625rem;
    background-color: rgba(255, 255, 255, 1);
}

.questions-decor-1 {
    left: -4.8125rem;
    top: 68.424rem;
    width: 13.5912rem;
    height: 14.176rem;
    background-image: url(../image-mobile/imagePhotoroom92.webp);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.questions-decor-2 {
    left: 7.4415rem;
    top: 67.375rem;
    width: 22.621rem;
    height: 27.75rem;
    background-image: url(../image-mobile/Group33.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.questions-decor-3 {
    left: 0;
    top: 91.3125rem;
    width: 6.254rem;
    height: 12.625rem;
    background-image: url(../image-mobile/Group34.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.questions-arrow-bg-1 {
    left: 1.5665rem;
    top: 86.625rem;
    width: 2.625rem;
    height: 2.625rem;
    background-image: url(../image-mobile/Ellipse210.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.questions-arrow-1 {
    left: 2.129rem;
    top: 87.625rem;
    width: 1.4375rem;
    height: 0.625rem;
    background-image: url(../image-mobile/Arrow1Stroke0.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.questions-arrow-bg-2 {
    left: 25.6915rem;
    top: 86.625rem;
    width: 2.625rem;
    height: 2.625rem;
    background-image: url(../image-mobile/Ellipse220.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.questions-arrow-2 {
    left: 26.3165rem;
    top: 87.625rem;
    width: 1.4375rem;
    height: 0.625rem;
    background-image: url(../image-mobile/Arrow1Stroke.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.questions-photo-1 {
    left: 10.754rem;
    top: 90.9125rem;
    width: 12.8713rem;
    height: 9.3843rem;
    transform: rotate(5.788436deg);
    background-image: url(../image-mobile/3e4d7cca9e5fa717064dd7a180a4d55a0feca528.webp);
    background-size: 841.6233% 648.9587%;
    background-position: -27.2419rem -33.3681rem;
    background-repeat: no-repeat;
}

.questions-photo-2 {
    left: 5.7415rem;
    top: 74.1625rem;
    width: 13.2033rem;
    height: 16.2543rem;
    transform: rotate(10.443621deg);
    background-image: url(../image-mobile/3e4d7cca9e5fa717064dd7a180a4d55a0feca528.webp);
    background-size: 841.6233% 384.3345%;
    background-position: -27.9531rem -17.3281rem;
    background-repeat: no-repeat;
}

.q-card-3 {
    left: 3.9375rem;
    top: 104.1875rem;
    width: 22.4375rem;
    font-family: "Gilroy-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    text-align: center;
    line-height: 94%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.q-card__title {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 1.1875rem;
    line-height: 1.2rem;
    margin-bottom: 1.4rem;
}

.q-card__text {
    font-size: 1rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    line-height: 132.000005%;
}

.questions-dot {
    width: 0.9375rem;
    height: 0.9375rem;
    top: 114.3125rem;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.questions-dot-1 {
    left: 10.246rem;
}

.questions-dot-2 {
    left: 14.621rem;
}

.questions-dot-3 {
    left: 18.996rem;
}

.questions-title {
    left: 2.3125rem;
    top: 60.7rem;
    width: 25.5625rem;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 100%;
    text-align: center;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.questions-title__line {
    display: block;
}

/* Test button */
.test-btn {
    left: 8.375rem;
    top: 68.0625rem;
    width: 12.5625rem;
    height: 2.25rem;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    z-index: 2;
}

.test-btn__bg {
    position: absolute;
    inset: 0;
    background-image: url(../image-mobile/Rectangle553.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.test-btn__circle {
    position: absolute;
    left: 0.4375rem;
    top: 0.3125rem;
    width: 1.6875rem;
    height: 1.6875rem;
    background-image: url(../image-mobile/Ellipse24.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.test-btn__arrow {
    position: absolute;
    left: 0.75rem;
    top: 0.875rem;
    width: 1.125rem;
    height: 0.625rem;
    background-image: url(../image-mobile/Arrow5Stroke.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.test-btn__text {
    position: absolute;
    left: 2.8802rem;
    top: 0.5rem;
    width: 8.4295rem;
    height: 0.9949rem;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

/* ==========================================================
   QUOTE
   ========================================================== */
.quote-bg {
    left: 0;
    top: 120.0625rem;
    width: 30rem;
    height: 14.5625rem;
    background-color: rgba(210, 227, 253, 1);
}

.quote-decor-line {
    left: -24.5938rem;
    top: 113.5399rem;
    width: 0.0625rem;
    height: 13.1618rem;
    background-image: url(../image-mobile/Line50.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.quote-text {
    left: 0.75rem;
    top: 123rem;
    width: 23.875rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-style: italic;
    font-weight: 500;
    font-size: 1rem;
    line-height: 129.999995%;
    color: rgba(14, 72, 228, 1);
    text-decoration: none;
    z-index: 2;
}

.quote-text__line {
    display: block;
    line-height: 1.3125rem;
}

/* ==========================================================
   PSYCHOLOGIST
   ========================================================== */
.psych-decor {
    left: 0;
    top: 134.5625rem;
    width: 30rem;
    height: 47.6875rem;
}

.psych-decor__mask {
    position: absolute;
    left: -12.4375rem;
    top: 1.4375rem;
    width: 70.8173rem;
    height: 69.2324rem;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20480%20763%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%22480.000000%22%20height%3D%22763.000000%22%20fill%3D%22none%22%20customFrame%3D%22%23000000%22%20mask%3D%22url(%23mask_15)%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22pixso_custom_mask_type_alpha%22%3E%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%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cmask%20id%3D%22mask_15%22%20width%3D%22480.000000%22%20height%3D%22763.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%3Crect%20id%3D%22Rectangle%20881%22%20width%3D%22480.000000%22%20height%3D%22763.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%3Crect%20id%3D%22Rectangle%20881%22%20width%3D%22480.000000%22%20height%3D%22763.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20480%20763%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%22480.000000%22%20height%3D%22763.000000%22%20fill%3D%22none%22%20customFrame%3D%22%23000000%22%20mask%3D%22url(%23mask_15)%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22pixso_custom_mask_type_alpha%22%3E%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%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cmask%20id%3D%22mask_15%22%20width%3D%22480.000000%22%20height%3D%22763.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%3Crect%20id%3D%22Rectangle%20881%22%20width%3D%22480.000000%22%20height%3D%22763.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20filter%3D%22url(%23pixso_custom_mask_type_alpha)%22%3E%3Crect%20id%3D%22Rectangle%20881%22%20width%3D%22480.000000%22%20height%3D%22763.000000%22%20x%3D%220.000000%22%20y%3D%220.000000%22%20fill%3D%22rgb(217%2C217%2C217)%22%20%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    -webkit-mask-size: 30rem 47.6875rem;
    mask-size: 30rem 47.6875rem;
    -webkit-mask-position: 12.4375rem -1.4375rem;
    mask-position: 12.4375rem -1.4375rem;
}

.psych-decor__inner {
    position: absolute;
    transform: rotate(48.218458deg);
}

.psych-decor__inner--1 {
    width: 46.6399rem;
    height: 28.2959rem;
    left: 2.7679rem;
    top: 12.6682rem;
}

.psych-decor__inner--2 {
    width: 39.0495rem;
    height: 28.3112rem;
    left: 27.7277rem;
    top: 31.0856rem;
}

.psych-decor__shape-wrap {
    position: absolute;
}

.psych-decor__shape-wrap--1 {
    left: 0.0936rem;
    top: 2.7291rem;
    transform: matrix(0.67, -0.75, 0.75, 0.67, 0, 0);
    width: 43.7291rem;
    height: 25.4109rem;
}

.psych-decor__shape-wrap--2 {
    left: 3.9085rem;
    top: 0.1378rem;
    transform: matrix(0.67, -0.75, 0.75, 0.67, 0, 0);
    width: 42.6314rem;
    height: 25.9246rem;
}

.psych-decor__shape-wrap--3 {
    left: 0.112rem;
    top: 2.7304rem;
    transform: matrix(0.67, -0.75, 0.75, 0.67, 0, 0);
    width: 36.6129rem;
    height: 25.4227rem;
}

.psych-decor__shape-wrap--4 {
    left: 3.2421rem;
    top: 0.1377rem;
    transform: matrix(0.67, -0.75, 0.75, 0.67, 0, 0);
    width: 35.6937rem;
    height: 25.9386rem;
}

.psych-decor__shape {
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    opacity: 0.7;
}

.psych-decor__shape--1 {
    inset: -53.773664% -5.281506% -54.943697% -5.657442%;
    background-image: url(../image-mobile/Group400.svg);
}

.psych-decor__shape--2 {
    inset: -38.420873% -7.082476% -63.691789% -5.246654%;
    background-image: url(../image-mobile/Group410.svg);
}

.psych-decor__shape--3 {
    inset: -43.979810% -10.526720% -46.675944% -10.454084%;
    background-image: url(../image-mobile/Group40.svg);
}

.psych-bg-photo {
    left: -0.0625rem;
    top: 184.625rem;
    width: 30.0625rem;
    height: 50.4375rem;
    background-image: url(../image-mobile/aa2e8365bf3983f7fe8ff4683940bd41457cbb76.webp);
    background-size: 100.0000% 112.7283%;
    background-position: 0.0144rem -0.0225rem;
    background-repeat: no-repeat;
}

.psych-photo-bg {
    left: 1.25rem;
    top: 160.1875rem;
    width: 16.3125rem;
    height: 16.3125rem;
    background-image: url(../image-mobile/Ellipse36.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.psych-photo-group {
    left: 1.25rem;
    top: 163.3rem;
    width: 16.3072rem;
    height: 16.3072rem;
}

.psych-photo-main {
    position: absolute;
    left: 0.5768rem;
    top: -3.1461rem;
    width: 15.7304rem;
    height: 16.3018rem;
    background-image: url(../image-mobile/imagePhotoroom141.webp);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.psych-photo-extra {
    left: 3.375rem;
    top: 157.75rem;
    width: 12.5625rem;
    height: 13.125rem;
    background-image: url(../image-mobile/imagePhotoroom142.webp);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.psych-icon-circle {
    width: 2.0625rem;
    height: 2rem;
    left: 14.75rem;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.psych-icon-circle--1 {
    background-image: url(../image-mobile/Ellipse32.svg);
    top: 161.25rem;
}

.psych-icon-circle--2 {
    background-image: url(../image-mobile/Ellipse34.svg);
    top: 163.6875rem;
}

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

.psych-icon-img--1 {
    left: 15.125rem;
    top: 161.5625rem;
    width: 1.375rem;
    height: 1.375rem;
    background-image: url(../image-mobile/imagePhotoroom151.webp);
    background-size: 100% 100%;
}

.psych-icon-img--2 {
    left: 15.0625rem;
    top: 163.9375rem;
    width: 1.4375rem;
    height: 1.5rem;
    background-image: url(../image-mobile/614d55bf6808e94ca0ad2710cffc4c0a9fca66d7.webp);
    background-size: 395.3741% 176.6784%;
    background-position: -0.3019rem -0.5619rem;
}

.psych-badge {
    left: 1.625rem;
    top: 139.375rem;
    width: 16.3125rem;
    height: 1.6875rem;
    border-radius: 3.125rem;
    background-color: rgba(183, 210, 253, 1);
}

.psych-badge-text {
    left: 3rem;
    top: 139.8125rem;
    width: 13.625rem;
    height: 0.8125rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 0.6875rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.psych-title {
    left: 1.625rem;
    top: 141.075rem;
    width: 17.4375rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 1.5625rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.psych-title__line {
    display: block;
    line-height: 2.0625rem;
}

.psych-desc {
    left: 1.625rem;
    top: 147.5625rem;
    width: 24.5625rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.psych-subtitle {
    left: 17.375rem;
    top: 161.375rem;
    width: 11.3125rem;
    height: 1.6875rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 0.6875rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.psych-subtext {
    left: 17.375rem;
    top: 163.8125rem;
    width: 11.3125rem;
    height: 1.6875rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 0.6875rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.psych-subtext__p {
    line-height: 0.9375rem;
}

.psych-education {
    left: 1.25rem;
    top: 154.1875rem;
    width: 27.25rem;
    height: 2.1875rem;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    border-radius: 3.125rem;
    isolation: isolate;
    z-index: 2;
}

.psych-education__border {
    position: absolute;
    inset: 0;
    border: 0.125rem solid rgba(183, 210, 253, 1);
    border-radius: 3.125rem;
    pointer-events: none;
}

.psych-education__text {
    position: absolute;
    left: 7.9375rem;
    top: 0.625rem;
    width: 10.625rem;
    height: 0.9375rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 0.6875rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    text-align: left;
}

.psych-arrow {
    left: 19.6358rem;
    top: 200.4015rem;
    width: 4.3642rem;
    height: 3.7237rem;
    background-image: url(../image-mobile/Group27.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

/* ==========================================================
   PROCESS
   ========================================================== */
.process-blackbar {
    left: -0.0625rem;
    top: 182.25rem;
    width: 30.0625rem;
    height: 3.375rem;
    background-color: rgba(0, 0, 0, 1);
}

.process-title {
    left: 6.2018rem;
    top: 184.3125rem;
    width: 17.6875rem;
    height: 3.75rem;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 100%;
    text-align: center;
    color: rgba(255, 255, 255, 1);
    z-index: 2;
}

/* Pills */
.pill {
    isolation: isolate;
}

.pill__border1 {
    position: absolute;
    inset: 0;
    border: 0.0625rem solid rgba(255, 255, 255, 1);
    pointer-events: none;
}

.pill__border {
    position: absolute;
    inset: 0;
    border: 0.0625rem solid rgba(255, 255, 255, 1);
    pointer-events: none;
}

.pill__text1 {
    position: absolute;
    font-family: "Gilroy-Regular", "Montserrat Alternates-Regular", sans-serif;
    color: rgba(255, 255, 255, 1);
    text-align: center;
}

.pill__text {
    position: absolute;
    font-family: "Gilroy-Regular", "Montserrat Alternates-Regular", sans-serif;
    color: rgba(255, 255, 255, 1);
    text-align: center;
}

.pill__title {
    font-family: "Gilroy-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-size: 0.9rem;
    line-height: 1.3125rem;
}

/* Было Montserrat Alternates-Light — нет в font.css.
   Использую Regular с weight:300. */
.pill__sub {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 300;
    font-size: 0.75rem;
    line-height: 1rem;
}

.pill-1 {
    left: 1.7018rem;
    top: 193.4375rem;
    width: 9.9375rem;
    height: 3.0625rem;
    border-radius: 1.5313rem;
}

.pill-1 .pill__border {
    border-radius: 1.5313rem;
}

.pill-1 .pill__border1 {
    border-radius: 1.5313rem;
}

.pill-1 .pill__text1 {
    left: 0.95rem;
    top: 0.3rem;
    width: 7.8rem;
    height: 2.125rem;
}

.pill-2 {
    left: 7.4518rem;
    top: 215.6875rem;
    width: 14.8125rem;
    height: 3.6875rem;
    border-radius: 3.125rem;
}

.pill-2 .pill__border {
    border-radius: 3.125rem;
}

.pill-2 .pill__text {
    left: 2.125rem;
    top: 0.65rem;
    width: 10.5625rem;
    height: 2.1875rem;
}

.pill-3 {
    left: 8.5143rem;
    top: 221.3125rem;
    width: 12.75rem;
    height: 3.6875rem;
    border-radius: 3.125rem;
}

.pill-3 .pill__border {
    border-radius: 3.125rem;
}

.pill-3 .pill__text {
    left: 1.5625rem;
    top: 0.65rem;
    width: 9.625rem;
    height: 2.25rem;
}

.pill-4 {
    left: 6.8268rem;
    top: 226.9375rem;
    width: 16.0625rem;
    height: 3.875rem;
    border-radius: 3.125rem;
}

.pill-4 .pill__border {
    border-radius: 3.125rem;
}

.pill-4 .pill__text {
    left: 1.5625rem;
    top: 0.7125rem;
    width: 12.9375rem;
    height: 2.25rem;
}

.process-mask {
    left: 0;
    top: 190.7625rem;
    width: 30rem;
    height: 44.375rem;
    background-image: url(../image-mobile/Rectangle431.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

/* Process icons */
.process-icon {
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.process-icon-1 {
    left: 11.3893rem;
    top: 193.4375rem;
    width: 6.4648rem;
    height: 6.5463rem;
    background-image: url(../image-mobile/image261.webp);
}

.process-icon-2 {
    left: 0.4518rem;
    top: 208.375rem;
    width: 7rem;
    height: 9.3125rem;
    background-image: url(../image-mobile/image271.webp);
}

.process-icon-3 {
    left: 21.8893rem;
    top: 207.6875rem;
    width: 7.5625rem;
    height: 10.0625rem;
    background-image: url(../image-mobile/image272.webp);
}

.process-icon-4 {
    left: 2.5643rem;
    top: 190.875rem;
    width: 2.5734rem;
    height: 1.9533rem;
    transform: rotate(-26.716432deg);
    background-image: url(../image-mobile/c5e1314afdd0391da54525095014de016da7cbfd.webp);
    background-size: 657.5703% 866.2959%;
    background-position: -2.52rem -14.48rem;
}

.process-icon-5 {
    left: 3.5143rem;
    top: 224.0625rem;
    width: 3.6875rem;
    height: 3.6875rem;
    background-image: url(../image-mobile/imagePhotoroom111.webp);
}

.process-icon-6 {
    left: 21.0143rem;
    top: 219.0625rem;
    width: 4.9467rem;
    height: 4.6143rem;
    background-image: url(../image-mobile/imagePhotoroom31.webp);
}

.process-icon-7 {
    left: 20.1393rem;
    top: 220.125rem;
    width: 7.6446rem;
    height: 9.3553rem;
    background-image: url(../image-mobile/image273.webp);
}

/* ==========================================================
   PRACTICE
   ========================================================== */
.practice-bg-photo {
    left: 0;
    top: 235.0625rem;
    width: 30rem;
    height: 56.8125rem;
    background-image: url(../image-mobile/2e5bace860fa42b2878980bea6ed14012960ba71.webp);
    background-size: 100.0000% 146.4247%;
    background-position: 0 -13.25rem;
    background-repeat: no-repeat;
}

.practice-title {
    left: 1.625rem;
    top: 237.34rem;
    width: 23.375rem;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 2.1875rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.practice-intro {
    left: 1.625rem;
    top: 246.25rem;
    width: 26.1875rem;
    height: 4.5rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.practice-num {
    left: 1.625rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.practice-num-1 {
    width: 1.375rem;
    height: 1.375rem;
    top: 254.4999rem;
}

.practice-num-2 {
    width: 1.625rem;
    height: 1.375rem;
    top: 265.8125rem;
}

.practice-num-3 {
    width: 1.625rem;
    height: 1.375rem;
    top: 277.125rem;
}

.practice-line {
    left: 4.4375rem;
    width: 23.375rem;
    height: 0;
    border-bottom: 0.0625rem solid #000;
    /* или нужный цвет */
    top: 255.4063rem;
}

.practice-line-1 {
    top: 255.4063rem;
}

.practice-line-2a,
.practice-line-2b {
    top: 266.7188rem;
}

.practice-line-3a,
.practice-line-3b {
    top: 278.0313rem;
}

.practice-step-title {
    left: 1.625rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 1.1875rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.practice-step-title-1 {
    width: 21.5625rem;
    height: 1.8125rem;
    top: 258.0625rem;
}

.practice-step-title-2 {
    width: 23.375rem;
    height: 1.8125rem;
    top: 269.3751rem;
}

.practice-step-title-3 {
    width: 23.375rem;
    height: 1.8125rem;
    top: 280.6876rem;
}

.practice-step-desc {
    left: 1.625rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.practice-step-desc-1 {
    width: 26rem;
    height: 3.0625rem;
    top: 260.4375rem;
}

.practice-step-desc-2 {
    width: 26rem;
    height: 3.0625rem;
    top: 271.7501rem;
}

.practice-step-desc-2 p {
    line-height: 1.3125rem;
}

.practice-step-desc-3 {
    width: 26rem;
    height: 4.25rem;
    top: 283.0626rem;
}

/* ==========================================================
   MODULES / FAQ-CARD
   ========================================================== */
.modules-bg-accent {
    left: 0;
    top: 291.9375rem;
    width: 30rem;
    height: 10.0625rem;
    background-color: rgba(203, 228, 250, 1);
}

.modules-bg-photo {
    left: 0;
    top: 301.75rem;
    width: 30rem;
    height: 40.0625rem;
    background-image: url(../image-mobile/58e30abf39282b3744a7aa07adc9db02f88bfe3a.webp);
    background-size: 245.4168% 100.4117%;
    background-position: -21.3194rem 0.0187rem;
    background-repeat: no-repeat;
}

.faq-card {
    left: 1.6393rem;
    top: 296.6875rem;
    width: 26.75rem;
    height: 21.0625rem;
    background-color: rgba(247.644226, 247.644226, 247.644226, 1);
}

.faq-card-inner {
    position: absolute !important;
    left: 4.2018rem !important;
    top: 299.1875rem !important;
    width: 21.625rem;
    display: flex;
    flex-direction: column;
    z-index: 2;
    pointer-events: none;
}

.faq-card-inner>.faq-active-title {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 15.3125rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.125rem;
    color: #000;
    flex-shrink: 0;
}

.faq-card-inner>.faq-underline {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin: 0.72rem 0 0 0.1875rem !important;
    width: 2.9375rem;
    height: 0.0625rem;
    /* ВАЖНО: путь на мобилке — image-mobile, а не image! */
    background: url(../image-mobile/Line108.svg) center/100% 100% no-repeat !important;
    flex-shrink: 0;
}

.faq-card-inner>.faq-answer {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin: 1.9rem 0 0 -0.0125rem !important;
    padding: 0 !important;
    width: 21.4375rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 0.8125rem;
    line-height: 1.0625rem;
    color: #000;
}

.faq-card-inner>.faq-answer .faq-answer__p {
    margin: 0;
    line-height: 1.0625rem;
}

.faq-card-inner>.faq-answer .faq-answer__p+.faq-answer__p {
    margin-top: 0.75rem;
}

.faq-active-title {
    width: 15.3125rem;
    margin: 0;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.125rem;
    color: #000;
    flex-shrink: 0;
}

.faq-underline {
    width: 2.9375rem;
    height: 0.0625rem;
    margin: 0.72rem 0 0 0.1875rem;
    background: url(../image/Line108.svg) center/100% 100% no-repeat;
    flex-shrink: 0;
}

.faq-answer {
    margin: 1.9rem 0 0 0.1875rem;
    width: 21.4375rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 0.8125rem;
    line-height: 1.0625rem;
    color: #000;
}

.faq-answer__p {
    margin: 0;
    line-height: 1.0625rem;
}

.faq-answer__p+.faq-answer__p {
    margin-top: 0.75rem;
}

.faq-arrow {
    width: 0.375rem;
    height: 0.75rem;
    background-color: transparent;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    border: 0;
    padding: 0;
    cursor: pointer;
    top: 306.9375rem;
}

.faq-arrow--left {
    left: 2.6393rem;
    background-image: url(../image-mobile/Polygon4.svg);
}

.faq-arrow--right {
    left: 27.0768rem;
    background-image: url(../image-mobile/Polygon3.svg);
}

/* ==========================================================
   PRICING
   ========================================================== */
.pricing-bg {
    left: 0;
    top: 343.125rem;
    width: 30rem;
    height: 75.0625rem;
    background-image: url(../image-mobile/3ecfb6d2103b61194567eb92e205ba602752ad0f.webp);
    background-size: 100.0000% 119.1924%;
    background-position: 0 -4.5625rem;
    background-repeat: no-repeat;
}

.pricing-title {
    left: 2.2643rem;
    top: 345.53rem;
    width: 15.3125rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 150%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.pricing-title__line {
    display: block;
    line-height: 1.875rem;
}

.pricing-price {
    left: 2.2643rem;
    top: 351.625rem;
    width: 16.125rem;
    height: 4.9375rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 3.75rem;
    line-height: 132.000005%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.pricing-divider {
    left: 2.2643rem;
    top: 358.1094rem;
    width: 25.75rem;
    height: 0.0313rem;
    background-image: url(../image-mobile/Line218.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.pricing-features {
    left: 2.2643rem;
    top: 360rem;
    width: 25.75rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 150%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.pricing-features__title {
    line-height: 1.875rem;
    letter-spacing: 0.03em;
}

.pricing-features__gap {
    height: 1.4375rem;
}

.pricing-features__item {
    font-size: 1.25rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    line-height: 1.875rem;
}

.pricing-features__item--indent {
    padding-left: 1.65rem;
}

.pricing-card {
    left: 1.7018rem;
    top: 379.0625rem;
    width: 26.8125rem;
    height: 27.875rem;
    border-radius: 1.875rem;
    background-color: rgba(237, 244, 253, 1);
}

.pricing-card-decor {
    left: 3.3741rem;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.pricing-card-decor-1 {
    background-image: url(../image-mobile/Rectangle466Stroke.svg);
    top: 385.4816rem;
    width: 10rem;
    height: 1.6875rem;
}

.pricing-card-decor-2 {
    background-image: url(../image-mobile/Rectangle464Stroke.svg);
    top: 391.0441rem;
    width: 10rem;
    height: 1.75rem;
}

.pricing-card-decor-3 {
    background-image: url(../image-mobile/Rectangle465Stroke.svg);
    top: 396.6066rem;
    width: 10rem;
    height: 1.6875rem;
}

.pricing-card-decor-4 {
    background-image: url(../image-mobile/Rectangle463Stroke.svg);
    top: 401.2316rem;
    width: 23rem;
    height: 2.25rem;
}

.pricing-intro {
    left: 3.4518rem;
    top: 389.625rem;
    width: 21.3125rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 0.9375rem;
    line-height: 150%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.pricing-intro p {
    line-height: 1.4375rem;
}

.pricing-cta {
    left: 3.3268rem;
    top: 398.1875rem;
    width: 23.625rem;
    height: 5.3125rem;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
    z-index: 2;
}

.pricing-cta__bg {
    position: absolute;
    inset: 0;
    border-radius: 3.1875rem;
    background-color: rgba(183, 210, 253, 1);
}

.pricing-cta__text {
    position: absolute;
    left: 1.125rem;
    top: 0.8125rem;
    width: 21.3125rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 150%;
    color: rgba(0, 0, 0, 1);
    text-align: center;
}

.pricing-cta__text span {
    display: block;
    line-height: 1.875rem;
}

.pricing-cta__arrow {
    position: absolute;
    left: 14.5625rem;
    top: 3.54rem;
    width: 1.9689rem;
    height: 0.4163rem;
    background-image: url(../image-mobile/Arrow9.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.pricing-questions-bg {
    left: 3.0143rem;
    height: 1.8125rem;
    border-radius: 1.25rem;
    background-color: rgba(183, 210, 253, 1);
}

.pricing-questions-bg-1 {
    width: 16.5rem;
    top: 381.875rem;
}

.pricing-questions-bg-2 {
    width: 16.5rem;
    top: 384.0625rem;
}

.pricing-questions-bg-3 {
    width: 24.5625rem;
    top: 386.25rem;
}

.pricing-questions {
    left: 3.4518rem;
    top: 381.6875rem;
    width: 24.125rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 1.4375rem;
    line-height: 150%;
    color: rgba(0, 0, 0, 1);
    z-index: 2;
}

.pricing-questions p {
    line-height: 2.1875rem;
}

/* ==========================================================
   FAQ
   ========================================================== */
.faq-bg {
    left: -0.4375rem;
    top: 418.1875rem;
    width: 30.5625rem;
    height: 48.875rem;
    background-color: rgba(4, 7, 14, 1);
}

.faq-title {
    left: 1.7643rem;
    top: 421.425rem;
    width: 18.8125rem;
    height: 2rem;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 1.4375rem;
    line-height: 100%;
    color: rgba(255, 255, 255, 1);
    z-index: 2;
}

.faq-line {
    left: 0.1393rem;
    width: 30rem;
    height: 0.0625rem;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.faq-line-1 {
    background-image: url(../image-mobile/Line68.svg);
    top: 429.0938rem;
}

.faq-line-2 {
    background-image: url(../image-mobile/Line113.svg);
    top: 432.9688rem;
}

.faq-line-3 {
    background-image: url(../image-mobile/Line118.svg);
    top: 437.7813rem;
}

.faq-line-4 {
    background-image: url(../image-mobile/Line122.svg);
    top: 442.5938rem;
}

.faq-line-5 {
    background-image: url(../image-mobile/Line126.svg);
    top: 447.4063rem;
}

.faq-line-6 {
    background-image: url(../image-mobile/Line130.svg);
    top: 452.2188rem;
}

.faq-line-7 {
    background-image: url(../image-mobile/Line131.svg);
    top: 457.0313rem;
}

.faq-question {
    left: 1.5768rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 1);
    text-align: left;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    z-index: 2;
}

.faq-question-1 {
    top: 426.4rem;
    width: 21.4375rem;
    height: 1.1875rem;
    line-height: 100%;
}

.faq-question-2 {
    top: 430.5rem;
    width: 25.875rem;
    height: 1.125rem;
    line-height: 100%;
}

.faq-question-3 {
    top: 434.3125rem;
    width: 23.625rem;
    height: 2.1875rem;
    line-height: 132.000005%;
}

.faq-question-4 {
    top: 439.125rem;
    width: 23.625rem;
    height: 2.1875rem;
    line-height: 132.000005%;
}

.faq-question-5 {
    top: 443.9375rem;
    width: 23.625rem;
    height: 2.1875rem;
    line-height: 1.25rem;
}

.faq-question-6 {
    top: 448.75rem;
    width: 23.625rem;
    height: 2.1875rem;
    line-height: 1.25rem;
}

.faq-question-7 {
    top: 454.125rem;
    width: 16.1875rem;
    height: 1.125rem;
    line-height: 100%;
}

.faq-plus {
    display: block;
}

.faq-plus__vert,
.faq-plus__horiz {
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.faq-plus__vert {
    width: 0.0625rem;
    height: 0.8125rem;
    left: 27.6393rem;
}

.faq-plus__horiz {
    width: 0.8125rem;
    height: 0.0625rem;
    left: 27.2643rem;
}

.faq-plus-1 .faq-plus__vert {
    background-image: url(../image-mobile/Line78.svg);
    top: 426.75rem;
}

.faq-plus-1 .faq-plus__horiz {
    background-image: url(../image-mobile/Line79.svg);
    top: 427.0625rem;
}

.faq-plus-2 .faq-plus__vert {
    background-image: url(../image-mobile/Line111.svg);
    top: 430.6875rem;
}

.faq-plus-2 .faq-plus__horiz {
    background-image: url(../image-mobile/Line112.svg);
    top: 431rem;
}

.faq-plus-3 .faq-plus__vert {
    background-image: url(../image-mobile/Line115.svg);
    top: 434.9375rem;
}

.faq-plus-3 .faq-plus__horiz {
    background-image: url(../image-mobile/Line116.svg);
    top: 435.25rem;
}

.faq-plus-4 .faq-plus__vert {
    background-image: url(../image-mobile/Line120.svg);
    top: 439.75rem;
}

.faq-plus-4 .faq-plus__horiz {
    background-image: url(../image-mobile/Line121.svg);
    top: 440.0625rem;
}

.faq-plus-5 .faq-plus__vert {
    background-image: url(../image-mobile/Line124.svg);
    top: 444.5625rem;
}

.faq-plus-5 .faq-plus__horiz {
    background-image: url(../image-mobile/Line125.svg);
    top: 444.875rem;
}

.faq-plus-6 .faq-plus__vert {
    background-image: url(../image-mobile/Line128.svg);
    top: 449.375rem;
}

.faq-plus-6 .faq-plus__horiz {
    background-image: url(../image-mobile/Line129.svg);
    top: 449.6875rem;
}

.faq-plus-7 .faq-plus__vert {
    background-image: url(../image-mobile/Line132.svg);
    top: 454.1875rem;
}

.faq-plus-7 .faq-plus__horiz {
    background-image: url(../image-mobile/Line133.svg);
    top: 454.5rem;
}

/* ==========================================================
   CONTACT
   ========================================================== */
.contact-gradient {
    left: 0;
    top: 466.0625rem;
    width: 30.125rem;
    height: 25.0625rem;
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20viewBox%3D'0%200%20482%20225'%20preserveAspectRatio%3D'none'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cdefs%3E%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-1.0000%2C%200.0000%2C%201.0000%2C%200.0000)'%3E%3Cstop%20stop-color%3D'rgba(4%2C7%2C14%2C1)'%20offset%3D'0'%2F%3E%3Cstop%20stop-color%3D'rgba(6%2C14%2C33%2C1)'%20offset%3D'1'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D'100%25'%20height%3D'100%25'%20fill%3D'url(%23grad)'%2F%3E%3C%2Fsvg%3E");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.contact-bg-photo {
    left: 0;
    top: 490.125rem;
    width: 30.25rem;
    height: 37.125rem;
    background-image: url(../image-mobile/81ea677a4a9a01b6be85347d409710b1f658b25f.webp);
    background-size: 220.7881% 103.8354%;
    background-position: -7.7544rem -1.43rem;
    background-repeat: no-repeat;
}

.contact-title {
    left: 1.8125rem;
    top: 459.575rem;
    width: 26.5rem;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 400;
    font-size: 1.5625rem;
    line-height: 132.000005%;
    color: rgba(255, 255, 255, 1);
    z-index: 2;
}

/* ==========================================================
   CONTACT FORM (mobile)
   ========================================================== */
.contact-form {
    position: absolute;
    left: 1.8125rem;
    top: 469.5625rem;
    width: 26.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    z-index: 2;
    transform: translateY(var(--faq-delta, 0px));
    transition: transform .4s ease-out;
}

.contact-field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

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

.contact-field-input,
.contact-field-phone,
.contact-field-select {
    width: 100%;
    height: 3rem;
    background: #fff;
    border-radius: 0.625rem;
    border: 1px solid transparent;
    box-sizing: border-box;
    outline: none;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 1rem;
    color: #000;
    transition: border-color .2s;
}

.contact-field-input {
    padding: 0 1rem;
}

.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 0.875rem;
    gap: 0.5rem;
}

.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: 0.25rem;
    height: 100%;
    cursor: pointer;
    outline: none;
    user-select: none;
}

.contact-country-flag {
    font-size: 1.125rem;
    line-height: 1;
}

.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: -0.875rem;
    min-width: 12.5rem;
    max-height: 60vw;
    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: 0.9375rem;
    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 1rem;
}

.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: 5rem;
    margin-top: 0.5rem;
}

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

.contact-form .contact-submit {
    position: static;
    width: 100%;
    height: 3rem;
    margin-top: 0.5rem;
    background: #b7d2fd;
    border-radius: 0.625rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-size: 1rem;
    color: #000;
    cursor: pointer;
}

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

.contact-contact-me {
    width: 100%;
    height: 3rem;
    background: #fff;
    color: #000;
    border-radius: 0.625rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-size: 1rem;
    line-height: 1.2;
    cursor: pointer;
}

/* ==========================================================
   FOOTER
   ========================================================== */
.footer-bg {
    left: -0.125rem;
    top: 525.25rem;
    width: 30.125rem;
    height: 27rem;
    background-color: rgba(4, 7, 14, 1);
}

.footer-logo {
    left: 1.625rem;
    top: 528.5625rem;
    width: 17.875rem;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 1.4375rem;
    line-height: 108.000004%;
    letter-spacing: -0.01em;
    color: rgba(255, 255, 255, 1);
    z-index: 2;
}

.footer-logo span {
    font-family: "Kreadon-Demi", "Kreadon-Regular", sans-serif;
    font-weight: 600;
}

.footer-link {
    left: 1.625rem;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 0.9375rem;
    line-height: 132.000005%;
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    width: 22.25rem;
    height: 1.125rem;
    z-index: 2;
}

.footer-link-1 {
    top: 533.25rem;
}

.footer-link-2 {
    top: 535rem;
    width: 22.25rem;
}

.footer-link-3 {
    top: 536.75rem;
    width: 13.4375rem;
}

.footer-link-4 {
    top: 532.5rem;
    width: 13.4375rem;
}

.footer-social {
    left: 1.5625rem;
    width: 5.0625rem;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 0.9375rem;
    line-height: 132.000005%;
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    white-space: pre;
    z-index: 2;
}

.footer-social-1 {
    top: 543.1875rem;
}

.footer-social-2 {
    top: 545.0625rem;
}

.footer-social-3 {
    top: 546.9375rem;
}

.footer-text {
    left: 11.375rem;
    top: 543.1875rem;
    width: 12.75rem;
    height: 1.25rem;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-weight: 400;
    font-size: 0.9375rem;
    line-height: 132.000005%;
    color: rgba(255, 255, 255, 1);
    z-index: 2;
}

.footer-form {
    left: 11.375rem;
    top: 545.375rem;
    width: 16.6875rem;
    height: 1.8125rem;
    border: 0.0625rem solid rgba(255, 255, 255, 1);
    border-radius: 6.25rem;
    isolation: isolate;
    display: flex;
    align-items: center;
    z-index: 2;
}

.footer-form__input {
    flex: 1;
    height: 100%;
    background: transparent;
    border: 0;
    outline: none;
    padding: 0 0.5rem 0 0.9375rem;
    color: rgba(255, 255, 255, 1);
    font-family: "Kreadon-Regular", "Montserrat Alternates-Regular", sans-serif;
    font-size: 0.625rem;
}

.footer-form__input::placeholder {
    color: rgba(255, 255, 255, 0.6);
}

.footer-form__arrow {
    width: 1.0626rem;
    height: 0.4163rem;
    margin-right: 0.5625rem;
    background-image: url(../image-mobile/Arrow3.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

/* ===== Sticky header (mobile) ===== */
.site-header {
    height: 6rem;
}

.site-header__inner>.hero-logo,
.site-header__inner>.hero-burger {
    position: fixed;
}

/* ==========================================================
   CTA MODAL (mobile — bottom sheet)
   ========================================================== */
.cta-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: rgba(15, 20, 35, 0.55);
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease-out;
}

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

/* Прячем desktop-крестик, показываем мобильный */
.cta-modal__close--desktop {
    display: none;
}

.cta-modal__inner {
    position: relative;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #e3eaf7;
    border-radius: 20px 20px 0 0;
    padding: 56px 20px max(56px, env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

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

/* Mobile close */
.cta-modal__close--mobile {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.7);
    border: 0;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s;
}

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

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

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

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

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

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

.cta-modal__input,
.cta-modal__phone,
.cta-modal__select {
    width: 100%;
    height: 48px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: #fff;
    box-sizing: border-box;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 16px;
    /* 16px обязателен — иначе iOS зумит при фокусе */
    color: #000;
    transition: border-color 0.2s;
    outline: none;
}

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

.cta-modal__input::placeholder,
.cta-modal__phone-input::placeholder {
    color: rgba(0, 0, 0, 0.5);
    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 */
.cta-modal__phone {
    display: flex;
    align-items: center;
    padding: 0 16px;
    gap: 8px;
}

.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__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: inherit;
    color: inherit;
}

/* Select */
.cta-modal__select {
    display: flex;
    align-items: center;
    padding: 0 16px;
    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: 12px 16px;
    margin-bottom: 14px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 13px;
    line-height: 1.4;
    color: #000;
    text-align: center;
}

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

/* Submit */
.cta-modal__submit {
    width: 100%;
    height: 52px;
    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:active {
    background: #a3bee9;
}

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

/* Блокируем скролл фона (на мобилке скроллится .page, не body) */
body.cta-modal-open,
body.cta-modal-open .page {
    overflow: hidden;
}

/* Country combobox (mobile) */
.cta-modal__country {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    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: 18px;
    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: 200px;
    max-height: 220px;
    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: 14px;
    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,
.cta-modal__privacy-link:active {
    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;
}

/* ==========================================================
   MOBILE MENU (выезжающая справа)
   ========================================================== */
.mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 2500;
    pointer-events: none;
}

.mobile-menu.is-open {
    pointer-events: auto;
}

.mobile-menu__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 7, 14, 0.6);
    opacity: 0;
    transition: opacity 0.3s ease-out;
}

.mobile-menu.is-open .mobile-menu__backdrop {
    opacity: 1;
}

.mobile-menu__panel {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 24rem;
    max-width: 85vw;
    background: #04070e;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.35);
}

.mobile-menu.is-open .mobile-menu__panel {
    transform: translateX(0);
}

/* Бургер — единая кликабельная кнопка с невидимой областью.
   Линии — псевдоэлементы; анимация в X при открытом меню. */
.hero-burger {
    position: absolute;
    left: 25.625rem;
    /* left линии − 0.5rem отступ */
    top: 2.4rem;
    /* top линии − 0.5rem отступ */
    width: 3.0625rem;
    /* 0.5 + 2.0625(линия) + 0.5 */
    height: 2rem;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    z-index: 2;
}

.hero-burger::before,
.hero-burger::after {
    content: '';
    position: absolute;
    left: 0.5rem;
    width: 2.0625rem;
    height: 0.0625rem;
    background: #fff;
    border-radius: 0.0625rem;
    transform-origin: 50% 50%;
    transition: top 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hero-burger::before {
    top: 0.5rem;
}

.hero-burger::after {
    top: 1.13rem;
}

/* Превращение в X */
body.mobile-menu-open .hero-burger::before {
    top: calc(50% - 0.03125rem);
    transform: rotate(45deg);
}

body.mobile-menu-open .hero-burger::after {
    top: calc(50% - 0.03125rem);
    transform: rotate(-45deg);
}

/* Список пунктов */
.mobile-menu__list {
    list-style: none;
    margin: 0;
    padding: 6rem 2rem 0;
    /* было: 0 2rem */
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.mobile-menu__list li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mobile-menu__list li:last-child {
    border-bottom: 0;
}

.mobile-menu__list a {
    display: block;
    padding: 1.25rem 0;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 1.125rem;
    line-height: 1.2;
    color: #fff;
    text-decoration: none;
    transition: color 0.2s;
}

.mobile-menu__list a:hover,
.mobile-menu__list a:active {
    color: rgba(183, 210, 253, 1);
}

/* CTA — на всю ширину панели */
.mobile-menu__cta {
    margin-top: 2rem;
    width: 100%;
    background: #fff;
    border: 0;
    padding: 1.25rem;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.2;
    color: #000;
    cursor: pointer;
    text-align: center;
    transition: background 0.2s;
}

.mobile-menu__cta:hover,
.mobile-menu__cta:active {
    background: rgba(183, 210, 253, 1);
}

/* Блокируем скролл фона, пока меню открыто */
body.mobile-menu-open,
body.mobile-menu-open .page {
    overflow: hidden;
}

/* Когда меню открыто — шапка становится «ближе к экрану»,
   логотип и подложка скрываются, остаётся только бургер-X */
body.mobile-menu-open .site-header {
    z-index: 2600;
    /* выше панели меню (2500) */
}

body.mobile-menu-open .site-header__bg {
    opacity: 0 !important;
}

body.mobile-menu-open .site-header__inner>.hero-logo {
    opacity: 0;
    pointer-events: none;
}

/* ==========================================================
   FAQ — accordion (mobile)
   ========================================================== */
.faq-list {
    position: absolute;
    left: 0;
    top: 425rem;
    width: 30rem;
    z-index: 2;
}

.faq-item {
    border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.15);
}

.faq-item__q {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 1.4rem 1.5768rem 1.2rem 1.5768rem;
    background: transparent;
    border: 0;
    text-align: left;
    cursor: pointer;
    color: #fff;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 0.9375rem;
    line-height: 132%;
    box-sizing: border-box;
}

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

.faq-item__icon {
    position: relative;
    width: 0.8125rem;
    height: 0.8125rem;
    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;
}

.faq-item__icon::before {
    width: 0.8125rem;
    height: 0.0625rem;
    margin: -0.03125rem 0 0 -0.40625rem;
}

.faq-item__icon::after {
    width: 0.0625rem;
    height: 0.8125rem;
    margin: -0.40625rem 0 0 -0.03125rem;
}

.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 3.4375rem 1.3rem 1.5768rem;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 0.8125rem;
    line-height: 132%;
    color: rgba(255, 255, 255, 0.85);
}

/* ==========================================================
   FAQ push (mobile)
   ========================================================== */
.contact-gradient,
.contact-bg-photo,
.contact-title,
.footer-bg,
.footer-logo,
.footer-link,
.footer-social,
.footer-text,
.footer-form {
    transform: translateY(var(--faq-delta, 0px)) !important;
    transition: transform 0.4s ease-out;
}

.faq-bg {
    height: calc(69.875rem + var(--faq-delta, 0px));
    transition: height 0.4s ease-out;
}

/* ==========================================================
   FAQ module carousel — sweep curtain (mobile)
   ========================================================== */
.faq-curtain {
    position: absolute;
    left: 1.6393rem;
    top: 296.6875rem;
    width: 26.75rem;
    height: 21.0625rem;
    background: #d9e6f9;
    clip-path: inset(0 100% 0 0);
    z-index: 3;
    pointer-events: none;
    will-change: clip-path;
}

.faq-active-title,
.faq-underline,
.faq-answer {
    pointer-events: none;
}

.faq-card {
    cursor: pointer;
}

/* ==========================================================
   CONTACT FORM (mobile) — как в модалке, в rem
   ========================================================== */

/* CTA-модалка hint — на мобилке тот же паттерн, что и на десктопе */
.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: 90px;
    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 — mobile (bottom sheet)
   ========================================================== */
.flow-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    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: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.7);
    border: 0;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s;
}

.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-height: 90vh;
    overflow-y: auto;
    background: #e3eaf7;
    border-radius: 20px 20px 0 0;
    padding: 56px 20px max(56px, env(safe-area-inset-bottom));
    box-sizing: border-box;
    transform: translateY(100%);
    transition: transform .35s cubic-bezier(.4, 0, .2, 1);
}

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

.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: 22px;
    line-height: 1.3;
    color: #000;
    text-align: center;
}

.flow-modal__text {
    margin: 0 0 18px;
    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: 20px;
}

.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;
    text-align: center;
    /* ← добавить */
}

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

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

.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);
    }
}

.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;
}

.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,
body.flow-modal-open .page {
    overflow: hidden;
}

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

.contact-field-error {
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-weight: 500;
    font-size: 0.75rem;
    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;
    }
}

/* ==========================================================
   QUESTIONS SLIDER — sweep + float
   ========================================================== */
.questions-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.questions-track {
    position: absolute;
    inset: 0;
    display: flex;
    width: 300%;
    height: 100%;
    transition: transform .6s cubic-bezier(.4, 0, .2, 1);
    will-change: transform;
}

.questions-slide {
    position: relative;
    flex: 0 0 33.3333%;
    height: 100%;
    pointer-events: none;
}

/* Все дети слайда — абсолютные (как и раньше) */
.questions-slide>* {
    position: absolute;
}

/* Сцена с предметами — общая лёгкая левитация */
.q-scene {
    position: absolute;
    inset: 0;
    animation: qFloat 5s cubic-bezier(0.37, 0, 0.63, 1) infinite;
    will-change: transform;
}

.questions-slide[data-slide="1"] .q-scene {
    animation-duration: 5.5s;
    animation-delay: -1.5s;
}

.questions-slide[data-slide="2"] .q-scene {
    animation-duration: 4.5s;
    animation-delay: -3s;
}

@keyframes qFloat {

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

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

@media (prefers-reduced-motion: reduce) {
    .questions-track {
        transition: none;
    }

    .q-scene {
        animation: none;
    }
}

/* Hit-area: 2 невидимых кнопки поверх области слайда */
.questions-hit-area {
    position: absolute;
    left: 0;
    top: 71rem;
    width: 100%;
    height: 43rem;
    z-index: 5;
    display: flex;
    pointer-events: none;
}

.questions-hit {
    flex: 1;
    height: 100%;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    pointer-events: auto;
}

/* Точки */
.questions-dot {
    width: 0.9375rem;
    height: 0.9375rem;
    top: 114.3125rem;
    border: 0;
    padding: 0;
    border-radius: 50%;
    background-color: rgba(183, 210, 253, 0.55);
    cursor: pointer;
    transition: background-color .25s, transform .25s;
    z-index: 6;
}

.questions-dot.is-active {
    background-color: #2c2c2e;
    transform: scale(1.15);
}

/* ==========================================================
   SLIDE 2 — КНИГА
   ========================================================== */
.q-book {
    left: 50%;
    top: 77rem;
    width: 22rem;
    height: 23.8rem;
    transform: translateX(-50%);
}

.q-brain-center-wrap {
    position: absolute;
    inset: 0;
}

.q-brain-center-base {
    position: absolute;
    inset: 0;
    background: url(../image/image31.webp) center/100% 100% no-repeat;
}

.q-brain-center-lines-wrap {
    position: absolute;
    left: 1.25%;
    top: 8.2%;
    width: 32.85%;
    height: 48.5%;
}

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

.q-brain-center-rect-1 {
    position: absolute;
    left: 37.5%;
    top: 26.85%;
    width: 29.6%;
    height: 3.15%;
    transform: rotate(19.24deg);
    background: rgba(235, 241, 246, 1);
}

.q-brain-center-rect-2 {
    position: absolute;
    left: 34.7%;
    top: 30.55%;
    width: 31.4%;
    height: 3.55%;
    transform: rotate(19.82deg);
    background: rgba(235, 241, 246, 1);
}

/* Все прямые дети сцены — абсолютные */
.q-scene>* {
    position: absolute;
}

/* ==========================================================
   SLIDE 3 — ПРЕДМЕТЫ
   ========================================================== */
.q-clock-m {
    position: absolute;
    left: 3.5rem;
    top: 74rem;
    width: 10.525rem;
    height: 17.775rem;
    background: url(../image/3e4d7cca9e5fa717064dd7a180a4d55a0feca528.webp);
    background-size: 561.2838% 186.9463%;
    background-position: -35.625rem -6.2025rem;
    background-repeat: no-repeat;
}

.q-brain-right-m {
    position: absolute;
    left: 13.6rem;
    top: 74rem;
    width: 12.325rem;
    height: 17.15rem;
    background: url(../image/image111.webp) center/100% 100% no-repeat;
}

/* Спарклы — размеры уменьшены, позиции вокруг предметов */
.sparkle-m {
    position: absolute;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.sp-m-1 {
    left: 22rem;
    top: 76rem;
    width: 0.2rem;
    height: 0.6rem;
    background-image: url(../image/Vector1.svg);
}

.sp-m-2 {
    left: 23.5rem;
    top: 76rem;
    width: 0.225rem;
    height: 0.95rem;
    background-image: url(../image/Vector2.svg);
}

.sp-m-3 {
    left: 21rem;
    top: 75.5rem;
    width: 0.325rem;
    height: 0.425rem;
    background-image: url(../image/Vector3.svg);
}

.sp-m-4 {
    left: 25rem;
    top: 75rem;
    width: 0.2rem;
    height: 0.85rem;
    background-image: url(../image/Vector4.svg);
}

.sp-m-5 {
    left: 10rem;
    top: 73.5rem;
    width: 0.225rem;
    height: 0.075rem;
    background-image: url(../image/Vector5.svg);
}

.sp-m-6 {
    left: 12rem;
    top: 73.2rem;
    width: 0.325rem;
    height: 0.275rem;
    background-image: url(../image/Vector6.svg);
}

.sp-m-7 {
    left: 1rem;
    top: 77rem;
    width: 0.2rem;
    height: 0.325rem;
    background-image: url(../image/Vector7.svg);
}

.sp-m-8 {
    left: 1.5rem;
    top: 78rem;
    width: 0.575rem;
    height: 0.925rem;
    background-image: url(../image/Vector8.svg);
}

.sp-m-9 {
    left: 2rem;
    top: 79rem;
    width: 0.675rem;
    height: 1.125rem;
    background-image: url(../image/Vector9.svg);
}

.sp-m-10 {
    left: 5.5rem;
    top: 86rem;
    width: 0.35rem;
    height: 0.3rem;
    background-image: url(../image/Vector10.svg);
}

.sp-m-11 {
    left: 4rem;
    top: 87rem;
    width: 0.725rem;
    height: 0.55rem;
    background-image: url(../image/Vector11.svg);
}

.sp-m-12 {
    left: 23rem;
    top: 73.5rem;
    width: 0.075rem;
    height: 0.675rem;
    background-image: url(../image/Vector12.svg);
}

.sp-m-13 {
    left: 24rem;
    top: 73rem;
    width: 0.45rem;
    height: 1.075rem;
    background-image: url(../image/Vector13.svg);
}

/* ==========================================================
   SLIDE 3 — ПРЕДМЕТЫ (1:1 с ПК, k = 0.04)
   bbox: x [1289…1815] × y [1371…2144]  →  left 4.48, top 71
   ========================================================== */

/* brain-right (блокнот + ручка), ЛЕВЕЕ и НИЖЕ */
.q-brain-right-m {
    left: 4.48rem;
    top: 74.48rem;
    width: 19.72rem;
    height: 27.44rem;
    background: url(../image/image111.webp) center/100% 100% no-repeat;
}

/* clock (часы + телефон + бабл), ПРАВЕЕ и ВЫШЕ, нижний край совпадает */
.q-clock-m {
    left: 8.68rem;
    top: 73.48rem;
    width: 16.84rem;
    height: 28.44rem;
    background: url(../image/3e4d7cca9e5fa717064dd7a180a4d55a0feca528.webp);
    background-size: 561.2838% 186.9463%;
    background-position: -57rem -9.92rem;
    background-repeat: no-repeat;
}

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

/* Спарклы — координаты пересчитаны от bbox (1289,1371) × 0.04 + (4.48, 71) */
.sp-m-1 {
    left: 14.16rem;
    top: 81.60rem;
    width: 0.32rem;
    height: 0.96rem;
    background-image: url(../image/Vector1.svg);
}

.sp-m-2 {
    left: 14.64rem;
    top: 81.60rem;
    width: 0.36rem;
    height: 1.52rem;
    background-image: url(../image/Vector2.svg);
}

.sp-m-3 {
    left: 15.40rem;
    top: 78.32rem;
    width: 0.52rem;
    height: 0.68rem;
    background-image: url(../image/Vector3.svg);
}

.sp-m-4 {
    left: 16.24rem;
    top: 78.00rem;
    width: 0.32rem;
    height: 1.36rem;
    background-image: url(../image/Vector4.svg);
}

.sp-m-5 {
    left: 11.44rem;
    top: 71.00rem;
    width: 0.36rem;
    height: 0.12rem;
    background-image: url(../image/Vector5.svg);
}

.sp-m-6 {
    left: 12.28rem;
    top: 71.16rem;
    width: 0.52rem;
    height: 0.44rem;
    background-image: url(../image/Vector6.svg);
}

.sp-m-7 {
    left: 7.72rem;
    top: 79.20rem;
    width: 0.32rem;
    height: 0.52rem;
    background-image: url(../image/Vector7.svg);
}

.sp-m-8 {
    left: 7.28rem;
    top: 78.24rem;
    width: 0.92rem;
    height: 1.48rem;
    background-image: url(../image/Vector8.svg);
}

.sp-m-9 {
    left: 6.60rem;
    top: 78.04rem;
    width: 1.08rem;
    height: 1.80rem;
    background-image: url(../image/Vector9.svg);
}

.sp-m-10 {
    left: 6.40rem;
    top: 81.28rem;
    width: 0.56rem;
    height: 0.48rem;
    background-image: url(../image/Vector10.svg);
}

.sp-m-11 {
    left: 5.36rem;
    top: 81.20rem;
    width: 1.16rem;
    height: 0.88rem;
    background-image: url(../image/Vector11.svg);
}

.sp-m-12 {
    left: 16.88rem;
    top: 81.80rem;
    width: 0.12rem;
    height: 1.08rem;
    background-image: url(../image/Vector12.svg);
}

.sp-m-13 {
    left: 17.64rem;
    top: 81.20rem;
    width: 0.72rem;
    height: 1.72rem;
    background-image: url(../image/Vector13.svg);
}

/* ==========================================================
   TEST MODAL (mobile)
   ========================================================== */
.test-modal {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    background: #0a0a0a;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease-out, background-color .45s ease;
    box-sizing: border-box;
    overflow: hidden;
}

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

/* Светлый фон для результата */
.test-modal.is-result {
    background: #f3f8fa;
}

.test-modal__sheet {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: transparent;
    overflow: hidden;
    transform: translateY(20px);
    opacity: 0;
    transition: transform .3s ease-out, opacity .3s ease-out;
}

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

/* Header */
.test-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 16px 0;
    flex-shrink: 0;
    position: relative;
}

.test-close {
    display: none;
}

.test-nav {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 4px;
    background: transparent;
    border: 0;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 14px;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    transition: color .3s ease;
}

.test-nav--next {
    color: rgba(255, 255, 255, .3);
    cursor: not-allowed;
}

.test-nav--next.is-active {
    color: #fff;
    cursor: pointer;
}

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

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

/* Body */
.test-modal__body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: 12px 20px 20px;
    display: flex;
    flex-direction: column;
    transition: opacity .18s ease-out;
}

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

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

/* List */
.test-list {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.test-item {
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    border: 0;
    gap: 0;
    flex: 1;
    min-height: 0;
}

.test-item.is-current {
    display: flex;
    animation: testFadeIn .35s ease-out;
}

@keyframes testFadeIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

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

.test-item__text {
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 18px;
    line-height: 1.4;
    color: #fff;
    flex: 0 0 auto;
}

.test-item__q {
    display: inline;
}

.test-item__meta {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.3;
    color: rgba(255, 255, 255, .45);
}

.test-item__err {
    display: none !important;
}

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

.test-item__controls {
    display: flex;
    gap: 12px;
    margin-top: auto;
    padding-top: 32px;
}

.test-answer {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex: 1;
    min-width: 0;
    height: 52px;
    padding: 0 20px;
    border-radius: 26px;
    background: #232323;
    color: #fff;
    font-family: "Montserrat Alternates-Medium", sans-serif;
    font-size: 14px;
    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);
}

/* Блокировка кнопок на время перехода */
.test-item.is-locked .test-answer {
    pointer-events: none;
}

.test-modal__footer {
    display: none;
}

.test-submit {
    display: none;
}

/* Result — светлая тема */
.test-modal__body--result {
    padding: 0 20px 32px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.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: 100%;
    margin: 0;
}

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

.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;
}

.test-result__title {
    margin: 0 0 16px;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.3;
    color: #0a0a0a;
}

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

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

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

.test-result__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    margin-top: 28px;
    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;
    width: 100%;
    height: 52px;
    padding: 0 24px;
    border-radius: 26px;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-size: 15px;
    border: 0;
    cursor: pointer;
    transition: background .2s, color .2s;
    line-height: 1;
}

.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;
}

/* Confirm */
.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: 340px;
    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,
body.test-modal-open .page {
    overflow: hidden;
}

/* ==========================================================
   EDUCATION MODAL (mobile) — центрированная модалка
   ========================================================== */
.education-modal {
    position: fixed;
    inset: 0;
    z-index: 3500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 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: 500px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    background: #e8effa;
    border-radius: 20px;
    padding: 48px 20px 24px;
    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: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .06);
    border: 0;
    padding: 0;
    cursor: pointer;
}

.education-modal__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    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 24px;
    padding: 0;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 400;
    font-size: 24px;
    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: 18px;
    margin: 0 0 24px;
    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: 15px;
    line-height: 1.4;
    color: #000;
    text-align: center;
}

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

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

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

.contact-consent {
    margin: -0.125rem 0 0;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 0.75rem;
    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;
}

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

/* ==========================================================
   RU-ONLY CALLS MODAL (mobile — bottom sheet)
   ========================================================== */
.ru-only-modal {
    position: fixed;
    inset: 0;
    z-index: 3600;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: rgba(15, 20, 35, 0.55);
    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-height: 90vh;
    overflow-y: auto;
    background: #e3eaf7;
    border-radius: 20px 20px 0 0;
    padding: 48px 20px max(32px, env(safe-area-inset-bottom));
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transform: translateY(100%);
    transition: transform .35s cubic-bezier(.4, 0, .2, 1);
}

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

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

.ru-only-modal__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    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 12px;
    font-family: "Kreadon-Regular", "Montserrat Alternates-Medium", sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.25;
    color: #000;
}

.ru-only-modal__text {
    margin: 0 0 20px;
    font-family: "Montserrat Alternates-Regular", sans-serif;
    font-size: 14px;
    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: 8px;
    margin: 0 0 16px;
}

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

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

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

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

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

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

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

/* Декоративные стрелки не должны перехватывать клики */
.questions-arrow-bg-1,
.questions-arrow-bg-2,
.questions-arrow-1,
.questions-arrow-2 {
    pointer-events: none;
}