.elementor-13129 .elementor-element.elementor-element-06d5c2b{--display:flex;}/* Start custom CSS for html, class: .elementor-element-ed22941 */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,600;1,700&display=swap');

#ecosystem-article {
    --eco-blue: #6f2d28;
    --eco-blue-dark: #3b211f;
    --eco-cream: #fcf3ea;
    --eco-cream-soft: #fff9f2;
    --eco-burgundy: #6f2d28;
    --eco-burgundy-dark: #3a1d1b;
    --eco-cocoa: #60433a;
    --eco-copper: #a9563d;
    --eco-copper-light: #d79563;
    --eco-gold: #c67152;
    --eco-gold-soft: #f0c49a;
    --eco-ink: #1f2a38;
    --eco-muted: #64554f;
    --eco-border: rgba(111, 45, 40, .24);
    position: relative;
    isolation: isolate;
    font-family: 'Montserrat', Arial, sans-serif;
    color: var(--eco-ink);
    background: transparent;
    padding: 28px 18px;
}
body:has(#ecosystem-article) {
    background: #f4e5d9 !important;
    overflow-x: clip !important;
}
#ecosystem-article:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background:
        radial-gradient(circle at 12% 0%, rgba(169, 86, 61, .13), transparent 28%),
        radial-gradient(circle at 90% 18%, rgba(111, 45, 40, .08), transparent 30%),
        linear-gradient(135deg, #f7ebe2 0%, #efe0d4 100%);
}

#ecosystem-article * { box-sizing: border-box; }
#ecosystem-article .eco-wrap { position: relative; z-index: 1; max-width: 960px; margin: 24px auto; }
#ecosystem-article [id] { scroll-margin-top: 138px; }
#ecosystem-article h2,
#ecosystem-article h3 {
    font-family: 'Playfair Display', Georgia, serif;
    color: var(--eco-blue);
    line-height: 1.24;
    letter-spacing: 0;
}
#ecosystem-article h2 {
    font-size: 30px;
    font-weight: 800;
    margin: 0 0 18px;
}
#ecosystem-article h3 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 14px;
}
#ecosystem-article p,
#ecosystem-article li {
    font-size: 17px;
    line-height: 1.72;
}
#ecosystem-article p { margin: 0 0 16px; }
#ecosystem-article ul,
#ecosystem-article ol { margin: 0; padding: 0; }
#ecosystem-article a { color: var(--eco-blue); font-weight: 700; }
#ecosystem-article .eco-label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0 0 18px;
    padding: 9px 16px;
    border-radius: 999px;
    border: 1px solid rgba(111, 45, 40, .2);
    background: #fcf3ea;
    color: var(--eco-blue);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#ecosystem-article .eco-mark {
    color: var(--eco-burgundy);
    font-weight: 800;
    background: linear-gradient(180deg, transparent 45%, rgba(241, 208, 189, .98) 45%);
    padding: 0 3px;
    border-radius: 4px;
}

#ecosystem-article .eco-lead {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid rgba(198, 113, 82, .46);
    background:
        radial-gradient(circle at 86% 20%, rgba(198, 113, 82, .24), transparent 28%),
        radial-gradient(circle at 12% 92%, rgba(252, 243, 234, .12), transparent 32%),
        linear-gradient(135deg, #2b211f 0%, #4b2622 46%, #6f2d28 100%);
    padding: 54px 42px 58px;
    margin: 0 0 28px;
    color: #fffaf2;
    box-shadow: none;
}
#ecosystem-article .eco-lead:before,
#ecosystem-article .eco-lead:after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(198, 113, 82, .24);
    background: radial-gradient(circle, rgba(252, 243, 234, .11), rgba(198, 113, 82, .03) 62%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
#ecosystem-article .eco-lead:before { right: -82px; top: -76px; }
#ecosystem-article .eco-lead:after { left: -92px; bottom: -120px; width: 280px; height: 280px; }
#ecosystem-article .eco-lead > * { position: relative; z-index: 1; }
#ecosystem-article .eco-hero-copy {
    max-width: 780px;
    margin: 0 auto;
}
#ecosystem-article .eco-lead .eco-label {
    color: var(--eco-gold-soft);
    background: transparent;
    border-color: rgba(215, 149, 99, .6);
}
#ecosystem-article .eco-lead h2 {
    max-width: 760px;
    color: #fff8ef;
    font-size: 36px;
    margin-bottom: 20px;
}
#ecosystem-article .eco-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 34px;
    color: rgba(255, 250, 242, .84);
    font-size: 12px;
    font-weight: 700;
}
#ecosystem-article .eco-article-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    border: 1px solid rgba(240, 196, 154, .34);
    border-radius: 999px;
    background: rgba(255, 249, 242, .08);
    padding: 7px 12px;
}
#ecosystem-article .eco-article-meta strong {
    margin-left: 4px;
    color: #fffaf2;
    font-family: 'Montserrat', Arial, sans-serif;
    font-weight: 900;
}
#ecosystem-article .eco-article-meta .eco-meta-reading {
    background: var(--eco-gold-soft);
    color: var(--eco-burgundy-dark);
    border-color: var(--eco-gold-soft);
}
#ecosystem-article .eco-article-meta .eco-meta-reading strong {
    color: var(--eco-burgundy-dark);
}
#ecosystem-article .eco-lead p {
    max-width: 760px;
    color: rgba(255, 250, 242, .92);
    font-size: 18px;
}
#ecosystem-article .eco-inline-link {
    color: var(--eco-burgundy);
    font-weight: 800;
    text-decoration-line: underline;
    text-decoration-color: var(--eco-copper-light);
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}
#ecosystem-article .eco-inline-link:hover,
#ecosystem-article .eco-inline-link:focus-visible {
    color: var(--eco-burgundy-dark);
    text-decoration-color: var(--eco-burgundy);
}
#ecosystem-article .eco-lead .eco-inline-link {
    color: #fffaf2;
    text-decoration-color: var(--eco-gold-soft);
}
#ecosystem-article .eco-link-cue {
    font-weight: 900;
    white-space: nowrap;
}
#ecosystem-article .eco-orbit {
    position: relative;
    width: min(100%, 360px);
    aspect-ratio: 1;
    margin: 28px auto 58px;
    border-radius: 50%;
    border: 1px solid rgba(241, 212, 154, .34);
    background:
        radial-gradient(circle at center, rgba(252, 243, 234, .12) 0 28%, transparent 29%),
        radial-gradient(circle at center, transparent 0 53%, rgba(241, 212, 154, .14) 54% 55%, transparent 56%);
}
#ecosystem-article .eco-orbit-center {
    position: absolute;
    inset: 50%;
    width: 144px;
    height: 144px;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--eco-cream);
    color: var(--eco-burgundy);
    border: 1px solid rgba(198, 113, 82, .58);
    box-shadow: none;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
}
#ecosystem-article .eco-orbit-node {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 94px;
    height: 94px;
    border-radius: 50%;
    background: rgba(252, 243, 234, .92);
    color: var(--eco-burgundy);
    border: 1px solid rgba(198, 113, 82, .48);
    box-shadow: none;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    text-align: center;
    white-space: nowrap;
}
#ecosystem-article .eco-orbit-node.n1 { top: 0; left: 50%; transform: translate(-50%, -16%); }
#ecosystem-article .eco-orbit-node.n2 { right: 0; top: 32%; transform: translate(16%, -50%); }
#ecosystem-article .eco-orbit-node.n3 { right: 14%; bottom: 0; transform: translate(12%, 16%); }
#ecosystem-article .eco-orbit-node.n4 { left: 14%; bottom: 0; transform: translate(-12%, 16%); }
#ecosystem-article .eco-orbit-node.n5 { left: 0; top: 32%; transform: translate(-16%, -50%); }
#ecosystem-article .eco-toc,
#ecosystem-article .eco-section,
#ecosystem-article .eco-quote {
    border-radius: 8px;
    border: 1px solid var(--eco-border);
    box-shadow: none;
}
#ecosystem-article .eco-toc {
    background: linear-gradient(135deg, #f0dfd0 0%, #f8eadf 100%);
    border-left: 4px solid var(--eco-blue);
    padding: 26px;
    margin: 0 0 28px;
}
#ecosystem-article .eco-toc h2 { font-size: 27px; margin-bottom: 16px; }
#ecosystem-article .eco-toc-list {
    display: grid;
    gap: 9px;
    background: rgba(255,255,255,.9);
    border-radius: 8px;
    padding: 18px;
}
#ecosystem-article .eco-toc-row {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 12px;
    align-items: start;
}
#ecosystem-article .eco-toc-num {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--eco-burgundy-dark), var(--eco-burgundy));
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}
#ecosystem-article .eco-toc a {
    display: block;
    border-radius: 8px;
    padding: 3px 7px;
    color: var(--eco-ink);
    text-decoration: none;
    font-size: 16px;
    line-height: 1.45;
}
#ecosystem-article .eco-toc a:hover,
#ecosystem-article .eco-toc a:focus-visible,
#ecosystem-article .eco-toc a.is-active {
    background: #f8eadf;
    color: var(--eco-burgundy);
    text-decoration: underline;
    text-decoration-color: var(--eco-copper-light);
    text-underline-offset: 3px;
}

