/* =========================================================
   VEDIZAKAZ HOME — FEATURED STYLE V1
   Hero is intentionally untouched.
   ========================================================= */


/* ---------------------------------------------------------
   COMMON RHYTHM BELOW HERO
   --------------------------------------------------------- */

.home-process,
.home-directions {
    position: relative;
}

.home-process .vz-container,
.home-directions .vz-container {
    width: min(calc(100% - 40px), 1240px);
}


/* ---------------------------------------------------------
   HOW IT WORKS
   --------------------------------------------------------- */

.home-process {
    padding: 12px 0 74px;
}

.home-process__panel {
    display: grid;
    grid-template-columns:
        minmax(210px, .95fr)
        repeat(3, minmax(0, 1fr));
    gap: 0;
    align-items: stretch;

    overflow: hidden;

    padding: 0;

    border: 1px solid #e4e5eb;
    border-radius: 26px;

    background: #ffffff;

    box-shadow:
        0 1px 2px rgba(25, 27, 36, .02),
        0 12px 36px rgba(27, 29, 43, .025);
}


/* Intro */

.home-process__intro {
    min-height: 178px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 30px 31px 30px 32px;

    border-right: 1px solid #e9eaf0;
}

.home-process__intro .section-kicker {
    margin: 0 0 11px;

    color: #707684;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .075em;
}

.home-process__intro h2 {
    max-width: 190px;

    margin: 0;

    font-size: 25px;
    font-weight: 760;
    line-height: 1.02;

    letter-spacing: -.045em;
}


/* Steps */

.home-process .mini-step {
    min-width: 0;
    min-height: 178px;

    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 29px 28px 27px 29px;

    border-right: 1px solid #e9eaf0;
}

.home-process .mini-step:last-of-type {
    border-right: 0;
}

.home-process .mini-step > span {
    width: 29px;
    height: 29px;

    display: grid;
    place-items: center;

    margin: 0 0 19px;

    border-radius: 9px;

    color: #5d37ed;
    background: #f0edff;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
}

.home-process .mini-step strong {
    display: block;

    margin: 0;

    color: #171820;

    font-size: 15px;
    font-weight: 740;
    line-height: 1.25;

    letter-spacing: -.025em;
}

.home-process .mini-step p {
    max-width: 225px;

    margin: 8px 0 0;

    color: #777d8c;

    font-size: 12px;
    line-height: 1.55;
}


/* Old arrows not needed in the new grid */

.home-process .mini-arrow {
    display: none !important;
}


/* More link */

.home-process__more {
    display: flex;
    justify-content: flex-end;

    margin-top: 15px;
}

.home-process__more a {
    position: relative;

    display: inline-flex;
    align-items: center;

    padding: 2px 0;

    color: #5c36ec;

    font-size: 12px;
    font-weight: 720;

    text-decoration: none;
}

.home-process__more a::after {
    content: "";

    width: 0;
    height: 1px;

    position: absolute;
    left: 0;
    bottom: -2px;

    background: currentColor;

    transition: width .18s ease;
}

.home-process__more a:hover::after {
    width: 100%;
}


/* ---------------------------------------------------------
   MAIN FEATURES
   --------------------------------------------------------- */

.home-directions {
    padding: 72px 0 92px;
}


/* Heading */

.home-directions .section-heading--compact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: end;

    margin-bottom: 31px;
}

.home-directions .section-kicker {
    margin-bottom: 12px;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: .075em;
}

.home-directions .section-heading h2 {
    max-width: 760px;

    margin: 0;

    font-size: clamp(38px, 4vw, 52px);
    font-weight: 770;
    line-height: 1.02;

    letter-spacing: -.052em;
}

.home-directions .section-link {
    display: inline-flex;
    align-items: center;

    margin-bottom: 5px;

    color: #5c36ec;

    font-size: 12px;
    font-weight: 720;

    text-decoration: none;
}


/* Equal grid */

.direction-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 14px;
}


/* Cards */

