:root {
    --bg: #020820;
    --orange: #FF7C1E;
}

* {
    box-sizing: border-box;
}
body,
html {
    height: 100%;
}

body {
    margin: 0;
    background: var(--bg);
    color: #fff;
}

/* ================= HERO ================= */
.hero {
    height: 880px;
    position: relative;
    overflow: hidden;
    background: url("../img/bg1.webp") center center / cover no-repeat;
}

.hero__content {
    position: absolute;
    left: 120px;
    top: 180px;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero__title {
    margin: 0;
    font-family: "Sofia Sans Extra Condensed",sans-serif;
    font-size: 106px;
    line-height: 85%;
    text-transform: uppercase;
    text-align: center;
}

.hero__subtitle {
    margin: 22px 0 28px;
    max-width: 480px;
    font-family: "Geist",system-ui;
    font-size: 20px;
    line-height: 120%;
    text-align: center;
}

/* HERO BUTTON */
.hero__btn {
    width: 207px;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 4px 16px;
    background: var(--orange);
    border-radius: 16px;
    border: 2px solid transparent;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    box-shadow: 0 78px 32px rgba(255,124,30,.04), 0 44px 26px rgba(255,124,30,.13), 0 20px 20px rgba(255,124,30,.21), 0 5px 11px rgba(255,124,30,.25);
    transition: 0.15s ease;
}

.hero__btn::before {
    content: "ENTER CRYPTO";
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);

    height: 28px;
    padding: 0 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--orange);
    border-radius: 999px;

    font-family: "Sofia Sans Extra Condensed", sans-serif;
    font-size: 14px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #fff;

    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.hero__btn:hover::before {
    opacity: 1;
}

.hero__btn:hover {
    background: #020923;
    border-color: var(--orange);
}

.hero__btn-text {
    font-family: "Sofia Sans Extra Condensed",sans-serif;
    font-size: 24px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #fff;
}

.hero__btn-ico {
    width: 38px;
}
.hero__btn-logo {
    width: 86px;
    display: none;
}

.hero__btn:hover .hero__btn-ico,
.hero__btn:hover .hero__btn-text {
    display: none;
}
.hero__btn:hover .hero__btn-logo {
    display: block;
}

/* ================= ADVANTAGES ================= */
.advantages {
    position: relative;
    padding: 60px 0 90px;
    background: url("../img/bg2.webp") top center / cover no-repeat;
}

.advantages__decor {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1135px;
    height: 1299px;
    background: url("../img/ches.webp") left center / contain no-repeat;
    pointer-events: none;
    z-index: 1;
}

.advantages__inner {
    position: relative;
    z-index: 2;
    width: min(1600px,calc(100% - 240px));
    margin: auto;
}

.advantages__title {
    margin-bottom: 26px;
    text-align: center;
    font-family: "Sofia Sans Extra Condensed",sans-serif;
    font-size: 52px;
    line-height: 85%;
    text-transform: uppercase;
}

/* === TWO INDEPENDENT COLUMNS === */
.advantages__cols {
    display: flex;
    justify-content: flex-end;
    gap: 18px;
}

.adv-col {
    width: 325px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* right column lower */
.adv-col--right {
    margin-top: 80px;
}

/* CARDS */
.adv-card,
.adv-cta {
    width: 325px;
    height: 164px;
    border-radius: 8px;
}

.adv-card {
    background: linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
    border: 1px solid rgba(255,255,255,.06);
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    backdrop-filter: blur(2px);
}

.adv-card__text {
    margin-top: -55px;
}

.adv-card__h {
    font-family: "Sofia Sans Extra Condensed",sans-serif;
    font-size: 26px;
    width: 130px;
    text-transform: uppercase;
}

.adv-card__p {
    font-family: "Geist",system-ui;
    font-size: 16px;
    margin-top: 10px;
    opacity: 1;
}

.adv-card__ico {
    width: 179px;

}

.adv-card__ico2 {
    width: 179px;

}

.adv-card__ico3 {
    width: 179px;

}

/* CTA */
.adv-cta {
    background: var(--orange);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    border: 2px solid transparent;
    transition: 0.15s ease;

    position: relative;
    /* ВАЖНО */
    isolation: isolate;
    /* чтобы слои работали предсказуемо */
}

.adv-cta:hover {
    background: #020923;
    border-color: var(--orange);
}

.adv-cta::before {
    content: "ENTER CRYPTO";
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);

    height: 28px;
    padding: 0 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--orange);
    border-radius: 999px;

    font-family: "Sofia Sans Extra Condensed", sans-serif;
    font-size: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #fff;

    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.adv-cta:hover::before {
    opacity: 1;
}

