@font-face {
    font-family: Onest;
    src: url(./Onest-Thin-B7zMdlrO.ttf) format("truetype");
    font-weight: 100;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Onest;
    src: url(./Onest-ExtraLight-Bz8lxH7S.ttf) format("truetype");
    font-weight: 200;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Onest;
    src: url(./Onest-Light-g28bwjx3.ttf) format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Onest;
    src: url(./Onest-Regular-B794uDF0.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Onest;
    src: url(./Onest-Medium-BVq4IIbg.ttf) format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Onest;
    src: url(./Onest-SemiBold-B2sE0hjS.ttf) format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Onest;
    src: url(./Onest-Bold-Ptnq0cqz.ttf) format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Onest;
    src: url(./Onest-ExtraBold-HYXAfEAy.ttf) format("truetype");
    font-weight: 800;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Onest;
    src: url(./Onest-Black-CfAbZYP4.ttf) format("truetype");
    font-weight: 200;
    font-style: normal;
    font-display: swap
}

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    color: #0a0e22;
    font-family: Onest, sans-serif
}

html,
body {
    height: auto;
    overflow-x: hidden;
    scroll-behavior: smooth
}

.page {
    position: relative;
    z-index: 1;
    overflow: hidden;
    min-height: 100vh
}

main {
    display: block;
    min-height: 100vh;
    position: relative;
    z-index: 11
}

h1 {
    font-size: 2em;
    margin: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    text-decoration: none
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.5;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

*,
*:before,
*:after {
    box-sizing: border-box
}

button:not(:disabled),
button:not(:read-only) {
    cursor: pointer
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0
}

ul {
    list-style: none;
    margin: 0;
    padding: 0
}

p {
    margin-block-start: 0;
    margin-block-end: 0
}

input {
    padding: 0
}

textarea {
    cursor: auto
}

hr {
    box-sizing: border-box;
    border: none;
    margin-block: 0
}

dl,
dt,
dd {
    margin: 0;
    padding: 0
}

@media(prefers-color-scheme:dark) {
    html {
        color-scheme: dark
    }
}

*::-webkit-scrollbar {
    width: 16px;
    background: #f0f4fa;
    border-left: 1px solid #E0E5E2
}

*::-webkit-scrollbar-thumb {
    background-color: #005ffe;
    background-clip: padding-box;
    border: 6px solid rgba(0, 0, 0, 0);
    border-right: 5px solid rgba(0, 0, 0, 0)
}

html {
    font-size: .52083333vw
}

@media screen and (max-width:768px) {
    html {
        font-size: 2.6666666667vw
    }
}

@media screen and (min-width:2560px) {
    html {
        font-size: 18px
    }
}

body {
    margin: 0;
    background: #f0f4fa
}

.container {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0 40px
}

@media(max-width:768px) {
    .container {
        padding: 0 20px
    }
}

.optimized-image {
    will-change: transform;
    transform: translateZ(0)
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 15px 20px;
    background: #005ffe;
    color: #f0f4fa;
    font-size: 16px;
    line-height: 100%;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .05s ease;
    font-weight: 500;
    border: none
}

.btn span {
    color: #f0f4fa
}

@media(max-width:768px) {
    .btn {
        font-size: 12px
    }
}

.btn-primary {
    background: #005ffe;
    color: #f0f4fa
}

.btn-primary:hover {
    background: #0047cc
}

.btn-outline {
    background: transparent;
    color: #0a0e22;
    border: 1px solid #0a0e22
}

.btn-outline span {
    color: #0a0e22
}

.btn-outline:hover {
    background: #0a0e22;
    color: #f0f4fa
}

.btn-outline:hover span {
    color: #f0f4fa
}

.btn-white {
    background: #f0f4fa;
    color: #0a0e22
}

.btn-white:hover {
    background: #e0e8f2
}

.btn-white-form {
    background: #f0f4fa;
    color: #0a0e22;
    width: 100%
}

.btn-white-form:hover {
    background: #e0e8f2
}

.btn:hover {
    background: #0000e2
}

.btn:active {
    transform: scale(.95)
}

.header {
    height: 90px;
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: 385px 1fr 222px;
    border-bottom: 1px solid #D2D2D2;
    background: #f0f4fa44;
    -webkit-backdrop-filter: blur(72px);
    backdrop-filter: blur(72px)
}

@media(max-width:768px) {
    .header {
        height: 67px;
        grid-template-columns: 1fr 90px
    }
}

.header__left {
    height: 100%;
    display: flex;
    align-items: center
}

@media(min-width:768px) {
    .header__left {
        border-right: 1px solid #D2D2D2;
        padding: 20px 40px
    }
}

@media(max-width:768px) {
    .header__left {
        padding: 20px
    }
}

.header__time {
    border: 1px solid #005FFE;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 20px;
    background-color:#ffffff
}

@media(max-width:768px) {
    .header__time {
        padding: 8px 10px;
        gap: 5px
    }
}

@media(max-width:768px) {
    .header__time .clock-desktop {
        display: none
    }
}

@media(min-width:768px) {
    .header__time .clock-mobile {
        display: none
    }
}

.header__time_txt {
    font-size: 14px;
    font-weight: 400;
    color: #005ffe
}

@media(max-width:768px) {
    .header__time_txt {
        font-size: 10px
    }
}

.header__middle {
    width: 100%;
    display: flex;
    align-items: center
}

@media(max-width:768px) {
    .header__middle {
        display: none
    }
}

.header__middle .nav {
    display: flex;
    justify-content: space-between;
    padding: 0 40px;
    width: 100%;
    gap: 20px
}

.header__middle .nav__item>a {
    font-size: 14px;
    font-weight: 400;
    transition: color .2s ease
}

.header__middle .nav__item:hover>a {
    color: #005ffe
}

.header__right {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #D2D2D2;
    padding: 20px 40px
}

@media(max-width:768px) {
    .header__right {
        display: none
    }
}

.header__menu {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer
}

@media(min-width:768px) {
    .header__menu {
        display: none
    }
}

.header__mobile {
    position: fixed;
    inset: 67px 0 0;
    background: #fff;
    z-index: 90;
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    transition: transform .3s ease, opacity .3s ease;
    padding: 24px 20px 40px
}

@media(min-width:768px) {
    .header__mobile {
        display: none
    }
}

.header__mobile-nav {
    margin-bottom: 24px
}

.header__mobile-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.header__mobile-item a {
    font-size: 16px;
    font-weight: 500;
    color: #0a0e22;
    text-decoration: none
}

.header__mobile-cta {
    margin-top: 16px
}

body.menu-open {
    overflow: hidden
}

body.menu-open .header__mobile {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer
}

.checkbox-label span,
.checkbox-label input {
    color: #d2d2d2;
    font-size: 16px;
    line-height: 1;
    transition: color .3s ease
}

@media(max-width:768px) {

    .checkbox-label span,
    .checkbox-label input {
        font-size: 10px
    }
}

.checkbox-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid #D2D2D2;
    background: transparent;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    outline: none;
    transition: background-color .3s ease, border-color .3s ease
}

