/* =========================================================
   DG CHEME ARTICLE TEMPLATE
   FINAL COMPLETE CSS
   PREFIX: dgcm26-
========================================================= */


/* =========================================================
   01. GLOBAL
========================================================= */

.dgcm26-article,
.dgcm26-article * {
    box-sizing: border-box;
}

.dgcm26-article {
    position: relative;

    width: 100%;

    margin: 0;
    padding: 0;

    direction: rtl;

    background: #fbfaf6;
    color: #333c35;

    font-family: inherit;
    line-height: 1.95;
}


/* =========================================================
   02. HERO
========================================================= */

.dgcm26-hero {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;

    height: clamp(390px, 36vw, 590px);

    margin: 0;
    padding: 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 20% 70%,
            rgba(77, 186, 120, 0.15),
            transparent 30%
        ),
        linear-gradient(
            115deg,
            #050807 0%,
            #09100c 55%,
            #111612 100%
        );

    isolation: isolate;
}


/* =========================================================
   03. HERO IMAGE
   FULL IMAGE / NO CROP
========================================================= */

.dgcm26-hero > img.dgcm26-hero-image,
.dgcm26-hero-image {
    position: absolute;

    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    max-width: none;

    margin: 0;
    padding: 0;

    border: 0;

    object-fit: contain;
    object-position: center center;

    transform: none;

    z-index: 1;
}


/* تصویر خالی */
.dgcm26-hero-image[src=""] {
    display: none;
}


/* =========================================================
   04. HERO OVERLAY
========================================================= */

.dgcm26-hero-overlay {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    z-index: 2;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(4, 8, 6, 0.04) 0%,
            rgba(4, 9, 6, 0.10) 30%,
            rgba(4, 9, 6, 0.28) 58%,
            rgba(4, 9, 6, 0.86) 100%
        ),
        linear-gradient(
            90deg,
            rgba(4, 8, 6, 0.16) 0%,
            rgba(4, 8, 6, 0.01) 50%,
            rgba(4, 8, 6, 0.18) 100%
        );
}


/* =========================================================
   05. HERO GLOWS
========================================================= */

.dgcm26-hero-glow {
    position: absolute;

    z-index: 3;

    border-radius: 50%;

    filter: blur(70px);

    pointer-events: none;
}

.dgcm26-hero-glow-one {
    width: 300px;
    height: 300px;

    left: 12%;
    bottom: -140px;

    background: rgba(65, 213, 127, 0.18);
}

.dgcm26-hero-glow-two {
    width: 250px;
    height: 250px;

    right: 13%;
    bottom: -150px;

    background: rgba(238, 196, 70, 0.11);
}


/* =========================================================
   06. HERO CONTENT
========================================================= */

.dgcm26-hero-content {
    position: absolute;

    z-index: 5;

    right: 50%;
    bottom: 48px;

    width: min(
        1140px,
        calc(100% - 48px)
    );

    transform: translateX(50%);

    color: #ffffff;
}

.dgcm26-hero-label {
    display: inline-flex;
    align-items: center;

    min-height: 32px;

    margin: 0 0 15px;
    padding: 5px 14px;

    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 100px;

    background: rgba(13, 33, 22, 0.42);

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    color: #dce9df;

    font-size: 12px;
    font-weight: 600;
}

.dgcm26-hero h1 {
    max-width: 860px;

    margin: 0;
    padding: 0;

    color: #ffffff;

    font-size: clamp(
        32px,
        4.4vw,
        68px
    );

    line-height: 1.15;

    font-weight: 800;

    letter-spacing: -1px;
}

.dgcm26-hero h1 span {
    display: block;

    margin-top: 6px;

    color: #f4d86d;

    font-weight: 500;
}

.dgcm26-hero-content > p {
    max-width: 650px;

    margin: 18px 0 0;

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

    font-size: 15px;
    line-height: 1.9;

    text-align: right;
}

.dgcm26-hero-line {
    display: flex;
    align-items: center;

    gap: 8px;

    width: 190px;

    margin-top: 23px;
}

.dgcm26-hero-line span {
    display: block;

    width: 150px;
    height: 1px;

    background: rgba(255, 255, 255, 0.32);
}

.dgcm26-hero-line i {
    display: block;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #f4d86d;
}


/* =========================================================
   07. MAIN LAYOUT
========================================================= */

.dgcm26-layout {
    position: relative;

    display: grid;

    grid-template-columns:
        290px
        minmax(0, 760px);

    justify-content: center;
    align-items: start;

    gap: 70px;

    width: min(
        1180px,
        calc(100% - 48px)
    );

    margin: 0 auto;

    padding:
        72px
        0
        120px;

    overflow: visible;
}


/* =========================================================
   08. TABLE OF CONTENTS SLOT
========================================================= */

.dgcm26-toc-slot {
    position: relative;

    order: 1;
    align-self: start;

    width: 290px;
    min-width: 290px;

    height: auto;
    min-height: 0;

    margin: 0;
    padding: 0;

    overflow: visible;

    z-index: 50;
}


/* =========================================================
   09. TOC HOLDER
========================================================= */

.dgcm26-toc-holder {
    display: block;

    width: 100%;
    height: 0;

    margin: 0;
    padding: 0;
}


/* =========================================================
   10. TOC CARD
========================================================= */

.dgcm26-toc-card {
    position: relative;

    width: 100%;

    margin: 0;
    padding: 0;

    overflow: hidden;

    direction: rtl;

    border: 1px solid #e4e6dd;
    border-radius: 4px;

    background: rgba(255, 255, 252, 0.985);

    box-shadow:
        0 18px 45px
        rgba(40, 60, 45, 0.07);

    font-family: inherit;

    z-index: 100;
}

.dgcm26-toc-card::before {
    content: "";

    display: block;

    width: 100%;
    height: 4px;

    background: #2c6446;
}


/* =========================================================
   11. TOC FLOATING
========================================================= */

body > .dgcm26-toc-card.dgcm26-floating {
    position: fixed;

    margin: 0;

    direction: rtl;

    transform: none;

    z-index: 999999;

    box-shadow:
        0 22px 60px
        rgba(20, 45, 30, 0.16);
}


/* =========================================================
   12. TOC STOPPED AT ARTICLE END
========================================================= */

.dgcm26-toc-slot >
.dgcm26-toc-card.dgcm26-stopped {
    position: absolute;

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

    width: 100%;

    margin: 0;

    z-index: 50;

    box-shadow:
        0 18px 45px
        rgba(40, 60, 45, 0.07);
}


/* =========================================================
   13. TOC HEADER
========================================================= */

.dgcm26-toc-head {
    display: flex;
    align-items: center;

    gap: 13px;

    padding:
        24px
        22px
        21px;

    border-bottom: 1px solid #e9ebe4;
}

.dgcm26-toc-number {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    border: 1px solid #dce2da;
    border-radius: 50%;

    color: #376a4d;

    direction: ltr;

    font-family: Georgia, serif;
    font-size: 12px;
}

.dgcm26-toc-head > div {
    display: flex;
    flex-direction: column;
}

.dgcm26-toc-head small {
    margin-bottom: 1px;

    color: #a1a79f;

    direction: ltr;
    text-align: right;

    font-family: Arial, sans-serif;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 1.4px;
}

