/* ==========================================================
   VINCIT MANAGEMENT CONSULTING
   FILE       : 09-services-preview.css
   PURPOSE    : Homepage Services Preview
   VERSION    : 1.0.0
========================================================== */


/* ==========================================================
   SECTION
========================================================== */

.services-preview {
    position: relative;

    padding: 120px 0 125px;

    background:
        var(--color-navy);

    color: var(--color-white);
}


/* ==========================================================
   HEADER
========================================================== */

.services-preview__header {
    display: grid;

    grid-template-columns:
        minmax(0, 0.75fr)
        minmax(0, 1.25fr);

    gap: 90px;

    align-items: end;

    margin-bottom: 75px;
}


/* ==========================================================
   EYEBROW
========================================================== */

.services-preview .section-eyebrow {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    color: var(--color-gold);

    font-size: 12px;

    font-weight: var(--weight-bold);

    letter-spacing: 0.18em;

    text-transform: uppercase;
}


.services-preview .section-eyebrow::before {
    content: "";

    width: 34px;
    height: 1px;

    background: var(--color-gold);
}


/* ==========================================================
   TITLE
========================================================== */

.services-preview__title {
    max-width: 720px;

    margin: 0 0 25px;

    color: var(--color-white);

    font-family: var(--font-heading);

    font-size: clamp(44px, 4.4vw, 68px);

    font-weight: var(--weight-bold);

    line-height: 1.08;

    letter-spacing: -0.025em;
}


.services-preview__title span {
    display: block;

    color: var(--color-emerald);
}


/* ==========================================================
   INTRO
========================================================== */

.services-preview__intro > p {
    max-width: 650px;

    margin: 0;

    color:
        rgba(255, 255, 255, 0.72);

    font-size: 17px;

    line-height: 1.85;
}


/* ==========================================================
   SERVICES LIST
========================================================== */

.services-preview__list {
    border-top:
        1px solid rgba(255, 255, 255, 0.18);
}


/* ==========================================================
   SERVICE ROW
========================================================== */

.service-row {
    display: grid;

    grid-template-columns:
        80px
        minmax(0, 1fr)
        60px;

    gap: 35px;

    align-items: center;

    min-height: 145px;

    padding: 28px 0;

    color: var(--color-white);

    border-bottom:
        1px solid rgba(255, 255, 255, 0.18);

    transition:
        padding var(--transition-normal),
        background-color var(--transition-normal);
}


.service-row:hover {
    padding-left: 20px;
    padding-right: 20px;

    background:
        rgba(255, 255, 255, 0.035);
}


/* ==========================================================
   NUMBER
========================================================== */

.service-row__number {
    color: var(--color-gold);

    font-size: 11px;

    font-weight: var(--weight-bold);

    letter-spacing: 0.16em;
}


/* ==========================================================
   CONTENT
========================================================== */

.service-row__content {
    display: grid;

    grid-template-columns:
        minmax(240px, 0.8fr)
        minmax(300px, 1.2fr);

    gap: 70px;

    align-items: center;
}


.service-row__content h3 {
    margin: 0;

    color: var(--color-white);

    font-family: var(--font-heading);

    font-size: clamp(25px, 2vw, 32px);

    font-weight: var(--weight-bold);

    line-height: 1.2;
}


.service-row__content p {
    max-width: 520px;

    margin: 0;

    color:
        rgba(255, 255, 255, 0.65);

    font-size: 14px;

    line-height: 1.75;
}


/* ==========================================================
   ARROW
========================================================== */

.service-row__arrow {
    display: flex;

    align-items: center;
    justify-content: flex-end;

    color: var(--color-gold);

    font-size: 25px;

    transition:
        transform var(--transition-normal),
        color var(--transition-normal);
}


.service-row:hover .service-row__arrow {
    color: var(--color-emerald);

    transform: translateX(6px);
}


/* ==========================================================
   FOOTER LINK
========================================================== */

.services-preview__footer {
    display: flex;

    justify-content: flex-end;

    margin-top: 45px;
}


.services-preview__all {
    display: inline-flex;

    align-items: center;

    gap: 14px;

    padding-bottom: 9px;

    color: var(--color-white);

    font-size: 14px;

    font-weight: var(--weight-bold);

    letter-spacing: 0.04em;

    border-bottom:
        1px solid var(--color-gold);

    transition:
        gap var(--transition-normal),
        color var(--transition-normal);
}


.services-preview__all span {
    color: var(--color-gold);

    font-size: 18px;
}


.services-preview__all:hover {
    gap: 19px;

    color: var(--color-emerald);
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991px) {

    .services-preview {
        padding: 95px 0 100px;
    }


    .services-preview__header {
        grid-template-columns: 1fr;

        gap: 30px;

        margin-bottom: 55px;
    }


    .service-row {
        grid-template-columns:
            55px
            minmax(0, 1fr)
            45px;

        gap: 25px;
    }


    .service-row__content {
        grid-template-columns: 1fr;

        gap: 12px;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .services-preview {
        padding: 75px 0 80px;
    }


    .services-preview__title {
        font-size: 42px;
    }


    .services-preview__intro > p {
        font-size: 16px;
    }


    .service-row {
        grid-template-columns:
            42px
            minmax(0, 1fr)
            25px;

        gap: 15px;

        min-height: auto;

        padding: 28px 0;
    }


    .service-row:hover {
        padding-left: 8px;
        padding-right: 8px;
    }


    .service-row__content h3 {
        font-size: 24px;
    }


    .service-row__content p {
        font-size: 14px;
    }


    .service-row__arrow {
        font-size: 20px;
    }


    .services-preview__footer {
        justify-content: flex-start;

        margin-top: 35px;
    }

}