.adv-cta__text {
    font-family: "Sofia Sans Extra Condensed",sans-serif;
    font-size: 34px;
    text-transform: uppercase;
    color: #fff;
}

.adv-cta__logo {
    width: 86px;
    display: none;
}
.adv-cta:hover .adv-cta__text {
    display: none;
}
.adv-cta:hover .adv-cta__logo {
    display: block;
}

/* ================= CRACKING ================= */
.cracking {
    position: relative;
    padding: 80px 0 220px;
    background: url("../img/bg3.webp") top center / cover no-repeat;
    overflow: hidden;
}

.cracking::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    height: 300px;
    /* можно 260–360px под вкус */
    background: linear-gradient(to bottom, rgba(2, 11, 36, 0) 0%, rgba(2, 11, 36, 0.6) 60%, #020B24 100%);

    pointer-events: none;
    z-index: 6;
}

.cracking__inner {
    margin: 0 auto;
    position: relative;
}

.cracking__title {
    margin: 0 0 10px;
    text-align: center;
    font-family: "Sofia Sans Extra Condensed", sans-serif;
    font-size: 52px;
    line-height: 85%;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* сцена для абсолютного позиционирования карточек */
.cracking__stage {
    position: relative;
    height: 520px;
}

/* ===== CARD BASE (PARALLELOGRAM) ===== */
.crack-card {
    position: absolute;
    width: 325px;
    height: 164px;

    background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0) 100%);
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(2px);

    transform: matrix(0.99, -0.14, 0, 1, 0, 0);
    transform-origin: left center;
}

/* выпрямляем контент */
.crack-card__content {

    transform-origin: left center;
}

/* TEXT */
.crack-card__h {
    font-family: "Sofia Sans Extra Condensed", sans-serif;
    font-size: 32px;
    line-height: 90%;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 10px;
}

.crack-card__p {
    font-family: "Geist", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 130%;
    opacity: 0.9;
    max-width: 280px;
}

/* ===== POSITIONS ===== */
.crack-card--lt {
    left: 120px;
    top: 90px;
    padding: 20px;
}

.crack-card--lb {
    left: 120px;
    top: 285px;
    padding: 20px;
}

/* правая сторона — зеркальный наклон */
.crack-card--rb,
.crack-card--rt {
    transform: matrix(0.99, 0.14, 0, 1, 0, 0);
    transform-origin: right center;
}

.crack-card--rb .crack-card__content,
.crack-card--rt .crack-card__content {

    transform-origin: right center;
}

.crack-card--rt {
    right: 120px;
    top: 90px;
    padding: 20px;
}

.crack-card--rb {
    right: 120px;
    top: 285px;
    padding: 20px;
}

/* ================= FUTURE ================= */
.future {
    height: 740px;
    /* если нужно 1 экран — можно поменять на 720/760 */
    position: relative;
    overflow: hidden;
    background: url("../img/bg4.webp") top center / cover no-repeat;
}

.future__inner {
    width: min(1600px, calc(100% - 240px));
    margin: 0 auto;
    height: 100%;
    position: relative;
}