#ecosystem-article .eco-section {
    background: #fffdf9;
    padding: 32px;
    margin: 0 0 28px;
}
#ecosystem-article .eco-section.cream {
    background: linear-gradient(135deg, var(--eco-cream) 0%, #fffaf5 100%);
    border-color: rgba(127, 32, 32, .14);
}
#ecosystem-article .eco-entry {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 30px;
    align-items: stretch;
    background: #fffdf9;
    border-color: rgba(111, 45, 40, .22);
    padding: 0;
    overflow: hidden;
}
#ecosystem-article .eco-entry-side {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 22px;
    background:
        radial-gradient(circle at 80% 20%, rgba(240, 196, 154, .26), transparent 34%),
        linear-gradient(180deg, #5b241f 0%, #8c4433 54%, #c67152 100%);
    color: #fff8ef;
    text-align: center;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.08;
}
#ecosystem-article .eco-entry-body {
    padding: 32px 32px 32px 0;
}
#ecosystem-article .eco-entry-points-title {
    position: relative;
    margin: 26px 0 14px;
    border-left: 5px solid #557765;
    border-radius: 8px;
    background: #e7efe9;
    color: #274a42;
    padding: 13px 16px;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
#ecosystem-article .eco-entry-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 4px;
}
#ecosystem-article .eco-entry-points > .eco-entry-point,
#ecosystem-article .eco-entry-points > span {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .72);
    background:
        linear-gradient(135deg, rgba(255, 253, 249, .86), rgba(252, 243, 234, .58));
    color: var(--eco-burgundy);
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .03em;
    backdrop-filter: blur(8px);
}
#ecosystem-article .eco-entry-points > .eco-entry-point:before,
#ecosystem-article .eco-entry-points > span:before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #5b241f, #a9563d 58%, #d79563);
}
#ecosystem-article .eco-entry-points > .eco-entry-point:after,
#ecosystem-article .eco-entry-points > span:after {
    content: "";
    position: absolute;
    left: 16%;
    top: -40%;
    width: 70%;
    height: 90%;
    border-radius: 50%;
    background: rgba(255, 255, 255, .28);
    pointer-events: none;
}
#ecosystem-article .eco-entry-links {
    margin-top: 22px;
    border-top: 1px solid rgba(111, 45, 40, .13);
    padding-top: 18px;
}
#ecosystem-article .eco-entry-link-note {
    margin-bottom: 14px;
    color: var(--eco-burgundy);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 20px;
    font-weight: 800;
}
#ecosystem-article .eco-entry-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
#ecosystem-article .eco-entry-buttons a {
    display: grid;
    gap: 5px;
    align-content: center;
    min-height: 116px;
    border-radius: 10px;
    border: 1px solid rgba(169, 86, 61, .3);
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 149, 99, .16), transparent 44%),
        #fffdf9;
    color: var(--eco-burgundy);
    padding: 18px;
    font-size: 12px;
    text-decoration: none;
}
#ecosystem-article .eco-entry-buttons a:nth-child(2) {
    border-color: rgba(85, 119, 101, .34);
    background:
        radial-gradient(circle at 100% 0%, rgba(85, 119, 101, .16), transparent 44%),
        #f8fbf8;
    color: #274a42;
}
#ecosystem-article .eco-entry-buttons strong {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 20px;
    line-height: 1.2;
}
#ecosystem-article .eco-entry-buttons span {
    color: var(--eco-muted);
    font-weight: 600;
    line-height: 1.45;
}
#ecosystem-article .eco-entry-buttons em {
    margin-top: 4px;
    color: inherit;
    font-style: normal;
    font-weight: 900;
    text-decoration: underline;
    text-decoration-color: var(--eco-copper-light);
    text-underline-offset: 3px;
}
#ecosystem-article .eco-insight {
    position: relative;
    overflow: hidden;
    padding: 32px 36px 32px 60px;
    border-color: rgba(111, 45, 40, .22);
    background: #fffdf9;
}
#ecosystem-article .eco-insight:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 16px;
    height: auto;
    transform: none;
    border-radius: 0;
    background: linear-gradient(180deg, #5b241f, #a9563d 56%, #d79563);
}
#ecosystem-article .eco-insight:after {
    content: none;
}
#ecosystem-article .eco-insight > * {
    position: relative;
    z-index: 1;
}
#ecosystem-article .eco-insight p {
    max-width: 720px;
}
#ecosystem-article .eco-section.dark {
    border-color: rgba(111, 45, 40, .2);
    background:
        radial-gradient(circle at 12% 0%, rgba(215, 149, 99, .14), transparent 28%),
        rgba(252, 243, 234, .72);
    color: var(--eco-ink);
}
#ecosystem-article .eco-section.dark h2,
#ecosystem-article .eco-section.dark h3 { color: var(--eco-burgundy); }
#ecosystem-article .eco-section.dark p,
#ecosystem-article .eco-section.dark li { color: var(--eco-muted); }

