


/* ===================================
   HOMEPAGE FIRST SCREEN
=================================== */

@media (min-width: 1001px) {

    .home-main-screen {
        min-height:
            calc(
                100svh -
                var(--desktop-header-height)
            );

        display: flex;

        flex-direction: column;

        background: white;
    }

    .home-advice {
        margin-top: auto;
    }

}


/* ===================================
   HERO
=================================== */

.home-hero {
    padding: 0;

    background: white;
}

.home-hero-box {
    position: relative;

    width: 100%;
    height: 255px;

    display: grid;

    grid-template-columns:
        40% 60%;

    overflow: hidden;

    background: #edf6fa;
}

.home-hero-text {
    position: relative;

    z-index: 3;

    display: flex;

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

    padding:
        28px
        12px
        28px
        34px;

    background:
        linear-gradient(
            to right,
            #f7fbfd 0%,
            #f3f9fb 70%,
            rgba(243, 249, 251, 0.92) 100%
        );
}

.home-hero-text::after {
    content: "";

    position: absolute;

    top: 0;
    right: -105px;

    z-index: 2;

    width: 130px;
    height: 100%;

    pointer-events: none;

    background:
        linear-gradient(
            to right,
            rgba(243, 249, 251, 1) 0%,
            rgba(243, 249, 251, 0.95) 15%,
            rgba(243, 249, 251, 0.75) 40%,
            rgba(243, 249, 251, 0.35) 70%,
            rgba(243, 249, 251, 0) 100%
        );
}

.home-eyebrow {
    margin:
        0
        0
        7px;

    color: #496d7f;

    font-size: 0.72rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}

.home-hero h1 {
    margin: 0;

    color: #102d43;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 2.3rem;

    line-height: 1.08;

    font-weight: 400;
}

.home-hero-intro {
    max-width: 335px;

    margin:
        14px
        0
        16px;

    color: #415761;

    font-size: 0.86rem;

    line-height: 1.48;
}

.home-primary-button {
    width: fit-content;

    padding:
        10px
        17px;

    border-radius: 22px;

    background: var(--accent);

    color: white;

    font-size: 0.8rem;

    font-weight: 600;

    text-decoration: none;
}

.home-primary-button:hover {
    background: var(--accent-hover);
}

.home-hero-image {
    position: relative;

    height: 255px;

    overflow: hidden;
}

.home-hero-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center center;
}

.home-hero-image::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    z-index: 1;

    width: 90px;
    height: 100%;

    pointer-events: none;

    background:
        linear-gradient(
            to right,
            rgba(243, 249, 251, 0.9) 0%,
            rgba(243, 249, 251, 0.55) 35%,
            rgba(243, 249, 251, 0.15) 75%,
            rgba(243, 249, 251, 0) 100%
        );
}


/* ===================================
   HOMEPAGE INTRO
=================================== */

.home-intro {
    padding:
        12px
        0
        0;
}

.home-intro-box {
    height: 175px;

    display: grid;

    grid-template-columns:
        35% 65%;

    overflow: hidden;

    border-radius: 9px;

    background: #edf7fb;
}

.home-intro-image {
    height: 175px;

    padding: 12px;
}

.home-intro-image img {
    width: 100%;
    height: 151px;

    object-fit: cover;

    border-radius: 7px;
}

.home-intro-text {
    height: 175px;

    display: flex;

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

    padding:
        12px
        24px;
}

.home-intro h2,
.section-heading h2 {
    margin: 0;

    color: var(--title);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.42rem;

    font-weight: 400;
}

.home-intro-text p {
    margin:
        7px
        0
        9px;

    color: var(--text-light);

    font-size: 0.74rem;

    line-height: 1.35;
}

.secondary-button {
    width: fit-content;

    padding:
        6px
        14px;

    border-radius: 20px;

    background: #7fb3d1;

    color: white;

    font-size: 0.7rem;

    text-decoration: none;
}


/* ===================================
   PATIENTS HOME
=================================== */

.home-patients {
    padding:
        10px
        0
        12px;

    background: white;
}

.section-heading {
    margin-bottom: 7px;
}

.patient-grid {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 8px;
}

.patient-card {
    position: relative;

    height: 112px;

    overflow: hidden;

    border-radius: 8px;

    background: #dfeaf0;

    text-decoration: none;

    box-shadow:
        0 1px 3px
        rgba(26, 65, 86, 0.08);

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.patient-card:hover {
    transform: translateY(-2px);

    box-shadow:
        0 5px 14px
        rgba(26, 65, 86, 0.16);
}

.patient-card > img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transition:
        transform 0.25s ease;
}

.patient-card:hover > img {
    transform: scale(1.025);
}

.patient-overlay {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    min-height: 58px;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    padding:
        18px
        10px
        9px;

    background:
        linear-gradient(
            to top,
            rgba(19, 48, 65, 0.88) 0%,
            rgba(19, 48, 65, 0.68) 48%,
            rgba(19, 48, 65, 0.18) 82%,
            rgba(19, 48, 65, 0) 100%
        );

    color: white;
}