.future__content {
    position: absolute;
    top: 180px;
    max-width: 560px;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.future__title {
    margin: 0;
    font-family: "Sofia Sans Extra Condensed", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 108px;
    line-height: 80%;
    text-align: center;
    text-transform: uppercase;
    color: #0B1020;
    /* на светлом фоне как в макете */
}

.future__subtitle {
    margin: 22px 0 28px;
    max-width: 420px;

    font-family: "Geist", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 120%;
    text-align: center;
    color: rgba(11, 16, 32, 0.85);
}

/* ================= ADAPTIVE ================= */
@media(max-width:1600px) {
    .hero {
        height: 740px;
    }
    .hero__content {
        left: 60px;
        top: 140px;
    }

    .advantages {
        position: relative;
        padding: 60px 0 0;
    }

    .advantages__decor {
        left: -120px;
    }
}

@media(max-width:1360px) {

    .hero {
        background: url("../img/bg1.webp") center right -210px / cover no-repeat;
    }
    .hero__title {
        font-size: 76px;
    }
    .hero__subtitle {
        font-size: 16px;
    }

    .advantages {
        position: relative;
        padding: 6px 0 0;
    }

    .advantages__decor {

        width: 940px;
        height: 1242px;

    }

    .advantages__inner {
        position: relative;
        z-index: 2;
        width: min(1600px, calc(100% - 140px));
        margin: auto;
    }

    .adv-card__h {
        font-size: 20px;
    }

    .adv-card,
    .adv-cta {
        width: 225px;
        height: 113px;
        border-radius: 8px;
    }

    .adv-card__ico {
        width: 114px;
        margin-left: -50px;
    }

    .adv-card__ico2 {
        width: 114px;
        margin-left: -50px;
    }

    .adv-card__ico3 {
        width: 114px;
        margin-left: -50px;
    }

    .adv-col {
        width: 225px;
    }
    .adv-card__text {
        margin-top: -20px;
    }

    .adv-card__p {
        font-family: "Geist", system-ui;
        font-size: 14px;
        margin-top: 0;
        opacity: 1;
    }

    .adv-cta__text {

        font-size: 24px;

    }

    .adv-cta::before {
        top: 6px;
        font-size: 14px;

    }

    .cracking {
        position: relative;
        padding: 80px 0 50px;
        background: url("../img/bg3.webp") top center / cover no-repeat;
        overflow: hidden;
    }

    .crack-card {
        position: absolute;
        width: 225px;
        height: 131px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0) 100%);
        border-radius: 8px;
        border: 1px solid rgba(255, 255, 255, .08);
        backdrop-filter: blur(2px);
        transform-origin: left center;
    }

    .crack-card__h {
        font-family: "Sofia Sans Extra Condensed", sans-serif;
        font-size: 24px;

    }

    .crack-card__p {
        font-family: "Geist", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
        font-size: 14px;
    }

    .crack-card--rt {
        right: 120px;
        top: 60px;
        padding: 20px;
    }

    .crack-card--lb {
        left: 120px;
        top: 240px;
        padding: 20px;
    }

    .crack-card--rb {
        right: 120px;
        top: 210px;
        padding: 20px;
    }

    .cracking__title {
        font-size: 36px;

    }

    .future__inner {
        width: min(1600px, calc(100% - 140px));
        margin: 0 auto;
        height: 100%;
        position: relative;
    }

    .future__title {
        font-size: 76px;

    }

    .future__subtitle {
        margin: 16px 0 24px;
        max-width: 420px;
        font-family: "Geist", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 120%;
        text-align: center;
        color: rgba(11, 16, 32, 0.85);
    }

    .future {
        height: 560px;
        position: relative;
        overflow: hidden;
        background: url("../img/bg4.webp") top center / cover no-repeat;
    }

}

