/* EcoChar · single page stylesheet · 2026-10-15
   folded from: project-responsive-safety.css, project-system-r47.css, project-page-r42.css,
   project-r42-response6a.css, ecochar.css, project-navigation-r48.css (in that order).
   Only declarations that take effect in some reachable state are kept, in their original cascade
   order (qa/stylesheet-fold: every width band, mouse/touch, reduced motion, no-JS, forced colours,
   menus, rail panels and sheet, scroll spy, readiness tabs and keys, atlas reveal,
   hover/focus/active). The hero char switcher (.eco-r40-chars) is display:none at every width,
   so only its default state is reachable.
   Loads after the shell CSS. The shared project sheets stay for the other project pages;
   project-identity-20261013.css stays linked after it. */

@media (max-width:860px){
  
  
  
  
  body.project-theme main svg{max-width:100%}
}

[data-r42-project-system] *,
[data-r42-project-system] *::before,
[data-r42-project-system] *::after{box-sizing:border-box}
body.project-theme main#main-content[data-project-main]{padding-top:0!important}
body.project-theme main#main-content[data-project-main] > [data-project-hero]{min-height:100svh!important}

.r42-page{--r42-ink:#172019;--r42-muted:#66675f;--r42-serif:"Playfair Display",Georgia,serif;--r42-sans:"Inter",Arial,sans-serif;--r42-mono:"JetBrains Mono",ui-monospace,monospace;color:var(--r42-ink);font-family:var(--r42-sans)}
.r42-page h1,
.r42-page h2,
.r42-page h3{font-family:var(--r42-serif);font-weight:400}
.r42-page p{margin:0}
.r42-page figure{margin:0}
.r42-page figure img{display:block;width:100%;height:auto}
.r42-page figcaption{color:var(--r42-muted);font:500 11px/1.45 var(--r42-mono);letter-spacing:.02em}
@media (prefers-reduced-motion:reduce){
  .r42-page *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
.r6a-page{overflow:clip}
@media (prefers-reduced-motion:reduce){
  .r6a-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
:root{--global-nav-height:64px;--nav-height:var(--global-nav-height);--standard-pill:999px;--button-radius:999px;--mobile-tap-target:44px;--green-700:#1a6440;--green-500:#4f9a63;--gold:#b78b28;--forest:var(--green-700);--accent:var(--green-500);--serif:"Playfair Display",Georgia,serif;--sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI", sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--ease:var(--cv-ease-enter);--type-body:clamp(0.96rem,0.92vw,1.02rem);--type-copy-leading:1.55;--paper:#f7f8f4;--paper-soft:#ffffff;--ink:#141714}
*,
::after,
::before{box-sizing:border-box}
.skip-link{position:fixed;top:10px;left:10px;z-index:4000;min-height:var(--mobile-tap-target);display:inline-flex;align-items:center;padding:10px 16px;border-radius:var(--standard-pill);background:var(--ink);color:var(--paper-soft);font-size:.9rem;font-weight:600;transform:translateY(calc(-100% - 20px));transition:transform 150ms var(--ease)}
.skip-link:focus-visible{transform:translateY(0)}
main[tabindex="-1"]:focus{outline:0}
a,
button{color:inherit}
a{text-decoration:none}
button{border:0;background:0 0;cursor:pointer;font:inherit}
img{display:block;max-width:100%;color:transparent}
:focus-visible{outline:2px solid var(--forest);outline-offset:4px;border-radius:4px}
@media (prefers-reduced-motion:reduce){
  *,
  ::after,
  ::before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
li{text-wrap:pretty}
body.mobile-menu-open{overscroll-behavior:none}
@media (max-width:1120px){
  :root{--global-nav-height:56px;--nav-height:var(--global-nav-height)}
}
body,
html{max-width:100%}
html{scroll-padding-top:calc(var(--global-nav-height) + 72px);scroll-behavior:smooth;overflow-x:hidden;background:var(--paper);font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none;font-kerning:normal}
@media (max-width:700px){
  :root{--type-copy-leading:1.6}
}
.funding-menu-panel[hidden],
.funding-mobile-menu__detail[hidden]{display:none}
@media (max-width:1120px){
  .funding-mobile-menu{display:block;margin:2px 0 8px;padding:12px 0 8px;border-bottom:1px solid rgba(23,24,19,.08)}
  .funding-mobile-menu__head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:8px 0 6px}
  .funding-mobile-menu__label{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(20,23,20,.65)}
  .funding-mobile-menu__head small{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.625rem;color:rgba(20,23,20,.62)}
  .funding-mobile-menu__list{display:grid}
  .funding-mobile-menu__priority{min-height:46px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:0;border:0;border-top:1px solid rgba(23,24,19,.065);background:transparent;color:rgba(20,23,20,.74);text-align:left;font:500 .9rem/1.25 var(--sans,"Inter",sans-serif)}
  .funding-mobile-menu__priority small{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.625rem;font-weight:500;color:rgba(20,23,20,.62)}
  .funding-mobile-menu__priority.is-active{color:#16382a}
  .funding-mobile-menu__detail{padding:12px 0 8px;border-top:1px solid rgba(23,24,19,.08)}
  .funding-mobile-menu__detail p{display:grid;gap:5px;margin:0;color:rgba(20,23,20,.62);font-size:.76rem;line-height:1.4}
  .funding-mobile-menu__detail p strong{color:#16382a;font-size:.8rem}
  .funding-mobile-menu__detail p em{font-style:normal;font-family:var(--mono,"JetBrains Mono",monospace);font-size:.625rem;letter-spacing:.02em;color:rgba(20,23,20,.62)}
  .funding-mobile-menu__detail a{display:inline-flex;min-height:44px;align-items:center;margin-top:4px;padding:7px 0 0;border:0;color:#16382a;font-size:.78rem;font-weight:600}
}
body.project-theme main,
body.project-theme .project-page{width:100%;min-width:0}
body.project-theme h1{font-family:var(--serif)}
body.project-theme{margin:0;accent-color:var(--accent);padding:0;min-width:0;font-family:var(--sans);font-size:var(--type-body);line-height:var(--type-copy-leading);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.project-theme a:focus-visible,
body.project-theme button:focus-visible{outline:3px solid var(--focus-ring-light);outline-offset:4px}
body.project-theme{overflow-x:clip}
body.project-theme .project-action--primary{border-color:var(--project-action-primary-border,var(--project-action-primary-bg,var(--ink)));background:var(--project-action-primary-bg,var(--ink))}
body.project-theme .project-action--primary:hover,
body.project-theme .project-action--primary:focus-visible{transform:translateY(-1px);box-shadow:var(--project-action-primary-hover-shadow,0 8px 22px rgba(0,0,0,.12))}
body.project-theme .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.project-theme .project-action{padding:var(--project-action-padding,0 20px);border:var(--project-action-border,1px solid transparent);font-size:var(--project-action-size,.88rem);font-weight:var(--project-action-weight,700);letter-spacing:var(--project-action-letter-spacing,normal);text-transform:var(--project-action-transform,none);text-decoration:none;box-shadow:var(--project-action-shadow,none);transition:var(--project-action-transition,background-color .22s ease,border-color .22s ease,color .22s ease,transform .22s ease)}
:root{--focus-ring-light:#0d5138}
body.project-theme h1,
body.project-theme[data-project-archetype="model-note"] h1{max-width:10.5ch;margin-bottom:20px;font-size:clamp(3.4rem, 5.4vw, 5.8rem);font-weight:500;letter-spacing:normal;line-height:0.94}
@keyframes project-image-arrival{from { opacity: 0.72; transform: scale(1.015);} to { opacity: 1; transform: scale(1);} }
@media (max-width: 700px){
  body.project-theme h1,
  body.project-theme[data-project-archetype="model-note"] h1{max-width:10ch;margin-bottom:16px;font-size:clamp(2.75rem, 13.2vw, 4rem);letter-spacing:normal;line-height:0.94}
}
@media (min-width: 861px) and (max-height: 960px){
  body.project-theme h1,
  body.project-theme[data-project-archetype="model-note"] h1{max-width:12ch;margin-bottom:10px;font-size:clamp(2.5rem, 6.2vh, 3.8rem);line-height:.93}
}
@media (min-width: 861px) and (max-width: 960px) and (max-height: 700px){
  body.project-theme h1,
  body.project-theme[data-project-archetype="model-note"] h1{margin-bottom:8px;font-size:clamp(2.25rem, 5.8vh, 3rem)}
}
.theme-ecochar{overflow:clip}
body.theme-ecochar{--project-closing-bg:#143b3a;--project-closing-accent:#ddb88f}
:root{--cultivera-motion-reduced:0.01ms;--cultivera-action-primary-height:3rem;--cultivera-action-inline-pad:1.25rem;--cultivera-action-gap:.625rem}
:root{--award-control-primary-height:var(--cultivera-action-primary-height);--award-control-inline-pad:var(--cultivera-action-inline-pad);--award-control-gap:var(--cultivera-action-gap)}
body:not(.page-home):not(.page-insights) :is(.btn:not(.text-link), .button, .copy-brief, .project-action){min-height:var(--award-control-primary-height)!important;padding-inline:var(--award-control-inline-pad);border-radius:var(--button-radius, 999px);display:inline-flex;align-items:center;justify-content:center;gap:var(--award-control-gap);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media (max-width: 640px){
  body:not(.page-home):not(.page-insights) :is(.btn:not(.text-link), .button, .copy-brief, .project-action){min-height:var(--award-control-primary-height)!important}
}
@media (prefers-reduced-motion: reduce){
  body :is(.btn, .button, .copy-brief, .project-action, .btn.text-link){transition-duration:var(--cultivera-motion-reduced)!important}
}
@keyframes methodFlow{to{stroke-dashoffset:-38}}
@keyframes projectRelayArrival{0%,48%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes projectRelayMediaArrival{0%{clip-path:inset(0);transform:translateX(0) scale(1)}100%{clip-path:inset(0 92% 0 0);transform:translateX(3vw) scale(1.04);opacity:.18}}
@media (max-width: 760px){
  :root{--mobile-dtp-label:.75rem}
  main :is(dt,.definition-ledger dt){font-size:var(--mobile-dtp-label)!important;line-height:1.35!important}
  body.project-theme main :is(figcaption,.project-caption,.media-caption){font-size:.8125rem!important;line-height:1.42!important}
}
@media (max-width:760px){
  body:is(.project-theme,.donor-shell-integrated) main :is(.btn,.button,.nav-cta,button,[role="button"]){min-height:44px}
  body:is(.project-theme,.donor-shell-integrated) main :is(h1,h2,h3){text-wrap:balance}
  body:is(.project-theme,.donor-shell-integrated) main :is(p,li,dd){overflow-wrap:anywhere}
}
body.project-theme figure figcaption,
body.project-theme .project-caption{font-family:var(--sans)}
@media (max-width:640px){
  body.project-theme figure figcaption,
  body.project-theme .project-caption{grid-template-columns:1fr!important}
}
body.theme-ecochar{--ecfr-paper:#f2efe7;--ecfr-paper-deep:#e7e8df;--ecfr-ink:#171a16;--ecfr-muted:#61675e;--ecfr-rule:rgba(23, 26, 22, .19);--ecfr-rule-soft:rgba(23, 26, 22, .10);--ecfr-serif:"Playfair Display", Georgia, serif;--ecfr-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ecfr-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color:var(--ecfr-ink)}
body.theme-ecochar .project-main,
body.theme-ecochar .ecochar-page{background:var(--ecfr-paper)}
body.theme-ecochar .ecfr-shell{width:min(1280px, calc(100% - clamp(32px, 5vw, 80px)));margin-inline:auto}
body.theme-ecochar .ecfr-label,
body.theme-ecochar .ecfr-period,
body.theme-ecochar .ecfr-kicker,
body.theme-ecochar .ecfr-photo figcaption span,
body.theme-ecochar .ecfr-snapshot__project span,
body.theme-ecochar .ecfr-snapshot__stub,
body.theme-ecochar .ecfr-snapshot__workstream{font-family:var(--ecfr-mono);font-size:.7rem;font-weight:500;line-height:1.35;letter-spacing:.075em;text-transform:uppercase}
body.theme-ecochar .ecfr-label,
body.theme-ecochar .ecfr-period,
body.theme-ecochar .ecfr-photo figcaption span,
body.theme-ecochar .ecfr-snapshot__stub,
body.theme-ecochar .ecfr-snapshot__workstream{color:var(--ecfr-muted)}
body.theme-ecochar .ecfr-photo figcaption p{max-width:560px;font-family:var(--ecfr-sans)}
@media (max-width: 760px){
  body.theme-ecochar .ecfr-shell{width:min(100% - 32px, 1280px)}
  body.theme-ecochar .ecfr-label,
  body.theme-ecochar .ecfr-period,
  body.theme-ecochar .ecfr-kicker,
  body.theme-ecochar .ecfr-photo figcaption span,
  body.theme-ecochar .ecfr-snapshot__project span{font-size:.64rem}
}
body.theme-ecochar .ecx-section{padding:clamp(74px, 7vw, 108px) 0;border-top:1px solid var(--ecfr-rule-soft)}
body.theme-ecochar .ecx-section-head,
body.theme-ecochar .ecx-ready-head{display:grid;grid-template-columns:minmax(150px, .30fr) minmax(0, 1fr);gap:clamp(26px, 5vw, 76px);align-items:start}
body.theme-ecochar .ecx-section-head h2,
body.theme-ecochar .ecx-context h2,
body.theme-ecochar .ecx-ready h2,
body.theme-ecochar .ecx-constraints h2{margin:0;max-width:850px;font-family:var(--ecfr-serif);font-size:clamp(2.65rem, 4.5vw, 5rem);font-weight:400;line-height:.98;letter-spacing:-.046em;text-wrap:balance}
body.theme-ecochar .ecx-section-head p,
body.theme-ecochar .ecx-ready-head p{max-width:680px;margin:20px 0 0;line-height:1.68}
body.theme-ecochar .ecx-delivery{background:#faf8f2}
body.theme-ecochar .ecx-delivery-projects{display:grid;gap:clamp(34px, 4.5vw, 58px)}
body.theme-ecochar .ecx-delivery-project{display:grid;grid-template-columns:minmax(230px, .42fr) minmax(0, 1fr);gap:clamp(34px, 5vw, 76px);padding-top:30px;border-top:1px solid var(--ecfr-ink)}
body.theme-ecochar .ecx-delivery-project header h3{margin:10px 0 0;font-family:var(--ecfr-serif);font-size:clamp(2rem, 3.1vw, 3.3rem);font-weight:400;line-height:1;letter-spacing:-.035em}
body.theme-ecochar .ecx-delivery-project header p{margin:16px 0 0;color:var(--ecfr-muted);font-size:.84rem;line-height:1.55}
body.theme-ecochar .ecx-delivery-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));border-top:1px solid var(--ecfr-rule)}
body.theme-ecochar .ecx-delivery-grid > div{display:grid;align-content:start;gap:10px;padding:20px 18px 22px 0;border-bottom:1px solid var(--ecfr-rule)}
body.theme-ecochar .ecx-delivery-grid > div:nth-child(3n/**/+2),
body.theme-ecochar .ecx-delivery-grid > div:nth-child(3n/**/+3){padding-left:18px;border-left:1px solid var(--ecfr-rule-soft)}
body.theme-ecochar .ecx-delivery-grid strong{font-family:var(--ecfr-serif);font-size:clamp(1.55rem, 2.2vw, 2.2rem);font-weight:400;line-height:1}
body.theme-ecochar .ecx-delivery-grid span{font-size:.88rem;line-height:1.5}
body.theme-ecochar .ecx-delivery-grid small{color:var(--ecfr-muted);font-family:var(--ecfr-mono);font-size:.64rem;line-height:1.45;letter-spacing:.035em;text-transform:uppercase}
body.theme-ecochar .ecx-ready{background:var(--ecx-dark);color:#f7f4ec}
body.theme-ecochar .ecx-ready .ecfr-label,
body.theme-ecochar .ecx-ready .ecfr-period{color:rgba(247,244,236,.62)}
body.theme-ecochar .ecx-ready-workbench{display:grid;grid-template-columns:minmax(240px, .36fr) minmax(0, 1fr);gap:clamp(34px, 5vw, 74px);margin-top:clamp(48px, 6vw, 76px);padding-top:28px;border-top:1px solid rgba(247,244,236,.22)}
body.theme-ecochar .ecx-ready__controls{display:none;align-content:start;border-top:1px solid rgba(247,244,236,.22)}
body.theme-ecochar [data-eco-readiness-enhanced="true"] .ecx-ready__controls{display:grid}
body.theme-ecochar .ecx-ready__controls button{display:grid;gap:8px;width:100%;min-height:118px;padding:20px 10px 20px 0;border:0;border-bottom:1px solid rgba(247,244,236,.20);background:transparent;color:rgba(247,244,236,.68);text-align:left;cursor:pointer}
body.theme-ecochar .ecx-ready__controls span,
body.theme-ecochar .ecx-ready__controls small{font-family:var(--ecfr-mono);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase}
body.theme-ecochar .ecx-ready__controls strong{font-family:var(--ecfr-serif);font-size:clamp(1.35rem, 2vw, 1.75rem);font-weight:400}
body.theme-ecochar .ecx-ready__records{min-width:0}
body.theme-ecochar .ecx-ready__panel{padding:clamp(28px, 3.5vw, 44px);border:1px solid rgba(247,244,236,.24);background:#f2eadb;color:var(--ecfr-ink);box-shadow:0 28px 70px rgba(0,0,0,.16)}
body.theme-ecochar [data-eco-readiness-enhanced="true"] .ecx-ready__panel[hidden]{display:none}
body.theme-ecochar .ecx-ready__panel + .ecx-ready__panel{margin-top:22px}
body.theme-ecochar [data-eco-readiness-enhanced="true"] .ecx-ready__panel + .ecx-ready__panel{margin-top:0}
body.theme-ecochar .ecx-ready__project h3{max-width:18ch;margin:14px 0 0;font-family:var(--ecfr-serif);font-size:clamp(2.3rem, 4vw, 4.4rem);font-weight:400;line-height:.96;letter-spacing:-.046em;text-wrap:balance}
body.theme-ecochar .ecx-ready__panel .ecx-ready__project .ecfr-label{color:#6b625b}
body.theme-ecochar .ecx-ready__facts{margin:clamp(34px, 4vw, 48px) 0 0;border-top:1px solid var(--ecfr-rule)}
body.theme-ecochar .ecx-ready__facts > div{display:grid;grid-template-columns:minmax(150px, .34fr) minmax(0, 1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--ecfr-rule-soft)}
body.theme-ecochar .ecx-ready__facts dt{font-family:var(--ecfr-mono);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
body.theme-ecochar .ecx-ready__facts dd{margin:0;color:#414941;line-height:1.58}
@keyframes ecx-readiness-in { from { opacity: .35; transform: translateY(4px); } to { opacity: 1; transform: none; } }
body.theme-ecochar .ecx-record{background:#f8f6f0}
body.theme-ecochar .ecx-record-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1px;margin-top:clamp(48px, 5vw, 68px);background:var(--ecfr-rule);border:1px solid var(--ecfr-rule)}
body.theme-ecochar .ecx-record-grid article{padding:clamp(28px, 4vw, 44px);background:#f8f6f0}
body.theme-ecochar .ecx-record-grid h3{margin:16px 0 0;font-family:var(--ecfr-serif);font-size:clamp(1.8rem, 2.8vw, 2.8rem);font-weight:400;line-height:1.04;letter-spacing:-.035em}
body.theme-ecochar .ecx-record-grid ul{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--ecfr-rule)}
body.theme-ecochar .ecx-record-grid li{padding:14px 0;border-bottom:1px solid var(--ecfr-rule-soft);color:#485048;line-height:1.5}
body.theme-ecochar .ecx-photo-grid{display:grid;margin-top:clamp(48px, 5vw, 68px)}
body.theme-ecochar .ecx-photo-grid figure{margin:0}
body.theme-ecochar .ecx-photo-grid img{filter:saturate(.9) contrast(1.02)}
body.theme-ecochar .ecx-photo-grid figcaption{border-top:1px solid var(--ecfr-rule-soft)}
body.theme-ecochar .ecx-photo-grid figcaption p{margin:6px 0 0;color:var(--ecfr-muted);font-size:.78rem;line-height:1.5}
body.theme-ecochar .ecx-constraints{background:var(--ecfr-paper-deep)}
body.theme-ecochar .ecx-photo-grid{align-items:start}
body.theme-ecochar .ecx-photo-grid figure.ecfr-photo{display:flex;flex-direction:column;min-width:0;height:auto;align-self:start}
body.theme-ecochar .ecx-photo-grid figure.ecfr-photo img{display:block;width:100%;height:auto!important;aspect-ratio:4 / 3;object-fit:cover;flex:none}
body.theme-ecochar .ecx-photo-grid figure.ecfr-photo figcaption{position:static;display:grid;gap:6px;width:100%;min-height:0;margin-top:12px;padding-top:10px}
body.theme-ecochar .ecx-photo-grid figure.ecfr-photo figcaption span,
body.theme-ecochar .ecx-photo-grid figure.ecfr-photo figcaption p{position:static;transform:none}
body.theme-ecochar .ecx-record-principle{max-width:980px;margin-top:clamp(62px, 8vw, 116px);padding-top:clamp(30px, 4vw, 46px);border-top:1px solid var(--ecfr-ink)}
body.theme-ecochar .ecx-record-principle h3{max-width:18ch;margin:0;font-family:var(--ecfr-serif);font-size:clamp(2.6rem, 5vw, 5.4rem);font-weight:400;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
body.theme-ecochar .ecx-record-principle small{display:block;color:var(--ecfr-muted);font-family:var(--ecfr-mono);font-size:.66rem;line-height:1.5;letter-spacing:.045em;text-transform:uppercase}
body.theme-ecochar .ecx-constraint-note{display:grid;grid-template-columns:minmax(150px, .30fr) minmax(0, 1fr);gap:clamp(26px, 5vw, 76px);align-items:start}
body.theme-ecochar .ecx-constraint-note h2{grid-column:2;margin:0}
body.theme-ecochar .ecx-constraint-note p{grid-column:2;max-width:680px;margin:22px 0 0;color:#485048;font-size:1rem;line-height:1.65}
@media (max-width: 900px){
  body.theme-ecochar .ecx-section-head,
  body.theme-ecochar .ecx-ready-head,
  body.theme-ecochar .ecx-constraints-head,
  body.theme-ecochar .ecx-context-layout,
  body.theme-ecochar .ecx-delivery-project,
  body.theme-ecochar .ecx-ready-workbench{grid-template-columns:1fr}
  body.theme-ecochar .ecx-ready__controls{grid-template-columns:repeat(2, minmax(0, 1fr));border-top:0;gap:1px;background:rgba(247,244,236,.18)}
  body.theme-ecochar .ecx-ready__controls button{min-height:104px;padding:16px;border-bottom:0;background:var(--ecx-dark-2)}
  body.theme-ecochar .ecx-constraint-note{grid-template-columns:1fr;gap:12px}
  body.theme-ecochar .ecx-constraint-note h2,
  body.theme-ecochar .ecx-constraint-note p{grid-column:1;margin-top:0}
}
@media (max-width: 720px){
  body.theme-ecochar .ecx-hero-projects,
  body.theme-ecochar .ecx-record-grid,
  body.theme-ecochar .ecx-photo-grid,
  body.theme-ecochar .ecx-constraints-grid{grid-template-columns:1fr}
  body.theme-ecochar .ecx-delivery-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  body.theme-ecochar .ecx-delivery-grid > div:nth-child(3n/**/+2),
  body.theme-ecochar .ecx-delivery-grid > div:nth-child(3n/**/+3){padding-left:0;border-left:0}
  body.theme-ecochar .ecx-delivery-grid > div:nth-child(even){padding-left:14px;border-left:1px solid var(--ecfr-rule-soft)}
  body.theme-ecochar .ecx-ready__facts > div,
  body.theme-ecochar .ecx-evidence-boundary{grid-template-columns:1fr}
}
@media (max-width: 420px){
  body.theme-ecochar .ecx-delivery-grid{grid-template-columns:1fr}
  body.theme-ecochar .ecx-delivery-grid > div:nth-child(even){padding-left:0;border-left:0}
}
body.theme-ecochar .ecx-ready-head > div:first-child{display:grid;gap:6px;align-content:start}
@media (max-width: 720px){
  body.theme-ecochar .ecx-ready__controls button{gap:3px;border-bottom:0}
  body.theme-ecochar .ecx-ready__controls span{font-size:.625rem}
  body.theme-ecochar .ecx-ready__controls strong{font-size:clamp(.98rem, 4.4vw, 1.12rem);line-height:1.05}
  body.theme-ecochar .ecx-ready__project h3{margin-top:9px;line-height:.98}
  body.theme-ecochar .ecx-ready__facts > div{gap:6px}
}
@media (max-width: 390px){
  body.theme-ecochar .ecx-ready__controls strong{font-size:.96rem}
  body.theme-ecochar .ecx-ready__controls button{padding-inline:9px}
}
body.theme-ecochar .ecx-section-head > div:first-child{display:grid;gap:6px;align-content:start}
@keyframes ecx-hero-field-in { from { opacity: .55; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes ecx-hero-image-settle { from { opacity: .65; transform: scale(1.05); } to { opacity: 1; transform: scale(1.018); } }
@keyframes ecx-hero-copy-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
body.theme-ecochar .ecx-delivery-projects{margin-top:clamp(42px, 5vw, 64px)}
body.theme-ecochar .ecx-delivery-grid > div{position:relative;min-height:166px;padding-top:58px;padding-right:16px}
body.theme-ecochar .ecx-delivery-mark{position:absolute;top:17px;right:18px;width:clamp(44px, 4.4vw, 62px);height:auto;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity 180ms ease, transform 180ms ease}
body.theme-ecochar .ecx-delivery-grid > div:hover .ecx-delivery-mark,
body.theme-ecochar .ecx-delivery-grid > div:focus-within .ecx-delivery-mark{transform:translateY(-2px)}
body.theme-ecochar .ecx-delivery-grid strong{color:var(--ecfr-ink)}
body.theme-ecochar .ecx-delivery-grid span{max-width:18ch;color:#3f463f;font-weight:500}
body.theme-ecochar .ecx-delivery-grid small{max-width:24ch}
body.theme-ecochar .ecx-photo-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:clamp(24px, 3.5vw, 44px)}
/* Closing band (2026-10-26): the Decision chapter closes on the Readiness field green, as the
   sibling project pages close on their own band. project-identity-20261013.css styles #decision
   for a paper surface, so the band switches its accent to the on-dark variant. */
body.theme-ecochar .ecx-closing{background:var(--ecx-dark);color:#f7f4ec;border-top:0}
body[data-project-id="ecochar"] #decision.ecx-closing{--cv-project-accent:var(--cv-project-accent-on-dark);--project-identity-control-ink:var(--ecx-dark);--project-identity-control-hover-bg:color-mix(in srgb, var(--cv-project-accent-on-dark) 85%, white);--project-identity-control-hover-ink:var(--ecx-dark);--project-action-primary-hover-shadow:0 10px 24px rgba(0,0,0,.22)}
body.theme-ecochar .ecx-closing__grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(280px, .5fr);gap:clamp(44px, 7vw, 104px);align-items:end}
body.theme-ecochar .ecx-closing__lead > .ecfr-label{display:block}
body.theme-ecochar .ecx-closing h2{max-width:14ch;margin:14px 0 0;color:#f7f4ec;font-family:var(--ecfr-serif);font-size:clamp(2.7rem, 5vw, 5.5rem);font-weight:400;line-height:.96;letter-spacing:-.046em;text-wrap:balance}
body.theme-ecochar .ecx-closing__steps{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:clamp(28px, 4vw, 56px);margin-top:clamp(40px, 5vw, 64px)}
body.theme-ecochar .ecx-closing__steps article{padding-top:20px;border-top:1px solid rgba(247,244,236,.24)}
body.theme-ecochar .ecx-closing__steps p{max-width:46ch;margin:14px 0 0;color:rgba(247,244,236,.76);line-height:1.6}
body.theme-ecochar .ecx-closing__ask{display:grid;gap:20px;padding-top:20px;border-top:1px solid rgba(247,244,236,.24)}
body.theme-ecochar .ecx-closing__ask p{max-width:40ch;margin:0;color:rgba(247,244,236,.76);line-height:1.65}
body.theme-ecochar .ecx-closing__ask p:not(.project-partnership-copy){color:#f7f4ec;font-weight:500}
body.theme-ecochar .ecx-closing__ask .project-action{justify-self:start;margin-top:6px}
@media (max-width: 900px){
  body.theme-ecochar .ecx-closing__grid{grid-template-columns:1fr;gap:44px;align-items:start}
}
@media (max-width: 720px){
  body.theme-ecochar .ecx-closing__steps{grid-template-columns:1fr;gap:28px}
  body.theme-ecochar .ecx-closing h2{max-width:none;font-size:clamp(2.3rem, 10.4vw, 3.45rem);line-height:.98}
}
@media (max-width: 720px){
  body.theme-ecochar .ecx-delivery-grid > div{min-height:152px;padding-top:52px}
  body.theme-ecochar .ecx-delivery-mark{top:14px;right:10px;width:48px}
  body.theme-ecochar .ecx-photo-grid{grid-template-columns:1fr;gap:34px}
}
@media (prefers-reduced-motion: reduce){
  body.theme-ecochar .ecx-delivery-mark{transition:none!important}
}
body.theme-ecochar .ecx-ready__controls span{color:rgba(247,244,236,.58)}
body.theme-ecochar .ecx-ready__facts dt{color:#6b625b}
body.theme-ecochar[data-ecochar-exemplar="UNPROMOTED_ECOCHAR_EXEMPLAR_RC4C"],
body.theme-ecochar[data-ecochar-exemplar="UNPROMOTED_ECOCHAR_EXEMPLAR_RC4D"]{--ecx-dark:#17372c;--ecx-dark-2:#10271f;--ecx-accent:#a46149}
body.theme-ecochar .ecx-delivery-mark{stroke-width:1.48;opacity:.82}
body.theme-ecochar .ecx-delivery-grid > div:hover .ecx-delivery-mark,
body.theme-ecochar .ecx-delivery-grid > div:focus-within .ecx-delivery-mark{opacity:1}
body.theme-ecochar .ecx-ready__controls button{position:relative;transform:translateX(0);transition:color 190ms ease, padding-left 190ms ease, transform 190ms ease, background-color 190ms ease}
body.theme-ecochar .ecx-ready__controls button[aria-selected="true"]{padding-left:18px;color:#fff;box-shadow:inset 4px 0 0 var(--ecx-accent);transform:translateX(3px)}
body.theme-ecochar .ecx-ready__controls button[aria-selected="true"] strong{font-weight:500}
body.theme-ecochar .ecx-ready__controls button[aria-selected="true"] span{color:#e4b39e}
body.theme-ecochar .ecx-ready__panel{transform-origin:50% 0;will-change:opacity, transform}
body.theme-ecochar [data-eco-readiness-enhanced="true"] .ecx-ready__panel.is-active{animation:ecx-readiness-in-rc4c 205ms var(--cv-ease-move) both}
@keyframes ecx-readiness-in-rc4c {
  from { opacity: .18; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
body.theme-ecochar .ecx-record-principle small{margin-top:20px}
@media (max-width: 900px){
  body.theme-ecochar .ecx-ready__controls button[aria-selected="true"]{padding-left:16px;background:rgba(255,255,255,.055);color:#fff;box-shadow:inset 0 3px 0 var(--ecx-accent);transform:none}
  body.theme-ecochar .ecx-ready__controls button[aria-selected="true"] span{color:#eaded6;font-size:10.5px}
}
@media (max-width: 720px){
  body.theme-ecochar .ecx-ready{padding-block:54px}
  body.theme-ecochar .ecx-ready-workbench{gap:16px;margin-top:24px;padding-top:16px}
  body.theme-ecochar .ecx-ready__controls{grid-template-columns:repeat(2, minmax(0, 1fr))}
  body.theme-ecochar .ecx-ready__controls button{min-height:62px;padding:9px 10px}
  body.theme-ecochar .ecx-ready__controls button[aria-selected="true"]{padding-left:10px}
  body.theme-ecochar .ecx-ready__panel{padding:18px 15px}
  body.theme-ecochar .ecx-ready__panel .ecx-ready__project .ecfr-label{font-size:10.5px}
  body.theme-ecochar .ecx-ready__project h3{font-size:clamp(1.82rem, 8.6vw, 2.42rem)}
  body.theme-ecochar .ecx-ready__facts{margin-top:18px}
  body.theme-ecochar .ecx-ready__facts > div{padding:11px 0}
  body.theme-ecochar .ecx-ready__facts dd{font-size:.88rem;line-height:1.44}
}
@media (max-width: 360px){
  body.theme-ecochar .ecx-ready__controls{grid-template-columns:1fr;gap:1px}
  body.theme-ecochar .ecx-ready__controls button{min-height:54px}
}
@media (prefers-reduced-motion: reduce){
  body.theme-ecochar .ecx-ready__controls button,
  body.theme-ecochar .ecx-delivery-mark{transform:none}
}
.eco-r40-hero{position:relative;overflow:hidden;background:#1f251b;color:#fff;isolation:isolate}
.eco-r40-media,
.eco-r40-media picture,
.eco-r40-media img{position:absolute;inset:0;width:100%;height:100%;margin:0}
.eco-r40-media img{object-fit:cover;object-position:center;filter:saturate(.66) contrast(1.04);transition:transform .7s var(--cv-ease-enter),filter .6s}
.eco-r40-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,22,14,.86),rgba(16,22,14,.46) 49%,rgba(16,22,14,.12) 76%),linear-gradient(0deg,rgba(14,20,12,.68),transparent 50%)}
.eco-r40-copy{position:relative;z-index:2;min-height:inherit;max-width:690px;padding:clamp(110px,16vh,165px) clamp(24px,5vw,76px) 170px;display:flex;flex-direction:column;justify-content:center}
.eco-r40-kicker{font:600 .65rem var(--sans,Arial);letter-spacing:.15em;color:#d7dd8a}
.eco-r40-copy h1{margin:0;color:#fff;font:400 clamp(3.5rem,6.3vw,6.8rem)/.88 var(--serif,Georgia,serif)}
.eco-r40-copy>p:not(.eco-r40-kicker){margin:22px 0 0;max-width:34rem;color:rgba(255,255,255,.84);font-size:1rem;line-height:1.55}
.eco-r40-cta{width:max-content;margin-top:26px;padding:0 18px;background:#d9df7b!important;color:#192114!important}
.eco-r40-transect{position:absolute;z-index:3;right:clamp(22px,4vw,62px);bottom:28px;width:min(520px,42vw);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.eco-r40-axis{position:absolute;left:0;right:0;top:-34px;height:22px;border-top:1px solid rgba(255,255,255,.52);display:flex;justify-content:space-between}
.eco-r40-axis i{display:block;width:1px;height:11px;background:rgba(255,255,255,.62)}
.eco-r40-project{min-height:72px;padding:12px 14px;border:1px solid rgba(255,255,255,.35);background:rgba(18,25,15,.45);backdrop-filter:blur(8px)}
.eco-r40-project span{display:block;font:600 .625rem var(--sans,Arial);letter-spacing:.13em;color:#d9df7b}
.eco-r40-project strong{display:block;margin-top:5px;font:500 .8rem var(--sans,Arial)}
.eco-r40-project small{display:block;margin-top:4px;color:rgba(255,255,255,.66);font-size:.6875rem}
.eco-r40-chars{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}
.eco-r40-chars button{border:1px solid rgba(255,255,255,.26);border-right:0;background:rgba(18,25,15,.5);color:rgba(255,255,255,.68);font:600 .625rem var(--sans,Arial);letter-spacing:.04em}
.eco-r40-chars button:last-child{border-right:1px solid rgba(255,255,255,.26)}
.eco-r40-chars button[aria-pressed=true]{background:#d9df7b;color:#202616}
@media (max-width:760px){
  .eco-r40-media img{object-position:58% center}
  .eco-r40-media:after{background:linear-gradient(0deg,rgba(15,21,12,.93),rgba(15,21,12,.5) 58%,rgba(15,21,12,.08))}
  .eco-r40-copy{padding:78px 22px 190px;justify-content:flex-end}
  .eco-r40-copy>p:not(.eco-r40-kicker){font-size:.9rem;margin-top:16px}
  .eco-r40-cta{margin-top:18px}
  .eco-r40-transect{left:12px;right:12px;width:auto;gap:6px}
  .eco-r40-axis{top:-22px;height:14px}
  .eco-r40-project{min-height:58px;padding:8px 10px}
  .eco-r40-project small{font-size:.6875rem}
  .eco-r40-chars button{font-size:.625rem}
}
@media (prefers-reduced-motion:reduce){
  .eco-r40-media img{transition:none!important}
}
.eco-r40-copy h1>span{display:block;white-space:nowrap}
.eco-r40-chars{display:none}
/* A field-record opening: readable copy and an uncropped contextual photograph,
   with the two project identities collected in a separate register below. */
body.theme-ecochar .eco-r40-hero {
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: 30px clamp(30px,4vw,64px);
  padding: 112px clamp(24px,5vw,76px) 32px;
  background: #182b24;
}
body.theme-ecochar .eco-r40-copy {
  grid-area: 1/1;
  min-height: 0;
  max-width: none;
  padding: 28px 0;
}
body.theme-ecochar .eco-r40-copy h1 {
  font-size: clamp(40px,4.6vw,74px);
  line-height: 1.04;
}
body.theme-ecochar .eco-r40-kicker { margin-bottom: 22px; font-size: 12px; line-height: 1.5; letter-spacing: .08em; }
body.theme-ecochar .eco-r40-copy > p:not(.eco-r40-kicker) { max-width: 37ch; color: #e0e6df; }
body.theme-ecochar .eco-r40-media {
  grid-area: 1/2;
  position: static;
  width: 100%;
  height: auto;
  margin: 0;
}
body.theme-ecochar .eco-r40-media img {
  position: static;
  width: 100%;
  height: auto;
  filter: none;
  transition: none;
}
body.theme-ecochar .eco-r40-media::after { content: none; }
body.theme-ecochar .eco-r40-media figcaption {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
  justify-content: space-between;
  margin-top: 12px;
  color: #ced9ce;
  font: 400 12px/1.5 var(--sans);
}
body.theme-ecochar .eco-r40-media figcaption span { color: #e3e7ab; }
body.theme-ecochar .eco-r40-transect {
  grid-area: 2/1/3/-1;
  position: static;
  width: 100%;
  padding-top: 24px;
  border-top: 1px solid #718276;
  gap: 24px;
}
body.theme-ecochar .eco-r40-axis { display: none; }
body.theme-ecochar .eco-r40-project {
  min-height: 0;
  border: 0;
  border-left: 1px solid #718276;
  padding: 0 20px;
  background: transparent;
  backdrop-filter: none;
}
body.theme-ecochar .eco-r40-project span { font-size: 12px; letter-spacing: .06em; }
body.theme-ecochar .eco-r40-project strong { margin-top: 8px; font-size: 18px; }
body.theme-ecochar .eco-r40-project small { margin-top: 7px; color: #ced9ce; font-size: 12px; line-height: 1.5; }
body.theme-ecochar main :is(.ec42-kicker,.ecfr-label,.ecfr-period,.ec42-atlas__caption) { font-size: 12px; line-height: 1.5; letter-spacing: .065em; }
body.theme-ecochar .ec42-atlas__caption { color: #d3d9ca; }
@media (max-width:900px) {
  body.theme-ecochar .eco-r40-hero {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: auto auto auto;
    padding: 104px 24px 32px;
    gap: 28px;
  }
  body.theme-ecochar .eco-r40-copy { grid-area: 1/1; padding: 0; }
  body.theme-ecochar .eco-r40-copy h1 { font-size: clamp(38px,7.8vw,64px); }
  body.theme-ecochar .eco-r40-media { grid-area: 2/1; }
  body.theme-ecochar .eco-r40-transect { grid-area: 3/1; gap: 16px; }
}
@media (max-width:480px) {
  body.theme-ecochar .eco-r40-hero { padding-inline: 20px; }
  body.theme-ecochar .eco-r40-copy h1 { font-size: clamp(34px,9.4vw,45px); }
  body.theme-ecochar .eco-r40-project { padding-left: 12px; padding-right: 0; }
  body.theme-ecochar .eco-r40-project strong { font-size: 16px; }
}
body.ecochar-r42{--ec42-paper:#f3efe6;--ec42-rust:#934f3d;background:var(--ec42-paper)}
.ecochar-r42 .eco-r40-hero{margin-top:0}
.ec42-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.ec42-kicker{font:600 .68rem/1.2 var(--sans,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase}
.ec42-context,
.ec42-atlas,
.ec42-allocation{padding:clamp(74px,8vw,118px) 0}
.ec42-context{background:#f6f2e9}
.ec42-context__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(42px,7vw,100px);align-items:end}
.ec42-context h2,
.ec42-atlas h2,
.ec42-allocation h2{margin:0;font:400 clamp(2.8rem,5.2vw,5.8rem)/.92 var(--serif,Georgia,serif);letter-spacing:-.045em}
.ec42-context p,
.ec42-allocation p{max-width:62ch;color:#4f514b;line-height:1.7}
.ec42-related{border-top:1px solid rgba(24,32,25,.22);padding-top:14px}
.ec42-related>span{font-size:.625rem;letter-spacing:.12em;color:#70665d}
.ec42-related a{display:block;margin-top:14px}
.ec42-related strong{display:block;font:500 1.15rem/1.25 var(--serif,Georgia,serif)}
.ec42-related small{display:block;margin-top:8px;color:#6a6b65;line-height:1.45}
.ec42-atlas{background:#24372e;color:#f7f1e6}
.ec42-atlas__grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(44px,7vw,100px);align-items:center}
.ec42-atlas__frame{position:relative;width:min(100%,480px);margin:auto;opacity:.68;transform:translateY(12px);transition:opacity .7s ease,transform .7s ease}
.ec42-atlas.is-visible .ec42-atlas__frame{opacity:1;transform:none}
.ec42-atlas__frame img{width:100%;height:auto}
.ec42-atlas__pulse{position:absolute;left:32.97%;top:23.26%;width:18px;height:18px;border:1px solid #f0d76f;border-radius:50%;transform:translate(-50%,-50%) scale(.35);opacity:0}
.ec42-atlas.is-visible .ec42-atlas__pulse{animation:ec42pulse 1.2s .4s ease-out 1}
.ec42-atlas__caption{margin:22px auto 0!important;width:min(100%,480px);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(247,241,230,.62)}
.ec42-atlas .ec42-kicker{color:#d9df7b}
.ec42-atlas h2{color:#fff}
.ec42-crop-list{margin-top:34px;border-top:1px solid rgba(255,255,255,.18)}
.ec42-crop-list article{display:grid;grid-template-columns:100px 1fr;gap:3px 18px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.ec42-crop-list span{grid-row:1/3;font-size:.63rem;letter-spacing:.12em;color:#d9df7b}
.ec42-crop-list strong{font:500 clamp(1.45rem,2.4vw,2.3rem)/1 var(--serif,Georgia,serif)}
.ec42-crop-list small{color:rgba(255,255,255,.62)}
.ec42-evidence-note{max-width:58ch;color:rgba(255,255,255,.68);font-size:.82rem;line-height:1.55}
.ec42-text-link{display:inline-flex;min-height:44px;align-items:center;margin-top:14px;color:#eef397;border-bottom:1px solid rgba(238,243,151,.48)}
.ec42-allocation{background:#eadfc9}
.ec42-allocation__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(48px,7vw,100px);align-items:start}
.ec42-allocation h2{max-width:10ch}
.ec42-allocation__plot{padding-top:12px}
.ec42-allocation__stack{display:flex;height:18px;width:100%;overflow:hidden;background:#d5c8b0}
.ec42-allocation__stack span{width:var(--share)}
.ec42-allocation .is-capital{--c:#355c4b}
.ec42-allocation .is-programme{--c:#a55e42}
.ec42-allocation .is-overhead{--c:#6f7582}
.ec42-allocation__stack .is-capital,
.ec42-allocation__stack .is-programme,
.ec42-allocation__stack .is-overhead{background:var(--c)}
.ec42-allocation dl{margin:18px 0 0}
.ec42-allocation dl>div{display:grid;grid-template-columns:1fr auto;gap:5px 16px;padding:16px 0;border-top:1px solid rgba(24,32,25,.18);border-left:4px solid var(--c);padding-left:14px}
.ec42-allocation dt{font-weight:600}
.ec42-allocation dd{margin:0;font:500 1.6rem var(--serif,Georgia,serif)}
.ec42-allocation small,
.ec42-allocation dd.ec42-allocation__note{grid-column:1/-1;color:#5f5d55}
.ec42-allocation dd.ec42-allocation__note{font:inherit;font-size:smaller}
.ecochar-r42 .ecx-delivery-mark{stroke:var(--ec42-rust)!important}
.ecochar-r42 .ecx-ready{background:#18352e}
.ecochar-r42 .ecx-constraints{background:#d9df7b}
@keyframes ec42pulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}35%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}
@media (max-width:820px){
  .ec42-shell{width:min(100% - 32px,1180px)}
  .ec42-context__grid,
  .ec42-atlas__grid,
  .ec42-allocation__grid{grid-template-columns:1fr}
  .ec42-context h2,
  .ec42-atlas h2,
  .ec42-allocation h2{font-size:clamp(2.45rem,10.5vw,4.2rem)}
  .ec42-atlas__grid{gap:36px}
  .ec42-atlas__map{order:2}
  .ec42-crop-list article{grid-template-columns:86px 1fr}
  .eco-r40-transect{bottom:12px}
}
@media (max-width:560px){
  .ec42-shell{width:calc(100% - 28px)}
  .ec42-context,
  .ec42-atlas,
  .ec42-allocation{padding:64px 0}
  .ec42-context__grid{gap:34px}
  .ec42-context h2,
  .ec42-atlas h2{max-width:100%;font-size:clamp(1.85rem,7.8vw,2.5rem)}
  .ec42-atlas__frame{width:88%}
  .ec42-crop-list article{grid-template-columns:72px 1fr;gap:3px 12px}
  .ec42-crop-list strong{font-size:1.55rem}
}
@media (prefers-reduced-motion:reduce){
  .ec42-atlas__frame{opacity:1;transform:none}
  .ec42-atlas__pulse{display:none}
}
@media (min-width:561px){
  .ec42-context h2,
  .ec42-atlas h2{max-width:17ch}
}
@media (min-width:1440px){
  .ec42-context h2,
  .ec42-atlas h2{font-size:4.65rem}
}
.ec42-context h2,
.ec42-allocation h2{margin-bottom:.34em}
@media (max-width:560px){
  body.theme-ecochar .eco-r40-copy h1{max-width:none;letter-spacing:-.055em}
}
@media (max-width:429px){
  body.theme-ecochar #ecx-record-title{max-width:100%;letter-spacing:-.06em}
}
@media (max-width:389px){
  body.theme-ecochar #ecx-record-title{font-size:clamp(2.1rem,10.8vw,2.65rem)}
}
:is([data-project-section], [data-project-chapter], .project-main > section, main[data-project-main] > section, .bc60-section, .r43-hero + section, section[id]){scroll-margin-top:calc(var(--global-nav-height, 58px) + 60px)}
@media (max-width: 760px){
  :is([data-project-section], [data-project-chapter], .project-main > section, main[data-project-main] > section, .bc60-section, .r43-hero + section, section[id]){scroll-margin-top:64px}
}

/* Shared navigation art pass · 17 October 2026.
   Mirrored in the seven folded project sheets; typography remains owned by PR #323. */

/* Project identity (moved from project-identity-20261013.css; loaded last there). */
body[data-project-id="ecochar"] #decision a[href*="contact.html"] {
  background: var(--project-identity-control-bg) !important;
  color: var(--project-identity-control-ink) !important;
  border-color: var(--project-identity-control-line) !important;
  border-style: solid;
  border-width: 1px;
}

body[data-project-id="ecochar"] #decision a[href*="contact.html"]:hover {
  background: var(--project-identity-control-hover-bg) !important;
  color: var(--project-identity-control-hover-ink) !important;
  border-color: var(--project-identity-control-line) !important;
}

body[data-project-id="ecochar"] #decision a[href*="contact.html"]:focus-visible {
  outline: 2px solid var(--project-identity-focus) !important;
  outline-offset: 4px;
}

body[data-project-id="ecochar"] {
  --cv-project-accent: #5d6b32;
  --cv-project-accent-on-dark: #cbd7a0;
  --cv-project-accent-hover: #4e5a2a;
}

body[data-project-id="ecochar"] #decision {
  --project-identity-focus: var(--cv-project-accent);
  --project-identity-control-bg: var(--cv-project-accent);
  --project-identity-control-ink: #fff;
  --project-identity-control-line: var(--cv-project-accent);
  --project-identity-control-hover-bg: var(--cv-project-accent-hover);
  --project-identity-control-hover-ink: #fff;
}

body[data-project-id="ecochar"] #decision .ecfr-label {
  color: var(--cv-project-accent) !important;
}