.dgcm26-toc-head strong {
    color: #244b36;

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


/* =========================================================
   14. TOC NAVIGATION
========================================================= */

.dgcm26-toc-nav {
    padding: 9px 0;
}

.dgcm26-toc-nav a {
    position: relative;

    display: flex;
    align-items: flex-start;

    gap: 9px;

    padding:
        10px
        20px;

    color: #596159;

    border-right: 2px solid transparent;

    text-decoration: none;

    font-size: 12px;
    line-height: 1.7;

    transition:
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}

.dgcm26-toc-nav a span {
    flex: 0 0 auto;

    margin-top: 1px;

    color: #a7ada7;

    direction: ltr;

    font-family: Georgia, serif;
    font-size: 10px;
}

.dgcm26-toc-nav a:hover,
.dgcm26-toc-nav a.dgcm26-active {
    color: #245f40;

    border-right-color: #3a7653;

    background: #f3f6f1;
}

.dgcm26-toc-nav a.dgcm26-active {
    font-weight: 700;
}

.dgcm26-toc-nav a:hover span,
.dgcm26-toc-nav a.dgcm26-active span {
    color: #2d6d49;
}


/* =========================================================
   15. TOC CHILD ITEMS
========================================================= */

.dgcm26-toc-nav .dgcm26-toc-child {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-right: 46px;

    color: #858b84;

    font-size: 11px;
}

.dgcm26-toc-nav .dgcm26-toc-child::before {
    content: "";

    position: absolute;

    right: 29px;
    top: 17px;

    width: 7px;
    height: 1px;

    background: #b7bdb6;
}


/* =========================================================
   16. TOC FOOTER
========================================================= */

.dgcm26-toc-bottom {
    display: flex;
    align-items: center;

    gap: 10px;

    padding:
        16px
        21px;

    border-top: 1px solid #e9ebe4;

    color: #a0a69f;

    direction: ltr;

    font-family: Arial, sans-serif;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: 1.4px;
}

.dgcm26-toc-bottom span {
    width: 25px;
    height: 1px;

    background: #b7beb8;
}


/* =========================================================
   17. ARTICLE CONTENT
========================================================= */

.dgcm26-content {
    position: relative;

    order: 2;

    min-width: 0;

    direction: rtl;

    color: #383e39;

    font-size: 15px;
    line-height: 2.05;

    overflow: visible;

    text-rendering: optimizeLegibility;
    font-kerning: normal;
}


/* =========================================================
   18. NATURAL PERSIAN JUSTIFY
========================================================= */

.dgcm26-content p,
.dgcm26-feature p,
.dgcm26-lead p,
.dgcm26-quote p {
    direction: rtl;

    text-align: justify;
    text-align-last: right;

    text-justify: auto;

    /*
     * فاصله کلمات کمی جمع‌تر از حالت عادی
     * تا Justify ظاهر غیرطبیعی پیدا نکند
     */
    word-spacing: -0.025em;

    /*
     * فاصله حروف تغییر نمی‌کند
     */
    letter-spacing: 0;

    font-stretch: normal;

    overflow-wrap: break-word;
    word-break: normal;

    white-space: normal;

    font-kerning: normal;
}


/* فاصله پاراگراف‌ها */
.dgcm26-content p {
    margin:
        0
        0
        19px;
}


/* آخرین خط Justify نمی‌شود */
.dgcm26-content p,
.dgcm26-feature p,
.dgcm26-lead p,
.dgcm26-quote p {
    text-align-last: right;
}


/* متن Strong */
.dgcm26-content strong {
    color: #29352d;

    font-weight: 800;
}


/* =========================================================
   19. SECTIONS
========================================================= */

.dgcm26-section {
    position: relative;

    margin:
        0
        0
        70px;

    scroll-margin-top: 120px;
}

.dgcm26-subsection {
    position: relative;

    margin-top: 46px;

    scroll-margin-top: 120px;
}


/* =========================================================
   20. INTRO
========================================================= */

.dgcm26-intro {
    padding-top: 5px;
}

.dgcm26-intro >
p:first-child::first-letter {
    color: #2e6548;

    font-family: Georgia, serif;

    font-size: 48px;
    font-weight: 700;

    line-height: 0.75;
}


/* =========================================================
   21. LEAD BOX
========================================================= */

.dgcm26-lead {
    display: flex;

    gap: 18px;

    margin-top: 36px;

    padding: 5px 0;
}

.dgcm26-lead > span {
    flex: 0 0 3px;

    width: 3px;

    background: #397153;
}

.dgcm26-lead p {
    margin: 0;

    color: #466451;

    font-size: 16px;
    font-style: italic;

    line-height: 1.9;
}


/* =========================================================
   22. MAIN H2 HEADINGS
========================================================= */

.dgcm26-heading {
    display: flex;
    align-items: flex-start;

    gap: 16px;

    margin-bottom: 24px;
}

.dgcm26-heading-number {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 43px;

    width: 43px;
    height: 43px;

    margin-top: 2px;

    border: 1px solid #cbd9ce;
    border-radius: 50%;

    color: #34704d;

    direction: ltr;

    font-family: Georgia, serif;
    font-size: 12px;
}

.dgcm26-heading > div {
    min-width: 0;
}

.dgcm26-heading small {
    display: block;

    margin-bottom: 4px;

    color: #999f98;

    direction: ltr;
    text-align: right;

    font-family: Arial, sans-serif;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 1.4px;
}

.dgcm26-heading h2 {
    position: relative;

    margin: 0;

    padding-bottom: 12px;

    color: #2e6548;

    font-size: clamp(
        23px,
        2.2vw,
        31px
    );

    line-height: 1.45;

    font-weight: 800;

    letter-spacing: -0.4px;
}

.dgcm26-heading h2::after {
    content: "";

    position: absolute;

    right: 0;
    bottom: 0;

    width: 54px;
    height: 2px;

    background: #d2b950;
}


/* =========================================================
   23. H3 HEADINGS
========================================================= */

.dgcm26-subsection > h3 {
    display: flex;
    align-items: center;

    gap: 12px;

    margin:
        0
        0
        19px;

    color: #2f6649;

    font-size: 20px;
    line-height: 1.6;

    font-weight: 800;
}

.dgcm26-subsection >
h3 >
span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    border-radius: 50%;

    background: #edf2ec;

    color: #4c765c;

    direction: ltr;

    font-family: Georgia, serif;
    font-size: 9px;
}


/* =========================================================
   24. ARTICLE IMAGES
========================================================= */

.dgcm26-figure {
    width: 100%;

    margin:
        36px
        0
        41px;

    padding: 0;
}

.dgcm26-image {
    position: relative;

    width: 100%;

    overflow: hidden;

    aspect-ratio: 16 / 8.4;

    border-radius: 4px;

    background:
        linear-gradient(
            135deg,
            #f0f1ec,
            #e5e8df
        );
}

.dgcm26-image::before {
    content: "IMAGE";

    position: absolute;

    top: 50%;
    left: 50%;

    transform:
        translate(
            -50%,
            -50%
        );

    color: #afb5ac;

    direction: ltr;

    font-family: Arial, sans-serif;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 3px;
}

