html, body {
    height:100%;
}

body {
    font-family: 'Inter', sans-serif;
    background: #f5f5f5;
    color: var(--text-primary);
    line-height: 1.45;
    transition: background 0.3s ease, color 0.2s ease;
    scroll-behavior: smooth;
    position: relative;
}

.wrapper {
    display:flex;
    flex-direction:column;
    width:100%;
    min-height:100vh;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
    position: relative;
    z-index: 2;
}

@media screen and (max-width:650px) {
    .container {
        padding:0 16px;
    }
}


/*! Hero
-----------------------
 */
.hero {
    padding: 100px 0;
    background:url('../../assets/imgs/hero-bg.webp') no-repeat;
    background-size:cover;
}

@media screen and (max-width:650px) {
    .hero {
        padding: 64px 0;
    }
}

.hero__grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 48px;
}

.hero__block {
    max-width: 680px;
}

.hero__title {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1.2;
}

@media screen and (max-width:650px) {
    .hero__title {
        font-size:2rem;
    }
}

.hero__badge {
    background: var(--accent-glow);
    color: var(--accent);
    padding: 6px 16px;
    border-radius: 40px;
    font-size: 0.8rem;
    font-weight: 600;
    display: inline-block;
    margin-bottom: 24px;
    backdrop-filter: blur(4px);
}

.hero__badge i {
    margin-right:4px;
}

.hero__desc {
    font-size: 1.2rem;
    margin: 20px 0;
    opacity:.7;
}

@media screen and (max-width:650px) {
    .hero__desc {
        font-size:1rem;
    }
}


/*! Tariffs
----------------------
 */
.tariffs {
    padding:80px 0;
}

.tariffs__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 32px;
}

.tariffs__card {
    background: var(--surface-card);
    backdrop-filter: blur(8px);
    border-radius: 32px;
    padding: 28px 24px;
    transition: var(--transition);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    border: 1px solid var(--border-light);
}

@media screen and (max-width:650px) {
    .tariffs__card {
        border-radius:20px;
    }
}

.tariffs__card:hover {
    transform: translateY(-6px);
    border-color: var(--accent);
    box-shadow: 0 20px 32px var(--accent-glow);
}

.tariffs__label {
    font-size:14px;
    text-transform:uppercase;
    opacity:.7;
}

.tariffs__price {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--accent);
    margin: 8px 0 0;
}

.tariffs__price span {
    font-size: 1rem;
    font-weight: 600;
}

.tariffs__features {
    margin:24px 0;
    padding:0;
    list-style:none;
}

.tariffs__features li {
    display: flex;
    gap: 12px;
    font-size:15px;
    margin-bottom: 12px;
    color: var(--text-secondary);
    position:relative;
    padding-left:32px;
    min-height:24px;
}

.tariffs__features i {
    color: var(--accent);
    position:absolute;
    top:2px;
    left:0;
}

.tariffs__button {
    width:100%;
    margin:auto 0 0;
}

.tariffs__button .btn-outline {
    width:100%;
}


/*! Services
------------------------
 */
.services {
    padding:80px 0;
}

.services__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.services__item {
    background: var(--surface-card-alt);
    backdrop-filter: blur(8px);
    border-radius: 28px;
    padding: 30px 24px;
    text-align: center;
    border: 1px solid var(--border-light);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    height: 100%;
}

@media screen and (max-width:650px) {
    .services__item {
        border-radius:20px;
    }
}

.services__item:hover {
    transform: translateY(-5px);
}

.services__item i {
    font-size: 2.2rem;
    color: var(--accent);
    margin-bottom: 16px;
}

.services__title {
    font-size: 1.3rem;
    margin-bottom: 12px;
    font-weight: 700;
}

.services__desc {
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--text-muted);
    flex-grow: 1;
    margin-bottom: 16px;
}

.services__price {
    font-weight: 800;
    font-size: 1.75rem;
    color: var(--accent);
    margin: 12px 0 20px;
}

.services__button {
    margin-top: auto;
}