@media(max-width:768px) {
    .checkbox-input {
        width: 15px;
        height: 15px
    }
}

.checkbox-input:checked {
    background-color: #f0f4fa
}

.checkbox-input:checked+span {
    color: #f0f4fa
}

.checkbox-input:checked:after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid #005FFE;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

@media(max-width:768px) {
    .checkbox-input:checked:after {
        top: 0;
        left: 4px
    }
}

.checkbox-input:hover {
    border-color: #f0f4fa
}

.hero-section {
    position: relative;
    overflow: hidden
}

@media(min-width:768px) {
    .hero-section {
        min-height: 696px;
        height: calc(100vh - 209px);
        margin-top: 90px
    }
}

@media(max-width:768px) {
    .hero-section {
        margin-top: 67px;
        padding-bottom: 20px
    }
}

.hero-background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: -1
}

.hero-background>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top
}

.hero-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    z-index: 0
}

.hero-image>img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

@media(max-width:768px) {
    .hero-image {
        display: none
    }
}

.hero-name {
    color: #f0f4fa;
    font-size: 16px;
    font-weight: 500
}

.hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 35px;
    padding-top: 50px
}

.hero-content-left {
    position: relative;
    z-index: 1
}

@media(max-width:768px) {
    .hero-content {
        grid-template-columns: 1fr;
        padding-top: 10px
    }

    .hero-content-left {
        display: none
    }
}

@media(min-width:768px) {
    .hero-image-mobile {
        display: none
    }
}

.hero-image-mobile {
    width: 142px;
    height: 142px;
    overflow: hidden;
    position: relative;
    margin-bottom: 20pxx
}

.hero-image-mobile .mobile-image {
    width: 180px;
    height: 180px;
    object-fit: cover;
    object-position: top;
    position: absolute;
    right: -10px;
    top: -20px
}

.hero-subtitle {
    font-size: 16px;
    margin-bottom: 20px
}

@media(max-width:768px) {
    .hero-subtitle {
        font-size: 12px
    }
}

.hero-title {
    font-size: 30px;
    line-height: 1;
    font-weight: 500;
    margin-bottom: 20px;
    max-width: 564px
}

@media(max-width:768px) {
    .hero-title {
        font-size: 26px;
        margin-bottom: 10px;
        max-width: 313px
    }
}

.text-blue {
    color: #005ffe
}

.hero-description {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 50px;
    max-width: 532px
}

@media(max-width:768px) {
    .hero-description {
        margin-bottom: 40px;
        font-size: 16px;
        max-width: 283px
    }
}

.hero-buttons {
    display: flex;
    animation: hero-buttons-pulse 2.2s ease-in-out infinite;
    transform-origin: center center
}

.hero-buttons:hover {
    animation-play-state: paused
}

.hero-buttons .btn,
.hero-buttons .btn-outline {
    padding: 15px;
    will-change: transform
}

.hero-buttons .btn span,
.hero-buttons .btn-outline span {
    font-size: 14px
}

.hero-gift-card {
    display: block;
    position: relative;
    width: 216px;
    height: 216px;
    margin-top: 50px;
    background: #005ffe;
    padding: 20px;
    overflow: hidden;
    transition: background-color .3s ease
}

@media(max-width:768px) {
    .hero-gift-card {
        margin-top: 35px;
        width: 100%;
        height: 184px
    }
}

.hero-gift-card:hover {
    background: #0000e2
}

.gift-card-dot {
    width: 10px;
    height: 10px;
    background: #f0f4fa;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center
}

.gift-card-dot>img {
    width: 10px;
    height: 10px;
    object-fit: cover
}

.gift-card-amount {
    font-size: 30px;
    color: #f0f4fa;
    font-weight: 500;
    margin-bottom: 10px
}

@media(max-width:768px) {
    .gift-card-amount {
        font-size: 22px
    }
}

.gift-card-text {
    font-size: 14px;
    color: #f0f4fa;
    max-width: 176px
}

.gift-card-images {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.gift-img-1 {
    position: absolute;
    bottom: -55px;
    right: -76.83px;
    width: 214px;
    height: 131.11px;
    object-fit: cover;
    transform: rotate(-18.76deg)
}

@media(max-width:768px) {
    .gift-img-1 {
        width: 287.88px;
        height: 176.37px;
        transform: rotate(-10.94deg);
        right: -86px;
        bottom: -58px
    }
}

.gift-img-2 {
    position: absolute;
    bottom: 21.47px;
    left: 10px;
    width: 78.22px;
    height: 47.92px;
    transform: rotate(18.76deg);
    object-fit: cover
}

@media(max-width:768px) {
    .gift-img-2 {
        width: 109.42px;
        height: 67.04px;
        bottom: 11px;
        left: 67px
    }
}

@keyframes hero-buttons-pulse {
    0% {
        transform: scale(1);
        filter: drop-shadow(0 0 0 rgba(0, 95, 254, 0))
    }

    40% {
        transform: scale(1.03);
        filter: drop-shadow(0 0 16px rgba(0, 95, 254, .35))
    }

    70% {
        transform: scale(1.01);
        filter: drop-shadow(0 0 10px rgba(0, 95, 254, .2))
    }

    to {
        transform: scale(1);
        filter: drop-shadow(0 0 0 rgba(0, 95, 254, 0))
    }
}

.marquee-section {
    border-bottom: 1px solid #d2d2d2;
    background: url(./features-background-BjDjhnL0.png) center/cover;
    padding: 40px 0;
    overflow: hidden
}

@media(max-width:768px) {
    .marquee-section {
        padding: 20px 0
    }
}

.marquee {
    width: 100%;
    overflow: hidden
}

.marquee-content {
    display: flex;
    animation: marquee 30s linear infinite;
    width: fit-content
}

.marquee-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 20px;
    white-space: nowrap
}

.marquee-item>span {
    font-size: 30px;
    font-weight: 500;
    opacity: .3;
    color: #f0f4fa
}

@media(max-width:768px) {
    .marquee-item>span {
        font-size: 22px
    }
}

.marquee-dot {
    width: 10px;
    height: 10px;
    background: #f0f4fa;
    flex-shrink: 0;
    opacity: .3
}

@keyframes marquee {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-50%)
    }
}

.target-section {
    position: relative;
    padding: 100px 0 50px
}

@media(max-width:768px) {
    .target-section {
        padding: 50px 0
    }
}

.target-title {
    font-size: 50px;
    line-height: 1;
    font-weight: 500;
    margin-bottom: 50px;
    max-width: 564px
}

@media(max-width:768px) {
    .target-title {
        font-size: 22px;
        margin-bottom: 30px
    }
}

.target-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr)
}

@media(max-width:768px) {
    .target-grid {
        grid-template-columns: 1fr
    }
}

.target-grid-item {
    position: relative;
    border-right: 1px solid #d2d2d2;
    border-bottom: 1px solid #d2d2d2;
    padding: 80px 20px 20px;
    min-height: 138px
}