#ecosystem-article .eco-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 20px;
}
#ecosystem-article .eco-check {
    position: relative;
    min-height: 54px;
    border-radius: 8px;
    background: #fffdf9;
    border: 1px solid rgba(111, 45, 40, .11);
    padding: 13px 14px 13px 40px;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 600;
    color: var(--eco-ink);
}
#ecosystem-article .eco-check:before {
    content: "";
    position: absolute;
    left: 15px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--eco-gold);
    box-shadow: none;
    transform: translateY(-50%);
}
#ecosystem-article .eco-after-grid {
    margin-top: 20px;
}

#ecosystem-article .eco-path {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 22px 0 22px;
    padding: 22px;
    border-radius: 8px;
    background: rgba(252, 243, 234, .58);
    border: 1px solid rgba(111, 45, 40, .12);
    counter-reset: client-path;
}
#ecosystem-article .eco-path-note {
    margin-top: 18px;
    margin-bottom: 0;
}
#ecosystem-article .eco-path > .eco-path-item,
#ecosystem-article .eco-path > span {
    position: relative;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-start;
    min-height: 48px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.66);
    background: rgba(255,253,249,.72);
    color: var(--eco-burgundy);
    padding: 10px 14px 10px 10px;
    text-align: left;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    backdrop-filter: blur(8px);
}
#ecosystem-article .eco-path > .eco-path-item:before,
#ecosystem-article .eco-path > span:before {
    counter-increment: client-path;
    content: counter(client-path, decimal-leading-zero);
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff8ef;
    background: linear-gradient(180deg, #5b241f, #a9563d 58%, #d79563);
    font-size: 13px;
}

#ecosystem-article .eco-quote {
    position: relative;
    background:
        radial-gradient(circle at 8% 12%, rgba(169, 86, 61, .12), transparent 26%) padding-box,
        linear-gradient(#fffdf9, #fffdf9) padding-box,
        linear-gradient(135deg, #5b241f, #a9563d, #d79563) border-box;
    border: 2px solid transparent;
    padding: 32px 36px 32px 108px;
    margin: 0 0 28px;
}
#ecosystem-article .eco-quote:before {
    content: "“";
    position: absolute;
    left: 30px;
    top: 12px;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: rgba(169, 86, 61, .22);
    font-family: Georgia, serif;
    font-size: 120px;
    line-height: 1;
    box-shadow: none;
}
#ecosystem-article .eco-quote p {
    color: var(--eco-blue);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.58;
    margin: 0;
}
#ecosystem-article .eco-quote-author {
    margin-top: 18px;
    color: var(--eco-burgundy);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .08em;
    text-align: right;
    text-transform: uppercase;
}
#ecosystem-article .eco-quote {
    overflow: hidden;
    background:
        radial-gradient(circle at 94% 12%, rgba(240, 196, 154, .16), transparent 28%),
        linear-gradient(135deg, #24463f 0%, #315a50 100%);
    border-color: rgba(240, 196, 154, .56);
    padding: 34px 40px 34px 106px;
}
#ecosystem-article .eco-quote:before {
    color: rgba(240, 196, 154, .34);
}
#ecosystem-article .eco-quote-kicker {
    width: fit-content;
    margin: 0 0 16px;
    border: 1px solid rgba(240, 196, 154, .48);
    border-radius: 999px;
    color: var(--eco-gold-soft);
    padding: 7px 12px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#ecosystem-article .eco-quote p {
    color: #fffaf2;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.65;
}
#ecosystem-article .eco-quote-author {
    color: var(--eco-gold-soft);
}

#ecosystem-article figure.eco-image {
    margin: 36px 0 42px;
    padding: 18px;
    border-radius: 8px;
    background: var(--eco-cream);
    border: 1px solid rgba(111, 45, 40, .18);
    box-shadow: 0 12px 24px -22px rgba(58, 29, 27, .5);
}
#ecosystem-article figure.eco-image a { display: block; }
#ecosystem-article figure.eco-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    cursor: zoom-in;
}
#ecosystem-article figure.eco-image figcaption {
    margin-top: 12px;
    color: var(--eco-muted);
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}
#ecosystem-article figure.eco-image figcaption strong {
    color: var(--eco-burgundy);
    font-weight: 800;
}
#ecosystem-article .eco-zoom-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 16px;
    border: 1px solid rgba(111, 45, 40, .18);
    border-radius: 999px;
    background: #efe7df;
    color: var(--eco-burgundy);
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
}
#ecosystem-article .eco-zoom-hint-bottom {
    display: flex;
    margin: 16px auto 0;
}