.direction-card {
    min-width: 0;
    min-height: 260px;

    display: flex;
    flex-direction: column;

    padding: 24px 23px 21px;

    border: 1px solid #e4e5eb;
    border-radius: 24px;

    color: #171820;
    background: #ffffff;

    text-decoration: none;

    box-shadow:
        0 1px 1px rgba(25, 27, 36, .015);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.direction-card:hover {
    transform: translateY(-3px);

    border-color: #dddce7;

    box-shadow:
        0 18px 42px rgba(31, 30, 50, .065);
}


/* Icon */

.direction-card .feature-icon {
    width: 45px;
    height: 45px;

    display: grid;
    place-items: center;

    flex: 0 0 auto;

    margin: 0 0 28px;

    border-radius: 14px;

    font-size: 18px;
    font-weight: 800;
}


/* Typography */

.direction-card h3 {
    margin: 0;

    color: #171820;

    font-size: 18px;
    font-weight: 750;
    line-height: 1.18;

    letter-spacing: -.035em;
}

.direction-card p {
    min-height: 0;
    flex: 1 1 auto;

    margin: 10px 0 25px;

    color: #777d8b;

    font-size: 12.5px;
    line-height: 1.58;
}


/* Card link pinned to bottom */

.direction-card > span {
    display: inline-flex;
    align-items: center;

    margin-top: auto;

    color: #5e39ee;

    font-size: 11.5px;
    font-weight: 720;
}


/* Softer icon system */

.direction-card .feature-icon--purple,
.direction-card .feature-icon--violet {
    color: #6540ef;
    background: #f0edff;
}

.direction-card .feature-icon--blue {
    color: #3479e9;
    background: #ebf3ff;
}

.direction-card .feature-icon--green {
    color: #19a667;
    background: #e9f9f0;
}

.direction-card .feature-icon--orange {
    color: #e57b26;
    background: #fff0e5;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 980px) {

    .home-process__panel {
        grid-template-columns: 1fr 1fr;
    }

    .home-process__intro {
        grid-column: 1 / -1;

        min-height: auto;

        border-right: 0;
        border-bottom: 1px solid #e9eaf0;
    }

    .home-process__intro h2 {
        max-width: none;
    }

    .home-process .mini-step {
        border-bottom: 1px solid #e9eaf0;
    }

    .home-process .mini-step:nth-of-type(3) {
        border-right: 0;
    }

    .direction-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .direction-card {
        min-height: 235px;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 620px) {

    .home-process {
        padding-bottom: 55px;
    }

    .home-process__panel {
        grid-template-columns: 1fr;

        border-radius: 22px;
    }

    .home-process__intro,
    .home-process .mini-step {
        min-height: auto;

        padding: 25px 23px;

        border-right: 0;
        border-bottom: 1px solid #e9eaf0;
    }

    .home-process .mini-step:last-of-type {
        border-bottom: 0;
    }

    .home-process .mini-step > span {
        margin-bottom: 15px;
    }

    .home-process__more {
        justify-content: flex-start;
    }


    .home-directions {
        padding-top: 55px;
        padding-bottom: 70px;
    }

    .home-directions .section-heading--compact {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .home-directions .section-heading h2 {
        font-size: 38px;
    }

    .direction-grid {
        grid-template-columns: 1fr;

        gap: 11px;
    }

    .direction-card {
        min-height: 0;

        padding: 22px;

        border-radius: 21px;
    }

    .direction-card .feature-icon {
        margin-bottom: 22px;
    }

    .direction-card p {
        margin-bottom: 20px;
    }
}


/* =========================================================
   MOBILE PROCESS V2
   Desktop untouched.
   ========================================================= */

@media (max-width: 620px) {

    .home-process {
        padding: 14px 0 52px;
    }

    .home-process__panel {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;

        overflow: visible;

        padding: 0;

        border: 0;
        border-radius: 0;

        background: transparent;

        box-shadow: none;
    }


    /* Heading is no longer inside one huge card */

    .home-process__intro {
        min-height: 0;

        display: block;

        padding: 0 2px 14px;

        border: 0;
        background: transparent;
    }

    .home-process__intro .section-kicker {
        margin-bottom: 8px;

        font-size: 9px;
    }

    .home-process__intro h2 {
        max-width: 290px;

        font-size: 27px;
        line-height: 1.02;
    }


    /* Compact individual steps */

    .home-process .mini-step {
        min-height: 0;

        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        grid-template-rows: auto auto;

        column-gap: 14px;
        row-gap: 4px;

        align-items: center;

        padding: 18px 18px;

        border: 1px solid #e5e6ec;
        border-radius: 19px;

        background: #ffffff;

        box-shadow:
            0 1px 2px rgba(25, 27, 36, .015);

    }

    .home-process .mini-step > span {
        width: 38px;
        height: 38px;

        grid-column: 1;
        grid-row: 1 / span 2;

        margin: 0;

        border-radius: 12px;

        font-size: 10px;
    }

    .home-process .mini-step strong {
        grid-column: 2;
        grid-row: 1;

        align-self: end;

        font-size: 14px;
        line-height: 1.2;
    }

    .home-process .mini-step p {
        max-width: none;

        grid-column: 2;
        grid-row: 2;

        align-self: start;

        margin: 0;

        font-size: 11.5px;
        line-height: 1.45;
    }


    /* Link */

    .home-process__more {
        justify-content: flex-start;

        margin-top: 14px;
        padding-left: 2px;
    }

    .home-process__more a {
        font-size: 11.5px;
    }
}


/* =========================================================
   DOCUMENTS PHOTO VISUAL V2
   ========================================================= */

.home-documents .document-stack {
    position: relative;

    width: 100%;
    max-width: 500px;
    min-height: 500px;

    margin: 0 auto;

    background:
        url("../images/documents-photo.png")
        center center / contain
        no-repeat;

    transform: none !important;
}

.home-documents .document-stack .stack-sheet {
    display: none !important;
}


/* Desktop */

@media (min-width: 701px) {

    .home-documents .document-stack {
        max-width: 520px;
        min-height: 510px;

        margin-left: auto;
        margin-right: 0;
    }
}


/* Mobile */

@media (max-width: 700px) {

    .home-documents__panel {
        overflow: hidden;
    }

    .home-documents .document-stack {
        width: calc(100% + 10px);
        max-width: 390px;
        min-height: 400px;

        margin: -8px auto -12px;

        background-position: center center;
        background-size: contain;
    }
}


@media (max-width: 390px) {

    .home-documents .document-stack {
        min-height: 365px;
    }
}
