.article-page {
    width: 100%;

    background:
        #edf5f0;
}


/* ============================================================
   HERO
   ============================================================ */

.article-hero {
    padding:
        80px 0 70px;

    background:
        linear-gradient(
            135deg,
            #1d5939,
            #337b57 55%,
            #477f85
        );
}


.article-hero-content {
    max-width: 900px;
}


.article-back {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 25px;

    color:
        #c8ead6;

    font-size: 0.8rem;

    font-weight: 600;

    text-decoration: none;
}


.article-category {
    display: block;

    margin-bottom: 13px;

    color:
        #b6e8ca;

    font-size: 0.75rem;

    font-weight: 700;

    letter-spacing: 1.7px;

    text-transform: uppercase;
}


.article-hero h1 {
    margin:
        0 0 25px;

    color:
        #ffffff;

    font-size:
        clamp(
            2.4rem,
            5vw,
            4rem
        );

    line-height: 1.15;
}


.article-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 20px;
}


.article-meta span {
    display: flex;

    align-items: center;

    gap: 8px;

    color:
        rgba(255,255,255,0.78);

    font-size: 0.8rem;
}


/* ============================================================
   FEATURED IMAGE
   ============================================================ */

.article-featured {
    padding:
        55px 0 0;

    background:
        linear-gradient(
            180deg,
            #dfeee5,
            #edf5f0
        );
}


.article-featured-image {
    height: 560px;

    overflow: hidden;

    border-radius: 22px;

    box-shadow:
        0 25px 60px
        rgba(25,70,44,0.15);
}


.article-featured-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* ============================================================
   CONTENT
   ============================================================ */

.article-body-section {
    padding:
        70px 0 100px;

    background:
        linear-gradient(
            180deg,
            #edf5f0,
            #e4f1f6
        );
}


.article-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        280px;

    gap: 55px;

    align-items: start;
}


.article-content {
    padding:
        40px;

    border:
        1px solid
        rgba(60,179,113,0.12);

    border-radius: 18px;

    background:
        rgba(255,255,255,0.68);

    box-shadow:
        0 14px 36px
        rgba(30,76,48,0.06);

    color:
        #405b4b;

    font-size: 0.97rem;

    line-height: 1.9;
}


.article-content p {
    margin:
        0 0 22px;
}


.article-content h2,
.article-content h3,
.article-content h4 {

    margin:
        32px 0 15px;

    color:
        #245f40;
}


.article-content h2 {
    font-size: 1.8rem;
}


.article-content h3 {
    font-size: 1.4rem;
}


.article-content ul,
.article-content ol {

    margin:
        20px 0 25px 25px;
}


.article-content li {
    margin-bottom: 10px;
}


.article-content img {
    max-width: 100%;
    height: auto;

    border-radius: 12px;
}


/* ============================================================
   SIDEBAR
   ============================================================ */

.article-sidebar {
    position: sticky;

    top: 100px;

    display: flex;

    flex-direction: column;

    gap: 15px;
}


.article-sidebar-card {
    padding:
        20px;

    border:
        1px solid
        rgba(60,179,113,0.14);

    border-radius: 13px;

    background:
        rgba(255,255,255,0.58);
}


.article-sidebar-card span {
    display: block;

    margin-bottom: 5px;

    color:
        #708177;

    font-size: 0.67rem;

    letter-spacing: 1px;
}


.article-sidebar-card strong {
    display: block;

    color:
        #2a6041;

    font-size: 0.87rem;
}


.all-news-button {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding:
        14px 17px;

    border-radius: 11px;

    color:
        #ffffff;

    background:
        var(--dark-green);

    font-size: 0.82rem;

    font-weight: 600;

    text-decoration: none;
}


/* ============================================================
   404
   ============================================================ */

.article-not-found {
    padding:
        120px 0;

    background:
        linear-gradient(
            135deg,
            #deefe5,
            #e3f1f6
        );
}


.article-not-found-card {
    max-width: 650px;

    margin: 0 auto;

    padding:
        55px 35px;

    border-radius: 20px;

    background:
        rgba(255,255,255,0.65);

    text-align: center;
}


.article-not-found-card > i {
    margin-bottom: 20px;

    color:
        var(--primary-green);

    font-size: 3rem;
}


.article-not-found-card h1 {
    margin:
        0 0 10px;

    color:
        #265d3f;
}


.article-not-found-card p {
    margin:
        0 0 25px;

    color:
        #617469;
}


.article-not-found-card a {
    display: inline-block;

    padding:
        11px 18px;

    border-radius: 25px;

    color:
        #ffffff;

    background:
        var(--primary-green);

    text-decoration: none;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 992px) {

    .article-layout {
        grid-template-columns: 1fr;
    }


    .article-sidebar {
        position: static;

        display: grid;

        grid-template-columns:
            repeat(2, 1fr);
    }


    .all-news-button {
        grid-column:
            1 / -1;
    }

}


@media (max-width: 768px) {

    .article-featured-image {
        height: 400px;
    }


    .article-content {
        padding:
            28px 24px;
    }

}


@media (max-width: 480px) {

    .article-hero {
        padding:
            60px 0;
    }


    .article-featured-image {
        height: 280px;
    }


    .article-sidebar {
        grid-template-columns: 1fr;
    }


    .all-news-button {
        grid-column: auto;
    }

}