/* ==========================================================
   SOLO-GYM
   HOW IT WORKS
========================================================== */

.sg-how-page {
    width: 100%;
    background: #0d0d0d;
    color: #fff;
}


/* ==========================================================
   SHARED
========================================================== */

.sg-how-page .sg-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.sg-how-page__eyebrow {
    display: inline-block;

    color: #eab308;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .18em;
    line-height: 1.2;

    text-transform: uppercase;
}


/* ==========================================================
   HERO
========================================================== */

.sg-how-page__hero {
    padding: 115px 0 105px;
}

.sg-how-page__header {
    max-width: 850px;
    margin: 0 auto;

    text-align: center;
}

.sg-how-page__header .sg-how-page__eyebrow {
    margin-bottom: 22px;
}

.sg-how-page__title {
    margin: 0;

    color: #fff;

    font-size: clamp(52px, 7vw, 88px);
    font-weight: 800;

    line-height: .96;
    letter-spacing: -.045em;
}

.sg-how-page__intro {
    max-width: 650px;

    margin: 30px auto 0;

    color: #999;

    font-size: 18px;
    line-height: 1.65;
}


/* ==========================================================
   SECTION HEADING
========================================================== */

.sg-how-page__section-heading {
    margin-bottom: 42px;
}

.sg-how-page__section-heading::after {
    content: "";

    display: block;

    width: 100%;
    height: 1px;

    margin-top: 20px;

    background: rgba(255,255,255,.12);
}

.sg-how-page__section-title {
    margin: 14px 0 0;

    color: #fff;

    font-size: clamp(30px, 4vw, 48px);
    line-height: 1;

    letter-spacing: -.035em;
}


/* ==========================================================
   STEPS
========================================================== */

.sg-how-page__steps {
    padding: 0 0 120px;
}

.sg-how-page__step-list {
    border-top: 1px solid rgba(255,255,255,.12);
}

.sg-how-page__step {
    position: relative;

    display: grid;

    grid-template-columns: 100px minmax(0, 1fr) 60px;

    align-items: center;

    min-height: 170px;

    padding: 32px 0;

    border-bottom: 1px solid rgba(255,255,255,.12);

    transition:
        background .25s ease,
        padding .25s ease;
}

.sg-how-page__step:hover {
    padding-left: 18px;
    padding-right: 18px;

    background: rgba(255,255,255,.025);
}

.sg-how-page__step-number {
    color: #eab308;

    font-size: 15px;
    font-weight: 700;

    letter-spacing: .12em;
}

.sg-how-page__step-title {
    margin: 0 0 12px;

    color: #fff;

    font-size: clamp(24px, 3vw, 34px);
    font-weight: 700;

    line-height: 1.05;
    letter-spacing: -.025em;
}

.sg-how-page__step-text {
    max-width: 720px;

    margin: 0;

    color: #999;

    font-size: 16px;
    line-height: 1.6;
}

.sg-how-page__step-arrow {
    justify-self: end;

    color: #eab308;

    font-size: 30px;
    line-height: 1;

    transition: transform .25s ease;
}

.sg-how-page__step:hover .sg-how-page__step-arrow {
    transform: translateX(6px);
}


/* ==========================================================
   PRIVATE FITNESS
========================================================== */

.sg-how-page__private {
    padding: 0 0 120px;
}