.dgcm26-image img {
    position: relative;

    z-index: 1;

    display: block;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    object-fit: cover;
    object-position: center;

    transition: transform 0.55s ease;
}

.dgcm26-image:hover img {
    transform: scale(1.015);
}

.dgcm26-image img[src=""] {
    display: none;
}


/* =========================================================
   25. IMAGE CAPTION
========================================================= */

.dgcm26-figure figcaption {
    max-width: 92%;

    margin:
        10px
        auto
        0;

    color: #8d928c;

    direction: rtl;

    text-align: center;

    font-size: 10px;
    font-style: italic;

    line-height: 1.8;

    word-spacing: normal;
    letter-spacing: 0;
}


/* =========================================================
   26. FEATURE BLOCKS
========================================================= */

.dgcm26-feature {
    display: grid;

    grid-template-columns:
        44px
        minmax(0, 1fr);

    gap: 17px;

    margin-top: 29px;

    padding-top: 28px;

    border-top: 1px solid #e4e6df;
}

.dgcm26-feature > span {
    color: #9aaa9d;

    direction: ltr;

    font-family: Georgia, serif;

    font-size: 18px;
    line-height: 1.5;
}

.dgcm26-feature h3 {
    margin:
        0
        0
        9px;

    color: #31664a;

    font-size: 18px;
    line-height: 1.5;

    font-weight: 800;
}

.dgcm26-feature p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   27. QUOTE
========================================================= */

.dgcm26-quote {
    position: relative;

    margin-top: 38px;

    padding:
        28px
        34px
        27px
        30px;

    border-right: 3px solid #34704d;

    background: #f2f5ef;
}

.dgcm26-quote > span {
    position: absolute;

    top: 5px;
    left: 18px;

    color: rgba(46, 101, 72, 0.12);

    direction: ltr;

    font-family: Georgia, serif;

    font-size: 74px;
    line-height: 1;
}

.dgcm26-quote p {
    position: relative;

    z-index: 2;

    margin: 0;

    color: #47614f;

    font-size: 16px;
    line-height: 2;
}


/* =========================================================
   28. ARTICLE END
========================================================= */

.dgcm26-end {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 17px;

    margin-top: 80px;

    padding-top: 30px;
}

.dgcm26-end > span {
    width: 70px;
    height: 1px;

    background: #d8ddd6;
}

.dgcm26-end > div {
    display: flex;
    flex-direction: column;

    direction: ltr;

    text-align: center;
}

.dgcm26-end small {
    margin-bottom: 2px;

    color: #a7ada6;

    font-family: Arial, sans-serif;

    font-size: 7px;

    letter-spacing: 1.5px;
}

.dgcm26-end strong {
    color: #52705c;

    font-family: Georgia, serif;

    font-size: 11px;
    font-weight: 400;

    letter-spacing: 0.8px;
}


/* =========================================================
   29. SELECTION
========================================================= */

.dgcm26-article ::selection {
    background: #316a4a;

    color: #ffffff;
}


/* =========================================================
   30. LAPTOP / TABLET
========================================================= */

@media (max-width: 1050px) and (min-width: 768px) {

    .dgcm26-layout {
        grid-template-columns:
            245px
            minmax(0, 680px);

        gap: 38px;

        width: min(
            calc(100% - 34px),
            1000px
        );
    }


    .dgcm26-toc-slot {
        width: 245px;
        min-width: 245px;
    }


    .dgcm26-toc-nav a {
        padding-right: 16px;
        padding-left: 16px;

        font-size: 11px;
    }


    .dgcm26-toc-nav
    .dgcm26-toc-child {
        padding-right: 39px;
    }


    .dgcm26-toc-nav
    .dgcm26-toc-child::before {
        right: 24px;
    }

}


/* =========================================================
   31. MOBILE
========================================================= */

@media (max-width: 767px) {

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

    .dgcm26-hero {
        width: 100%;
        height: 480px;

        margin: 0;
        padding: 0;

        overflow: hidden;
    }


    .dgcm26-hero >
    img.dgcm26-hero-image,
    .dgcm26-hero-image {
        position: absolute;

        inset: 0;

        display: block;

        width: 100%;
        height: 100%;

        max-width: none;

        margin: 0;
        padding: 0;

        object-fit: cover;
        object-position: center center;

        transform: none;
    }


    .dgcm26-hero-content {
        bottom: 34px;

        width: calc(100% - 34px);
    }


    .dgcm26-hero-label {
        margin-bottom: 12px;

        font-size: 10px;
    }


    .dgcm26-hero h1 {
        font-size: 37px;

        line-height: 1.22;

        letter-spacing: -0.5px;
    }


    .dgcm26-hero h1 span {
        margin-top: 4px;
    }


    .dgcm26-hero-content > p {
        max-width: 100%;

        margin-top: 14px;

        font-size: 13px;
        line-height: 1.8;

        text-align: right;
    }


    /* =====================================================
       LAYOUT
    ====================================================== */

    .dgcm26-layout {
        display: flex;
        flex-direction: column;

        gap: 39px;

        width: calc(100% - 32px);

        padding:
            36px
            0
            75px;
    }


    /* =====================================================
       TOC
    ====================================================== */

    .dgcm26-toc-slot {
        position: relative;

        order: 1;

        width: 100%;
        min-width: 0;

        height: auto;
        min-height: 0;

        overflow: visible;
    }


    .dgcm26-toc-holder {
        height: 0;
    }


    .dgcm26-toc-card,
    body >
    .dgcm26-toc-card.dgcm26-floating,
    .dgcm26-toc-slot >
    .dgcm26-toc-card.dgcm26-stopped {
        position: relative;

        top: auto;
        right: auto;
        bottom: auto;
        left: auto;

        width: 100%;

        margin: 0;

        transform: none;
    }


    .dgcm26-toc-nav {
        max-height: 310px;

        overflow-y: auto;

        overscroll-behavior: contain;
    }


    /* =====================================================
       CONTENT
    ====================================================== */

    .dgcm26-content {
        order: 2;

        width: 100%;

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


    /*
     * مهم:
     * در موبایل نیز Justify حفظ می‌شود
     * ولی فاصله کلمات کمی جمع‌تر است.
     */
    .dgcm26-content p,
    .dgcm26-feature p,
    .dgcm26-lead p,
    .dgcm26-quote p {
        direction: rtl;

        text-align: justify;
        text-align-last: right;

        text-justify: auto;

        word-spacing: -0.035em;
        letter-spacing: 0;

        font-stretch: normal;

        overflow-wrap: break-word;
        word-break: normal;

        white-space: normal;
    }


    .dgcm26-section {
        margin-bottom: 55px;

        scroll-margin-top: 90px;
    }


    .dgcm26-subsection {
        margin-top: 37px;

        scroll-margin-top: 90px;
    }


    /* =====================================================
       HEADINGS
    ====================================================== */

    .dgcm26-heading {
        gap: 11px;
    }


    .dgcm26-heading-number {
        flex-basis: 36px;

        width: 36px;
        height: 36px;

        font-size: 10px;
    }


    .dgcm26-heading h2 {
        font-size: 23px;
    }


    .dgcm26-subsection > h3 {
        align-items: flex-start;

        font-size: 18px;
    }


    /* =====================================================
       ARTICLE IMAGES
    ====================================================== */

    .dgcm26-image {
        aspect-ratio: 4 / 2.55;

        border-radius: 3px;
    }


    .dgcm26-figure {
        margin:
            27px
            0
            34px;
    }


    .dgcm26-figure figcaption {
        max-width: 96%;

        font-size: 9px;

        line-height: 1.8;
    }


    /* =====================================================
       FEATURES
    ====================================================== */

    .dgcm26-feature {
        grid-template-columns:
            34px
            minmax(0, 1fr);

        gap: 11px;
    }


    /* =====================================================
       QUOTE
    ====================================================== */

    .dgcm26-quote {
        padding:
            24px
            24px
            23px
            20px;
    }


    .dgcm26-quote p {
        font-size: 14px;
    }

}


/* =========================================================
   32. SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    /* HERO */

    .dgcm26-hero {
        height: 440px;
    }


    .dgcm26-hero >
    img.dgcm26-hero-image,
    .dgcm26-hero-image {
        width: 100%;
        height: 100%;

        object-fit: cover;
        object-position: center center;

        transform: none;
    }


    .dgcm26-hero h1 {
        font-size: 32px;
    }


    .dgcm26-hero-content > p {
        font-size: 12px;
    }


    /* LAYOUT */

    .dgcm26-layout {
        width: calc(100% - 26px);
    }


    /* HEADINGS */

    .dgcm26-heading h2 {
        font-size: 21px;
    }


    .dgcm26-subsection > h3 {
        font-size: 17px;
    }


    /* TOC */

    .dgcm26-toc-head {
        padding:
            20px
            18px
            18px;
    }


    .dgcm26-toc-nav a {
        padding-right: 17px;
        padding-left: 17px;
    }


    /*
     * در موبایل‌های باریک، کمی جمع‌تر
     * تا فاصله‌های بزرگ Justify کمتر شوند.
     */
    .dgcm26-content p,
    .dgcm26-feature p,
    .dgcm26-lead p,
    .dgcm26-quote p {
        word-spacing: -0.045em;

        letter-spacing: 0;

        text-align: justify;
        text-align-last: right;
    }

}