@media(max-width:768px) {
    .target-grid-item {
        padding: 20px 13px 20px 20px;
        min-height: 0
    }
}

.target-grid-item h3 {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 20px
}

@media(max-width:768px) {
    .target-grid-item h3 {
        font-size: 16px;
        margin-bottom: 10px
    }
}

.target-grid-item p {
    font-size: 16px;
    line-height: 1
}

@media(max-width:768px) {
    .target-grid-item p {
        font-size: 14px
    }
}

.target-grid-dot {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 10px;
    height: 10px;
    background: #0341f4
}

@media(max-width:768px) {
    .target-grid-dot {
        left: 0;
        top: 26px
    }
}

.features-section {
    position: relative;
    padding: 50px 0;
    background: url(./features-background-BjDjhnL0.png) center/cover
}

.features-background {
    position: absolute;
    inset: 0;
    background: url(./features-background-BjDjhnL0.png) center/cover
}

.features-header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 50px
}

@media(max-width:768px) {
    .features-header {
        flex-direction: column;
        gap: 10px
    }
}

.section-title-white {
    font-size: 50px;
    line-height: 1;
    font-weight: 500;
    color: #f0f4fa;
    max-width: 648px
}

@media(max-width:768px) {
    .section-title-white {
        order: 2;
        font-size: 22px;
        max-width: 252px
    }
}

.features-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 20px;
    border: 1px solid #d2d2d2;
    color: #f0f4fa;
    font-size: 14px
}

.features-badge>span {
    font-size: 14px;
    font-weight: 400;
    color: #f0f4fa
}

@media(max-width:768px) {
    .features-badge {
        order: 1;
        padding: 8px 10px;
        gap: 5px
    }

    .features-badge>svg {
        width: 12px;
        height: 12px
    }

    .features-badge>span {
        font-size: 10px
    }
}

.features-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin-bottom: 50px
}

@media(max-width:768px) {
    .features-grid {
        grid-template-columns: 1fr;
        margin-bottom: 20px
    }
}

.feature-card {
    background: #f0f4fa08;
    border: 1px solid #d2d2d2;
    padding: 20px
}

@media(max-width:768px) {
    .feature-card {
        padding: 20px;
        display: flex;
        gap: 10px
    }
}

.feature-number {
    width: 20px;
    height: 20px;
    background: #f0f4fa;
    color: #0341f4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 50px
}

@media(max-width:768px) {
    .feature-number {
        margin-top: 2px;
        margin-bottom: 0;
        flex-shrink: 0
    }
}

.feature-content h3 {
    font-size: 22px;
    font-weight: 500;
    color: #f0f4fa;
    margin-bottom: 20px
}

@media(max-width:768px) {
    .feature-content h3 {
        font-size: 16px;
        margin-bottom: 10px
    }
}

.feature-content p {
    font-size: 16px;
    color: #f0f4fa;
    line-height: 1
}

@media(max-width:768px) {
    .feature-content p {
        font-size: 14px
    }
}

.features-cta {
    position: relative;
    display: flex;
    justify-content: center
}

.gift-section {
    background: url(./gift-background-CoDbTfZc.png) center/cover;
    padding: 50px 0
}

@media(max-width:768px) {
    .gift-section {
        padding: 50px 0 32px
    }
}

.gift-content {
    display: flex;
    justify-content: space-between;
    gap: 20px
}

@media(max-width:768px) {
    .gift-content {
        flex-direction: column;
        gap: 30px
    }
}

.gift-title {
    font-size: 50px;
    font-weight: 500;
    max-width: 459px;
    line-height: 100%
}

@media(max-width:768px) {
    .gift-title {
        font-size: 22px;
        max-width: 294px
    }
}

.gift-right {
    width: 467px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px
}

@media(max-width:768px) {
    .gift-right {
        width: 100%
    }
}

.gift-cards {
    display: flex;
    flex-direction: column;
    gap: 30px;
    max-width: 467px;
    margin-left: auto
}

.gift-card-large {
    position: relative;
    background: #f0f4fab3;
    -webkit-backdrop-filter: blur(32px);
    backdrop-filter: blur(32px);
    padding: 20px;
    min-height: 205px
}

@media(max-width:768px) {
    .gift-card-large {
        padding: 20px 20px 42px;
        min-height: 0;
        display: flex;
        gap: 10px;
        box-shadow: 0 4px 4px #00000040
    }
}

.gift-card-large.with-image {
    min-height: 365px
}

@media(max-width:768px) {
    .gift-card-large.with-image {
        min-height: 254px
    }
}

.gift-card-number {
    color: #0341f4;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 50px
}

@media(max-width:768px) {
    .gift-card-number {
        margin-top: -2px;
        margin-bottom: 0
    }
}

.gift-card-large h3 {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 10px;
    max-width: 421px;
    line-height: 1
}

@media(max-width:768px) {
    .gift-card-large h3 {
        font-size: 16px;
        margin-bottom: 20px
    }
}

.gift-card-large p {
    font-size: 16px;
    line-height: 1;
    max-width: 421px
}

.gift-guide-image {
    position: absolute;
    bottom: 0;
    left: 7px;
    width: 460px;
    height: 162px
}

@media(max-width:768px) {
    .gift-guide-image {
        display: none
    }
}

.gift-guide-image-mobile {
    display: none
}

@media(max-width:768px) {
    .gift-guide-image-mobile {
        display: block;
        position: absolute;
        bottom: 5px;
        left: 50%;
        translate: -50% 0;
        transform: rotate(-3.23deg);
        width: 180px;
        height: 105px
    }
}

.gift-cta {
    display: flex;
    justify-content: flex-end
}

.gift-cta .btn {
    max-width: 290px
}

.effectiveness-section {
    position: relative;
    padding: 50px 0
}

@media(max-width:768px) {
    .effectiveness-section {
        padding: 47px 0
    }
}

.effectiveness-title {
    font-size: 50px;
    font-weight: 500;
    max-width: 464px;
    line-height: 100%
}

@media(max-width:768px) {
    .effectiveness-title {
        font-size: 26px;
        max-width: 300px;
        margin-bottom: 30px
    }
}

.effectiveness-background {
    position: absolute;
    inset: 0
}

.effectiveness-content {
    display: flex
}

@media(max-width:768px) {
    .effectiveness-content {
        flex-direction: column;
        gap: 30px
    }
}

.effectiveness-left {
    flex: 1;
    position: relative
}

.portrait-frame {
    width: 271px;
    height: 271px;
    margin: 20px 0;
    overflow: hidden;
    position: relative
}

.portrait-frame .effectiveness-image {
    width: 350px;
    height: 350px;
    object-fit: cover;
    object-position: top;
    position: absolute;
    right: -30px;
    top: -30px
}

@media(max-width:768px) {
    .portrait-frame {
        display: none
    }
}

.effectiveness-text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 488px
}

.effectiveness-text p {
    font-size: 22px;
    font-weight: 400;
    line-height: 1
}