/*! Guarantee
---------------------
 */
.guarantee {
    padding:0 0 80px;
}

.guarantee .swiper-slide {
    height:auto;
}

.guarantee__slide {
    background: var(--surface-card-alt);
    backdrop-filter: blur(8px);
    border-radius: 48px;
    padding: 40px 32px;
    border: 1px solid var(--border-light);
    display: flex;
    flex-direction: column;
    height:100%;
}

@media screen and (max-width:650px) {
    .guarantee__slide {
        border-radius:20px;
    }
}

.guarantee__title {
    font-size: 1.25rem;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    color:var(--accent);
    gap: 12px;
}

.guarantee__title i {
    flex:none;
}

.guarantee__desc {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--text-muted);
}

.guarantee__arrow {
    position: absolute;
    top: calc(50% - 20px);
    transform: translateY(-50%);
    background: var(--surface-card);
    backdrop-filter: blur(8px);
    border: 1px solid var(--border-light);
    border-radius: 60px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: var(--transition);
    color: var(--accent);
    font-size: 1.4rem;
}

@media screen and (max-width:650px) {
    .guarantee__arrow {
        display:none;
    }
}

.guarantee__arrow:hover {
    background: var(--accent);
    color: white;
}

.guarantee__arrow_left {
    left: 8px;
}

.guarantee__arrow_right {
    right: 8px;
}

.guarantee .swiper-pagination {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 32px;
    position:initial;
}

.guarantee .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: var(--text-muted);
    opacity: 0.4;
    cursor: pointer;
    transition: 0.2s;
}

.guarantee .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--accent);
    width: 28px;
}


/*! How
----------------------------
 */
.how {
    padding: 80px 0;
}

.how__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.how__item {
    background: var(--surface-card);
    backdrop-filter: blur(8px);
    border-radius: 32px;
    padding: 32px 24px;
    text-align: center;
    border: 1px solid var(--border-light);
    transition: var(--transition);
}

.how__item:hover {
    transform: translateY(-5px);
    border-color: var(--accent);
}

.how__value {
    background: var(--accent);
    color: white;
    width: 56px;
    height: 56px;
    line-height: 56px;
    font-size: 1.8rem;
    border-radius: 60px;
    display: inline-block;
    margin-bottom: 20px;
    font-weight: 800;
}

.how__title {
    font-size: 1.3rem;
    margin-bottom: 12px;
    font-weight: 700;
}

.how__desc {
    font-size: 0.95rem;
    line-height: 1.5;
    margin:0;
    color: var(--text-muted);
}


/*! Tg
--------------------------
 */
 .tg {
    margin:40px 0 0;
    padding:140px 0;
    background:url('../../assets/imgs/telegram-bg.webp') no-repeat 50% 20%;
    background-size:cover;
 }

 .tg__note {
    text-align:center;
    max-width:450px;
    margin:8px auto 24px;
    font-size:14px;
    opacity:.6;
 }

 .tg__text {
    text-align:center;
    max-width:650px;
    margin:0 auto;
    font-size:18px;
 }

@media screen and (max-width:650px) {
    .tg {
        margin:0;
        padding:70px 0;
        background:url('../../assets/imgs/telegram-bg.webp') no-repeat 50% 50%;
        background-size:cover;
    }

    .tg__text {
        font-size:16px;
    }
}

 .tg__btn {
    margin:24px 0 0;
    display:flex;
    justify-content:center;
 }


/*! Faq
--------------------------
 */
.faq {
    padding:80px 0;
    background:url('../../assets/imgs/qa-bg.webp') no-repeat;
    background-size:cover;
}

@media screen and (max-width:650px) {
    .faq {
        padding:48px 0;
    }
}

.faq__list {
    margin:40px auto 0;
    max-width:680px;
}

.faq__item {
    background: var(--surface-card);
    backdrop-filter: blur(8px);
    border-radius: 28px;
    margin-bottom: 18px;
    padding: 20px 28px;
    border: 1px solid var(--border-light);
    cursor: pointer;
}

