/* Full project descriptions, using the approved CFC palette and type system. */
.eco-full-description .eco-project-layout { grid-template-columns: minmax(16rem, .7fr) minmax(0, 1.5fr); }
.eco-full-description .eco-project-story { min-width: 0; max-width: 76ch; }
.eco-description-intro { color: var(--cfc-muted); font-size: .94rem; line-height: 1.7; }
.eco-contents { padding: 1.5rem clamp(1.25rem,3vw,2rem) 2rem; border-top: 1px solid var(--cfc-border); }
.eco-contents h2 { font-size: 1.45rem; margin-bottom: .8rem; }
.eco-contents ol { list-style: none; margin: 0; padding: 0; }
.eco-contents a { display: block; padding: .55rem 0; line-height: 1.45; color: var(--cfc-teal-text); font-size: .9rem; text-decoration: none; border-bottom: 1px solid var(--cfc-border); }
.eco-contents a:hover, .eco-contents a:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.eco-profile-details { border-block: 1px solid var(--cfc-control-border); margin: 2rem 0 3rem; padding: 1rem 0; }
.eco-profile-details summary { cursor: pointer; padding: .5rem .25rem; font-size: 1rem; font-weight: 700; color: var(--cfc-teal-text); }
.eco-description-body { overflow-wrap: anywhere; }
.eco-description-body h2 { scroll-margin-top: 1.5rem; margin: 3.2rem 0 1.3rem; font-size: clamp(1.8rem,2.5vw,2.35rem); line-height: 1.25; padding-top: 1.4rem; border-top: 1px solid var(--cfc-border); }
.eco-description-body h3 { scroll-margin-top: 1.5rem; margin: 2rem 0 1rem; font-size: clamp(1.25rem,1.8vw,1.5rem); line-height: 1.45; color: var(--cfc-teal-text); }
.eco-description-body p { margin: 0 0 1.35rem; }
.eco-description-body ul { padding-left: 1.35rem; margin: .6rem 0 1.7rem; }
.eco-description-body li { padding-left: .25rem; margin-bottom: .65rem; }
.eco-description-body li::marker { color: var(--cfc-olive); }
.eco-description-facts { margin: 1rem 0 1.75rem; font-size: .96rem; line-height: 1.65; }
.eco-description-facts > div { display: grid; grid-template-columns: minmax(8rem,.7fr) minmax(0,1.3fr); gap: .6rem 1.25rem; padding: .8rem 0; border-bottom: 1px solid var(--cfc-border); }
.eco-description-facts dt { font-weight: 700; color: var(--cfc-olive); }
.eco-description-facts dd { margin: 0; }
.eco-table-wrap { overflow-x: auto; margin: 1.5rem 0 2rem; border: 1px solid var(--cfc-control-border); border-radius: .7rem; background: var(--cfc-paper); }
.eco-description-table { width: 100%; border-collapse: collapse; font-size: .9rem; line-height: 1.55; }
.eco-description-table caption { text-align: left; padding: 1rem; font-weight: 700; color: var(--cfc-teal-text); }
.eco-description-table th, .eco-description-table td { text-align: left; vertical-align: top; padding: .8rem 1rem; border-top: 1px solid var(--cfc-border); }
.eco-description-table thead { background: var(--cfc-teal); color: var(--cfc-paper); }
.eco-description-table tbody tr:nth-child(even) { background: var(--cfc-teal-wash); }
.eco-description-table tbody th { font-weight: 600; }
.eco-description-list + .eco-description-list { margin-top: 0; }
@media (max-width: 63.99rem) {
 .eco-full-description .eco-project-layout { grid-template-columns: minmax(0,1fr); }
 .eco-full-description .eco-project-sidebar { display: grid; grid-template-columns: 1fr 1fr; }
 .eco-full-description .eco-project-sidebar > .eco-media, .eco-full-description .eco-project-sidebar > .eco-wordmark { height: 100%; }
 .eco-full-description .eco-contents { grid-column: 1/-1; }
 .eco-full-description .eco-contents ol { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.75rem; }
 .eco-full-description .eco-project-story { max-width: 100%; }
}
@media (max-width: 47.99rem) {
 .eco-full-description .eco-project-sidebar { display: block; }
 .eco-full-description .eco-contents ol { display: block; }
 .eco-description-facts > div { grid-template-columns: minmax(0,1fr); gap: .1rem; }
 .eco-description-table { font-size: .82rem; }
 .eco-description-table th, .eco-description-table td { padding: .65rem .6rem; }
 .eco-description-body h2 { margin-top: 2.4rem; }
}
@media print {
 .eco-contents, .eco-back, .cfc-nav, .approval-footer, .eco-story-end { display: none; }
 .eco-full-description .eco-project-layout { display: block; }
 .eco-full-description .eco-project-story { max-width: none; }
 .eco-description-body h2, .eco-description-body h3 { break-after: avoid; }
 .eco-description-table tr { break-inside: avoid; }
}