#ecosystem-article .eco-author-photo img {
    cursor: zoom-in;
}
#ecosystem-article .eco-lightbox-modal[hidden] {
    display: none !important;
}
#ecosystem-article .eco-lightbox-modal {
    position: fixed !important;
    z-index: 999999 !important;
    inset: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px;
    background: rgba(34, 24, 23, .88);
}
#ecosystem-article .eco-lightbox-frame {
    position: relative;
    width: auto;
    max-width: 96vw;
    max-height: 92vh;
    display: grid;
    gap: 12px;
    justify-items: center;
}
#ecosystem-article .eco-lightbox-frame img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 82vh;
    object-fit: contain;
    border-radius: 8px;
    background: #fffdf9;
}
#ecosystem-article .eco-lightbox-caption {
    max-width: 900px;
    color: rgba(255, 250, 242, .88);
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}
#ecosystem-article .eco-lightbox-close {
    position: absolute;
    z-index: 2;
    right: 8px;
    top: 8px;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(240, 196, 154, .76);
    border-radius: 999px;
    background: rgba(111, 45, 40, .94);
    color: #fff8ef;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(26, 12, 11, .34);
}
#ecosystem-article .eco-lightbox-close:hover,
#ecosystem-article .eco-lightbox-close:focus-visible {
    background: #3a1d1b;
    outline: 3px solid rgba(240, 196, 154, .72);
    outline-offset: 2px;
}

#ecosystem-article .eco-format-list {
    display: grid;
    gap: 0;
    margin: 26px 0 28px;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid var(--eco-border);
    background: #fffdf9;
    box-shadow: none;
}
#ecosystem-article .eco-format-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    overflow: hidden;
    border-radius: 0;
    border: 0;
    background: #fffdf9;
    box-shadow: none;
}
#ecosystem-article .eco-format-card + .eco-format-card {
    border-top: 1px solid rgba(111, 45, 40, .11);
}
#ecosystem-article .eco-format-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    background:
        linear-gradient(
            180deg,
            #5b241f 0%,
            #733026 16%,
            #8c4433 34%,
            #a9563d 52%,
            #c67152 70%,
            #d79563 86%,
            #b96545 100%
        );
    background-size: auto;
    background-position: center;
    color: #fff;
    padding: 30px 18px;
    border-right: 1px solid rgba(111, 45, 40, .11);
    box-shadow: none;
}
#ecosystem-article .eco-format-side strong {
    display: block;
    color: #fff9f2;
    font-size: 46px;
    line-height: 1;
    margin-bottom: 10px;
}
#ecosystem-article .eco-format-side span {
    display: block;
    color: rgba(255, 249, 242, .92);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
#ecosystem-article .eco-format-body {
    padding: 32px 34px;
}
#ecosystem-article .eco-format-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 0 0 16px;
}
#ecosystem-article .eco-format-tags span {
    border-radius: 999px;
    background: #f8eadf;
    border: 1px solid rgba(111, 45, 40, .18);
    color: var(--eco-burgundy);
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 800;
}
#ecosystem-article .eco-format-icon {
    width: 188px;
    max-width: 48%;
    margin: 22px auto;
}
#ecosystem-article .eco-format-icon img {
    display: block;
    width: 100%;
    height: auto;
}
#ecosystem-article .eco-format-body > h3 {
    text-align: center;
}
#ecosystem-article .eco-format-body ul {
    display: grid;
    gap: 6px;
    margin: 14px 0 20px;
    padding: 10px;
    border-radius: 8px;
    background: rgba(252, 243, 234, .58);
    border: 1px solid rgba(111, 45, 40, .1);
    list-style: none;
}
#ecosystem-article .eco-format-body li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 42px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.7);
    background: rgba(255,253,249,.78);
    padding: 8px 12px 8px 40px;
    font-size: 14px;
    line-height: 1.42;
}
#ecosystem-article .eco-format-body li:before {
    content: "•";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(180deg, #5b241f, #a9563d 58%, #d79563);
    color: #fffaf2;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
}
#ecosystem-article .eco-list-arrow li:before { content: "›"; font-size: 20px; }
#ecosystem-article .eco-list-diagnostic li:before { content: "◎"; background: #6a8874; }
#ecosystem-article .eco-list-check li:before { content: "✓"; background: #557765; }
#ecosystem-article .eco-list-cycle li:before { content: "✦"; background: #9d6d43; }
#ecosystem-article .eco-list-step li:before { content: "→"; background: #8b4b3e; }
#ecosystem-article .eco-list-question li:before { content: "?"; background: #6f2d28; }
#ecosystem-article .eco-format-action {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    margin-top: 4px;
    border-radius: 999px;
    border: 1px solid rgba(111, 45, 40, .24);
    background: #f8eadf;
    color: var(--eco-burgundy);
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 900;
    text-decoration: underline;
    text-decoration-color: var(--eco-copper-light);
    text-underline-offset: 3px;
}
#ecosystem-article .eco-format-note {
    position: relative;
    margin: 18px 0 22px;
    border-radius: 8px;
    border: 1px solid rgba(169, 86, 61, .28);
    background:
        linear-gradient(135deg, rgba(252, 243, 234, .95), rgba(255, 253, 249, .92));
    padding: 16px 18px 16px 26px;
}
#ecosystem-article .eco-format-note:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 7px;
    background: linear-gradient(180deg, #5b241f, #a9563d 58%, #d79563);
}
#ecosystem-article .eco-format-note p {
    margin: 0;
    color: var(--eco-ink);
    font-weight: 600;
}
#ecosystem-article .eco-format-body ul:last-child,
#ecosystem-article .eco-format-note:last-child {
    margin-bottom: 0;
}