/* =========================================================
   DGCM26 ARTICLE — TYPOGRAPHY SCALE
   v1.16.03
   H1 = 22px / H2 = 18px / H3 = 16px
========================================================= */

.dgcm26-article .dgcm26-hero h1 {
    font-size: 22px;
    line-height: 1.65;
    letter-spacing: -0.15px;
}

.dgcm26-article .dgcm26-content h2,
.dgcm26-article .dgcm26-heading h2 {
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0;
}

.dgcm26-article .dgcm26-content h3,
.dgcm26-article .dgcm26-subsection > h3,
.dgcm26-article .dgcm26-feature h3 {
    font-size: 16px;
    line-height: 1.85;
    letter-spacing: 0;
}

@media (max-width: 900px) {
    .dgcm26-article .dgcm26-hero h1 {
        font-size: 22px;
        line-height: 1.6;
    }

    .dgcm26-article .dgcm26-content h2,
    .dgcm26-article .dgcm26-heading h2 {
        font-size: 18px;
    }

    .dgcm26-article .dgcm26-content h3,
    .dgcm26-article .dgcm26-subsection > h3,
    .dgcm26-article .dgcm26-feature h3 {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .dgcm26-article .dgcm26-hero h1 {
        font-size: 22px;
        line-height: 1.6;
    }

    .dgcm26-article .dgcm26-content h2,
    .dgcm26-article .dgcm26-heading h2 {
        font-size: 18px;
    }

    .dgcm26-article .dgcm26-content h3,
    .dgcm26-article .dgcm26-subsection > h3,
    .dgcm26-article .dgcm26-feature h3 {
        font-size: 16px;
    }
}

/* END — DGCM26 ARTICLE TYPOGRAPHY v1.16.03 */

/* =========================================================
   DGCM26 ARTICLE — HERO H1 SINGLE LINE FIX
   v1.16.04
   Desktop hero titles stay on one row when a highlighted span exists.
========================================================= */

@media (min-width: 768px) {
    .dgcm26-article .dgcm26-hero h1 {
        max-width: none;
        white-space: nowrap;
    }

    .dgcm26-article .dgcm26-hero h1 span {
        display: inline;
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    .dgcm26-article .dgcm26-hero h1 {
        white-space: normal;
    }

    .dgcm26-article .dgcm26-hero h1 span {
        display: block;
        margin-top: 4px;
    }
}

/* END — HERO H1 SINGLE LINE FIX v1.16.04 */


/* =========================================================
   DGCM26 ARTICLE — PREMIUM HERO PANEL
   v1.16.05
   More polished image-overlay hero aligned with site style.
========================================================= */

.dgcm26-article .dgcm26-hero {
    overflow: hidden;
}

.dgcm26-article .dgcm26-hero-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(3, 8, 6, 0.08) 0%,
            rgba(3, 8, 6, 0.14) 22%,
            rgba(3, 8, 6, 0.34) 54%,
            rgba(3, 8, 6, 0.88) 100%
        ),
        radial-gradient(
            circle at 78% 24%,
            rgba(89, 210, 139, 0.12) 0%,
            transparent 28%
        ),
        linear-gradient(
            90deg,
            rgba(4, 8, 6, 0.18) 0%,
            rgba(4, 8, 6, 0.02) 38%,
            rgba(4, 8, 6, 0.28) 100%
        );
}

.dgcm26-article .dgcm26-hero-content {
    right: clamp(16px, 4vw, 72px);
    left: auto;
    bottom: clamp(18px, 4vw, 44px);
    width: min(620px, calc(100% - 32px));
    padding: clamp(22px, 2.7vw, 34px);
    transform: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 28px;
    background:
        linear-gradient(
            135deg,
            rgba(3, 35, 22, 0.88) 0%,
            rgba(7, 24, 17, 0.82) 58%,
            rgba(13, 21, 16, 0.78) 100%
        );
    box-shadow:
        0 28px 70px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    text-align: right;
    isolation: isolate;
}

.dgcm26-article .dgcm26-hero-content::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(
            circle at 12% 0%,
            rgba(80, 230, 147, 0.18) 0%,
            transparent 34%
        ),
        linear-gradient(
            90deg,
            rgba(244, 216, 109, 0.08) 0%,
            transparent 42%
        );
    z-index: -2;
    pointer-events: none;
}

.dgcm26-article .dgcm26-hero-content::after {
    content: "";
    position: absolute;
    top: 0;
    right: clamp(24px, 5vw, 44px);
    width: 110px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #f4d86d 0%, #52da8c 100%);
    box-shadow: 0 10px 24px rgba(244, 216, 109, 0.30);
    pointer-events: none;
}

.dgcm26-article .dgcm26-hero-label {
    margin: 0 0 16px;
    padding: 7px 14px;
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(237, 244, 239, 0.94);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.dgcm26-article .dgcm26-hero h1 {
    max-width: 100%;
    font-size: clamp(28px, 3.6vw, 52px);
    line-height: 1.22;
    letter-spacing: -0.04em;
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.22);
}