@media(max-width:768px) {
    .effectiveness-text {
        max-width: 358px;
        gap: 0
    }

    .effectiveness-text p {
        font-size: 16px
    }

    .effectiveness-text br {
        display: none
    }
}

.effectiveness-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative
}

.benefit-card {
    position: relative;
    background: #0341f4;
    padding: 20px;
    height: fit-content
}

@media(max-width:768px) {
    .benefit-card {
        padding: 20px 20px 20px 40px
    }
}

@media(min-width:768px) {

    .benefit-card:nth-child(1),
    .benefit-card:nth-child(4) {
        min-height: 130px
    }
}

.benefit-dot {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 10px;
    height: 10px;
    background: #f0f4fa;
    display: flex;
    justify-content: center;
    align-items: center
}

.benefit-dot>img {
    width: 10px;
    height: 10px;
    object-fit: cover
}

@media(max-width:768px) {
    .benefit-dot {
        left: 20px;
        top: 26px
    }
}

.benefit-card h3 {
    font-size: 22px;
    font-weight: 500;
    color: #f0f4fa;
    margin-bottom: 20px;
    max-width: 427px
}

@media(max-width:768px) {
    .benefit-card h3 {
        font-size: 16px;
        margin-bottom: 10px
    }
}

.benefit-card p {
    font-size: 16px;
    color: #f0f4fa;
    line-height: 1
}

@media(max-width:768px) {
    .benefit-card p {
        font-size: 14px
    }
}

.cta-section {
    padding: 40px 0 100px;
    position: relative;
    scroll-margin-top: 90px
}

@media(max-width:768px) {
    .cta-section {
        padding: 52px 0 50px;
        scroll-margin-top: 67px
    }
}

.cta-title {
    font-size: 50px;
    font-weight: 500;
    max-width: 488px;
    line-height: 100%
}

@media(max-width:768px) {
    .cta-title {
        max-width: 300px;
        font-size: 26px
    }
}

.cta-content {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr
}

@media(max-width:768px) {
    .cta-content {
        grid-template-columns: 1fr;
        grid-gap: 30px
    }
}

.cta-bullets-wrapper {
    margin-top: 50px
}

@media(max-width:768px) {
    .cta-bullets-wrapper {
        margin-top: 30px
    }
}

.cta-bullets-title {
    font-size: 22px;
    font-weight: 500
}

@media(max-width:768px) {
    .cta-bullets-title {
        font-size: 18px
    }
}

.cta-bullets {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px
}

.bullet-item {
    display: flex;
    gap: 10px;
    align-items: center;
    max-width: 368px
}

.bullet-dot {
    width: 10px;
    height: 10px;
    background: #0341f4;
    flex-shrink: 0;
}

.bullet-item p {
    font-size: 16px;
    line-height: 1
}

@media(max-width:768px) {
    .bullet-item p {
        font-size: 16px
    }
}

.countdown {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 58px
}

@media(max-width:768px) {
    .countdown {
        margin-top: 30px
    }
}

.countdown-label {
    font-size: 16px;
    font-weight: 500
}

@media(max-width:768px) {
    .countdown-label {
        font-size: 14px
    }
}

.countdown-timer {
    display: flex;
    align-items: center;
    gap: 5px
}

.timer-box {
    width: 64px;
    height: 64px;
    background: #0341f4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

@media(max-width:768px) {
    .timer-box {
        width: 56.89px;
        height: 56.89px
    }
}

.timer-value {
    font-size: 27px;
    font-weight: 500;
    color: #f0f4fa
}

@media(max-width:768px) {
    .timer-value {
        font-size: 24px
    }
}

.timer-label {
    font-size: 15px;
    color: #f0f4fa
}

@media(max-width:768px) {
    .timer-label {
        font-size: 13px
    }
}

.timer-colon {
    font-size: 22px;
    font-weight: 500;
    color: #0341f4
}

.cta-form-right {
    padding-left: 50px
}

@media(max-width:768px) {
    .cta-form-right {
        padding: 20px;
        background: url(./features-background-BjDjhnL0.png) center/cover
    }
}

.form-background-image {
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
    height: 100%;
    max-height: 650px;
    z-index: -1;
    background: url(./features-background-BjDjhnL0.png) center/cover
}

@media(max-width:768px) {
    .form-background-image {
        display: none
    }
}

.form-card {
    position: relative
}

.form-card h3 {
    font-size: 22px;
    font-weight: 500;
    color: #f0f4fa;
    margin-bottom: 20px;
    line-height: 100%
}

@media(max-width:768px) {
    .form-card h3 {
        font-size: 18px;
        max-width: 232px
    }
}

.form-inputs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%
}

.form-input {
    width: 100%;
    height: 56px;
    background: #f0f4fa08;
    border: 1px solid #d2d2d2;
    -webkit-backdrop-filter: blur(32px);
    backdrop-filter: blur(32px);
    padding: 0 16px;
    color: #d2d2d2;
    font-family: Onest, sans-serif;
    font-size: 16px
}

.form-input::placeholder {
    color: #e0e5e2
}

@media(max-width:768px) {
    .form-input {
        font-size: 12px;
        padding: 0 20px;
        height: 42px
    }
}

@media(max-width:768px) {
    .submit-btn {
        width: 232px
    }
}

.form-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 50px
}

@media(max-width:768px) {
    .form-checkboxes {
        margin-top: 20px;
        max-width: 268px
    }
}

.bio-section {
    padding: 40px 0
}

@media(max-width:768px) {
    .bio-section {
        padding: 50px 0 0
    }
}

.bio-title {
    font-size: 60px;
    font-weight: 500;
    line-height: 100%;
    max-width: 1146px
}

@media(max-width:768px) {
    .bio-title {
        font-size: 22px;
        max-width: 322px
    }
}

.separator {
    height: 1px;
    background: #d2d2d2;
    margin-top: 50px
}

@media(max-width:768px) {
    .separator {
        display: none
    }
}

.bio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative
}

@media(max-width:768px) {
    .bio-grid {
        display: none
    }
}

.bio-flex-mobile {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    width: 100%
}

@media(min-width:768px) {
    .bio-flex-mobile {
        display: none
    }
}

.bio-block {
    margin-top: 40px;
    position: relative
}

.bio-block h3 {
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 20px
}

.bio-block p {
    font-size: 16px;
    line-height: 1;
    margin-bottom: 10px
}

@media(min-width:768px) {
    .bio-block {
        max-width: calc(50vw - 240px)
    }
}

@media(max-width:768px) {
    .bio-block {
        margin-top: 0;
        padding: 20px 33px 20px 20px;
        overflow: hidden
    }

    .bio-block h3 {
        font-size: 16px
    }

    .bio-block p {
        font-size: 14px
    }
}

.bio-block-white p {
    font-size: 16px;
    color: #f0f4fa;
    line-height: 1
}

.bio-block-white h3 {
    font-size: 22px;
    font-weight: 500;
    color: #f0f4fa;
    margin-bottom: 20px
}