#ecosystem-article .eco-cta {
    margin: 28px 0;
    border-radius: 8px;
    border: 1px solid rgba(215, 149, 99, .56);
    background:
        radial-gradient(circle at 100% 0%, rgba(240, 196, 154, .28), transparent 30%),
        radial-gradient(circle at 0% 100%, rgba(252, 243, 234, .08), transparent 32%),
        linear-gradient(135deg, #2a211f 0%, #42231f 46%, #6f2d28 100%);
    color: #fff8ef;
    padding: 34px;
    text-align: center;
}
#ecosystem-article .eco-cta h2 { color: #fff8ef; margin-bottom: 10px; }
#ecosystem-article .eco-cta p {
    max-width: 740px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255, 250, 242, .88);
}
#ecosystem-article .eco-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
}
#ecosystem-article .eco-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: 999px;
    padding: 12px 22px;
    border: 1px solid rgba(215, 149, 99, .62);
    background: linear-gradient(135deg, #f0c49a 0%, #d79563 100%);
    color: #17202b;
    font-size: 14px;
    font-weight: 900;
    text-transform: uppercase;
    text-decoration: none;
}
#ecosystem-article .eco-button.secondary {
    background: #fff8ef;
    color: var(--eco-burgundy-dark);
    border-color: rgba(240, 196, 154, .82);
}

#ecosystem-article .eco-offers {
    margin: 34px 0;
}
#ecosystem-article .eco-offers-intro {
    margin-bottom: 20px;
    border: 1px solid rgba(111, 45, 40, .2);
    border-radius: 10px;
    background: #fffdf9;
    padding: 30px;
    text-align: center;
}
#ecosystem-article .eco-offers-intro .eco-label {
    margin-left: auto;
    margin-right: auto;
}
#ecosystem-article .eco-offers-intro p {
    max-width: 720px;
    margin: 0 auto;
    color: var(--eco-muted);
}
#ecosystem-article .eco-offer {
    display: grid;
    grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
    overflow: hidden;
    margin-bottom: 22px;
    border: 1px solid rgba(111, 45, 40, .24);
    border-radius: 10px;
    background: #fffdf9;
    box-shadow: 0 18px 38px -30px rgba(58, 29, 27, .52);
}
#ecosystem-article .eco-offer-visual {
    display: grid;
    place-items: center;
    min-width: 0;
    padding: 32px;
}
#ecosystem-article .eco-offer-book .eco-offer-visual {
    background:
        radial-gradient(circle at 50% 10%, rgba(240, 196, 154, .2), transparent 42%),
        linear-gradient(150deg, #4b2622, #6f2d28);
}
#ecosystem-article .eco-offer-image {
    display: block;
    width: min(100%, 290px);
    color: inherit;
    text-decoration: none;
}
#ecosystem-article .eco-offer-image img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid rgba(240, 196, 154, .42);
    border-radius: 8px;
    box-shadow: 0 22px 44px rgba(30, 12, 14, .3);
    cursor: zoom-in;
}
#ecosystem-article .eco-offer-content {
    align-self: center;
    min-width: 0;
    padding: clamp(34px, 5vw, 54px);
}
#ecosystem-article .eco-offer-eyebrow {
    width: fit-content;
    margin: 0 0 16px;
    border: 1px solid rgba(111, 45, 40, .2);
    border-radius: 999px;
    background: #f8eadf;
    color: var(--eco-burgundy);
    padding: 8px 13px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#ecosystem-article .eco-offer h3 {
    margin-bottom: 18px;
    font-size: clamp(30px, 4vw, 40px);
}
#ecosystem-article .eco-offer p {
    color: var(--eco-muted);
    font-size: 15px;
    line-height: 1.65;
}
#ecosystem-article .eco-offer-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 20px 0;
}
#ecosystem-article .eco-offer-features span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 8px;
    border: 1px solid rgba(111, 45, 40, .14);
    background: #fcf3ea;
    color: var(--eco-burgundy);
    padding: 9px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}
#ecosystem-article .eco-offer-note {
    border-left: 4px solid var(--eco-copper-light);
    background: #fff8f2;
    padding: 12px 14px;
}
#ecosystem-article .eco-offer-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 6px;
    border-radius: 999px;
    padding: 12px 20px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}
#ecosystem-article .eco-offer-button-book {
    border: 1px solid var(--eco-gold);
    background: linear-gradient(135deg, #6f2d28, #a9563d);
    color: #fffaf2;
}
#ecosystem-article .eco-offer-program {
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
    border-color: rgba(240, 196, 154, .48);
    background:
        radial-gradient(circle at 6% 8%, rgba(240, 196, 154, .14), transparent 30%),
        linear-gradient(145deg, #203d37, #315a50);
}
#ecosystem-article .eco-offer-program .eco-offer-visual {
    background: rgba(13, 38, 31, .24);
}
#ecosystem-article .eco-offer-program .eco-offer-image img {
    max-height: 520px;
    object-fit: cover;
    object-position: center top;
}
#ecosystem-article .eco-offer-program .eco-offer-eyebrow {
    border-color: rgba(240, 196, 154, .42);
    background: rgba(255, 249, 242, .08);
    color: var(--eco-gold-soft);
}
#ecosystem-article .eco-offer-program h3 {
    color: #fffaf2;
}
#ecosystem-article .eco-offer-program h3 > span {
    color: var(--eco-gold-soft);
    font-family: 'Montserrat', Arial, sans-serif;
}
#ecosystem-article .eco-offer-program p {
    color: rgba(255, 250, 242, .84);
}
#ecosystem-article .eco-offer-program .eco-offer-quote {
    color: var(--eco-gold-soft);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    font-style: italic;
    line-height: 1.45;
}
#ecosystem-article .eco-offer-steps {
    display: grid;
    gap: 7px;
    margin: 22px 0;
}
#ecosystem-article .eco-offer-steps > div {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 80%;
    min-height: 44px;
    border: 1px solid rgba(240, 196, 154, .2);
    border-left: 3px solid var(--eco-gold-soft);
    border-radius: 6px;
    background: rgba(255, 253, 249, .07);
    color: rgba(255, 250, 242, .9);
    padding: 8px 12px;
    font-size: 12px;
}
#ecosystem-article .eco-offer-steps > div:nth-child(2) { margin-left: 5%; }
#ecosystem-article .eco-offer-steps > div:nth-child(3) { margin-left: 10%; }
#ecosystem-article .eco-offer-steps > div:nth-child(4) { margin-left: 15%; }
#ecosystem-article .eco-offer-steps > div:nth-child(5) { margin-left: 20%; }
#ecosystem-article .eco-offer-steps b {
    color: var(--eco-gold-soft);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 11px;
}
#ecosystem-article .eco-offer-steps span {
    font-weight: 700;
    line-height: 1.35;
}
#ecosystem-article .eco-offer-button-program {
    border: 1px solid var(--eco-gold-soft);
    background: linear-gradient(135deg, #f0c49a, #d79563);
    color: #274a42;
}
#ecosystem-article .eco-offer-button:hover,
#ecosystem-article .eco-offer-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(25, 15, 13, .2);
}