.dgcm26-article .dgcm26-hero h1 span {
    color: #f4d86d;
    font-weight: 700;
}

.dgcm26-article .dgcm26-hero-content > p {
    max-width: 100%;
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 15px;
    line-height: 1.95;
}

.dgcm26-article .dgcm26-hero-line {
    width: 220px;
    margin-top: 24px;
}

.dgcm26-article .dgcm26-hero-line span {
    flex: 1 1 auto;
    width: auto;
    background: linear-gradient(90deg, rgba(244, 216, 109, 0.72) 0%, rgba(255, 255, 255, 0.20) 100%);
}

.dgcm26-article .dgcm26-hero-line i {
    width: 8px;
    height: 8px;
    box-shadow: 0 0 0 5px rgba(244, 216, 109, 0.14);
}

@media (max-width: 991px) {
    .dgcm26-article .dgcm26-hero-content {
        width: min(100%, calc(100% - 24px));
        right: 12px;
        bottom: 12px;
        padding: 18px 18px 20px;
        border-radius: 24px;
    }

    .dgcm26-article .dgcm26-hero-label {
        margin-bottom: 12px;
    }

    .dgcm26-article .dgcm26-hero h1 {
        font-size: clamp(24px, 5.1vw, 38px);
        white-space: normal;
    }

    .dgcm26-article .dgcm26-hero h1 span {
        display: block;
        margin-top: 4px;
    }

    .dgcm26-article .dgcm26-hero-content > p {
        font-size: 14px;
        line-height: 1.85;
    }
}

/* END — PREMIUM HERO PANEL v1.16.05 */

/* =========================================================
   DGCM26 ARTICLE — HERO PREMIUM REFINEMENT
   v1.16.06
   Keep the underlying image visible, contain H1, and upgrade panel styling.
========================================================= */

.dgcm26-article .dgcm26-hero {
    overflow: hidden;
}

.dgcm26-article .dgcm26-hero-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(4, 8, 6, 0.03) 0%,
            rgba(4, 8, 6, 0.08) 24%,
            rgba(4, 8, 6, 0.16) 54%,
            rgba(4, 8, 6, 0.48) 100%
        ),
        linear-gradient(
            90deg,
            rgba(4, 8, 6, 0.12) 0%,
            rgba(4, 8, 6, 0.02) 36%,
            rgba(4, 8, 6, 0.14) 100%
        );
}

.dgcm26-article .dgcm26-hero-content {
    position: absolute;
    right: clamp(16px, 4.8vw, 54px);
    left: auto;
    bottom: clamp(16px, 3.3vw, 34px);
    width: min(760px, calc(100% - 40px));
    max-width: 62%;
    padding: clamp(22px, 2.6vw, 32px);
    transform: none;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 30px;
    background:
        linear-gradient(
            135deg,
            rgba(4, 44, 28, 0.66) 0%,
            rgba(5, 28, 19, 0.58) 52%,
            rgba(6, 17, 13, 0.46) 100%
        );
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    text-align: right;
    isolation: isolate;
}

.dgcm26-article .dgcm26-hero-content::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 8% 0%, rgba(83, 222, 144, 0.14) 0%, transparent 34%),
        linear-gradient(90deg, rgba(244, 216, 109, 0.08) 0%, transparent 40%);
    pointer-events: none;
    z-index: -2;
}

.dgcm26-article .dgcm26-hero-content::after {
    content: "";
    position: absolute;
    top: 0;
    right: clamp(24px, 5vw, 40px);
    width: 112px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #f4d86d 0%, #4be08d 100%);
    box-shadow: 0 10px 28px rgba(244, 216, 109, 0.18);
    pointer-events: none;
}

.dgcm26-article .dgcm26-hero-label {
    margin: 0 0 14px;
    padding: 7px 16px;
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 248, 246, 0.95);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.dgcm26-article .dgcm26-hero h1 {
    max-width: 100%;
    margin: 0;
    font-size: clamp(27px, 2.35vw, 37px);
    line-height: 1.28;
    font-weight: 800;
    letter-spacing: -0.03em;
    white-space: normal;
    text-wrap: balance;
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
    overflow-wrap: anywhere;
}

.dgcm26-article .dgcm26-hero h1 span {
    display: inline;
    margin-top: 0;
    color: #f4d86d;
    font-weight: 700;
}

.dgcm26-article .dgcm26-hero-content > p {
    max-width: 100%;
    margin: 15px 0 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 15px;
    line-height: 1.9;
}

.dgcm26-article .dgcm26-hero-line {
    width: 210px;
    margin-top: 22px;
}

.dgcm26-article .dgcm26-hero-line span {
    flex: 1 1 auto;
    width: auto;
    background: linear-gradient(90deg, rgba(244, 216, 109, 0.74) 0%, rgba(255, 255, 255, 0.20) 100%);
}

.dgcm26-article .dgcm26-hero-line i {
    width: 8px;
    height: 8px;
    box-shadow: 0 0 0 5px rgba(244, 216, 109, 0.14);
}

@media (min-width: 1280px) {
    .dgcm26-article .dgcm26-hero h1 {
        white-space: nowrap;
    }
}

@media (max-width: 1199px) {
    .dgcm26-article .dgcm26-hero-content {
        max-width: 68%;
    }

    .dgcm26-article .dgcm26-hero h1 {
        font-size: clamp(24px, 2.8vw, 34px);
    }
}

@media (max-width: 991px) {
    .dgcm26-article .dgcm26-hero-content {
        width: calc(100% - 24px);
        max-width: none;
        right: 12px;
        bottom: 12px;
        padding: 18px 18px 20px;
        border-radius: 24px;
        background:
            linear-gradient(
                135deg,
                rgba(4, 36, 24, 0.74) 0%,
                rgba(5, 24, 17, 0.68) 100%
            );
    }

    .dgcm26-article .dgcm26-hero-label {
        margin-bottom: 12px;
    }

    .dgcm26-article .dgcm26-hero h1 {
        font-size: clamp(22px, 5vw, 31px);
        line-height: 1.34;
        white-space: normal;
    }

    .dgcm26-article .dgcm26-hero h1 span {
        display: inline;
    }

    .dgcm26-article .dgcm26-hero-content > p {
        font-size: 14px;
        line-height: 1.85;
    }

    .dgcm26-article .dgcm26-hero-line {
        width: 180px;
        margin-top: 18px;
    }
}

@media (max-width: 640px) {
    .dgcm26-article .dgcm26-hero-content {
        width: calc(100% - 20px);
        right: 10px;
        bottom: 10px;
        padding: 16px 16px 18px;
        border-radius: 20px;
    }

    .dgcm26-article .dgcm26-hero-label {
        min-height: 28px;
        padding: 6px 12px;
        font-size: 10px;
    }

    .dgcm26-article .dgcm26-hero h1 {
        font-size: 22px;
        line-height: 1.4;
    }

    .dgcm26-article .dgcm26-hero-content > p {
        margin-top: 12px;
        font-size: 13px;
    }
}

/* END — HERO PREMIUM REFINEMENT v1.16.06 */

/* =========================================================
   DGCM26 ARTICLE — FINAL PREMIUM EDITORIAL SYSTEM
   v1.16.07
   Final visual language for all DGCM26 articles.
   Keeps the existing HTML architecture intact.
========================================================= */