@media(max-width:768px) {
    .bio-block-white {
        padding: 20px 33px 20px 20px;
        background: #0000e2
    }

    .bio-block-white h3 {
        font-size: 16px
    }

    .bio-block-white p {
        font-size: 14px
    }
}

@media(min-width:768px) {
    .bio-ellipse {
        display: none
    }
}

.bio-ellipse {
    position: absolute;
    width: 130px;
    height: 130px;
    right: -17px;
    top: -49px;
    background: #0341f4;
    filter: blur(148.1px)
}

.bio-img-1 {
    width: 182px;
    position: absolute;
    top: 36px;
    left: calc(50% - 86px);
    transform: translate(-50%)
}

@media(max-width:768px) {
    .bio-img-1 {
        display: none
    }
}

.bio-img-2 {
    width: 188px;
    position: absolute;
    top: 337px;
    left: calc(50% - 80px);
    transform: translate(-50%)
}

@media(max-width:768px) {
    .bio-img-2 {
        display: none
    }
}

.bio-img-3 {
    width: 175px;
    position: absolute;
    bottom: 7px;
    left: calc(50% - 54px);
    transform: translate(-50%)
}

@media(max-width:768px) {
    .bio-img-3 {
        display: none
    }
}

.bio-card-blue {
    background: #0341f4;
    padding: 48px
}

.separator-white {
    height: 1px;
    background: #d2d2d2;
    margin: 32px 0
}

.bio-quote {
    font-size: 24px;
    font-weight: 500;
    color: #f0f4fa;
    line-height: 1;
    margin-top: 32px;
    max-width: 422px
}

@media(max-width:768px) {
    .bio-quote {
        font-size: 18px;
        color: #0a0e22;
        max-width: 312px
    }
}

@media(min-width:768px) {
    .bio-summary-mobile {
        display: none
    }
}

@media(max-width:768px) {
    .bio-summary-mobile {
        position: relative;
        padding: 20px 20px 40px;
        display: flex;
        flex-direction: column;
        gap: 20px
    }
}

.bio-portrait {
    width: 100%
}

.reviews-section {
    position: relative;
    padding: 50px 0;
    margin-top: 100px
}

@media(max-width:768px) {
    .reviews-section {
        padding: 30px 0;
        margin-top: 60px
    }
}

.reviews-title {
    font-size: 50px;
    line-height: 1;
    font-weight: 500;
    color: #f0f4fa;
    text-align: center
}

@media(max-width:768px) {
    .reviews-title {
        font-size: 32px
    }
}

.reviews-background {
    position: absolute;
    inset: 0;
    background: url(./features-background-BjDjhnL0.png) center/cover
}

.reviews-carousel {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 31px;
    padding: 0 50px
}

@media(max-width:768px) {
    .reviews-carousel {
        padding: 0
    }
}

@media(min-width:768px) {
    .carousel-mobile-switch {
        display: none
    }
}

@media(max-width:768px) {
    .carousel-mobile-switch {
        display: flex;
        gap: 4px;
        margin-bottom: 10px
    }
}

.carousel-btn {
    position: absolute;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10;
    transition: opacity .3s;
    padding: 0;
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f0f4fa
}

.carousel-btn:hover {
    opacity: .7
}

.carousel-btn:disabled {
    opacity: .3;
    cursor: not-allowed
}

@media(max-width:768px) {
    .carousel-btn {
        position: static
    }
}

.carousel-prev {
    left: 0
}

@media(max-width:768px) {
    .carousel-prev-desktop {
        display: none
    }
}

@media(min-width:768px) {
    .carousel-prev-mobile {
        display: none
    }
}

.carousel-next {
    right: 0
}

@media(max-width:768px) {
    .carousel-next-desktop {
        display: none
    }
}

@media(min-width:768px) {
    .carousel-next-mobile {
        display: none
    }
}

.reviews-swiper {
    width: 100%
}

@media(max-width:768px) {
    .reviews-swiper {
        overflow: visible !important
    }
}

.swiper-wrapper {
    display: flex
}

.swiper-slide {
    height: auto
}

.review-card {
    position: relative;
    width: 100%;
    height: 100%;
    background: #f7f7f7;
    overflow: hidden
}

@media(min-width:768px) {
    .review-card {
        min-height: 368px
    }
}

@media(max-width:768px) {
    .review-card {
        height: 318px
    }
}

.ellipse {
    position: absolute;
    width: 320px;
    height: 320px;
    bottom: -11px;
    left: 50%;
    transform: translate(-50%);
    z-index: 1;
    background: #92aeff;
    filter: blur(146.8px)
}

@media(max-width:768px) {
    .ellipse {
        width: 240px;
        height: 240px
    }
}

.review-dot {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 10px;
    height: 10px;
    background: #0341f4;
    z-index: 2
}

.review-phone {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    z-index: 2
}

@media(min-width:768px) {
    .review-phone {
        top: 20px;
        width: 217px;
        height: 348px
    }
}

@media(max-width:768px) {
    .review-phone {
        width: 170px;
        bottom: 10px;
        top: 10px
    }
}

.review-phone img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.final-form {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 17px
}

.final-form-inputs {
    display: grid;
    grid-template-columns: 260fr 260fr 341fr 290fr;
    grid-gap: 10px
}

@media(max-width:768px) {
    .final-form-inputs {
        grid-template-columns: 1fr;
        gap: 10px
    }
}

.form-input-final,
.form-input-final-wide {
    width: 100%;
    height: 56px;
    background: #f0f4fa08;
    border: 1px solid #d2d2d2;
    -webkit-backdrop-filter: blur(32px);
    backdrop-filter: blur(32px);
    padding: 0 16px;
    color: #d2d2d2;
    font-family: Onest, sans-serif;
    font-size: 16px
}

.form-input-final::placeholder,
.form-input-final-wide::placeholder {
    color: #d2d2d2
}

.final-form-checkboxes {
    display: grid;
    grid-template-columns: 235fr 398fr 494fr;
    gap: 15px
}

@media(max-width:768px) {
    .final-form-checkboxes {
        display: flex;
        flex-direction: column;
        gap: 12px
    }
}

.checkbox-label-small {
    display: flex;
    gap: 10px;
    color: #d2d2d2;
    font-size: 13px;
    line-height: 1;
    cursor: pointer
}

.modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 46px;
    background-color: #0009;
    z-index: 999;
    overflow-y: auto;
    opacity: 1;
    transition: opacity .3s ease
}

@media(max-width:768px) {
    .modal {
        padding: 30px
    }
}

.modal--opening {
    animation: modalFadeIn .3s ease
}

.modal--closing {
    animation: modalFadeOut .3s ease
}

.modal__dialog {
    position: relative;
    width: 802px;
    height: 100%;
    background-color: #f0f4fa;
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: 0 20px 60px #0000004d;
    padding: 50px
}

@media(max-width:768px) {
    .modal__dialog {
        padding: 20px;
        width: 100%
    }
}