#ecosystem-article .eco-related {
    margin: 28px 0;
    border-radius: 8px;
    border: 1px solid rgba(111, 45, 40, .22);
    background: #fffdf9;
    padding: 30px;
}
#ecosystem-article .eco-related h2 { margin-bottom: 10px; }
#ecosystem-article .eco-related-intro {
    max-width: 720px;
    color: var(--eco-muted);
}
#ecosystem-article .eco-related-list {
    display: grid;
    gap: 0;
    margin-top: 22px;
    border-top: 1px solid rgba(111, 45, 40, .14);
}
#ecosystem-article .eco-related-item {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    border-bottom: 1px solid rgba(111, 45, 40, .14);
    padding: 18px 4px;
    color: var(--eco-ink);
    text-decoration: none;
}
#ecosystem-article .eco-related-item:hover,
#ecosystem-article .eco-related-item:focus-visible {
    background: #fcf3ea;
}
#ecosystem-article .eco-related-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--eco-burgundy);
    color: #fff8ef;
    font-size: 12px;
    font-weight: 900;
}
#ecosystem-article .eco-related-copy {
    display: grid;
    gap: 6px;
}
#ecosystem-article .eco-related-copy strong {
    color: var(--eco-ink);
    font-size: 15px;
    line-height: 1.45;
}
#ecosystem-article .eco-related-copy small {
    width: fit-content;
    color: var(--eco-burgundy);
    font-size: 13px;
    font-weight: 900;
    text-decoration: underline;
    text-decoration-color: var(--eco-copper-light);
    text-underline-offset: 3px;
}

#ecosystem-article .eco-author-card {
    display: block;
    margin: 0 0 12px;
    padding: 26px;
    border-radius: 8px;
    border: 1px solid rgba(111, 45, 40, .22);
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 149, 99, .16), transparent 28%),
        #fffdf9;
}
#ecosystem-article .eco-author-photo {
    display: block;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(169, 86, 61, .22);
    background: var(--eco-cream);
    margin: 0 0 22px;
    padding: 14px;
    text-decoration: none;
}
#ecosystem-article .eco-author-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
    object-position: center;
}
#ecosystem-article .eco-author-text {
    max-width: 760px;
}
#ecosystem-article .eco-author-text h2 {
    margin-bottom: 12px;
}
#ecosystem-article .eco-author-text p {
    margin-bottom: 0;
    color: var(--eco-muted);
}

#ecosystem-article .eco-final {
    border-radius: 8px;
    background:
        radial-gradient(circle at 92% 8%, rgba(215, 149, 99, .18), transparent 28%),
        #fffdf9;
    border: 1px solid rgba(111, 45, 40, .24);
    padding: 34px;
    margin: 0 0 24px;
}
#ecosystem-article .eco-final-panel {
    position: relative;
    margin: 18px 0 20px;
    border-radius: 8px;
    border: 1px solid rgba(169, 86, 61, .28);
    background:
        linear-gradient(135deg, rgba(252, 243, 234, .95), rgba(255, 253, 249, .92));
    padding: 20px 22px 20px 30px;
}
#ecosystem-article .eco-final-panel:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 8px;
    background: linear-gradient(180deg, #5b241f, #a9563d 58%, #d79563);
}
#ecosystem-article .eco-final-panel p {
    margin: 0;
    color: var(--eco-ink);
    font-weight: 600;
}
#ecosystem-article .eco-final strong { color: var(--eco-burgundy); }

#ecosystem-article .eco-reading-progress {
    position: fixed !important;
    z-index: 999990 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 10px !important;
    overflow: visible;
    background: rgba(255, 249, 242, .94);
    border-top: 1px solid rgba(111, 45, 40, .22);
    box-shadow: 0 -4px 14px rgba(58, 29, 27, .12);
    pointer-events: none;
}
#ecosystem-article .eco-reading-progress-fill {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #6f2d28 0%, #a9563d 58%, #d79563 100%);
    transform: scaleX(0);
    transform-origin: left center;
}
#ecosystem-article .eco-reading-progress-marker {
    position: absolute;
    left: 0;
    top: -1px;
    width: 22px;
    height: 22px;
    border: 3px solid #fff8ef;
    border-radius: 50%;
    background: var(--eco-burgundy);
    box-shadow: 0 2px 10px rgba(58, 29, 27, .34);
    transform: translate(-50%, -50%);
}
#ecosystem-article .eco-back-to-toc {
    position: fixed !important;
    z-index: 999980 !important;
    top: 120px !important;
    right: 18px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 1px solid rgba(111, 45, 40, .22);
    border-radius: 999px;
    background: rgba(255, 249, 242, .96);
    color: var(--eco-burgundy);
    padding: 10px 16px;
    box-shadow: 0 8px 24px rgba(58, 29, 27, .14);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
#ecosystem-article .eco-back-to-toc.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
#ecosystem-article .eco-current-section {
    position: fixed !important;
    z-index: 999980 !important;
    left: 50% !important;
    bottom: 22px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: auto;
    max-width: min(620px, calc(100vw - 32px));
    border: 1px solid rgba(111, 45, 40, .22);
    border-radius: 16px;
    background: rgba(241, 234, 226, .97);
    color: var(--eco-muted);
    padding: 10px 18px;
    box-shadow: 0 10px 28px rgba(58, 29, 27, .18);
    font-size: 11px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