@media(max-width:1024px) {
    .hero {
        height: 530px;
        background: url("../img/bg1.webp") center right -140px / cover no-repeat;
    }

    .adv-col--right {
        margin-top: 48px;
    }
    .hero__title {
        font-size: 56px;
    }

    .hero__btn {
        width: 152px;
        height: 48px;
        padding: 4px 6px;
        border-radius: 12px;
    }

    .hero__btn-ico {
        width: 27px;
    }

    .hero__btn-text {
        font-family: "Sofia Sans Extra Condensed", sans-serif;
        font-size: 18px;
    }
    .hero__subtitle {
        font-size: 14px;
        line-height: 16px;
        margin: 16px 0 22px;

        width: 270px;
    }

    .advantages__title {
        font-size: 28px;
    }
    .advantages__decor {
        width: 690px;
        height: 920px;
    }

    .hero__btn::before {
        content: "ENTER CRYPTO";
        position: absolute;
        top: -20px;
        left: 50%;
        transform: translateX(-50%);
        height: 28px;
        padding: 0 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--orange);
        border-radius: 999px;
        font-family: "Sofia Sans Extra Condensed", sans-serif;
        font-size: 11px;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        color: #fff;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.15s ease;
    }
    .hero__btn-logo {
        width: 50px;
        display: none;
    }

    .adv-card,
    .adv-cta {
        width: 168px;
        height: 84px;
        border-radius: 8px;
    }

    .adv-card__ico {
        width: 72px;
        margin-left: -55px;
        margin-top: 13px;
    }
    .adv-card__ico2 {
        width: 72px;
        margin-left: -55px;
        margin-top: 13px;
    }
    .adv-card__ico3 {
        width: 72px;
        margin-left: -55px;
        margin-top: 13px;
    }

    .adv-card {
        padding: 8px;
    }

    .adv-card__p {
        font-family: "Geist", system-ui;
        font-size: 12px;
        margin-top: 0;
        opacity: 1;
        width: 120px;
    }

    .adv-card__h {
        font-size: 18px;
    }
    .adv-col {
        width: 168px;
    }

    .advantages__inner {
        position: relative;
        z-index: 2;
        width: min(1600px, calc(100% - 60px));
        margin: -36px auto;
    }

    .hero__content {
        left: 30px;
        top: 140px;
    }
    .adv-cta__logo {
        width: 56px;
        display: none;
    }

    .adv-cta::before {
        top: 6px;
        font-size: 10px;
        padding: 0 8px;
        height: 20px;
    }

    .adv-cta__text {
        font-size: 18px;
    }

    .cracking__stage {
        position: relative;
        height: 390px;
    }

    .crack-card {
        position: absolute;
        width: 168px;
        height: 86px;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0) 100%);
        border-radius: 8px;
        border: 1px solid rgba(255, 255, 255, .08);
        backdrop-filter: blur(4px);
        transform-origin: left center;
    }

    .crack-card__h {
        font-family: "Sofia Sans Extra Condensed", sans-serif;
        font-size: 18px;
    }
    .crack-card__p {
        font-family: "Geist", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
        font-size: 12px;
    }
    .crack-card--lt {
        left: 36px;
        top: 50px;
        padding: 8px;
    }

    .crack-card--lb {
        left: 36px;
        top: 150px;
        padding: 8px;
    }
    .crack-card--rt {
        right: 36px;
        top: 26px;
        padding: 8px;
    }
    .crack-card--rb {
        right: 36px;
        top: 125px;
        padding: 8px;
    }
    .cracking::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 100px;
        background: linear-gradient(to bottom, rgba(2, 11, 36, 0) 0%, rgba(2, 11, 36, 0.6) 60%, #020B24 100%);
        pointer-events: none;
        z-index: 6;
    }

    .crack-card__h {

        margin-bottom: 4px;
    }

    .cracking {
        position: relative;
        padding: 30px 0;
        background: url("../img/bg3.webp") top center / cover no-repeat;
        overflow: hidden;
    }

    .future {
        height: 380px;
        position: relative;
        overflow: hidden;
        background: url("../img/bg4.webp") top center / cover no-repeat;
    }

    .future__content {
        position: absolute;
        top: 100px;
        max-width: 560px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

/* ================= MOBILE (как на макете) ================= */
@media (max-width: 768px) {
  body, html {
    height: 100%;
    overflow-x: hidden;
}

    /* 1) фон только у HERO */
    .hero {
    position: relative;
    height: 690px;
    background: var(--bg);
    overflow-x: hidden;
}
.hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    height: 420px; /* максимум картинки */

    background: url("../img/mob_bg.webp") top center / cover no-repeat;

    z-index: 0;
}


    .hero__content {
        left: 0;
        right: 0;
        top: 360px;
        margin: 0 auto;
        max-width: 340px;
        padding: 0 16px;
    }

    .hero__title {
        font-size: 56px;
    }
    .hero__subtitle {
        font-size: 14px;
        line-height: 120%;
        margin: 14px 0 18px;
        max-width: 300px;
    }

    /* 2) после HERO — без фонов (Advantages чистый тёмный) */
    .advantages {
        background: var(--bg) !important;
        padding: 190px 0 34px;
        
    }

    .advantages__decor {
        display: block;
        position: absolute;
        top: -190px;
        left: 50%;
        transform: translateX(-50%);
        width: 587px;
        height: 549px;
        background: url(../img/chess.webp) center center / contain no-repeat;
        pointer-events: none;
        z-index: 2;
    }

    .advantages__inner {
        width: calc(100% - 32px);
        margin: 0 auto;
    }

    .advantages__title {
        font-size: 32px;
        margin: 0 0 18px;
    }

    /* 3) карточки advantages в одну колонку */
    .advantages__cols {
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }

    .adv-col {
        width: 100%;
        max-width: 360px;
        gap: 14px;
    }

    .adv-col--right {
        margin-top: 0;
    }

    .adv-card,
    .adv-cta {
        width: 100%;
        max-width: 360px;
    }

    /* чуть компактнее карточки */
    .adv-card {
        height: 92px;
        padding: 10px 12px;
    }

    .adv-card__text {
        margin-top: 0;
    }
    .adv-card__h {
        font-size: 24px;
        width: auto;
    }
    .adv-card__p {
        font-size: 16px;
        margin-top: 6px;
        width: auto;
    }

    .adv-card__ico {
        width: 96px;
        margin: 0;
        margin-right: 20px;
    }
    .adv-card__ico2 {
    width: 89px;
    margin-right: 20px;
   }

   .adv-card__ico3 {
    width: 84px;
    margin-right: 20px;
   }

.hero__btn {
    width: 207px;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 4px 16px;
    background: var(--orange);
    border-radius: 16px;
    border: 2px solid transparent;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    box-shadow: 0 78px 32px rgba(255,124,30,.04), 0 44px 26px rgba(255,124,30,.13), 0 20px 20px rgba(255,124,30,.21), 0 5px 11px rgba(255,124,30,.25);
    transition: 0.15s ease;
}

    /* 4) на мобиле отключаем hover-переключение на логотип и плашки */
    .hero__btn::before {
        display: none;
    }
    .adv-cta::before {
        display: none;
    }

    .hero__btn-logo {
        display: none !important;
    }

    /* чтобы на тач-устройствах hover не ломал кнопку */
    .hero__btn:hover {
        background: var(--orange);
        border-color: transparent;
    }
    .hero__btn:hover .hero__btn-ico,
    .hero__btn:hover 
    .hero__btn-text {
        display: block;
    }
        .hero__btn-text {
        font-family: "Sofia Sans Extra Condensed", sans-serif;
        font-size: 24px;
    }

    .cracking{
    position: relative;
    padding: 24px 0 28px;     /* верх чуть меньше, чтобы заголовок был вверху */
    background: var(--bg);     /* ниже картинки — чистый тёмный */
    overflow: hidden;          /* чтобы псевдо-фон не давал скролл */
  }

  /* фон-картинка только сверху, прижата к верху */
  .cracking::before{
    content:"";
    position:absolute;
    left:0; right:0; top:0;
    height:388px;
    background: url("../img/bg3_mob.webp") top center / cover no-repeat;
    z-index:0;
    pointer-events:none;
  }

  /* твое затемнение низа (оставляем), но следим за слоями */
  .cracking::after{
    content:"";
    position:absolute;
    left:0; right:0; bottom:0;
    height:120px;
    background: linear-gradient(to bottom, rgba(2,11,36,0) 0%, rgba(2,11,36,0.6) 60%, #020B24 100%);
    z-index:1;
    pointer-events:none;
  }

  /* всё содержимое секции поверх фона */
  .cracking__inner{
    position: relative;
    z-index: 2;
  }

  /* заголовок в самом верху секции */
  .cracking__title{
    font-size: 28px;
    margin: 0 0 200px;
    padding: 0 16px;
    text-align: center;
  }

  /* блоки как у тебя (можно оставить) */
  .cracking__stage{
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 0 16px;
  }

  .crack-card{
    position: relative;
    width: 100%;
    max-width: 360px;
    height: auto;
    padding: 14px;
    transform: none !important;
    border-radius: 8px;
  }

  .crack-card__content{ transform: none !important; }

  .crack-card__h{ font-size: 24px; margin-bottom: 6px; }
  .crack-card__p{ font-size: 16px; line-height: 130%; max-width: 100%; }
  .crack-card__h br {
    display: none;
  }

  .crack-card--lb,
  .crack-card--lt,
  .crack-card--rb,
  .crack-card--rt{
    left:auto; right:auto; top:auto;
  }


/* 6) FUTURE — как на макете, белый фон */
.future {
    height: 420px;
    background: url("../img/bg4.webp") center/cover no-repeat;
}

.future__inner {
    width: calc(100% - 32px);
}

.future__content {
    top: 120px;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 360px;
}

.future__title {
    font-size: 56px;
    line-height: 80%;
}
.future__title br {
    display: none;
  }

.future__subtitle {
    font-size: 14px;
    margin: 14px 0 18px;
    max-width: 300px;
}
}