/* ---------- ARTICLE CANVAS ---------- */
.dgcm26-article {
    background:
        radial-gradient(circle at 88% 8%, rgba(54, 126, 84, 0.07), transparent 24%),
        radial-gradient(circle at 12% 22%, rgba(216, 185, 80, 0.055), transparent 21%),
        linear-gradient(180deg, #f8faf7 0%, #f3f6f3 46%, #f7f8f5 100%);
    color: #34423a;
}

.dgcm26-article::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.32;
    background-image:
        linear-gradient(rgba(24, 80, 52, 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(24, 80, 52, 0.018) 1px, transparent 1px);
    background-size: 46px 46px;
}

/* ---------- FINAL HERO ---------- */
.dgcm26-article .dgcm26-hero-overlay {
    background:
        linear-gradient(180deg, rgba(3, 8, 6, 0.025) 0%, rgba(3, 8, 6, 0.07) 30%, rgba(3, 8, 6, 0.13) 58%, rgba(3, 8, 6, 0.43) 100%),
        linear-gradient(90deg, rgba(3, 8, 6, 0.08) 0%, rgba(3, 8, 6, 0.015) 38%, rgba(3, 8, 6, 0.11) 100%);
}

.dgcm26-article .dgcm26-hero-content {
    right: clamp(18px, 4.5vw, 58px);
    left: auto;
    bottom: clamp(18px, 3.2vw, 38px);
    width: min(720px, 58%);
    max-width: calc(100% - 36px);
    padding: clamp(20px, 2.25vw, 30px) clamp(22px, 2.5vw, 34px);
    transform: none;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 28px;
    background:
        radial-gradient(circle at 8% 0%, rgba(72, 214, 135, .10), transparent 34%),
        linear-gradient(135deg, rgba(4, 40, 26, .58), rgba(4, 24, 17, .50) 56%, rgba(4, 15, 11, .42));
    box-shadow:
        0 28px 70px rgba(0,0,0,.20),
        inset 0 1px 0 rgba(255,255,255,.055);
    backdrop-filter: blur(8px) saturate(112%);
    -webkit-backdrop-filter: blur(8px) saturate(112%);
    isolation: isolate;
}

.dgcm26-article .dgcm26-hero-content::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(244,216,109,.055), transparent 42%);
}

.dgcm26-article .dgcm26-hero-content::after {
    content: "";
    position: absolute;
    top: 0;
    right: 34px;
    width: 112px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #f1d264 0%, #4ddd8c 100%);
    box-shadow: 0 8px 24px rgba(241, 210, 100, .20);
}

.dgcm26-article .dgcm26-hero-label {
    min-height: 30px;
    margin: 0 0 13px;
    padding: 6px 13px;
    border-color: rgba(255,255,255,.13);
    background: rgba(255,255,255,.055);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
    color: rgba(247,250,248,.92);
    font-size: 10px;
    font-weight: 700;
}

.dgcm26-article .dgcm26-hero h1 {
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-size: 22px;
    line-height: 1.62;
    font-weight: 800;
    letter-spacing: 0;
    white-space: normal;
    text-shadow: 0 7px 28px rgba(0,0,0,.22);
}

.dgcm26-article .dgcm26-hero h1 span {
    display: inline;
    margin: 0;
    color: #f1d264;
    font-weight: 800;
}

.dgcm26-article .dgcm26-hero-content > p {
    max-width: 100%;
    margin: 12px 0 0;
    color: rgba(255,255,255,.80);
    font-size: 13px;
    line-height: 1.9;
}

.dgcm26-article .dgcm26-hero-line {
    width: 190px;
    margin-top: 18px;
}

.dgcm26-article .dgcm26-hero-line span {
    flex: 1 1 auto;
    width: auto;
    background: linear-gradient(90deg, rgba(241,210,100,.74), rgba(255,255,255,.16));
}

.dgcm26-article .dgcm26-hero-line i {
    width: 8px;
    height: 8px;
    background: #f1d264;
    box-shadow: 0 0 0 5px rgba(241,210,100,.13);
}

@media (min-width: 1100px) {
    .dgcm26-article .dgcm26-hero h1 {
        white-space: nowrap;
    }
}

/* ---------- MASTER ARTICLE GRID ---------- */
.dgcm26-layout {
    grid-template-columns: 300px minmax(0, 828px);
    gap: 52px;
    width: min(1180px, calc(100% - 40px));
    padding: 64px 0 118px;
}

/* ---------- PREMIUM TOC ---------- */
.dgcm26-toc-slot {
    width: 300px;
    min-width: 300px;
}