#ecosystem-article .eco-current-section.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
#ecosystem-article .eco-current-section strong {
    display: inline-block;
    max-width: 390px;
    overflow: hidden;
    color: var(--eco-burgundy);
    font-size: 13px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 780px) {
    #ecosystem-article {
        padding: 3px;
    }
    #ecosystem-article .eco-wrap {
        margin: 8px auto;
    }
    #ecosystem-article .eco-lead,
    #ecosystem-article .eco-toc,
    #ecosystem-article .eco-section,
    #ecosystem-article .eco-quote,
    #ecosystem-article .eco-cta,
    #ecosystem-article .eco-final,
    #ecosystem-article figure.eco-image {
        margin-left: 0;
        margin-right: 0;
    }
    #ecosystem-article .eco-lead {
        padding: 30px 14px 34px;
    }
    #ecosystem-article .eco-lead h2,
    #ecosystem-article h2 {
        font-size: 23px;
    }
    #ecosystem-article h3 {
        font-size: 19px;
    }
    #ecosystem-article p,
    #ecosystem-article li {
        font-size: 14px;
        line-height: 1.6;
    }
    #ecosystem-article .eco-lead p {
        font-size: 14px;
        line-height: 1.65;
    }
    #ecosystem-article .eco-article-meta {
        gap: 6px;
        font-size: 11px;
    }
    #ecosystem-article .eco-article-meta span {
        min-height: 32px;
        padding: 6px 10px;
    }
    #ecosystem-article .eco-check-grid,
    #ecosystem-article .eco-path {
        grid-template-columns: 1fr;
    }
    #ecosystem-article .eco-orbit {
        width: min(100%, 280px);
        margin: 24px auto 42px;
    }
    #ecosystem-article .eco-orbit-center {
        width: 112px;
        height: 112px;
        font-size: 18px;
    }
    #ecosystem-article .eco-orbit-node {
        width: 72px;
        height: 72px;
        font-size: 10px;
        white-space: normal;
    }
    #ecosystem-article .eco-toc,
    #ecosystem-article .eco-section,
    #ecosystem-article .eco-entry,
    #ecosystem-article .eco-cta,
    #ecosystem-article .eco-offers-intro,
    #ecosystem-article .eco-related,
    #ecosystem-article .eco-author-card,
    #ecosystem-article .eco-final {
        padding: 18px 12px;
    }
    #ecosystem-article .eco-entry {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
    }
    #ecosystem-article .eco-entry-side {
        min-height: 118px;
        font-size: 28px;
        padding: 22px 18px;
    }
    #ecosystem-article .eco-entry-body {
        padding: 20px 12px;
    }
    #ecosystem-article .eco-entry-points {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #ecosystem-article .eco-entry-buttons {
        grid-template-columns: 1fr;
    }
    #ecosystem-article .eco-insight {
        padding: 24px 18px 24px 38px;
    }
    #ecosystem-article .eco-insight:before {
        left: 0;
        top: 0;
        bottom: 0;
        width: 10px;
        height: auto;
        transform: none;
    }
    #ecosystem-article .eco-quote {
        padding: 24px 18px;
    }
    #ecosystem-article .eco-quote:before {
        display: none;
    }
    #ecosystem-article .eco-quote p {
        font-size: 15px;
        font-weight: 600;
        line-height: 1.65;
    }
    #ecosystem-article .eco-quote-author {
        text-align: left;
    }
    #ecosystem-article .eco-format-list {
        gap: 18px;
        overflow: visible;
        border: 0;
        background: transparent;
    }
    #ecosystem-article .eco-format-card {
        grid-template-columns: 1fr;
        border: 1px solid rgba(111, 45, 40, .18);
        border-radius: 8px;
        overflow: hidden;
        margin: 0 0 18px;
    }
    #ecosystem-article .eco-format-card + .eco-format-card {
        border-top: 1px solid rgba(111, 45, 40, .18);
    }
    #ecosystem-article .eco-format-side {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: baseline;
        gap: 12px;
        padding: 16px 18px;
        min-height: auto;
    }
    #ecosystem-article .eco-format-side strong {
        font-size: 34px;
        margin: 0;
    }
    #ecosystem-article .eco-format-body {
        padding: 20px 12px;
    }
    #ecosystem-article .eco-format-icon {
        width: 140px;
        max-width: 54%;
        margin: 16px auto;
    }
    #ecosystem-article .eco-offer,
    #ecosystem-article .eco-offer-program {
        grid-template-columns: 1fr;
    }
    #ecosystem-article .eco-offer-program .eco-offer-visual {
        order: -1;
    }
    #ecosystem-article .eco-offer-visual {
        padding: 26px 18px;
    }
    #ecosystem-article .eco-offer-content {
        padding: 28px 18px;
    }
    #ecosystem-article .eco-offer h3 {
        font-size: 29px;
    }
    #ecosystem-article .eco-offer-features {
        grid-template-columns: 1fr;
    }
    #ecosystem-article .eco-offer-steps > div,
    #ecosystem-article .eco-offer-steps > div:nth-child(n) {
        width: 100%;
        margin-left: 0;
    }
    #ecosystem-article .eco-offer-button {
        width: 100%;
    }
    #ecosystem-article figure.eco-image {
        margin-top: 32px;
        margin-bottom: 38px;
        padding: 8px;
    }
    #ecosystem-article .eco-zoom-hint {
        margin-bottom: 14px;
        border-radius: 999px;
        padding: 8px 14px;
        font-size: 11px;
    }
    #ecosystem-article .eco-zoom-hint-bottom {
        display: flex;
        margin: 14px auto 0;
    }
    #ecosystem-article .eco-related-item {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 12px;
        padding: 16px 2px;
    }
    #ecosystem-article .eco-related-number {
        width: 38px;
        height: 38px;
    }
    #ecosystem-article .eco-related-copy strong {
        font-size: 14px;
    }
    #ecosystem-article .eco-author-photo {
        padding: 8px;
    }
    #ecosystem-article .eco-reading-progress {
        height: 8px !important;
    }
    #ecosystem-article .eco-reading-progress-marker {
        width: 18px;
        height: 18px;
        border-width: 2px;
    }
    #ecosystem-article .eco-back-to-toc {
        top: 116px !important;
        right: 8px !important;
        min-height: 40px;
        padding: 8px 12px;
        font-size: 11px;
    }
    #ecosystem-article .eco-current-section {
        bottom: 18px !important;
        width: auto;
        max-width: calc(100vw - 28px);
        border-radius: 14px;
        padding: 8px 12px;
    }
    #ecosystem-article .eco-current-section strong {
        max-width: 210px;
        font-size: 12px;
    }
}

