/* Public editorial content; no dashboard or transaction styles. */
.de-ecosystem-layout {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.8fr);
    align-items: start;
    gap: clamp(32px, 6vw, 96px);
    max-width: 1320px;
}
.de-ecosystem-nav { position: sticky; top: 110px; }
.de-ecosystem-nav > .de-public-eyebrow { margin-bottom: 20px; }
.de-ecosystem-nav a {
    display: block;
    padding: 12px 18px;
    border-left: 2px solid #cbd8e1;
    color: #294759;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    text-decoration: none;
}
.de-ecosystem-nav a:hover,
.de-ecosystem-nav a:focus-visible { color: var(--de-home-navy); border-left-color: var(--de-home-blue); background: #e7eef3; text-decoration: none; }
.de-ecosystem-layout:has(#our-story:target) .de-ecosystem-nav a[href="#our-story"],
.de-ecosystem-layout:has(#our-services:target) .de-ecosystem-nav a[href="#our-services"],
.de-ecosystem-layout:has(#txco:target) .de-ecosystem-nav a[href="#txco"],
.de-ecosystem-layout:has(#guided-learning:target) .de-ecosystem-nav a[href="#guided-learning"],
.de-ecosystem-layout:has(#practice-strategy:target) .de-ecosystem-nav a[href="#practice-strategy"] { color: var(--de-home-navy); border-left-color: var(--de-home-blue); background: #e7eef3; font-weight: 500; }
.de-ecosystem-articles { min-width: 0; }
.de-ecosystem-article { color: #405767; font-size: 16px; font-weight: 400; line-height: 1.8; }
.de-ecosystem-articles > article + article { padding-top: 56px; margin-top: 56px; border-top: 1px solid #d5e0e7; }
.de-ecosystem-article[id], .de-study-program { scroll-margin-top: 120px; }
.de-public .de-ecosystem-article h2, .de-public .de-study-program-heading h2 {
    margin: 0 0 28px;
    color: var(--de-home-navy);
    font-size: clamp(28px, 2.8vw, 42px);
    line-height: 1.2;
    letter-spacing: -.025em;
    text-wrap: balance;
}
.de-public .de-ecosystem-article h3 { margin: 32px 0 16px; font-size: 23px; line-height: 1.35; color: var(--de-home-navy); }
.de-ecosystem-article p { margin: 0 0 22px; }
.de-ecosystem-article p:last-child { margin-bottom: 0; }
.de-ecosystem-article .de-ecosystem-motto { padding-left: 20px; border-left: 3px solid #7ba7bf; color: var(--de-home-navy); font-weight: 500; }
.de-ecosystem-list { margin: 0 0 28px; padding-left: 22px; }
.de-ecosystem-list li { padding: 4px 0 4px 6px; }
.de-ecosystem-list li::marker { color: var(--de-home-blue); }
.de-ecosystem-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 24px; border: 1px solid #d5e0e7; border-radius: 14px; color: var(--de-home-blue); background: #fff; font-size: 23px; }
.de-ecosystem-article .de-public-button { margin-top: 8px; white-space: normal; }
.de-ecosystem-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 32px; }
.de-ecosystem-service { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding-top: 24px; border-top: 1px solid #d5e0e7; }
.de-public .de-ecosystem-service h3 { margin: 0 0 16px; font-size: 23px; }
.de-ecosystem-service p { font-size: 16px; line-height: 1.75; }
.de-ecosystem-service .de-public-button { max-width: 100%; margin-top: auto; text-align: left; }
.de-study-directory-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid #d5e0e7; }
.de-study-directory-actions .de-public-button { min-height: 46px; font-size: 16px; font-weight: 500; }
.de-study-directory-actions .de-public-text-link { padding-block: 10px; font-size: 16px; font-weight: 400; line-height: 1.5; }
.de-study-directory-actions .de-public-button:hover .fa-arrow-down,
.de-study-directory-actions .de-public-button:focus .fa-arrow-down { transform: translateY(3px); }
.de-study-directory-heading { margin-bottom: 20px; }
.de-public .de-study-directory-heading h2 { margin: 0; font-size: 24px; letter-spacing: -.02em; line-height: 1.3; }
.de-study-program-heading > .de-public-text-link { font-size: 16px; font-weight: 500; line-height: 1.5; }
.de-study-program-intro { margin-bottom: 32px; }
.de-study-format { margin-top: 12px; border: 1px solid #d5e0e7; border-radius: 12px; background: #fff; }
.de-study-format summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px; color: var(--de-home-navy); font-family: var(--de-home-heading); font-size: 20px; font-weight: 600; line-height: 1.4; list-style: none; cursor: pointer; }
.de-study-format summary::-webkit-details-marker { display: none; }
.de-study-format summary > span { display: flex; align-items: center; gap: 16px; }
.de-study-format summary i { flex: none; color: var(--de-home-blue); }
.de-study-format summary > .fa-angle-down { transition: transform 180ms ease; }
.de-study-format[open] summary > .fa-angle-down { transform: rotate(180deg); }
.de-study-format summary:hover { color: var(--de-home-blue); }
.de-study-format summary:focus-visible, .de-ecosystem-nav a:focus-visible { outline: 2px solid var(--de-home-blue); outline-offset: 4px; border-radius: 6px; }
.de-study-format > .de-ecosystem-article { padding: 0 24px 28px; font-size: 16px; }
@media (max-width: 991px) {
    .de-ecosystem-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .de-ecosystem-nav { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
    .de-ecosystem-nav > .de-public-eyebrow { grid-column: 1 / -1; }
    .de-study-program-heading { max-width: 620px; }
    .de-ecosystem-article[id], .de-study-program { scroll-margin-top: 96px; }
}
@media (max-width: 600px) {
    .de-ecosystem-services { grid-template-columns: 1fr; gap: 28px; }
    .de-ecosystem-nav { grid-template-columns: 1fr; }
    .de-ecosystem-nav a { padding-block: 10px; }
    .de-study-directory-actions { align-items: flex-start; flex-direction: column; gap: 10px; padding-bottom: 20px; margin-bottom: 24px; }
    .de-study-directory-actions .de-public-button { max-width: 100%; text-align: left; white-space: normal; }
    .de-ecosystem-article { font-size: 16px; }
    .de-ecosystem-articles > article + article { margin-top: 40px; padding-top: 40px; }
    .de-public .de-ecosystem-article h3 { font-size: 21px; }
    .de-study-format summary { padding: 20px 18px; gap: 12px; font-size: 18px; }
    .de-study-format summary > span { gap: 12px; }
    .de-study-format > .de-ecosystem-article { padding: 0 18px 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .de-study-format summary > .fa-angle-down { transition: none; }
}