.close-btn {
    border: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    position: absolute;
    top: 22px;
    right: calc(50% - 424px);
    background: #005ffe;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    cursor: pointer;
    transition: background-color .3s ease, transform .2s ease;
    backdrop-filter: blur(7px) brightness(100%);
    -webkit-backdrop-filter: blur(7px) brightness(100%)
}

.close-btn svg {
    width: 20px;
    height: 15px
}

.close-btn:hover {
    background-color: #0236c9;
    transform: scale(1.05)
}

.close-btn:active {
    background-color: #022ba8;
    transform: scale(.95)
}

.close-btn:focus-visible {
    outline: 2px solid #4a90e2;
    outline-offset: 2px
}

@media(max-width:768px) {
    .close-btn {
        top: 0;
        right: 50%;
        transform: translate(50%)
    }
}

.modal__blur-circle {
    position: absolute;
    width: 370px;
    background-color: #91adfe
}

.modal__blur-circle--left {
    top: 642px;
    left: -112px;
    height: 337px;
    border-radius: 185px/168.5px;
    filter: blur(280.65px)
}

.modal__blur-circle--right {
    top: 122px;
    left: calc(50% + 87px);
    height: 271px;
    border-radius: 185px/135.5px;
    filter: blur(280.65px)
}

.modal__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px
}

.modal__title {
    position: relative;
    align-self: stretch;
    font-family: Onest, Helvetica;
    font-weight: 500;
    color: #060608;
    font-size: 30px;
    text-align: center;
    letter-spacing: 0;
    line-height: 30px
}

@media(max-width:768px) {
    .modal__title {
        font-size: 22px;
        line-height: 1
    }
}

.modal__subtitle {
    width: 369px;
    font-weight: 400;
    color: #060608;
    font-size: 16px;
    text-align: center;
    line-height: normal;
    position: relative;
    font-family: Onest, Helvetica;
    letter-spacing: 0
}

@media(max-width:768px) {
    .modal__subtitle {
        width: 100%
    }
}

.modal__gifts {
    display: grid;
    grid-template-columns: 285fr 346fr;
    margin-top: 20px;
    width: 100%
}

@media(max-width:768px) {
    .modal__gifts {
        grid-template-columns: 1fr;
        grid-gap: 10px
    }
}

.gift-card {
    background-color: #f0f4fa03;
    border: 1px solid #D2D2D2;
    backdrop-filter: blur(42px) brightness(100%);
    -webkit-backdrop-filter: blur(42px) brightness(100%);
    padding: 20px 10px 72px 20px;
    overflow: hidden
}

.gift-card--with-icon {
    width: 100%
}

@media(max-width:768px) {
    .gift-card {
        padding: 20px 32px 20px 20px
    }

    .gift-card--with-icon {
        padding-bottom: 77px
    }
}

.gift-card__content {
    display: inline-flex;
    position: relative;
    flex-direction: column;
    align-items: flex-start;
    gap: 50px;
    width: 100%
}

.gift-card__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto
}

.gift-card__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    position: relative;
    flex: 0 0 auto
}

.gift-card:first-child .gift-card__header {
    width: 233px
}

.gift-card__label {
    width: fit-content;
    margin-top: -1px;
    font-weight: 400;
    color: #0a0e22;
    font-size: 14px;
    line-height: 14px;
    white-space: nowrap;
    position: relative;
    font-family: Onest, Helvetica;
    letter-spacing: 0
}

.gift-card__title {
    font-weight: 500;
    color: #0a0e22;
    font-size: 22px;
    line-height: 1;
    position: relative;
    font-family: Onest, Helvetica;
    letter-spacing: 0
}

@media(max-width:768px) {
    .gift-card__title {
        font-size: 16px
    }
}

.gift-card__description {
    font-weight: 400;
    color: #0a0e22;
    font-size: 16px;
    line-height: 1;
    position: relative;
    font-family: Onest, Helvetica;
    letter-spacing: 0
}

@media(max-width:768px) {
    .gift-card__description {
        font-size: 14px
    }
}

.gift-card:first-child .gift-card__description {
    width: 245px
}

.gift-card--with-icon .gift-card__description {
    width: 317px;
    margin-right: -11px
}

.gift-card__icon {
    position: absolute
}

@media(min-width:768px) {
    .gift-card__icon {
        top: 154px;
        left: 178px;
        width: 197px;
        height: 80px
    }
}

@media(max-width:768px) {
    .gift-card__icon {
        right: 0;
        bottom: 0;
        width: 197px
    }
}

.modal__form-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 50px auto 0
}

@media(min-width:768px) {
    .modal__form-wrapper {
        width: 530px
    }
}

.registration-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    position: relative;
    align-self: stretch;
    width: 100%;
    flex: 0 0 auto
}

.form-field {
    position: relative;
    align-self: stretch;
    width: 100%;
    height: 56px;
    background-color: #f0f4fa03;
    border: 1px solid #0A0E22;
    backdrop-filter: blur(32px) brightness(100%);
    -webkit-backdrop-filter: blur(32px) brightness(100%)
}

@media(max-width:768px) {
    .form-field {
        height: 42px
    }
}

.form-field__input {
    width: 100%;
    height: 100%;
    padding: 20px;
    font-family: Onest, Helvetica;
    font-weight: 400;
    color: #0a0e22;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1;
    background: transparent;
    border: none;
    outline: none
}

@media(max-width:768px) {
    .form-field__input {
        font-size: 12px
    }
}

.form-field__input::placeholder {
    color: #0a0e22;
    opacity: 1
}

.form-field__input:focus {
    border-color: #0541f5;
    outline: 2px solid #0541F5;
    outline-offset: -2px
}

.registration-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 20px;
    position: relative;
    flex: 0 0 auto;
    background-color: #0541f5;
    border: none;
    cursor: pointer;
    transition: background-color .3s ease
}

@media(min-width:768px) {
    .registration-form__submit {
        margin: 0 auto
    }
}

@media(max-width:768px) {
    .registration-form__submit>span {
        font-size: 12px
    }
}

.registration-form__submit:hover {
    background-color: #0236c9
}

.registration-form__submit:active {
    background-color: #022ba8
}

.registration-form__submit:focus-visible {
    outline: 2px solid #4a90e2;
    outline-offset: 2px
}

.registration-form__submit-text {
    width: fit-content;
    margin-top: -1px;
    font-weight: 500;
    color: #f0f4fa;
    font-size: 16px;
    text-align: center;
    line-height: 16px;
    white-space: nowrap;
    position: relative;
    font-family: Onest, Helvetica;
    letter-spacing: 0
}

.modal__agreements {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px
}

@media(min-width:768px) {
    .modal__agreements {
        width: 506px
    }
}

.agreement-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    flex: 0 0 auto
}

.agreement-checkbox:not(:first-child) {
    align-self: stretch;
    width: 100%
}

.agreement-checkbox__input {
    position: relative;
    width: 20px;
    height: 20px;
    border: 1px solid #818181;
    background-color: transparent;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    flex-shrink: 0
}

@media(max-width:768px) {
    .agreement-checkbox__input {
        width: 15px;
        height: 15px
    }
}