@media (max-width: 430px) {
    #ecosystem-article {
        padding: 2px;
    }
    #ecosystem-article .eco-lead h2,
    #ecosystem-article h2 {
        font-size: 22px;
    }
    #ecosystem-article .eco-toc-list {
        padding: 12px;
    }
    #ecosystem-article .eco-toc-row {
        grid-template-columns: 28px 1fr;
        gap: 9px;
    }
    #ecosystem-article .eco-button {
        width: 100%;
    }
    #ecosystem-article .eco-entry-buttons a {
        width: 100%;
    }
    #ecosystem-article .eco-author-photo {
        margin-bottom: 18px;
    }
    #ecosystem-article .eco-author-photo img {
        aspect-ratio: 16 / 9;
    }
    #ecosystem-article .eco-entry-points {
        grid-template-columns: 1fr;
    }
    #ecosystem-article .eco-lightbox-modal {
        padding: 14px;
    }
    #ecosystem-article .eco-lightbox-frame img {
        max-height: 78vh;
    }
    #ecosystem-article .eco-lightbox-close {
        right: 12px;
        top: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #ecosystem-article *,
    #ecosystem-article *:before,
    #ecosystem-article *:after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media print {
    #ecosystem-article .eco-reading-progress,
    #ecosystem-article .eco-back-to-toc,
    #ecosystem-article .eco-current-section,
    #ecosystem-article .eco-zoom-hint,
    #ecosystem-article .eco-lightbox-modal {
        display: none !important;
    }
}

/* ------------------------------------------------------------------
 * Оновлення 04.09.2026: 9-місячна програма «Екосистема психолога»,
 * анкета як перший крок і навігація за еталоном статті «12 помилок».
 * ------------------------------------------------------------------ */

/* Плашка поточного розділу: ліворуч знизу, темна підкладка. */
#ecosystem-article .eco-current-section {
    left: max(18px, env(safe-area-inset-left)) !important;
    bottom: 32px !important;
    max-width: min(700px, calc(100vw - 36px));
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid rgba(240, 196, 154, .42);
    border-radius: 999px;
    background: rgba(31, 42, 56, .96);
    box-shadow: 0 12px 32px rgba(31, 42, 56, .26);
    color: #fff6ef;
    font-size: 12px;
    transform: translate(0, 8px) !important;
    backdrop-filter: blur(10px);
}

#ecosystem-article .eco-current-section.is-visible {
    transform: translate(0, 0) !important;
}

#ecosystem-article .eco-current-section span {
    color: var(--eco-gold-soft);
    font-size: 12px;
    font-weight: 600;
}

#ecosystem-article .eco-current-section strong {
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#ecosystem-article .eco-back-to-toc {
    top: 118px !important;
}

/* Три точки входу замість двох. */
#ecosystem-article .eco-entry-buttons-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Карта дев'яти місяців у фінальній картці програми. */
#ecosystem-article .eco-offer-steps-months > div,
#ecosystem-article .eco-offer-steps-months > div:nth-child(n) {
    width: 100%;
    margin-left: 0;
    min-height: 40px;
    padding: 7px 12px;
    font-size: 11.5px;
}

#ecosystem-article .eco-offer-steps-months > div:last-child {
    border-color: rgba(240, 196, 154, .55);
    background: rgba(240, 196, 154, .16);
}

/* Примітка про анкету всередині темної картки програми. */
#ecosystem-article .eco-offer-program .eco-offer-note {
    border-left-color: var(--eco-gold-soft);
    background: rgba(255, 255, 255, .08);
    color: #fff6ef;
}

/* Дві кнопки: анкета основна, лендинг другорядний. */
#ecosystem-article .eco-offer-actions {
    display: flex;
    margin-top: 18px;
    flex-wrap: wrap;
    gap: 10px;
}

#ecosystem-article .eco-offer-actions .eco-offer-button {
    flex: 1 1 180px;
    margin-top: 0;
}

#ecosystem-article .eco-offer-program .eco-offer-button-secondary {
    border: 1px solid var(--eco-gold-soft);
    background: transparent !important;
    background-image: none !important;
    color: var(--eco-gold-soft) !important;
    box-shadow: none;
}

#ecosystem-article .eco-offer-program .eco-offer-button-secondary:hover,
#ecosystem-article .eco-offer-program .eco-offer-button-secondary:focus-visible {
    background: rgba(240, 196, 154, .18) !important;
    color: #fff6ef !important;
}

@media (max-width: 900px) {
    #ecosystem-article .eco-entry-buttons-three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    #ecosystem-article .eco-entry-buttons-three {
        grid-template-columns: 1fr;
    }

    #ecosystem-article .eco-back-to-toc {
        top: 78px !important;
        right: 10px !important;
    }

    #ecosystem-article .eco-current-section {
        right: 10px !important;
        bottom: max(28px, calc(env(safe-area-inset-bottom) + 24px)) !important;
        left: 10px !important;
        width: fit-content;
        max-width: calc(100vw - 20px);
        min-height: 38px;
        padding: 8px 12px;
    }

    #ecosystem-article .eco-current-section span,
    #ecosystem-article .eco-current-section strong {
        font-size: 10.5px;
        max-width: none;
    }

    #ecosystem-article .eco-offer-actions .eco-offer-button {
        flex: 1 1 100%;
    }
}/* End custom CSS */