.sg-how-page__private-inner {
    display: grid;

    grid-template-columns: minmax(0, 1fr) 220px;

    min-height: 360px;

    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.sg-how-page__private-copy {
    padding: 58px 70px 58px 0;
}

.sg-how-page__private-title {
    margin: 18px 0 26px;

    color: #fff;

    font-size: clamp(36px, 5vw, 60px);
    font-weight: 800;

    line-height: .98;
    letter-spacing: -.045em;
}

.sg-how-page__private-text,
.sg-how-page__private-note {
    max-width: 720px;

    margin: 0;

    color: #999;

    font-size: 17px;
    line-height: 1.65;
}

.sg-how-page__private-note {
    margin-top: 18px;

    color: #fff;
}

.sg-how-page__private-mark {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 12px;

    border-left: 1px solid rgba(255,255,255,.12);

    color: #eab308;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: .12em;
}

.sg-how-page__private-mark strong {
    color: rgba(255,255,255,.25);
}


/* ==========================================================
   PIN
========================================================== */

.sg-how-page__pin {
    padding: 0 0 120px;
}

.sg-how-page__pin-inner {
    display: grid;

    grid-template-columns: 38% minmax(0, 1fr);

    border: 1px solid rgba(255,255,255,.12);

    background: rgba(255,255,255,.018);
}

.sg-how-page__pin-heading {
    padding: 58px;

    border-right: 1px solid rgba(255,255,255,.12);
}

.sg-how-page__pin-title {
    margin: 18px 0 0;

    color: #fff;

    font-size: clamp(34px, 4vw, 52px);
    line-height: .98;

    letter-spacing: -.04em;
}

.sg-how-page__pin-content {
    padding: 58px;
}

.sg-how-page__pin-content > p {
    max-width: 650px;

    margin: 0;

    color: #999;

    font-size: 17px;
    line-height: 1.7;
}

.sg-how-page__pin-warning {
    display: flex;

    gap: 20px;

    margin-top: 34px;
    padding: 22px 24px;

    border-left: 2px solid #eab308;

    background: rgba(234,179,8,.055);
}

.sg-how-page__pin-warning-mark {
    flex: 0 0 auto;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    border: 1px solid #eab308;

    color: #eab308;

    font-size: 14px;
    font-weight: 800;
}

.sg-how-page__pin-warning p {
    margin: 0;

    color: #fff;

    font-size: 15px;
    line-height: 1.6;
}


/* ==========================================================
   CTA
========================================================== */

.sg-how-page__cta {
    padding: 20px 0 140px;
}

.sg-how-page__cta-inner {
    padding: 75px 40px;

    text-align: center;

    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.sg-how-page__cta-title {
    margin: 18px 0 16px;

    color: #fff;

    font-size: clamp(40px, 5vw, 62px);
    font-weight: 800;

    line-height: .98;
    letter-spacing: -.045em;
}

.sg-how-page__cta-text {
    max-width: 560px;

    margin: 0 auto 32px;

    color: #999;

    font-size: 17px;
    line-height: 1.6;
}

.sg-how-page__cta-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 28px;

    min-width: 190px;

    padding: 17px 24px;

    background: #eab308;
    color: #0d0d0d;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: .08em;

    text-decoration: none;
    text-transform: uppercase;

    transition:
        background .2s ease,
        transform .2s ease;
}

.sg-how-page__cta-button:hover {
    background: #f4c21b;
    color: #0d0d0d;

    transform: translateY(-2px);
}

.sg-how-page__cta-button span:last-child {
    font-size: 22px;
    line-height: 1;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .sg-how-page__private-inner {
        grid-template-columns: 1fr;
    }

    .sg-how-page__private-copy {
        padding-right: 0;
    }

    .sg-how-page__private-mark {
        justify-content: flex-start;

        min-height: 90px;

        padding: 0 32px;

        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.12);
    }

    .sg-how-page__pin-inner {
        grid-template-columns: 1fr;
    }

    .sg-how-page__pin-heading {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {

    .sg-how-page .sg-container {
        width: min(100% - 32px, 680px);
    }

    .sg-how-page__hero {
        padding: 75px 0 70px;
    }

    .sg-how-page__title {
        font-size: clamp(48px, 15vw, 70px);
    }

    .sg-how-page__intro {
        margin-top: 24px;

        font-size: 16px;
    }


    .sg-how-page__steps {
        padding-bottom: 80px;
    }

    .sg-how-page__section-heading {
        margin-bottom: 28px;
    }

    .sg-how-page__step {
        grid-template-columns: 52px minmax(0, 1fr);

        min-height: 0;

        padding: 28px 0;
    }

    .sg-how-page__step:hover {
        padding-left: 0;
        padding-right: 0;
    }

    .sg-how-page__step-content {
        padding-right: 15px;
    }

    .sg-how-page__step-title {
        margin-bottom: 10px;

        font-size: 25px;
    }

    .sg-how-page__step-text {
        font-size: 15px;
    }

    .sg-how-page__step-arrow {
        display: none;
    }


    .sg-how-page__private {
        padding-bottom: 80px;
    }

    .sg-how-page__private-copy {
        padding: 38px 0;
    }

    .sg-how-page__private-title {
        font-size: clamp(36px, 11vw, 52px);
    }

    .sg-how-page__private-text,
    .sg-how-page__private-note {
        font-size: 15px;
    }


    .sg-how-page__pin {
        padding-bottom: 80px;
    }

    .sg-how-page__pin-heading,
    .sg-how-page__pin-content {
        padding: 34px 28px;
    }

    .sg-how-page__pin-title {
        font-size: 40px;
    }

    .sg-how-page__pin-warning {
        gap: 14px;

        padding: 18px;
    }


    .sg-how-page__cta {
        padding-bottom: 90px;
    }

    .sg-how-page__cta-inner {
        padding: 60px 20px;
    }

    .sg-how-page__cta-title {
        font-size: 43px;
    }

    .sg-how-page__cta-text {
        font-size: 15px;
    }

    .sg-how-page__cta-button {
        width: 100%;
    }

}