.dgcm26-toc-card,
body > .dgcm26-toc-card.dgcm26-floating,
.dgcm26-toc-slot > .dgcm26-toc-card.dgcm26-stopped {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    background:
        radial-gradient(circle at 84% 6%, rgba(81, 206, 132, .10), transparent 28%),
        linear-gradient(155deg, #0a3a2c 0%, #08291f 54%, #061d16 100%);
    box-shadow:
        0 22px 58px rgba(8, 45, 33, .14),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.dgcm26-toc-card::before {
    height: 3px;
    background: linear-gradient(90deg, #f0d163 0%, #54dc8e 100%);
}

.dgcm26-toc-head {
    gap: 13px;
    padding: 22px 20px 19px;
    border-bottom-color: rgba(255,255,255,.08);
}

.dgcm26-toc-number {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(240,209,99,.32);
    background: rgba(240,209,99,.08);
    color: #f0d163;
    box-shadow: inset 0 0 0 4px rgba(255,255,255,.018);
}

.dgcm26-toc-head small {
    color: rgba(255,255,255,.42);
}

.dgcm26-toc-head strong {
    color: #fff;
    font-size: 16px;
}

.dgcm26-toc-nav {
    padding: 10px 9px;
    max-height: min(58vh, 560px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(240,209,99,.38) transparent;
}

.dgcm26-toc-nav::-webkit-scrollbar {
    width: 4px;
}

.dgcm26-toc-nav::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(240,209,99,.38);
}

.dgcm26-toc-nav a {
    gap: 9px;
    margin: 2px 0;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: rgba(255,255,255,.68);
    border-right: 1px solid transparent;
    font-size: 11px;
    line-height: 1.75;
    transition: transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.dgcm26-toc-nav a span {
    min-width: 20px;
    color: rgba(240,209,99,.48);
    font-size: 9px;
}

.dgcm26-toc-nav a:hover {
    transform: translateX(-2px);
    color: #fff;
    border-color: rgba(255,255,255,.07);
    background: rgba(255,255,255,.055);
}

.dgcm26-toc-nav a.dgcm26-active {
    color: #fff;
    border-color: rgba(240,209,99,.18);
    background:
        linear-gradient(90deg, rgba(240,209,99,.10), rgba(78,216,139,.075));
    box-shadow: inset -3px 0 0 #f0d163;
    font-weight: 800;
}

.dgcm26-toc-nav a.dgcm26-active::after {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 5px;
    height: 5px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #52dd8c;
    box-shadow: 0 0 0 5px rgba(82,221,140,.08);
}

.dgcm26-toc-nav a.dgcm26-active span,
.dgcm26-toc-nav a:hover span {
    color: #f0d163;
}

.dgcm26-toc-nav .dgcm26-toc-child {
    padding: 7px 32px 7px 12px;
    color: rgba(255,255,255,.47);
    font-size: 10px;
}

.dgcm26-toc-nav .dgcm26-toc-child::before {
    right: 18px;
    top: 16px;
    width: 7px;
    background: rgba(240,209,99,.38);
}

.dgcm26-toc-bottom {
    justify-content: center;
    padding: 15px 18px 16px;
    border-top-color: rgba(255,255,255,.075);
    color: rgba(255,255,255,.32);
    letter-spacing: 1.7px;
}

.dgcm26-toc-bottom span {
    background: linear-gradient(90deg, rgba(240,209,99,.60), rgba(255,255,255,.12));
}

body > .dgcm26-toc-card.dgcm26-floating {
    box-shadow: 0 28px 78px rgba(5,32,23,.25);
}

/* ---------- CONTENT TYPOGRAPHY ---------- */
.dgcm26-content {
    color: #3a4940;
    font-size: 14px;
    line-height: 2.12;
}

.dgcm26-content p,
.dgcm26-feature p,
.dgcm26-lead p,
.dgcm26-quote p {
    word-spacing: -0.018em;
}

.dgcm26-content strong {
    color: #1e3d2f;
    font-weight: 800;
}

.dgcm26-content a {
    color: #176742;
    text-decoration-color: rgba(23,103,66,.28);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    font-weight: 700;
    transition: color .2s ease, text-decoration-color .2s ease, background .2s ease;
}

.dgcm26-content a:hover {
    color: #9b7919;
    text-decoration-color: rgba(155,121,25,.46);
    background: linear-gradient(180deg, transparent 62%, rgba(240,209,99,.14) 62%);
}

/* ---------- EDITORIAL SECTIONS ---------- */
.dgcm26-section {
    margin: 0 0 30px;
    padding: 31px 32px 32px;
    border: 1px solid rgba(20,82,52,.075);
    border-radius: 22px;
    background: rgba(255,255,255,.88);
    box-shadow:
        0 14px 38px rgba(19,64,44,.045),
        inset 0 1px 0 rgba(255,255,255,.92);
}

.dgcm26-section::before {
    content: "";
    position: absolute;
    top: 0;
    right: 28px;
    width: 58px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2e704d 0%, #d1b44e 100%);
    opacity: .76;
}

.dgcm26-intro {
    padding-top: 32px;
    background:
        radial-gradient(circle at 92% 0%, rgba(45,112,77,.075), transparent 25%),
        linear-gradient(145deg, rgba(255,255,255,.93), rgba(248,250,247,.92));
}

.dgcm26-intro > p:first-child::first-letter {
    float: right;
    margin: 10px 0 0 12px;
    color: #1f6443;
    font-size: 48px;
    line-height: .76;
    text-shadow: 0 5px 18px rgba(31,100,67,.08);
}

.dgcm26-subsection {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px dashed rgba(28,91,60,.14);
}

/* ---------- H2 / H3 ---------- */
.dgcm26-heading {
    gap: 13px;
    margin-bottom: 20px;
}

.dgcm26-heading-number {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin-top: 0;
    border: 1px solid rgba(240,209,99,.38);
    background: linear-gradient(145deg, #0f4b36, #163d30);
    color: #f0d163;
    box-shadow: 0 8px 20px rgba(15,75,54,.10);
    font-size: 10px;
}

.dgcm26-heading small {
    margin-bottom: 2px;
    color: #9c9f98;
    font-size: 8px;
    letter-spacing: 1.25px;
}

.dgcm26-article .dgcm26-content h2,
.dgcm26-article .dgcm26-heading h2 {
    padding-bottom: 10px;
    color: #245f43;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0;
}

.dgcm26-heading h2::after {
    width: 48px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, #d3b850 0%, #2e704d 100%);
}

.dgcm26-article .dgcm26-content h3,
.dgcm26-article .dgcm26-subsection > h3,
.dgcm26-article .dgcm26-feature h3 {
    color: #286248;
    font-size: 16px;
    line-height: 1.85;
    letter-spacing: 0;
}

.dgcm26-subsection > h3 {
    gap: 10px;
    margin-bottom: 14px;
}

.dgcm26-subsection > h3 > span {
    flex-basis: 28px;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(43,102,72,.11);
    background: #f1f6f2;
    color: #8c741b;
}

/* ---------- FIGURES ---------- */
.dgcm26-figure {
    position: relative;
    margin: 30px 0 34px;
    padding: 8px 8px 0;
    border: 1px solid rgba(23,82,54,.08);
    border-radius: 21px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 18px 44px rgba(16,57,39,.065);
}

.dgcm26-image {
    overflow: hidden;
    border-radius: 15px;
    background: linear-gradient(135deg, #eef2ee, #e4e9e5);
}

.dgcm26-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
    border-radius: inherit;
}

.dgcm26-image img {
    transition: transform .55s ease, filter .55s ease;
}

.dgcm26-image:hover img {
    transform: scale(1.012);
    filter: saturate(1.03) contrast(1.015);
}

.dgcm26-figure figcaption {
    position: relative;
    max-width: 100%;
    margin: 0;
    padding: 11px 34px 12px 16px;
    color: #78847b;
    text-align: right;
    font-size: 9px;
    font-style: normal;
    line-height: 1.9;
}

.dgcm26-figure figcaption::before {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 7px;
    height: 7px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #d1b44e;
    box-shadow: 0 0 0 5px rgba(209,180,78,.09);
}

/* ---------- FEATURE BLOCKS ---------- */
.dgcm26-feature {
    position: relative;
    grid-template-columns: 42px minmax(0,1fr);
    gap: 14px;
    margin-top: 18px;
    padding: 20px 18px 20px 18px;
    overflow: hidden;
    border: 1px solid rgba(24,83,55,.08);
    border-radius: 16px;
    background: linear-gradient(145deg, #f8faf8 0%, #f3f7f4 100%);
}

.dgcm26-feature::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, #2e704d 0%, #d1b44e 100%);
}

.dgcm26-feature > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-top: 1px;
    border: 1px solid rgba(46,112,77,.11);
    border-radius: 50%;
    background: #fff;
    color: #a18522;
    font-size: 11px;
    box-shadow: 0 7px 16px rgba(20,74,49,.05);
}

.dgcm26-feature h3 {
    margin-bottom: 6px;
}

/* ---------- LEAD / QUOTE ---------- */
.dgcm26-lead {
    gap: 14px;
    margin-top: 26px;
    padding: 16px 18px;
    border: 1px solid rgba(43,102,72,.08);
    border-radius: 14px;
    background: #f4f8f5;
}

.dgcm26-lead > span {
    border-radius: 999px;
    background: linear-gradient(180deg, #2e704d, #d1b44e);
}

.dgcm26-lead p {
    color: #4d6758;
    font-size: 14px;
    font-style: normal;
}

.dgcm26-quote,
.dgcm26-content blockquote {
    position: relative;
    margin: 28px 0 0;
    padding: 24px 27px 23px;
    overflow: hidden;
    border: 1px solid rgba(46,112,77,.10);
    border-right: 3px solid #2e704d;
    border-radius: 16px;
    background:
        radial-gradient(circle at 8% 0%, rgba(209,180,78,.09), transparent 32%),
        #f3f8f4;
}

.dgcm26-quote p,
.dgcm26-content blockquote p {
    margin: 0;
    color: #476053;
    font-size: 14px;
}

/* ---------- LISTS / TABLES ---------- */
.dgcm26-content ul,
.dgcm26-content ol {
    margin: 20px 0 24px;
    padding-right: 22px;
}

.dgcm26-content li {
    margin-bottom: 8px;
    line-height: 2;
}

.dgcm26-content li::marker {
    color: #a88a26;
    font-weight: 800;
}

.dgcm26-content table {
    width: 100%;
    margin: 26px 0 32px;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid rgba(30,86,58,.10);
    border-radius: 14px;
    background: #fff;
}

.dgcm26-content th,
.dgcm26-content td {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(30,86,58,.08);
    text-align: right;
    vertical-align: top;
}

.dgcm26-content th {
    background: #eef5f0;
    color: #245f43;
    font-weight: 800;
}

.dgcm26-content tr:last-child td {
    border-bottom: 0;
}

/* ---------- ARTICLE END ---------- */
.dgcm26-end {
    gap: 14px;
    margin-top: 48px;
    padding: 22px 18px;
    border: 1px solid rgba(24,82,55,.08);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
}

.dgcm26-end > span {
    flex: 1 1 auto;
    max-width: 90px;
    background: linear-gradient(90deg, transparent, rgba(46,112,77,.22), rgba(209,180,78,.34));
}

.dgcm26-end strong {
    color: #315f47;
    font-weight: 700;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1050px) {
    .dgcm26-layout {
        display: flex;
        flex-direction: column;
        gap: 28px;
        width: calc(100% - 28px);
        padding: 34px 0 74px;
    }

    .dgcm26-toc-slot {
        width: 100%;
        min-width: 0;
    }

    .dgcm26-toc-card,
    body > .dgcm26-toc-card.dgcm26-floating,
    .dgcm26-toc-slot > .dgcm26-toc-card.dgcm26-stopped {
        border-radius: 20px;
    }

    .dgcm26-toc-nav {
        max-height: 330px;
    }

    .dgcm26-content {
        width: 100%;
    }

    .dgcm26-section {
        margin-bottom: 22px;
        padding: 26px 24px 27px;
        border-radius: 18px;
    }

    .dgcm26-article .dgcm26-hero-content {
        width: calc(100% - 24px);
        max-width: none;
        right: 12px;
        bottom: 12px;
        padding: 18px 18px 20px;
        border-radius: 22px;
    }

    .dgcm26-article .dgcm26-hero h1 {
        font-size: 22px;
        line-height: 1.52;
        white-space: normal;
    }
}

@media (max-width: 620px) {
    .dgcm26-layout {
        width: calc(100% - 20px);
        gap: 20px;
        padding-top: 22px;
    }

    .dgcm26-section {
        padding: 22px 17px 23px;
        border-radius: 16px;
    }

    .dgcm26-section::before {
        right: 18px;
        width: 42px;
    }

    .dgcm26-heading {
        gap: 10px;
    }

    .dgcm26-heading-number {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .dgcm26-article .dgcm26-content h2,
    .dgcm26-article .dgcm26-heading h2 {
        font-size: 18px;
    }

    .dgcm26-article .dgcm26-content h3,
    .dgcm26-article .dgcm26-subsection > h3,
    .dgcm26-article .dgcm26-feature h3 {
        font-size: 16px;
    }

    .dgcm26-feature {
        grid-template-columns: 34px minmax(0,1fr);
        gap: 10px;
        padding: 17px 14px 17px 15px;
    }

    .dgcm26-feature > span {
        width: 30px;
        height: 30px;
    }

    .dgcm26-figure {
        padding: 6px 6px 0;
        border-radius: 16px;
    }

    .dgcm26-image {
        border-radius: 11px;
    }

    .dgcm26-figure figcaption {
        padding: 10px 28px 11px 12px;
        font-size: 9px;
    }

    .dgcm26-article .dgcm26-hero-content {
        width: calc(100% - 16px);
        right: 8px;
        bottom: 8px;
        padding: 15px 15px 17px;
        border-radius: 18px;
    }

    .dgcm26-article .dgcm26-hero-label {
        min-height: 27px;
        margin-bottom: 10px;
        padding: 5px 11px;
        font-size: 9px;
    }

    .dgcm26-article .dgcm26-hero h1 {
        font-size: 22px;
        line-height: 1.48;
    }

    .dgcm26-article .dgcm26-hero-content > p {
        margin-top: 10px;
        font-size: 12px;
        line-height: 1.78;
    }

    .dgcm26-article .dgcm26-hero-line {
        width: 150px;
        margin-top: 14px;
    }
}

/* END — DGCM26 FINAL PREMIUM EDITORIAL SYSTEM v1.16.07 */

/* =========================================================
   DGCM26 ARTICLE — MOBILE HERO COMPACT / SINGLE-LINE H1
   v1.16.09
   Keep H1 on one line and reduce glass-panel height so the hero image remains visible.
========================================================= */

@media (max-width: 640px) {
    .dgcm26-article .dgcm26-hero-content {
        width: calc(100% - 12px);
        right: 6px;
        bottom: 6px;
        padding: 11px 13px 12px;
        border-radius: 16px;
        background:
            linear-gradient(
                135deg,
                rgba(4, 36, 24, 0.64) 0%,
                rgba(5, 24, 17, 0.56) 100%
            );
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .dgcm26-article .dgcm26-hero-content::after {
        right: 18px;
        width: 78px;
        height: 2px;
    }

    .dgcm26-article .dgcm26-hero-label {
        min-height: 23px;
        margin-bottom: 7px;
        padding: 4px 9px;
        font-size: 8.5px;
        line-height: 1.35;
    }

    .dgcm26-article .dgcm26-hero h1 {
        width: 100%;
        max-width: 100%;
        margin: 0;
        font-size: clamp(13px, 4vw, 17px);
        line-height: 1.45;
        letter-spacing: -0.035em;
        white-space: nowrap;
        text-wrap: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }

    .dgcm26-article .dgcm26-hero h1 span {
        display: inline;
        margin: 0;
        white-space: inherit;
    }

    .dgcm26-article .dgcm26-hero-content > p {
        margin-top: 7px;
        font-size: 10.5px;
        line-height: 1.6;
    }

    .dgcm26-article .dgcm26-hero-line {
        width: 128px;
        margin-top: 9px;
        gap: 6px;
    }

    .dgcm26-article .dgcm26-hero-line i {
        width: 6px;
        height: 6px;
        box-shadow: 0 0 0 4px rgba(244, 216, 109, 0.11);
    }
}

@media (max-width: 360px) {
    .dgcm26-article .dgcm26-hero h1 {
        font-size: 12.5px;
        letter-spacing: -0.045em;
    }

    .dgcm26-article .dgcm26-hero-content > p {
        font-size: 10px;
    }
}

/* END — MOBILE HERO COMPACT v1.16.09 */