.agreement-checkbox__input:checked {
    background-color: #0541f5;
    border-color: #0541f5;
    position: relative
}

.agreement-checkbox__input:checked:after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

.agreement-checkbox__input:focus-visible {
    outline: 2px solid #4a90e2;
    outline-offset: 2px
}

.agreement-checkbox__label {
    font-weight: 400;
    color: #818181;
    font-size: 16px;
    line-height: 1;
    position: relative;
    letter-spacing: 0;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none
}

@media(max-width:768px) {
    .agreement-checkbox__label {
        font-size: 10px
    }
}

.agreement-checkbox:first-child .agreement-checkbox__label {
    width: fit-content;
    white-space: nowrap
}

.agreement-checkbox:not(:first-child) .agreement-checkbox__label {
    width: 476px;
    margin-top: -1px
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

@keyframes modalFadeIn {
    0% {
        opacity: 0;
        transform: scale(.95)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

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

    to {
        opacity: 0;
        transform: scale(.95)
    }
}

.test {
    height: 100vh
}

.test .test-background {
    height: 100%;
    position: relative
}

.test .test-background .noise {
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: overlay;
    opacity: .5
}

.test .test-background .color-background {
    height: 100%;
    width: 100%;
    background: #f0f4fa;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

:is(.swiper:not(.swiper-watch-progress), .swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    width: var(--swiper-navigation-size);
    height: var(--swiper-navigation-size);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

:is(.swiper-button-prev, .swiper-button-next).swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

:is(.swiper-button-prev, .swiper-button-next).swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled :is(.swiper-button-prev, .swiper-button-next) {
    display: none !important
}

:is(.swiper-button-prev, .swiper-button-next) svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none
}

.swiper-button-lock {
    display: none
}

.swiper-button-prev,
.swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2))
}

.swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto
}

.swiper-button-prev .swiper-navigation-icon {
    transform: rotate(180deg)
}

.swiper-button-next {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto
}

.swiper-horizontal .swiper-button-prev,
.swiper-horizontal .swiper-button-next,
.swiper-horizontal~.swiper-button-prev,
.swiper-horizontal~.swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-left: 0
}

.swiper-horizontal .swiper-button-prev,
.swiper-horizontal~.swiper-button-prev,
.swiper-horizontal.swiper-rtl .swiper-button-next,
.swiper-horizontal.swiper-rtl~.swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto
}

.swiper-horizontal .swiper-button-next,
.swiper-horizontal~.swiper-button-next,
.swiper-horizontal.swiper-rtl .swiper-button-prev,
.swiper-horizontal.swiper-rtl~.swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto
}

:is(.swiper-horizontal .swiper-button-prev, .swiper-horizontal~.swiper-button-prev, .swiper-horizontal.swiper-rtl .swiper-button-next, .swiper-horizontal.swiper-rtl~.swiper-button-next) .swiper-navigation-icon {
    transform: rotate(180deg)
}

:is(.swiper-horizontal.swiper-rtl .swiper-button-prev, .swiper-horizontal.swiper-rtl~.swiper-button-prev) .swiper-navigation-icon {
    transform: rotate(0)
}

.swiper-vertical .swiper-button-prev,
.swiper-vertical .swiper-button-next,
.swiper-vertical~.swiper-button-prev,
.swiper-vertical~.swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-top: 0
}

.swiper-vertical .swiper-button-prev,
.swiper-vertical~.swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto
}

:is(.swiper-vertical .swiper-button-prev, .swiper-vertical~.swiper-button-prev) .swiper-navigation-icon {
    transform: rotate(-90deg)
}

.swiper-vertical .swiper-button-next,
.swiper-vertical~.swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto
}

:is(.swiper-vertical .swiper-button-next, .swiper-vertical~.swiper-button-next) .swiper-navigation-icon {
    transform: rotate(90deg)
}

.reviews-section-v2 {
}

.reviews-mobile-switch-v2 {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .reviews-mobile-switch-v2 {
        display: none;
    }
}

.reviews-carousel-v2 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 31px;
    padding: 0 50px;
}

@media (max-width: 768px) {
    .reviews-carousel-v2 {
        padding: 0;
    }
}

.reviews-carousel-btn-v2 {
    position: absolute;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10;
    transition: opacity .3s;
    padding: 0;
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f0f4fa;
}

.reviews-carousel-btn-v2:hover {
    opacity: .7;
}

.reviews-carousel-btn-v2:disabled {
    opacity: .3;
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .reviews-carousel-btn-v2 {
        position: static;
    }
}

.reviews-prev-v2 {
    left: 0;
}

.reviews-next-v2 {
    right: 0;
}

@media (max-width: 768px) {
    .reviews-prev-v2-desktop,
    .reviews-next-v2-desktop {
        display: none;
    }
}

@media (min-width: 768px) {
    .reviews-prev-v2-mobile,
    .reviews-next-v2-mobile {
        display: none;
    }
}

.reviews-swiper-v2 {
    width: 100%;
}

@media (max-width: 768px) {
    .reviews-swiper-v2 {
        overflow: visible !important;
    }
}
/* ================= REVIEWS V2 (ізольований блок) ================= */

.reviews-section-v2 {
    position: relative;
    padding: 50px 0;
    margin-top: 100px;
}

@media (max-width: 768px) {
    .reviews-section-v2 {
        padding: 30px 0;
        margin-top: 60px;
    }
}

/* фон усередині цієї секції */
.reviews-section-v2 .reviews-background {
    position: absolute;
    inset: 0;
    background: url(./features-background-BjDjhnL0.png) center/cover;
    z-index: 0;
}

.reviews-section-v2 .container {
    position: relative;
    z-index: 1;
}

/* заголовок */
.reviews-section-v2 .reviews-title {
    font-size: 50px;
    line-height: 1;
    font-weight: 500;
    color: #f0f4fa;
    text-align: center;
    margin-bottom: 30px;
}

@media (max-width: 768px) {
    .reviews-section-v2 .reviews-title {
        font-size: 32px;
        margin-bottom: 20px;
    }
}

/* мобільні стрілки */
.reviews-mobile-switch-v2 {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
    justify-content: center;
}

@media (min-width: 768px) {
    .reviews-mobile-switch-v2 {
        display: none;
    }
}

/* контейнер каруселі */
.reviews-carousel-v2 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 31px;
    padding: 0 50px;
}

@media (max-width: 768px) {
    .reviews-carousel-v2 {
        padding: 0;
    }
}