.patient-overlay strong {
    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 0.84rem;

    font-weight: 400;

    line-height: 1.1;
}

.patient-overlay span {
    margin-top: 3px;

    color:
        rgba(
            255,
            255,
            255,
            0.90
        );

    font-size: 0.60rem;

    line-height: 1.15;
}


/* ===================================
   ARTICLES HOME
=================================== */

.home-advice {
    padding:
        0
        0
        15px;

    background: white;
}

.section-heading-row {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 8px;
}

.text-link {
    color: var(--blue);

    font-size: 0.7rem;

    font-weight: 600;

    text-decoration: none;
}

.home-article-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 10px;
}

.home-article-card {
    min-width: 0;

    overflow: hidden;

    border:
        1px solid
        var(--border);

    border-radius: 6px;

    background: white;
}

.home-article-image {
    display: block;

    width: 100%;
    height: 105px;

    overflow: hidden;

    background: #edf5f8;
}

.home-article-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.home-article-body {
    padding:
        8px
        10px
        10px;
}

.home-article-body h3 {
    margin:
        0
        0
        5px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 0.83rem;

    font-weight: 400;

    line-height: 1.2;
}

.home-article-body h3 a {
    color: var(--title);

    text-decoration: none;
}

.home-article-body h3 a:hover {
    color: var(--blue);
}

.article-date {
    margin: 0;

    color: #89989e;

    font-size: 0.63rem;
}


/* ===================================
   PRACTICAL HOME
=================================== */

.home-practical {
    background: #d9ebf4;

    padding:
        13px
        0;
}

.home-practical-grid {
    display: grid;

    grid-template-columns:
        1.25fr 1fr 1fr;

    align-items: center;

    gap: 24px;
}

.home-map {
    height: 95px;

    overflow: hidden;

    border-radius: 5px;

    background: #cfdee5;
}

.home-map iframe {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;

    filter:
        saturate(0.65)
        opacity(0.88);
}

.practical-column {
    min-height: 70px;

    padding-left: 20px;

    border-left:
        1px solid
        rgba(70, 110, 130, 0.20);
}

.practical-column h3 {
    margin:
        0
        0
        6px;

    color: var(--title);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 0.9rem;

    font-weight: 400;
}

.practical-column p {
    margin: 0;

    color: #60747e;

    font-size: 0.7rem;

    line-height: 1.45;
}


/* ===================================
   TABLET
=================================== */

@media (max-width: 1000px) {

    .home-hero-box {
        grid-template-columns:
            43% 57%;
    }

    .patient-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

    .patient-card {
        height: 125px;
    }

    .home-article-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* ===================================
   MOBILE
=================================== */

@media (max-width: 700px) {

    .home-main-screen {
        min-height: 0;

        display: block;
    }


    /* HERO */

    .home-hero-box {
        height: auto;

        grid-template-columns: 1fr;
    }

    .home-hero-image {
        order: 1;

        height: 185px;
    }

    .home-hero-image::before {
        display: none;
    }

    .home-hero-text {
        order: 2;

        padding:
            20px
            18px
            24px;

        background:
            linear-gradient(
                to bottom,
                rgba(243, 249, 251, 0.98),
                #edf6fa
            );
    }

    .home-hero-text::after {
        display: none;
    }

    .home-hero h1 {
        font-size: 1.9rem;
    }

    .home-hero-intro {
        max-width: none;

        margin:
            10px
            0
            13px;

        font-size: 0.8rem;
    }


    /* HOME INTRO */

    .home-intro-box {
        height: auto;

        grid-template-columns: 1fr;
    }

    .home-intro-image {
        height: auto;

        padding:
            10px
            10px
            0;
    }

    .home-intro-image img {
        height: 150px;
    }

    .home-intro-text {
        height: auto;

        padding:
            14px
            16px
            16px;
    }


    /* PATIENTS */

    .patient-grid {
        grid-template-columns:
            repeat(2, 1fr);

        gap: 8px;
    }

    .patient-card {
        height: 135px;
    }

    .patient-overlay {
        min-height: 66px;

        padding:
            22px
            10px
            10px;
    }

    .patient-overlay strong {
        font-size: 0.88rem;
    }

    .patient-overlay span {
        font-size: 0.64rem;
    }


    /* ARTICLES */

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

    .home-article-image {
        height: 150px;
    }


    /* PRACTICAL */

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

    .home-map {
        height: 150px;
    }

    .practical-column {
        min-height: auto;

        border-left: none;

        padding-left: 0;
    }

}


/* ===================================
   SMALL MOBILE
=================================== */

@media (max-width: 420px) {

    .patient-grid {
        grid-template-columns: 1fr;
    }

    .patient-card {
        height: 170px;
    }

    .patient-overlay {
        min-height: 72px;
    }

}
