.gnpc-article-main {
    color: #34443a;
    background:
        linear-gradient(180deg, #eef2e9 0, #f4f0e7 300px, #f4f0e7 100%);
}

.gnpc-article {
    --gnpc-article-accent: var(--gn-color-orange-500);
    --gnpc-article-ink: #183222;
    --gnpc-article-muted: #68736a;
    --gnpc-article-rule: #d6ddd1;
}

.gnpc-article__header {
    position: relative;
    padding: clamp(48px, 7vw, 86px) 20px clamp(54px, 7vw, 82px);
    overflow: hidden;
}

.gnpc-article__header-inner {
    width: min(100%, 940px);
    margin: 0 auto;
}

.gnpc-article__back {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 38px;
    color: var(--gn-color-green-800);
    font-size: 13px;
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.gnpc-article__eyebrow {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 0 0 16px;
    color: #9a4d25;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.35;
    text-transform: uppercase;
}

.gnpc-article__eyebrow::before {
    width: 34px;
    height: 3px;
    content: "";
    background: var(--gnpc-article-accent);
}

.gnpc-article__eyebrow::after {
    width: auto;
    max-width: 250px;
    height: 3px;
    flex: 1 1 80px;
    margin-left: 5px;
    content: "";
    background: linear-gradient(90deg, var(--gnpc-article-accent), #8ca475);
}

.gnpc-article__title {
    max-width: 900px;
    margin: 0;
    color: var(--gnpc-article-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 6vw, 68px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.04;
    text-wrap: balance;
}

.gnpc-article__meta {
    display: flex;
    gap: 10px;
    align-items: baseline;
    margin-top: 27px;
    color: var(--gnpc-article-muted);
    font-size: 14px;
}

.gnpc-article__meta span {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gnpc-article__body-wrap {
    padding: 0 20px clamp(72px, 9vw, 116px);
}

.gnpc-article__content,
.gnpc-article__footer {
    width: min(100%, 740px);
    margin-inline: auto;
}

.gnpc-article__content {
    color: #3f4b43;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(17px, 1.7vw, 19px);
    line-height: 1.78;
}

.gnpc-article__content > :first-child {
    margin-top: 0;
}

.gnpc-article__content p,
.gnpc-article__content ul,
.gnpc-article__content ol {
    margin-top: 0;
    margin-bottom: 1.35em;
}

.gnpc-article__content :is(h1, h2, h3, h4, h5, h6) {
    color: var(--gnpc-article-ink);
    font-family: var(--gn-font-sans);
    text-wrap: balance;
}

.gnpc-article__content h1 {
    margin: 2.1em 0 .72em;
    font-size: clamp(31px, 4.5vw, 43px);
    letter-spacing: -.025em;
    line-height: 1.12;
}

.gnpc-article__content h2 {
    margin: 2.25em 0 .7em;
    font-size: clamp(25px, 3.4vw, 34px);
    letter-spacing: -.02em;
    line-height: 1.18;
}

.gnpc-article__content h3 {
    margin: 1.75em 0 .55em;
    font-size: clamp(20px, 2.6vw, 24px);
    line-height: 1.25;
}

.gnpc-article__content :is(h1, h2, h3) + p {
    margin-top: 0;
}

.gnpc-article__content ul,
.gnpc-article__content ol {
    padding-left: 1.3em;
}

.gnpc-article__content li {
    margin-bottom: .42em;
    padding-left: .25em;
}

.gnpc-article__content li::marker {
    color: var(--gnpc-article-accent);
}

.gnpc-article__content a {
    color: var(--gn-color-green-800);
    font-weight: 700;
    text-decoration-color: color-mix(in srgb, var(--gn-color-green-800) 55%, transparent);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.gnpc-article__content a:hover {
    color: #984a22;
    text-decoration-color: currentColor;
}

.gnpc-article__content .wp-block-image {
    clear: both;
    width: min(100%, 840px);
    max-width: none;
    margin: clamp(36px, 6vw, 58px) 50%;
    transform: translateX(-50%);
}

.gnpc-article__content .wp-block-image figure,
.gnpc-article__content .wp-block-image figure.alignleft,
.gnpc-article__content .wp-block-image figure.alignright,
.gnpc-article__content .wp-block-image figure.aligncenter {
    display: block;
    float: none;
    width: 100%;
    margin: 0;
}

.gnpc-article__content .wp-block-image img {
    width: auto;
    max-width: 100%;
    max-height: min(70vh, 720px);
    margin-inline: auto;
    object-fit: contain;
    border-radius: 3px;
}

.gnpc-article__content .wp-block-image figure > a {
    position: relative;
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    border-radius: 3px;
}

.gnpc-article__content .wp-block-image figure > a:hover img,
.gnpc-article__content .wp-block-image figure > a:focus-visible img {
    box-shadow: 0 0 0 4px rgba(204, 104, 39, .45);
}

.gnpc-article__content figcaption {
    display: block;
    width: auto;
    max-width: 700px;
    margin: 11px auto 0;
    color: var(--gnpc-article-muted);
    font-family: var(--gn-font-sans);
    font-size: 13px;
    line-height: 1.55;
    text-align: left;
}

.gnpc-article .gnpc-article__content .wp-block-image figure > figcaption {
    display: block;
    width: 100%;
    max-width: none;
}

.gnpc-article__content blockquote {
    margin: 2.2em 0;
    padding: 4px 0 4px 24px;
    color: var(--gnpc-article-ink);
    border-left: 4px solid var(--gnpc-article-accent);
    font-size: 1.12em;
}

.gnpc-article__footer {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    margin-top: clamp(54px, 8vw, 82px);
    padding-top: 24px;
    border-top: 1px solid var(--gnpc-article-rule);
    font-family: var(--gn-font-sans);
}

.gnpc-article__footer p {
    margin: 0;
    color: var(--gnpc-article-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.gnpc-article__footer a {
    color: var(--gn-color-green-800);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.gnpc-article__footer a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 700px) {
    .gnpc-article__header {
        padding-inline: 18px;
    }

    .gnpc-article__back {
        margin-bottom: 30px;
    }

    .gnpc-article__title {
        font-size: clamp(36px, 11vw, 49px);
        line-height: 1.06;
    }

    .gnpc-article__body-wrap {
        padding-inline: 18px;
    }

    .gnpc-article__content {
        font-size: 17px;
        line-height: 1.72;
    }

    .gnpc-article__content .wp-block-image {
        width: 100%;
        margin: 34px 50%;
    }

    .gnpc-article__content .wp-block-image img {
        max-height: 68vh;
    }

    .gnpc-article__footer {
        display: grid;
        gap: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gnpc-article__content a,
    .gnpc-article__content img {
        scroll-behavior: auto;
    }
}