/* універсальні кнопки */
.reviews-carousel-btn-v2 {
    position: absolute;
    background: #f0f4fa;
    border: none;
    cursor: pointer;
    z-index: 10;
    transition: opacity .3s;
    padding: 0;
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.reviews-carousel-btn-v2:hover {
    opacity: .7;
}

.reviews-carousel-btn-v2:disabled {
    opacity: .3;
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .reviews-carousel-btn-v2 {
        position: static;
    }
}

/* позиції для prev/next */
.reviews-prev-v2 {
    left: 0;
}

.reviews-next-v2 {
    right: 0;
}

/* моб/десктоп видимість кнопок */
@media (max-width: 768px) {
    .reviews-prev-v2-desktop,
    .reviews-next-v2-desktop {
        display: none;
    }
}

@media (min-width: 768px) {
    .reviews-prev-v2-mobile,
    .reviews-next-v2-mobile {
        display: none;
    }
}

/* сам swiper */
.reviews-swiper-v2 {
    width: 100%;
}

@media (max-width: 768px) {
    .reviews-swiper-v2 {
        overflow: visible !important;
    }
}

/* картка відгуку – використовуємо існуючі глобальні стилі,
   але через секцію v2 підстрахуємось */
.reviews-section-v2 .review-card {
    position: relative;
    width: 100%;
    height: 100%;
    background: #f7f7f7;
    overflow: hidden;
}

@media (min-width: 768px) {
    .reviews-section-v2 .review-card {
        min-height: 368px;
    }
}

@media (max-width: 768px) {
    .reviews-section-v2 .review-card {
        height: 318px;
    }
}

.reviews-section-v2 .ellipse {
    position: absolute;
    width: 320px;
    height: 320px;
    bottom: -11px;
    left: 50%;
    transform: translate(-50%);
    z-index: 1;
    background: #92aeff;
    filter: blur(146.8px);
}

@media (max-width: 768px) {
    .reviews-section-v2 .ellipse {
        width: 240px;
        height: 240px;
    }
}

.reviews-section-v2 .review-dot {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 10px;
    height: 10px;
    background: #0341f4;
    z-index: 2;
}

.reviews-section-v2 .review-phone {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    z-index: 2;
}

@media (min-width: 768px) {
    .reviews-section-v2 .review-phone {
        top: 20px;
        width: 217px;
        height: 348px;
    }
}

@media (max-width: 768px) {
    .reviews-section-v2 .review-phone {
        width: 170px;
        bottom: 10px;
        top: 10px;
    }
}

.reviews-section-v2 .review-phone img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* ====== REVIEWS CAROUSEL V3 (INDEPENDENT MODULE) ====== */

.reviews-section-v3 {
    padding: 60px 0;
    background: url('./features-background-BjDjhnL0.png') center/cover;
    position: relative;
}

.reviews-v3-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

.reviews-v3-title {
    color: #fff;
    font-size: 42px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 35px;
    font-family: Onest, sans-serif;
}

.reviews-v3-carousel-wrapper {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.reviews-v3-track {
    display: flex;
    transition: transform 0.35s ease-in-out;
}

.reviews-v3-slide {
    min-width: 33.3333%;
    padding: 10px;
    display: flex;
    justify-content: center;
}

@media (max-width: 992px) {
    .reviews-v3-slide {
        min-width: 50%;
    }
}

@media (max-width: 600px) {
    .reviews-v3-slide {
        min-width: 100%;
    }
}

.reviews-v3-slide img {
    width: 100%;
    max-width: 260px;
    height: auto;
    border-radius: 14px;
    box-shadow: 0px 4px 20px rgba(0,0,0,0.25);
}

/* Buttons */
.reviews-v3-btn {
    background: #fff;
    border: none;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.2s;
}

.reviews-v3-btn:hover {
    background: #e0ebff;
}

.reviews-v3-prev {
    margin-right: 10px;
}

.reviews-v3-next {
    margin-left: 10px;
}
.reviews-v3-track {
    touch-action: pan-y; /* щоб свайп по горизонталі не ламав вертикальний скрол */
    cursor: grab;
}

.reviews-v3-track:active {
    cursor: grabbing;
}
.reviews-v3-track {
    touch-action: pan-y;
    cursor: grab;
}

.reviews-v3-track:active {
    cursor: grabbing;
}
/* контейнер кнопок над каруселлю */
.reviews-v3-top-controls {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-bottom: 18px;
}

/* стилі кнопок лишаємо ті ж, можна трохи підправити */
.reviews-v3-btn {
    background: #fff;
    border: none;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.reviews-v3-btn:hover {
    background: #e0ebff;
}
/* ===== WHITE CARD BACKGROUND FOR EACH SLIDE ===== */

.reviews-v3-slide {
    min-width: 33.3333%;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* картка */
.reviews-v3-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 18px;
    width: 100%;
    max-width: 300px;
    min-height: 380px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 6px 18px rgba(0,0,0,0.12);
    position: relative;
}

/* картинка всередині */
.reviews-v3-card img {
    width: 100%;
    height: auto;
    object-fit: contain;
    z-index: 2;
}

/* glowing ellipse like previous version */
.reviews-v3-card::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    background: #b4caff;
    filter: blur(150px);
    z-index: 1;
}
.reviews-v3-slide {
    min-width: 33.3333%;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Біла картка за скріншотом */
.reviews-v3-card {
    position: relative;
    background: #ffffff;
    border-radius: 12px;
    padding: 12px 10px 16px;
    width: 100%;
    max-width: 240px;
    min-height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    overflow: hidden;
}

/* Робимо картку ще компактнішою на мобайл */
@media (max-width: 768px) {
    .reviews-v3-slide {
        min-width: 100%;
    }

    .reviews-v3-card {
        max-width: 210px;
        padding: 10px 8px 14px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    }
}

/* Синій квадратик зверху зліва */
.reviews-v3-dot {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 10px;
    height: 10px;
    background: #0341f4;
    z-index: 2;
}

/* Картинка всередині */
.reviews-v3-card img {
    width: 100%;
    max-width: 220px;
    height: auto;
    object-fit: contain;
    z-index: 1;
}

/* Легке світіння під карткою, але без огромної плями */
.reviews-v3-card::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
    background: #b4caff;
    filter: blur(90px);
    z-index: 0;
}
/* ---- iPhone 15 Frame ---- */

.iphone15-frame {
    position: relative;
    width: 100%;
    max-width: 265px;
    aspect-ratio: 0.47; /* пропорція iPhone 15 ~ 1179×2556 */
    background: #000;
    border-radius: 38px;
    padding: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow:
            0 5px 15px rgba(0,0,0,0.4),
            inset 0 0 0 2px #cfcfcf,
            inset 0 0 0 6px #0f0f0f;
}

.iphone15-screen {
    width: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
}

.iphone15-screen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.iphone15-island {
    position: absolute;
    top: 10px;
    width: 95px;
    height: 18px;
    background: #000;
    border-radius: 14px;
    z-index: 3;
}



@media (max-width: 768px) {
    .iphone15-frame {
        max-width: 240px;
        border-radius: 36px;
        padding: 12px;
    }

    .iphone15-island {
        width: 85px;
        height: 17px;
    }
}
.widget-wrapper {
    background: transparent !important;
}
.modal {
    display: none;
}

.modal.active {
    display: block;
}


.modal.active {
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    pointer-events: auto;
}

.modal__dialog {
    border-radius: 14px;
    max-width: 800px;
    width: 100%;
    padding: 24px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}