/* V13: scoped reading layout. Keep the directory, Team and source copy intact. */
.eco-reading-draft .eco-project-layout {
 max-width: 68rem; grid-template-columns: minmax(15rem,19rem) minmax(0,1fr);
 gap: clamp(1.5rem,3vw,3rem); align-items: stretch; padding-block: 3rem 4rem;
}
.eco-reading-draft .eco-project-sidebar { background: none; border: 0; border-radius: 0; overflow: visible; min-width: 0; }
.eco-project-profile, .eco-reading-draft .eco-contents, .eco-story-summary, .eco-reading-section {
 min-width: 0; background: var(--cfc-paper); border: 1px solid var(--cfc-border); border-radius: 1.15rem;
}
.eco-project-profile { overflow: hidden; }
.eco-reading-draft .eco-project-facts { padding: 1.5rem; }
.eco-reading-draft .eco-project-facts h2 { font-size: 1.5rem; margin: 0 0 1rem; }
.eco-reading-draft .eco-project-facts h3 { margin: 1.5rem 0 .75rem; font-size: 1.25rem; }
.eco-reading-draft .eco-project-facts dd { font-size: .9rem; line-height: 1.65; }
.eco-reading-draft .eco-project-facts ul { list-style: disc outside; padding-inline-start: 1.15rem; margin: 0; }
.eco-reading-draft .eco-project-facts li { display: list-item; padding-inline-start: .2rem; margin: 0 0 .5rem; font-size: .9rem; line-height: 1.6; }
.eco-reading-draft .eco-project-facts li::marker { color: var(--cfc-olive); }
.eco-reading-draft .eco-contents { position: sticky; top: 1.25rem; max-height: calc(100dvh - 2.5rem); overflow-y: auto; padding: 1.25rem; margin-top: 1.25rem; scrollbar-width: thin; scroll-margin-top: 1.25rem; }
.eco-contents-disclosure > summary { cursor: pointer; color: var(--cfc-teal-text); font-family: var(--cfc-heading); font-size: 1.4rem; line-height: 1.4; padding: .25rem; }
.eco-contents-disclosure[open] > summary { margin-bottom: .75rem; }
.eco-reading-draft .eco-contents ol { list-style: none; display: block; padding: 0; margin: 0; }
.eco-reading-draft .eco-contents a { display: grid; grid-template-columns: 1.45rem minmax(0,1fr); gap: .35rem; padding: .65rem .35rem; font-size: .86rem; line-height: 1.45; border: 0; border-radius: .45rem; }
.eco-reading-draft .eco-contents a::before { content: attr(data-section-number); color: var(--cfc-muted); font-size: .7rem; padding-top: .12rem; font-variant-numeric: tabular-nums; }
.eco-reading-draft .eco-contents a:hover, .eco-reading-draft .eco-contents a[aria-current="location"] { background: var(--cfc-teal-wash); color: var(--cfc-teal-text); }
.eco-reading-draft .eco-project-story { max-width: none; min-width: 0; font-size: 1.0625rem; line-height: 1.7; }
.eco-story-summary, .eco-reading-section { padding: clamp(1.3rem,2.6vw,2.4rem); }
.eco-story-summary { border-top: .22rem solid var(--cfc-teal); margin-bottom: 1.5rem; }
.eco-story-summary > .cfc-eyebrow { margin-bottom: 1rem; }
.eco-reading-draft .eco-story-intro { font-size: 1.15rem; line-height: 1.7; margin: 0 0 1rem; }
.eco-story-summary .eco-description-intro { font-size: .88rem; line-height: 1.6; margin: 0; }
.eco-reading-draft .eco-profile-details { margin: 1.25rem 0 0; padding: .65rem 0 0; border-bottom: 0; border-top-color: var(--cfc-border); }
.eco-reading-draft .eco-profile-details summary { padding: .25rem 0; font-size: .9rem; }
.eco-reading-draft .eco-description-body { display: grid; gap: 1.5rem; overflow-wrap: break-word; }
.eco-reading-draft .eco-description-body h2 { font-size: clamp(1.7rem,2.3vw,2.1rem); line-height: 1.25; margin: 0 0 1.2rem; padding: 0; border: 0; scroll-margin-top: 2rem; text-wrap: pretty; }
.eco-reading-draft .eco-description-body h3 { margin: 1.65rem 0 .65rem; font-size: clamp(1.12rem,1.55vw,1.35rem); line-height: 1.4; scroll-margin-top: 2rem; color: var(--cfc-teal-text); }
.eco-reading-draft .eco-description-body h2 + h3 { margin-top: .25rem; }
.eco-reading-draft .eco-description-body p { margin: 0 0 1rem; }
.eco-reading-draft .eco-description-body ul { list-style: disc outside; padding-inline-start: 1.3rem; margin: .6rem 0 1.3rem; }
.eco-reading-draft .eco-description-body ol { list-style: decimal outside; padding-inline-start: 1.4rem; margin: .6rem 0 1.3rem; }
.eco-reading-draft .eco-description-body li { display: list-item; padding-inline-start: .3rem; margin: 0; line-height: 1.65; }
.eco-reading-draft .eco-description-body li + li { margin-top: .5rem; }
.eco-reading-draft .eco-description-body li::marker { color: var(--cfc-teal-text); font-weight: 700; }
.eco-reading-draft .eco-reading-section > :last-child { margin-bottom: 0; }
.eco-reading-draft .eco-labeled-field { border-left: 3px solid var(--cfc-border); padding: .15rem 0 .15rem 1rem; }
.eco-labeled-field strong { display: block; color: var(--cfc-olive); font-size: .82rem; margin-bottom: .3rem; }
.eco-reading-draft .eco-description-facts { font-size: .9rem; line-height: 1.65; margin: .6rem 0 1.4rem; }
.eco-reading-draft .eco-description-facts > div { grid-template-columns: minmax(7rem,.75fr) minmax(0,1.4fr); gap: .4rem 1rem; padding-block: .85rem; }
.eco-reading-draft .eco-table-wrap { margin-block: 1.2rem; border-color: var(--cfc-border); }
.eco-reading-draft .eco-description-table { font-size: .84rem; line-height: 1.6; }
.eco-reading-draft .eco-description-table th, .eco-reading-draft .eco-description-table td { padding: .8rem; }
.eco-reading-draft .eco-story-end { border-top: 0; margin-top: 1.25rem; padding: .5rem 0; font-size: .92rem; }
.eco-section-back { display: none; }
.eco-reading-draft a:focus-visible, .eco-reading-draft summary:focus-visible { outline: 3px solid var(--cfc-teal-text); outline-offset: 4px; border-radius: .25rem; }
@media (max-width: 63.99rem) {
 .eco-reading-draft .eco-project-layout { grid-template-columns: minmax(0,1fr); max-width: 48rem; gap: 1.5rem; padding-top: 2rem; }
 .eco-reading-draft .eco-project-sidebar { display: block; }
 .eco-project-profile { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .eco-project-profile > .eco-media { aspect-ratio: auto; height: 100%; }
 .eco-reading-draft .eco-contents { position: static; max-height: none; margin-top: 1rem; padding: 1rem 1.25rem; }
 .eco-reading-draft .eco-contents a { font-size: .9rem; min-height: 2.75rem; align-items: center; }
 .eco-section-back { display: inline-flex; align-items: center; min-height: 2.75rem; margin-top: .65rem; color: var(--cfc-teal-text); font-size: .8rem; text-underline-offset: .2em; }
}
@media (max-width: 39.99rem) {
 .eco-reading-draft .eco-project-layout { padding-block: 1.25rem 2.5rem; gap: 1.1rem; }
 .eco-project-profile { display: block; }
 .eco-project-profile > .eco-media { aspect-ratio: 16/9; height: auto; }
 .eco-reading-draft .eco-project-facts { padding: 1.25rem; }
 .eco-story-summary, .eco-reading-section { padding: 1.3rem 1.15rem; border-radius: .85rem; }
 .eco-reading-draft .eco-description-body { gap: 1rem; }
 .eco-reading-draft .eco-description-body h2 { font-size: 1.65rem; }
 .eco-reading-draft .eco-project-story { font-size: .98rem; }
 .eco-reading-draft .eco-story-intro { font-size: 1.08rem; }
 .eco-reading-draft .eco-description-facts > div { grid-template-columns: minmax(0,1fr); gap: .25rem; }
 .eco-reading-draft .eco-description-table { font-size: .8rem; }
 .eco-reading-draft .eco-description-table th, .eco-reading-draft .eco-description-table td { padding: .65rem .5rem; }
}
@media print {
 .eco-reading-draft .eco-project-layout { display: block; max-width: none; }
 .eco-reading-draft .eco-project-sidebar { display: block; margin-bottom: 1.5rem; }
 .eco-reading-draft .eco-project-profile { border: 0; background: transparent; }
 .eco-reading-draft .eco-project-story { font-size: 11pt; line-height: 1.5; }
 .eco-story-summary, .eco-reading-section { background: transparent; border: 0; padding: 0; border-radius: 0; }
 .eco-reading-section { margin-bottom: 1.5rem; }
 .eco-reading-draft .eco-description-body { display: block; }
 .eco-reading-draft .eco-description-body h2, .eco-reading-draft .eco-description-body h3 { break-after: avoid; }
 .eco-reading-draft p, .eco-reading-draft li { orphans: 3; widows: 3; }
 .eco-section-back { display: none; }
}

/* V14: project facts belong above the article; no column is reserved down its side. */
.eco-centered-draft .eco-project-layout { display: block; max-width: 68rem; }
.eco-centered-draft .eco-project-intro { margin-bottom: 2rem; }
.eco-centered-draft .eco-project-profile { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); max-width: none; }
.eco-centered-draft .eco-project-profile > .eco-media { aspect-ratio: auto; height: 100%; min-height: 20rem; }
.eco-centered-draft .eco-project-profile > .eco-media > img { height: 100%; width: 100%; object-fit: cover; }
.eco-centered-draft .eco-project-profile > .eco-wordmark { aspect-ratio: auto; min-height: 20rem; }
.eco-centered-draft .eco-project-facts { padding: clamp(1.4rem,2.8vw,2rem); }
.eco-centered-draft .eco-project-facts > dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 1.5rem; margin: 1.2rem 0 0; }
.eco-centered-draft .eco-project-facts dt { margin: 0 0 .3rem; }
.eco-centered-draft .eco-project-facts dd { margin: 0; }
.eco-centered-draft .eco-project-facts h3 { border-top: 1px solid var(--cfc-border); padding-top: 1rem; margin: 1.25rem 0 .6rem; }
.eco-centered-draft .eco-project-facts ul { display: flex; flex-wrap: wrap; gap: .35rem 1.75rem; }
.eco-centered-draft .eco-project-facts li { margin: 0; }
.eco-centered-draft .eco-project-story { width: 100%; max-width: 48rem; margin-inline: auto; }
.eco-centered-draft .eco-contents { position: static; inset: auto; max-height: none; overflow: visible; padding: 1.3rem 2.4rem; margin: 0 0 1.5rem; border-radius: 1.15rem; scroll-margin-top: 1.25rem; }
.eco-centered-draft .eco-contents-disclosure > summary { font-size: 1.35rem; padding: .25rem 0; }
.eco-centered-draft .eco-contents ol { display: grid; grid-auto-flow: column; grid-template-rows: repeat(var(--eco-toc-rows),auto); grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 1.5rem; align-items: start; }
.eco-centered-draft .eco-contents a { min-height: 2.75rem; padding: .6rem .25rem; font-size: .87rem; text-decoration: underline; text-underline-offset: .2em; line-height: 1.45; }
.eco-centered-draft .eco-contents a::before { text-decoration: none; }
.eco-centered-draft .eco-contents a[aria-current="location"] { background: transparent; }
.eco-centered-draft .eco-contents a:hover { background: var(--cfc-teal-wash); }
.eco-centered-draft .eco-section-back { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--cfc-teal-text); margin-top: .65rem; font-size: .8rem; text-underline-offset: .2em; }
@media (max-width: 63.99rem) {
 .eco-centered-draft .eco-project-layout { max-width: 48rem; }
 .eco-centered-draft .eco-contents { padding: 1.25rem 1.5rem; }
 .eco-centered-draft .eco-project-profile { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
 .eco-centered-draft .eco-project-facts > dl { grid-template-columns: minmax(0,1fr); gap: .8rem; }
}
@media (max-width: 39.99rem) {
 .eco-centered-draft .eco-project-intro { margin-bottom: 1.25rem; }
 .eco-centered-draft .eco-project-profile { display: block; }
 .eco-centered-draft .eco-project-profile > .eco-media { aspect-ratio: 16/9; min-height: 0; height: auto; }
 .eco-centered-draft .eco-project-profile > .eco-wordmark { min-height: 13rem; }
 .eco-centered-draft .eco-project-facts { padding: 1.25rem; }
 .eco-centered-draft .eco-project-facts > dl { grid-template-columns: minmax(0,1fr); }
 .eco-centered-draft .eco-contents { padding: 1rem 1.15rem; border-radius: .85rem; margin-bottom: 1rem; }
 .eco-centered-draft .eco-contents ol { display: block; }
 .eco-centered-draft .eco-contents a { font-size: .9rem; }
}
@media print {
 .eco-centered-draft .eco-project-profile { display: block; }
 .eco-centered-draft .eco-project-profile > .eco-media { aspect-ratio: 16/9; min-height: 0; max-height: 16rem; }
 .eco-centered-draft .eco-project-story { max-width: none; }
 .eco-centered-draft .eco-contents, .eco-centered-draft .eco-section-back { display: none; }
}

/* Native WordPress header clearance for all in-page links. */
.cfc-eco-release .eco-contents, .cfc-eco-release .eco-description-body [id] { scroll-margin-top: 7rem; }