@media screen and (max-width:650px) {
    .faq__item {
        border-radius:20px;
    }
}

.faq__label {
    display: flex;
    justify-content: space-between;
    font-weight: 700;
    transition: var(--transition);
    user-select:none;
    gap:24px;
}

.faq__label i {
    flex:none;
    transition: var(--transition);
}

.faq__label:hover {
    color:var(--accent);
}

.faq__item_active .faq__label i {
    transform:rotate(180deg);
    margin-top:-2px;
}

.faq__text {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    color: var(--text-muted);
}

.faq__item_active .faq__text {
    max-height: 240px;
    padding-top: 18px;
}


/*! Order Form
---------------------------------------
 */
.order-form {
    padding:80px 0;
}

.order-form__block {
    background: var(--surface-card);
    backdrop-filter: blur(8px);
    border-radius: 40px;
    padding: 44px 36px;
    max-width: 680px;
    margin: 0 auto;
    border: 1px solid var(--border-light);
}

@media screen and (max-width:650px) {
    .order-form__block {
        padding:32px;
        border-radius:20px;
    }
}

.order-form__title {
    font-size: 2rem;
    font-weight: 700;
}

.order-form__desc {
    color:#666;
    margin:8px 0 32px;
}

.order-form__form .form-group {
    margin:0 0 12px;
}

.order-form__form input,
.order-form__form select {
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    padding: 14px 20px;
    border-radius: 48px;
    width: 100%;
    outline:none;
    appearance: none;
    box-sizing:border-box;
    color: var(--text-primary);
    transition:var(--transition);
    font-family: inherit;
    backdrop-filter: blur(4px);
}

.order-form__form select {
    cursor:pointer;
    background: var(--bg-secondary) url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIGZpbGw9IiMwMDAiIHZlcnNpb249IjEuMSIgaWQ9IkNhcGFfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayINCgkgd2lkdGg9IjgwMHB4IiBoZWlnaHQ9IjgwMHB4IiB2aWV3Qm94PSIwIDAgMzAuNzI3IDMwLjcyNyINCgkgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cGF0aCBkPSJNMjkuOTk0LDEwLjE4M0wxNS4zNjMsMjQuODEyTDAuNzMzLDEwLjE4NGMtMC45NzctMC45NzgtMC45NzctMi41NjEsMC0zLjUzNmMwLjk3Ny0wLjk3NywyLjU1OS0wLjk3NiwzLjUzNiwwDQoJCWwxMS4wOTUsMTEuMDkzTDI2LjQ2MSw2LjY0N2MwLjk3Ny0wLjk3NiwyLjU1OS0wLjk3NiwzLjUzNSwwQzMwLjk3MSw3LjYyNCwzMC45NzEsOS4yMDYsMjkuOTk0LDEwLjE4M3oiLz4NCjwvZz4NCjwvc3ZnPg0K') no-repeat calc(100% - 20px) 50%;
    background-size:12px;

}

.order-form__form input:focus,
.order-form__form select:focus {
    border: 1px solid var(--accent);
}

.order-form__button {
    margin:24px 0 0;
}

.order-form__button .btn-primary {
    width:100%;
    justify-content:center;
}

.order-form__agree {
    font-size: .8rem;
    text-align: center;
    margin-top: 20px;
    opacity:.5;
}


/*! Thanks
------------------ */
.thanks {
    padding:60px 0 80px;
    text-align:center;
    max-width:560px;
    margin:0 auto;
}

@media screen and (max-width:650px) {
    .thanks {
        padding:32px 0 48px;
    }
}

.thanks__title {
    font-weight:600;
    margin:0 0 16px;
    font-size:32px;
}

@media screen and (max-width:650px) {
    .thanks__title {
        font-size:24px;
    }
}

.thanks__text {
    
}

@media screen and (max-width:650px) {
    .thanks__text br {
        display:none;
    }
}

.thanks__btn {
    display:flex;
    margin:32px 0 0;
    justify-content:center;
}