/* EcoChar — Wave 3b fold
   projects/ecochar/assets/ecochar.css
   = bundles/projects--ecochar.css + ecochar-field-record.css + ecochar-hero-v2.css + ecochar-r42.css, byte for byte, in stack order.
   Sources kept in the repository (referenced outside docs/qa by ECOCHAR_EXEMPLAR_MANIFEST_RC3_20260826.json / R40_RECONSTRUCTED_BASELINE_MANIFEST.json). */

/* ---- from projects--ecochar.css ---- */

/* source: assets/cultivera-global.css */
:root{--global-nav-height:64px;--nav-height:var(--global-nav-height);--nav-surface:transparent;--nav-surface-scrolled:rgba(250,250,247,0.92);--nav-line:transparent;--nav-ink:#141714;--nav-muted:rgba(20,23,20,0.66);--nav-shadow:0 14px 36px rgba(20,30,23,0.055);--subnav-offset:calc(var(--global-nav-height) + 10px);--standard-radius:8px;--standard-pill:999px;--button-bg:#141714;--button-bg-hover:#0d2f20;--button-line:rgba(20,23,20,0.16);--button-radius:999px;--mobile-tap-target:44px;--paper-warm:#eef3ea;--white:#ffffff;--green-900:#092a1c;--green-700:#1a6440;--green-500:#4f9a63;--green-deep:#083e2a;--green:#126746;--green-mid:#3e8d6b;--red:#bd3443;--gold:#b78b28;--blue-logo:#0b567c;--surface:#ffffff;--forest:var(--green-700);--forest-deep:var(--green-900);--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:cubic-bezier(0.16,1,0.3,1);--ease-out-expo:cubic-bezier(0.19,1,0.22,1);--editorial-container:1360px;--gutter:clamp(20px,5vw,72px);--radius:8px;--type-display:clamp(2.75rem,5vw,4.5rem);--type-section:clamp(2.15rem,3.8vw,3.5rem);--type-subhead:clamp(1.55rem,2.2vw,2.45rem);--type-panel-title:clamp(1.7rem,3vw,3rem);--type-card-title:clamp(1.35rem,1.72vw,1.82rem);--type-card-title-large:clamp(1.58rem,2.1vw,2.3rem);--type-card-title-small:clamp(1.18rem,1.45vw,1.52rem);--type-route-title:clamp(1.16rem,1.42vw,1.58rem);--type-stat:clamp(1.95rem,3vw,3.55rem);--type-stat-small:clamp(1.35rem,2vw,2rem);--type-body-large:clamp(1.125rem,1.25vw,1.35rem);--type-body:clamp(0.96rem,0.92vw,1.02rem);--type-caption:clamp(0.74rem,0.76vw,0.84rem);--type-mobile-section:clamp(2rem,8.2vw,3rem);--type-mobile-card-title:clamp(1.35rem,6.8vw,1.9rem);--type-mobile-stat:clamp(0.98rem,4.8vw,1.25rem);--type-display-track:-0.015em;--type-display-leading:1;--type-section-leading:1.08;--type-label-track:0.12em;--type-label-track-tight:0.14em;--type-serif-leading-tight:1.15;--type-copy-leading:1.55;--section-pad:clamp(48px,4.5vw,64px);--section-pad-compact:clamp(42px,4vw,60px);--runner-heading-gap:clamp(12px,1.2vw,18px);--ledger-row-space:clamp(13px,1.4vw,18px);--media-index-row-space:clamp(15px,1.55vw,20px);--type-section-supporting:clamp(2.25rem,3.45vw,3.8rem);--paper:#f7f8f4;--paper-soft:#ffffff;--ink:#141714;--ink-soft:#343a35;--muted:#4e5550;--faint:#687169;--line:rgba(20,23,20,0.105);--line-soft:rgba(20,23,20,0.085);--media-card-short:clamp(128px,11vw,168px);--media-card-medium:clamp(150px,15vw,210px);--media-card-large:clamp(180px,18vw,260px);--route-card-height:clamp(172px,14.5vw,210px);--media-feature:clamp(340px,34vw,440px);--media-feature-mobile:300px;--map-panel-height:clamp(420px,40vw,600px);--close-bg:#0b2016;--close-panel:#102c1f;--close-panel-2:#153827;--close-ink:#f4f7ef;--close-muted:rgba(232,240,231,0.72);--close-line:rgba(255,255,255,0.14);--close-accent:#b7df62;--close-warm:#d5b56b;--editorial-max-copy:62ch;--type-hero-standard:clamp(3.75rem,6vw,6.55rem);--type-hero-editorial:clamp(3.65rem,5.55vw,5.95rem);--type-section-large:clamp(2.7rem,4.35vw,4.75rem);--closing-title-max:12ch;--closing-copy-max:44ch;--main-section-space:clamp(72px,7vw,108px);--main-section-space-compact:clamp(56px,5.5vw,84px);--main-head-gap:clamp(28px,4vw,56px);--main-device-radius:8px;--main-feature-media-max:620px}*,::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);outline-color:var(--close-accent)}main[tabindex="-1"]:focus{outline:0}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:var(--type-body);line-height:var(--type-copy-leading);overflow-x:clip}.container{width:min(100%,calc(var(--editorial-container) + (var(--gutter)*2)));margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-pad)}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}}.section-title,h1,h2,h3{text-wrap:balance}li{text-wrap:pretty}.section-title{font-family:var(--serif);font-weight:400;font-size:var(--type-display);line-height:var(--type-serif-leading-tight);letter-spacing:var(--type-display-track)}.section-title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--green-mid,#3e8d6b)}.nav-links a{font-weight:500}.page-nav{position:sticky;top:0;z-index:100;min-height:var(--nav-height);border-bottom:1px solid var(--nav-line);background:var(--nav-surface);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background 300ms var(--ease,ease),border-color 300ms var(--ease,ease),box-shadow 300ms var(--ease,ease),backdrop-filter 300ms var(--ease,ease),-webkit-backdrop-filter 300ms var(--ease,ease)}.page-nav.is-scrolled{background:var(--nav-surface-scrolled);border-bottom-color:rgba(20,23,20,.08);box-shadow:var(--nav-shadow);backdrop-filter:blur(24px) saturate(1.1);-webkit-backdrop-filter:blur(24px) saturate(1.1)}.section-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--forest);margin-bottom:var(--runner-heading-gap);letter-spacing:.04em}.nav-links a{display:inline-flex;align-items:center;padding:0}.nav-links{display:flex;align-items:center;gap:clamp(18px,1.65vw,32px);color:var(--nav-muted);font-size:.84rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.nav-links a{position:relative;min-height:44px;justify-content:center;color:inherit;line-height:1;transition:color 180ms ease}.nav-links a::after{content:"";position:absolute;right:0;bottom:7px;left:0;height:1px;background:currentColor;opacity:0;transform:scaleX(.64);transform-origin:center;transition:opacity 180ms ease,transform 180ms ease}.nav-links a:focus-visible,.nav-links a:hover{color:var(--nav-ink)}.nav-links a:focus-visible::after,.nav-links a:hover::after,.nav-links a[aria-current=page]::after{opacity:.72;transform:scaleX(1)}.nav-cta,.nav-links a[aria-current=page]{color:var(--nav-ink)}.nav-cta{display:inline-flex;align-items:center;justify-content:center;padding:0 17px;background:var(--ink);line-height:1;box-shadow:inset 0 1px 1px rgba(255,255,255,.2),0 4px 12px rgba(20,24,20,.15);white-space:nowrap;transition:background-color 250ms ease,border-color 250ms ease,box-shadow 250ms ease,color 250ms ease,transform 250ms ease;padding-inline:22px;color:#fff;border-radius:40px;font-size:.84rem;letter-spacing:.01em}.nav-cta{min-height:44px;font-weight:400;border:1px solid rgba(0,0,0,.06)}.nav-cta:focus-visible,.nav-cta:hover{border-color:rgba(18,103,70,.28);background:rgba(255,255,255,.78);color:#0d2f20;box-shadow:0 8px 24px rgba(20,30,23,.08),inset 0 1px 0 rgba(255,255,255,.76);transform:translateY(-1px)}.mobile-panel{display:none;border-top:1px solid rgba(16,21,18,.1);border-bottom:1px solid var(--nav-line);padding:12px var(--gutter,24px) 18px;background:rgba(248,249,245,.98);box-shadow:0 18px 34px rgba(20,30,23,.045)}.mobile-panel.is-open{display:block}.mobile-panel a{display:flex;align-items:center;border-bottom:1px solid rgba(23,24,19,.08);padding:12px 0;color:rgba(20,23,20,.72);font-size:.92rem;font-weight:400}body.mobile-menu-open{overscroll-behavior:none}@media (max-width:1120px){.mobile-panel{position:fixed;top:var(--nav-height);right:0;bottom:0;left:0;z-index:99;width:100%;height:auto;max-height:calc(100dvh - var(--nav-height));padding:12px var(--gutter,24px) max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;border-bottom:0;background:linear-gradient(180deg,rgba(250,250,247,.98),rgba(247,248,244,.98)),var(--paper);box-shadow:0 24px 54px rgba(20,30,23,.12)}}.paper-subnav,.story-subnav{position:sticky;top:var(--subnav-offset);z-index:92;width:fit-content;max-width:calc(100% - 32px);margin:10px auto 0;border:1px solid rgba(0,0,0,.06);border-radius:var(--standard-pill);background:rgba(247,248,244,.9);box-shadow:0 12px 32px rgba(20,30,23,.07);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);overflow:hidden}.paper-subnav a,.story-subnav a{min-height:32px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--button-radius);padding:0 12px;color:rgba(20,23,20,.66);font-family:var(--sans);font-size:.78rem;font-weight:400;text-decoration:none;white-space:nowrap;transition:background 200ms var(--ease,ease),color 200ms var(--ease,ease),border-color 200ms var(--ease,ease),transform 200ms var(--ease,ease)}.paper-subnav a:focus-visible,.paper-subnav a:hover,.story-subnav a:focus-visible,.story-subnav a:hover{color:var(--nav-ink);border-color:rgba(18,103,70,.12);background:rgba(255,255,255,.72);transform:none}.publication-subnav-toggle{display:none}.btn,.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--button-radius);padding:0 20px;font-family:var(--sans);font-size:.86rem;font-weight:400;text-align:center;line-height:1.12;white-space:normal;box-shadow:none;transition:background 180ms ease,border-color 180ms ease,color 180ms ease,transform 180ms ease}.btn.primary,.button.primary{border-color:var(--ink);background:var(--ink);color:#fff}.btn.primary:focus-visible,.btn.primary:hover,.button.primary:focus-visible,.button.primary:hover{border-color:var(--forest);background:var(--forest);color:#fff;transform:scale(1.02);box-shadow:0 8px 24px rgba(26,91,57,.25)}.btn.secondary,.button.secondary{border-color:var(--ink);background:0 0;color:var(--ink)}.btn.secondary:focus-visible,.btn.secondary:hover,.button.secondary:focus-visible,.button.secondary:hover{border-color:var(--ink);background:rgba(20,23,20,.05);color:var(--ink)}@media (max-width:1120px){:root{--global-nav-height:56px;--nav-height:var(--global-nav-height);--subnav-offset:calc(var(--global-nav-height) + 8px)}.nav-cta,.nav-links{display:none}}@media (max-width:700px){html{scroll-padding-top:calc(var(--global-nav-height) + 66px)}.paper-subnav,.story-subnav{width:calc(100% - 20px);margin-top:8px;border-radius:16px}}body,html{max-width:100%}.mobile-panel a{min-height:44px}@media (max-width:700px){.mobile-panel a{min-height:var(--mobile-tap-target,44px)}}.hero .section-kicker{text-align:center;margin-inline:auto}@media (max-width:720px){.paper-subnav,.story-subnav{width:calc(100% - 24px);max-width:none;border-radius:10px}.publication-subnav-toggle{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;border:0;padding:0 16px;background:0 0;color:var(--nav-ink);font-family:var(--sans);font-size:.8rem;font-weight:600}.publication-subnav-toggle span:last-child{transition:transform 180ms ease}.paper-subnav.is-open .publication-subnav-toggle span:last-child,.story-subnav.is-open .publication-subnav-toggle span:last-child{transform:rotate(180deg)}}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-label-track:0.065em;--type-serif-leading-tight:1;--type-copy-leading:1.6}}body .closing-section{position:relative;isolation:isolate;overflow:visible;margin:0;padding:var(--closing-section-pad-top,clamp(44px,4.5vw,62px)) 0 var(--closing-section-pad-bottom,clamp(10px,1.2vw,16px))}body main>.section-before-closing{padding-bottom:clamp(32px,4vw,56px)}body .closing-section::before{content:none}body .closing-section .cta-band{position:relative;isolation:isolate;display:grid;width:min(100%,1320px);margin-inline:auto;grid-template-columns:minmax(0,.95fr) minmax(340px,.65fr);gap:clamp(42px,7vw,100px);align-items:center;padding:var(--closing-panel-padding,clamp(38px,5vw,64px));border-radius:10px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 16px 42px rgba(6,28,18,.12)}body .closing-section .cta-band::before{content:"";position:absolute;z-index:-1;top:50%;left:50%;width:100vw;height:calc(50% + var(--closing-section-pad-bottom,clamp(10px,1.2vw,16px)));background:var(--close-bg,#0b2016);transform:translateX(-50%);pointer-events:none}body .closing-section .cta-band>div,body .closing-section .head-action,body .closing-section .head-main{min-width:0}body .closing-section .section-kicker{margin-bottom:14px}body .closing-section .section-title{max-width:var(--closing-title-max);margin:0;font-size:var(--closing-title-size,clamp(3rem,4.75vw,5.2rem));line-height:var(--closing-title-leading,.95);letter-spacing:-.048em}body .closing-section .cta-copy{max-width:var(--closing-copy-max);margin:0 0 var(--closing-copy-bottom,0);color:var(--muted,#4e5550);font-size:clamp(.98rem,1.15vw,1.08rem);line-height:1.6}.closing-section .head-action{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.closing-section .action-group{width:100%;align-items:center}body .closing-section .action-group{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:clamp(12px,1.8vw,20px);margin-top:clamp(20px,2.5vw,28px)}body .closing-section .action-group .btn{min-width:0;min-height:46px}@media (max-width:900px){body .closing-section .cta-band{grid-template-columns:1fr;align-items:start;gap:28px}}@media (max-width:700px){body main>.section-before-closing{padding-bottom:32px}body .closing-section{padding-top:32px}body .closing-section>.container{padding-inline:20px}body .closing-section .cta-band{padding:30px 24px 32px}body .closing-section .section-title{font-size:clamp(2.55rem,11vw,3.45rem)}body .closing-section .action-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body .closing-section .action-group .btn{width:100%;padding-inline:10px;font-size:clamp(.72rem,3vw,.82rem)}body .closing-section .action-group .btn:only-child{grid-column:1/-1;width:fit-content;max-width:100%;padding-inline:18px}}body footer.site-footer{display:block;margin-top:0;padding:clamp(12px,1.5vw,20px) 0 clamp(28px,3vw,40px);border-top:0;background:var(--close-bg,#0b2016);box-shadow:none;color:rgba(235,241,235,.72)}body footer.site-footer a{min-height:44px;color:rgba(245,249,241,.78);font-size:.91rem;text-decoration:none;overflow-wrap:anywhere;line-height:1.25}body footer.site-footer a:focus-visible,body footer.site-footer a:hover{color:#a7e75a}@media (max-width:700px){body footer.site-footer{padding-top:28px}body footer.site-footer a{min-height:var(--mobile-tap-target,44px)}}body:not(.project-theme) .action-group:not(.closing-actions){display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:clamp(14px,2vw,24px)}body:not(.project-theme) .mono{font-family:var(--mono,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Consolas,
    monospace
  );font-size:.68rem;font-weight:600;line-height:1.35;letter-spacing:.13em}body:not(.project-theme){--main-caption-size:clamp(.76rem,.78vw,.84rem);--main-caption-label-size:.63rem;--main-hero-caption-size:clamp(.74rem,.76vw,.82rem);--main-hero-caption-label-size:.6rem}body .closing-section+.site-footer{margin-top:0}
/* Standard editorial runner rhythm for non-home main pages. */

/* Dark closing surfaces use the same global action contract. */
body .closing-section{background:var(--closing-upper-surface,var(--paper))}
body .closing-section .cta-band::after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:var(--surface,#fff);pointer-events:none}
body .closing-section .cta-band>div{position:relative;z-index:1}


/* Shared editorial metadata and compact rails. */

/* Mobile headings use one direct reading column. */

/* source: assets/funding-mandate-nav.css */
/* v1.50.17 Funding Mandate Allocation — isolated navigation intelligence. */
.funding-nav-entry{display:inline-flex;align-items:center}
.funding-menu-panel[hidden],.funding-mobile-menu__detail[hidden]{display:none}
@media (min-width:1121px){
  .funding-menu-panel{position:fixed;z-index:140;top:calc(var(--nav-height,64px) + 7px);left:50%;width:min(900px,calc(100vw - 48px));min-height:314px;display:grid;grid-template-columns:minmax(265px,.43fr) minmax(0,.57fr);overflow:hidden;border:1px solid rgba(19,32,25,.12);border-radius:18px;background:rgba(249,249,245,.985);box-shadow:0 26px 70px rgba(20,30,23,.15),0 2px 8px rgba(20,30,23,.05);opacity:0;transform:translate(-50%,-6px);transition:opacity 160ms ease,transform 180ms cubic-bezier(.2,.7,.2,1);isolation:isolate;font-family:var(--sans,"Inter",sans-serif);font-size:1rem;letter-spacing:normal;text-transform:none;color:var(--ink,#141714)}
  .funding-menu-panel.is-open{opacity:1;transform:translate(-50%,0)}
  .funding-menu-nav{padding:28px 28px 26px;border-right:1px solid rgba(19,32,25,.11);background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(244,247,241,.56))}
  .funding-menu-top{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding-bottom:22px;border-bottom:1px solid rgba(19,32,25,.1)}
  .funding-menu-all{display:grid;gap:3px;color:var(--ink,#141714);text-decoration:none}
  .funding-menu-all span,.funding-menu-label,.funding-menu-profile__kicker{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.61rem;font-weight:600;letter-spacing:.105em;text-transform:uppercase;color:rgba(20,23,20,.5)}
  .funding-menu-all strong{font-family:var(--serif,"Playfair Display",serif);font-size:1.28rem;font-weight:500;letter-spacing:-.025em}
  .funding-menu-open-count{padding-top:2px;font-family:var(--mono,"JetBrains Mono",monospace);font-size:.57rem;letter-spacing:.06em;color:rgba(20,23,20,.5);white-space:nowrap}
  .funding-menu-label{display:block;margin:22px 0 7px}
  .funding-menu-priorities{display:grid}
  .nav-links .funding-menu-priority{min-height:43px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;justify-content:stretch;padding:0;color:rgba(20,23,20,.68);font-family:var(--sans,"Inter",sans-serif);font-size:.9rem;font-weight:500;letter-spacing:-.01em;text-transform:none;transition:color 140ms ease,transform 140ms ease}
  .nav-links .funding-menu-priority::after{content:none}
  .funding-menu-priority small{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.59rem;font-weight:500;color:rgba(20,23,20,.38)}
  .nav-links .funding-menu-priority:hover,.nav-links .funding-menu-priority:focus-visible,.nav-links .funding-menu-priority.is-active{color:var(--ink,#141714);transform:translateX(6px)}
  .funding-menu-profile{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 34px 26px;background:radial-gradient(circle at 88% 12%,rgba(185,216,117,.13),transparent 27%),linear-gradient(180deg,#f5f7f1 0%,#eef3ec 100%)}
  .funding-menu-profile::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background:linear-gradient(90deg,transparent 0 17%,rgba(20,45,32,.09) 17% 17.2%,transparent 17.2% 52%,rgba(20,45,32,.07) 52% 52.15%,transparent 52.15%),linear-gradient(rgba(20,45,32,.055) 1px,transparent 1px);background-size:auto,100% 54px;mask-image:linear-gradient(120deg,rgba(0,0,0,.9),transparent 78%);-webkit-mask-image:linear-gradient(120deg,rgba(0,0,0,.9),transparent 78%)}
  .funding-menu-profile>*{position:relative;z-index:1}
  .funding-menu-profile__metric{display:flex;align-items:flex-end;gap:13px;margin-top:14px}
  .funding-menu-profile__metric strong{font-family:var(--serif,"Playfair Display",serif);font-size:clamp(3.8rem,5.5vw,5.05rem);font-weight:500;line-height:.78;letter-spacing:-.065em;color:#16382a;font-variant-numeric:tabular-nums}
  .funding-menu-profile__metric span{max-width:92px;padding-bottom:5px;font-family:var(--mono,"JetBrains Mono",monospace);font-size:.58rem;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;color:rgba(20,23,20,.48)}
  .funding-menu-profile__rule{height:1px;margin:19px 0 17px;background:rgba(20,36,26,.14);overflow:hidden}
  .funding-menu-profile__rule i{display:block;width:100%;height:100%;background:#315b48;transform:scaleX(var(--funding-share,1));transform-origin:left;transition:transform 180ms cubic-bezier(.2,.7,.2,1)}
  .funding-menu-profile h3{margin:0;font-family:var(--serif,"Playfair Display",serif);font-size:1.45rem;font-weight:500;line-height:1.04;letter-spacing:-.035em;color:#17231b}
  .funding-menu-profile>p{max-width:49ch;margin:8px 0 0;color:rgba(20,23,20,.65);font-size:.78rem;line-height:1.5}
  .funding-menu-profile__projects{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:center;min-height:28px;margin-top:15px}
  .funding-menu-profile__project,.funding-menu-profile__more{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.61rem;letter-spacing:.025em;color:#315b48;text-decoration:none}
  .funding-menu-profile__project[data-separator]::after{content:attr(data-separator);margin-left:8px;color:rgba(20,23,20,.28)}
  .funding-menu-profile__project:hover,.funding-menu-profile__project:focus-visible{text-decoration:underline;text-underline-offset:4px}
  .funding-menu-profile__action{align-self:flex-start;margin-top:auto;padding-top:14px;color:#173b2c;font-size:.75rem;font-weight:600;text-decoration:none}
  .funding-menu-profile__action:hover,.funding-menu-profile__action:focus-visible{text-decoration:underline;text-underline-offset:5px}
  .funding-menu-profile__disclosure{display:block;margin-top:7px;color:rgba(20,23,20,.42);font-size:.58rem;line-height:1.35}
}
@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:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(20,23,20,.46)}
  .funding-mobile-menu__head small{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.57rem;color:rgba(20,23,20,.38)}
  .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:.56rem;font-weight:500;color:rgba(20,23,20,.4)}
  .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:.56rem;letter-spacing:.02em;color:rgba(20,23,20,.44)}
  .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}
}







@media (prefers-reduced-motion:reduce){.funding-menu-panel,.funding-menu-profile__rule i,.nav-links .funding-menu-priority{transition:none}}

/* source: assets/project-shell.css */
body.project-theme {
  --project-compact-width: 860px;
  --project-sticky-gap: 16px;
  --project-sticky-top: calc(var(--global-nav-height, 64px) + var(--project-subnav-height, 52px) + var(--project-sticky-gap));
  --project-sticky-available: calc(100svh - var(--project-sticky-top) - var(--project-sticky-gap));
  --project-functional-copy-size:clamp(.88rem,.9vw,.98rem);
  --project-dark-muted:rgba(255,255,255,.8);
  --project-dark-subtle:rgba(255,255,255,.68);
}body.project-theme[data-project-stage="in-delivery"]{--project-stage: #216f68;}body.project-theme main,body.project-theme .project-page{width: 100%; min-width: 0;}body.project-theme .project-page a{text-decoration: none;}body.project-theme .project-page a:focus-visible,body.project-theme .project-page button:focus-visible{outline: 2px solid var(--project-accent); outline-offset: 4px;}body.project-theme .project-page img,body.project-theme .project-page video{display:block;width:100%;}body.project-theme .project-page p,body.project-theme .project-page h1,body.project-theme .project-page h2,body.project-theme .project-page h3,body.project-theme .project-page h4,body.project-theme .project-page figure{margin: 0;}body.project-theme h1{max-width: 12ch; margin-bottom: 22px; font-family: var(--serif); font-size: clamp(3rem, 5.8vw, 5.7rem); font-weight: 500; line-height: 0.96;}@media (max-width: 700px){body.project-theme h1{max-width: 11ch; font-size: clamp(2.75rem, 13.5vw, 4.1rem);}
body.project-theme .section{padding-block: 60px;}}@media (prefers-reduced-motion: reduce){body.project-theme .btn{transition: none;}}body.project-theme{margin:0;accent-color:var(--accent);padding:0;min-width:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:var(--type-body);line-height:var(--type-copy-leading);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;--cd-section-space:clamp(64px,6.8vw,104px);--cd-section-space-mobile:56px;--project-luxe-radius:20px;--project-luxe-radius-small:12px;--project-luxe-shadow:0 24px 70px rgba(16, 28, 20, 0.09);--project-luxe-line:color-mix(in srgb, var(--ink) 11%, transparent);--project-luxe-copy:#3f4741;--project-section-space:clamp(72px,8vw,116px);--project-section-space-compact:clamp(58px,6vw,88px);--project-heading-size-supporting:clamp(2.25rem,3.8vw,4.1rem);--project-ledger-row-space:clamp(22px,2.4vw,30px);--project-media-gap:clamp(14px,1.6vw,20px);}body.project-theme .project-page{position: relative; background: var(--paper);overflow: visible}body.project-theme [class*="editorial-bridge"] p,body.project-theme [class*="human-line"] p{line-height: 1;}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 table caption{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;}@media (max-width: 650px){body.project-theme table[data-responsive-record] td::before{content: attr(data-label); display: block; margin-bottom: 5px; color: var(--muted); font-family: var(--mono); font-size: var(--project-meta-floor); font-weight: 500; letter-spacing: .055em; text-transform: uppercase;}
body.project-theme [class*="editorial-bridge"]{min-height: auto;}}body.project-theme{overflow-x:clip}body.project-theme{
  --project-closing-bg:var(--close-bg);
  --project-closing-accent:var(--close-accent);
}:where(body.project-theme) .section:not(.closing-section){position: relative; padding: clamp(64px, 7vw, 104px) var(--gutter); border-bottom: 1px solid var(--line); background: var(--paper);}body.project-theme .section:not(.closing-section) > .container,body.project-theme .section:not(.closing-section) > :not(.section-head){width: 100%; max-width: var(--editorial-container); margin-inline: auto;}body.project-theme .section:not(.closing-section) .section-title{scroll-margin-top: 140px !important;max-width: 14ch; font-family: var(--serif); font-size: var(--type-section); font-weight: 500; line-height: var(--type-section-leading)}@media (max-width: 700px){body.project-theme .section-title{font-size: var(--type-mobile-section); line-height: 1.02;}}body.project-theme main .section:not(.closing-section){padding-block:var(--cd-section-space);}@media (max-width:720px){body.project-theme main .section:not(.closing-section){padding-block:var(--cd-section-space-mobile);}}body.project-theme .section:not(.closing-section) .section-title{letter-spacing: normal; text-wrap: balance;}body.project-theme .mono{font-family:var(--mono);font-size:var(--project-label-size);font-weight:600;letter-spacing:var(--project-label-track);line-height:1.4;text-transform:uppercase;}body.project-theme :where(.project-eyebrow){font-family:var(--mono);font-size:var(--project-label-size);font-weight:600;letter-spacing:var(--project-label-track);line-height:1.4;text-transform:uppercase}body.project-theme :where(.project-functional-meta){font-size:var(--project-meta-size);line-height:1.55}body.project-theme :where(.project-source){font-size:var(--project-caption-small-size);font-weight:500;line-height:1.5}body.project-theme .project-caption{position:absolute;z-index:3;inset:auto auto 12px 12px;display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;width:fit-content;max-width:calc(100% - 24px);margin:0;padding:6px 18px 6px 8px;border:0;border-left:1px solid rgba(255,255,255,.5);border-radius:0;color:#fff;background:linear-gradient(90deg,rgba(10,22,17,.44),rgba(10,22,17,.14) 74%,transparent);box-shadow:none;backdrop-filter:none;font:500 var(--project-caption-small-size)/1.35 var(--sans);letter-spacing:0;text-align:left;text-shadow:0 1px 3px rgba(0,0,0,.82);text-transform:none}body.project-theme .project-caption__meta{display:inline;margin:0;color:rgba(255,255,255,.84);font:500 var(--project-caption-small-size)/1.35 var(--sans)}body.project-theme .project-caption__title{display:inline;margin:0;color:#fff;font:650 var(--project-caption-size)/1.25 var(--sans);letter-spacing:0;text-transform:none}body.project-theme .project-caption__meta::before{content:"·";margin-right:8px;color:rgba(255,255,255,.68)}body.project-theme :where(.project-surface-dark){--project-surface-muted:var(--project-dark-muted);--project-surface-subtle:var(--project-dark-subtle)}body.project-theme .evidence{display:inline-flex;width:fit-content;color:var(--project-accent);}body.project-theme .evidence{margin-bottom:16px;}body.project-theme .project-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}body.project-theme .project-hero-actions .project-action{min-height:48px;padding-inline:22px}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));color:var(--project-action-primary-color,#fff)}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))}@media (min-width:861px) and (max-height:960px){body.project-theme .project-hero-actions .project-action{min-height:44px;padding-inline:14px;font-size:.82rem}}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{display:inline-flex;align-items:center;justify-content:center;min-height:var(--project-action-min-height,48px);padding:var(--project-action-padding,0 20px);border:var(--project-action-border,1px solid transparent);border-radius:var(--project-action-radius,999px);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)}body.project-theme :where(.project-workbench,.project-sticky-workbench){
  min-inline-size:0;
  min-block-size:0;
  align-self:start;
}body.project-theme :where(.project-workbench--sticky){
  position:sticky;
  inset-block-start:var(--cv-project-sticky-offset,var(--project-sticky-top));
  max-block-size:var(--project-sticky-available);
}.project-editorial-grid{
  display:grid;
  grid-template-columns:var(--project-editorial-columns,minmax(0,var(--editorial-left,1fr)) minmax(0,var(--editorial-right,.72fr)));
  gap:var(--project-editorial-gap,clamp(44px,7vw,112px));
  align-items:var(--project-editorial-align,start);
}body.project-theme :is(section[id],article[id],.project-workbench,.project-sticky-workbench,.closing-section--project){
  scroll-margin-top:calc(var(--global-nav-height,64px) + var(--project-subnav-height,52px) + 24px);
}@media (max-width:900px){
  .project-editorial-grid{grid-template-columns:1fr}
}body.project-theme .project-pagination{padding:clamp(36px,4.5vw,62px) var(--gutter);border-top:1px solid var(--line);background:var(--paper)}body.project-theme .project-pagination__inner{width:100%;max-width:var(--editorial-container);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:center}body.project-theme .project-pagination__link{display:grid;gap:8px;min-width:0;padding:22px 0;border-block:1px solid var(--line)}body.project-theme .project-pagination__link--next{text-align:right}body.project-theme .project-pagination__link>span{color:var(--project-accent-text,var(--project-accent));font-size:var(--project-nav-label-size);letter-spacing:.11em;text-transform:uppercase}body.project-theme .project-pagination__link strong{font-family:var(--serif);font-size:clamp(1.5rem,2vw,2.25rem);font-weight:500;line-height:1.08;letter-spacing:-.025em}body.project-theme .project-pagination__link--prev strong::before{content:"←";margin-right:10px;color:var(--project-accent);font-family:var(--sans);font-size:.8em}body.project-theme .project-pagination__link--next strong::after{content:"→";margin-left:10px;color:var(--project-accent);font-family:var(--sans);font-size:.8em}body.project-theme .project-pagination__all{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:var(--project-nav-label-size);letter-spacing:.1em;text-transform:uppercase}@media (max-width:700px){body.project-theme .project-pagination__inner{grid-template-columns:1fr;gap:18px}body.project-theme .project-pagination__link--next{text-align:left}body.project-theme .project-pagination__all{order:3;width:fit-content}}body.project-theme .closing-section--project{--closing-title-max:14ch;--closing-copy-max:48ch;padding-block:clamp(64px,8vw,104px);border-top:1px solid rgb(255 255 255/16%);background:var(--project-closing-bg);color:var(--close-ink)}body.project-theme .closing-section--project .cta-band{grid-template-columns:minmax(0,1fr) auto;gap:clamp(40px,7vw,112px);align-items:end;padding:0;border:0;border-radius:0;background:transparent;color:var(--close-ink);box-shadow:none}body.project-theme .closing-section--project .cta-band::before,body.project-theme .closing-section--project .cta-band::after{content:none}body.project-theme .closing-section--project .section-kicker{color:var(--project-closing-accent)}body.project-theme .closing-section--project .section-title{color:var(--close-ink)}body.project-theme .closing-section--project .cta-copy{color:var(--close-muted)}body.project-theme .closing-section--project .head-action{align-items:flex-end}body.project-theme .closing-section--project .closing-actions{margin-top:0}body.project-theme .closing-section--project .btn.primary{border-color:var(--project-closing-accent);background:var(--project-closing-accent);color:var(--project-closing-bg)}@media (max-width:900px){body.project-theme .closing-section--project .cta-band{grid-template-columns:1fr;align-items:start}body.project-theme .closing-section--project .head-action{align-items:flex-start}}

/* source: assets/project-foundation-legacy.css */
/* Cultivera project foundation — exact parity-safe extraction from Green Flame, FRiO and EcoChar.
   Loaded after project-shell.css and before project-specific CSS. Do not reorder during V1.1 migration. */body.theme-ecochar{--project-accent: #28776e; --project-accent-soft: rgba(40, 119, 110, 0.12);}body.project-theme[data-project-archetype="model-note"] h1{font-size: clamp(2.8rem, 5vw, 4.8rem);}body.project-theme[data-project-archetype="model-note"] .section:not(.closing-section){padding-block: clamp(54px, 5.5vw, 78px);}body.project-theme[data-project-archetype="model-note"] .section:not(.closing-section) .section-title{max-width: 16ch; font-size: clamp(2rem, 3.2vw, 3rem);}body.project-theme section[id]{scroll-margin-top:136px;}:root{--project-meta-floor: clamp(.73rem, .72vw, .8rem); --project-caption-floor: clamp(.78rem, .8vw, .86rem); --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; text-wrap: balance;}@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);
  }}body.project-theme[data-project-id] .project-media{position:relative;margin:0;overflow:hidden;background:#d9ddd7}

/* source: assets/project-ecochar.css */
.theme-ecochar{--ep:#f4f1e8;--eps:#faf8f2;--ei:#17201d;--em:#56605b;--el:rgba(23,32,29,.15);--et:#1f5b59;--etd:#143b3a;--ec:#a9552d;--ed:#d8c9ad;--eco-moss:#8ca369;--es:"Playfair Display",Iowan Old Style,Baskerville,Georgia,serif;--ea:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--eo:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--project-accent:var(--ec);--project-accent-text:#83401f}.theme-ecochar{color:var(--ei);background:var(--ep);font-family:var(--ea);overflow:clip}body.theme-ecochar{--project-closing-bg:#143b3a;--project-closing-accent:#ddb88f}.theme-ecochar #next{padding-block:68px}@media (prefers-reduced-motion:reduce){.theme-ecochar *,.theme-ecochar *::before,.theme-ecochar *::after{scroll-behavior:auto;transition-duration:.01ms}}

/* source: assets/award-system.css */
/* Cultivera final-award shared system contract.
   Approved production aliases preserve the signed visual state.
   Route timing supports the page-owned production interactions. */
:root {
  /* Motion: existing approved behaviour. */
  --cultivera-motion-existing-fast: 220ms;
  --cultivera-motion-existing-medium: 520ms;
  --cultivera-motion-existing-slow: 820ms;
  --cultivera-motion-control: 180ms;
  --cultivera-motion-reduced: 0.01ms;
  --cultivera-ease-existing: cubic-bezier(.16, 1, .3, 1);
  --cultivera-ease-existing-quiet: cubic-bezier(.22, .61, .36, 1);

  /* Stage 02 route prototype contract. */
  --cultivera-route-first-duration: 600ms;
  --cultivera-route-repeat-duration: 360ms;
  --cultivera-route-content-duration: 150ms;
  --cultivera-route-ease: cubic-bezier(.16, 1, .3, 1);

  /* Functional type: baseline-equivalent active values. */
  --cultivera-type-control-floor: .78rem;
  --cultivera-type-label-floor: .78rem;
  --cultivera-type-caption-floor: .84rem;
  --cultivera-type-source-floor: .78rem;
  --cultivera-type-functional-leading: 1.45;
  --cultivera-type-label-track: .055em;

  /* Approved target floors for owned visual stages. */
  --cultivera-type-target-nav: .8125rem;
  --cultivera-type-target-eyebrow: .75rem;
  --cultivera-type-target-caption: .8125rem;
  --cultivera-type-target-map-label: .75rem;

  /* Editorial, instrument and evidence spacing. */
  --cultivera-space-editorial-section: clamp(3.5rem, 5.5vw, 5rem);
  --cultivera-space-instrument-section: clamp(3.5rem, 5vw, 4.5rem);
  --cultivera-space-evidence-compact: clamp(2.75rem, 4vw, 3.5rem);
  --cultivera-space-heading-gap: clamp(1.75rem, 3.25vw, 3rem);
  --cultivera-space-grid-gap: clamp(2rem, 4.5vw, 4.25rem);
  --cultivera-space-stack-gap: clamp(.875rem, 1.5vw, 1.25rem);
  --cultivera-space-evidence-row: clamp(1.125rem, 1.8vw, 1.5rem);
  --cultivera-space-editorial-section-mobile: 3.5rem;
  --cultivera-space-instrument-section-mobile: 3.5rem;
  --cultivera-space-evidence-compact-mobile: 2.75rem;
  --cultivera-space-heading-gap-mobile: 1.5rem;
  --cultivera-space-grid-gap-mobile: 2rem;
  --cultivera-space-stack-gap-mobile: .875rem;
  --cultivera-space-evidence-row-mobile: 1.125rem;

  /* Action hierarchy and accessibility. */
  --cultivera-action-primary-height: 3rem;
  --cultivera-touch-target-min: 2.75rem;
  --cultivera-action-inline-pad: 1.25rem;
  --cultivera-action-gap: .625rem;
  --cultivera-focus-ring: 0 0 0 3px rgba(183, 223, 98, .46), 0 0 0 6px rgba(20, 23, 20, .18);
  --cultivera-focus-ring-dark: 0 0 0 3px rgba(183, 223, 98, .72), 0 0 0 6px rgba(255, 255, 255, .28);
  --cultivera-state-selected-outline: inset 0 0 0 1px currentColor;

  /* Existing shared motion colours. */
  --cultivera-motion-line: rgba(18, 103, 70, .34);
  --cultivera-motion-line-dark: rgba(183, 223, 98, .42);
}
/* Cultivera V1.43 award-readiness: tested typography floors.
   This layer is loaded last. It raises functional labels, captions, evidence notes
   and controls without changing headline scale, body copy, layout or interaction. */
:root {
  --award-type-control-floor: var(--cultivera-type-control-floor);
  --award-type-label-floor: var(--cultivera-type-label-floor);
  --award-type-caption-floor: var(--cultivera-type-caption-floor);
  --award-type-source-floor: var(--cultivera-type-source-floor);
  --award-type-functional-leading: var(--cultivera-type-functional-leading);
  --award-type-label-track: var(--cultivera-type-label-track);
}

/* Shared navigation and footer. */
body .nav-links.mono a,body .nav-cta.mono {
  font-size: var(--award-type-control-floor) !important;
  letter-spacing: var(--award-type-label-track);
}

/* Main-page labels and captions. Homepage hero and Insights editorial body stay outside this scope. */

body.project-theme .closing-section .action-group .btn {
  font-size: var(--award-type-control-floor) !important;
}

/* Crop/field controls that must be read to operate the interface. */


/* Project-shell contract. */
body.project-theme {
  --project-label-size: clamp(0.75rem, 0.78vw, 0.84rem);
  --project-meta-size: clamp(0.82rem, 0.86vw, 0.94rem);
  --project-caption-size: clamp(0.82rem, 0.86vw, 0.92rem);
  --project-caption-small-size: clamp(0.78rem, 0.8vw, 0.86rem);
  --project-nav-label-size: 0.78rem;
  --project-label-track: var(--award-type-label-track);
}
body.project-theme :is(.mono, .project-eyebrow, .evidence, .kicker, .project-source) {
  font-size: var(--award-type-label-floor) !important;
  line-height: var(--award-type-functional-leading);
  letter-spacing: var(--award-type-label-track);
}
body.project-theme :is(.project-functional-meta, .project-caption, .project-caption__meta, .project-caption__title) {
  font-size: var(--award-type-caption-floor) !important;
  line-height: 1.45;
}
body.project-theme .project-caption__title {
  font-size: var(--award-type-caption-floor) !important;
}

/* Shared project data labels and source links. */
body.project-theme :is(
  .source-links a,
  .comparator-note,
  .route-note,
  .sources-grid p,
  .source-note summary,
  .budget-disclosure__label
) {
  font-size: var(--award-type-source-floor) !important;
  line-height: 1.5;
}

/* Green Flame. */


/* Solar and FRiO. */


/* GLOW. */


/* MAVH family. */



/* Sundarbans and EcoChar. */



/* Residual shared labels found by the computed-style audit. */



@media (max-width: 700px) {
  :root {
    --award-type-caption-floor: 0.78rem;
  }
}
/* Cultivera V1.43 award-readiness: tested spacing and density rhythm.
   Changes outer composition and editorial rhythm only. Signature mechanism internals remain untouched. */
:root {
  --award-density-section: var(--cultivera-space-instrument-section);
  --award-density-section-main: var(--cultivera-space-editorial-section);
  --award-density-compact: var(--cultivera-space-evidence-compact);
  --award-density-head-gap: var(--cultivera-space-heading-gap);
  --award-density-grid-gap: var(--cultivera-space-grid-gap);
  --award-density-stack-gap: var(--cultivera-space-stack-gap);
  --award-density-row: var(--cultivera-space-evidence-row);
}

/* Main-page composition. Homepage, Insights and article bodies are outside this scope. */





/* Project section rhythm. Protected signature mechanism sections are excluded. */


body.project-theme .head {
  margin-bottom: var(--award-density-head-gap);
}

@media (max-width: 760px) {
  :root {
    --award-density-section: var(--cultivera-space-instrument-section-mobile);
    --award-density-section-main: var(--cultivera-space-editorial-section-mobile);
    --award-density-compact: var(--cultivera-space-evidence-compact-mobile);
    --award-density-head-gap: var(--cultivera-space-heading-gap-mobile);
    --award-density-grid-gap: var(--cultivera-space-grid-gap-mobile);
    --award-density-stack-gap: var(--cultivera-space-stack-gap-mobile);
    --award-density-row: var(--cultivera-space-evidence-row-mobile);
  }
  
  body.project-theme .head {
    margin-bottom: 1.75rem;
  }
}
/* Cultivera V1.43 award-readiness: CTA and interaction-control affordances.
   This final cascade layer standardises touch targets, focus visibility and state cues.
   The global Start a brief action and project switcher geometry remain unchanged. */
:root {
  --award-control-primary-height: var(--cultivera-action-primary-height);
  --award-control-utility-height: var(--cultivera-touch-target-min);
  --award-control-inline-pad: var(--cultivera-action-inline-pad);
  --award-control-gap: var(--cultivera-action-gap);
  --award-control-focus: var(--cultivera-focus-ring);
  --award-control-focus-dark: var(--cultivera-focus-ring-dark);
}

/* Primary and secondary CTA geometry. Homepage and Insights retain their authored systems. */
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;
}

/* Text actions retain editorial lightness while becoming visibly actionable. */


/* Main-page utility controls. Signature workbench controls are deliberately excluded. */


/* Expanded/selected controls must advertise state without relying on colour alone. */

body.project-theme :is(.hero, .closing-section--project, .mandate-panel) :is(.btn, .button, .project-action):focus-visible {
  box-shadow: var(--award-control-focus-dark);
}

body :is(.btn, .button, .copy-brief, .project-action, button)[disabled],
body :is(.btn, .button, .copy-brief, .project-action, button)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.52;
  transform: none !important;
}

@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;
  }
}

/* source: assets/cultivera-motion.css */
/* Cultivera V1.44 shared experiential layer.
   Progressive enhancement only: content remains available without JavaScript. */
:root{
  --motion-fast:var(--cultivera-motion-existing-fast);
  --motion-medium:var(--cultivera-motion-existing-medium);
  --motion-slow:var(--cultivera-motion-existing-slow);
  --motion-ease:var(--cultivera-ease-existing);
  --motion-ease-quiet:var(--cultivera-ease-existing-quiet);
  --motion-line:var(--cultivera-motion-line);
  --motion-line-dark:var(--cultivera-motion-line-dark);
}

/* Shared field-line reveal */
[data-motion-section]{position:relative}
[data-motion-section] [data-motion-line]{position:relative}
[data-motion-section] [data-motion-line]::after{
  content:"";
  display:block;
  width:min(152px,32vw);
  height:1px;
  margin-top:clamp(16px,2vw,24px);
  background:linear-gradient(90deg,var(--motion-line),rgba(18,103,70,0));
  transform-origin:left center;
}
.project-surface-dark [data-motion-line]::after{
  background:linear-gradient(90deg,var(--motion-line-dark),rgba(183,223,98,0));
}
.motion-enabled [data-motion-section] [data-motion-line]::after{
  transform:scaleX(.12);
  opacity:.35;
  transition:transform var(--motion-slow) var(--motion-ease),opacity var(--motion-medium) ease;
}
.motion-enabled [data-motion-section].is-motion-visible [data-motion-line]::after{
  transform:scaleX(1);
  opacity:1;
}
.motion-enabled [data-motion-reveal]{
  transform:translateY(16px);
  opacity:.001;
  transition:transform var(--motion-slow) var(--motion-ease),opacity var(--motion-medium) ease;
}
.motion-enabled [data-motion-section].is-motion-visible [data-motion-reveal]{
  transform:none;
  opacity:1;
}
.motion-enabled [data-motion-section].is-motion-visible [data-motion-reveal]:nth-child(2){transition-delay:70ms}
.motion-enabled [data-motion-section].is-motion-visible [data-motion-reveal]:nth-child(3){transition-delay:130ms}

/* Homepage continuity: the opening resolves into the operating route. */

/* Signature Field Systems sequence */
.field-system-method__stage{
  position:sticky;
  margin:0;
  top:calc(var(--nav-height,64px) + 28px);
  min-height:clamp(560px,70vh,720px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:clamp(18px,2vw,28px);
  background:linear-gradient(155deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:0 34px 90px rgba(0,0,0,.22);
}
.field-system-method__stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(11,36,24,0) 55%,rgba(11,36,24,.72) 100%);
}
.field-system-method__visual{position:absolute;inset:0;width:100%;height:100%}
@keyframes methodFlow{to{stroke-dashoffset:-38}}

/* Green Flame: make the existing proof interaction read as accumulating evidence. */
.evidence-accumulation{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  align-self:end;
  width:min(100%,420px);
  margin-top:24px;
}
.evidence-accumulation span{
  position:relative;
  height:3px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.15);
}
.evidence-accumulation span::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:#b7df62;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--motion-medium) var(--motion-ease),opacity var(--motion-fast) ease;
  opacity:.35;
}
.evidence-accumulation span.is-complete::after,
.evidence-accumulation span.is-active::after{transform:scaleX(1);opacity:1}
.evidence-accumulation span.is-active{box-shadow:0 0 18px rgba(183,223,98,.22)}

/* Project relay: one retained field instrument carries into the next decision.
   Pointer enhancement only; keyboard and reduced-motion navigation remain immediate. */
.project-handoff-overlay{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  grid-template-columns:minmax(250px,38vw) minmax(0,1fr);
  gap:clamp(28px,6vw,96px);
  align-items:center;
  padding:clamp(28px,5vw,76px);
  overflow:hidden;
  color:#f4f7ef;
  background:#0b2418;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 160ms ease,visibility 0s linear 160ms;
}
.project-handoff-overlay::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 76% 24%,rgba(183,223,98,.13),transparent 30%),linear-gradient(115deg,transparent 0 51%,rgba(183,223,98,.16) 51.15% 51.3%,transparent 51.48%);
  transform:scale(1.06);
  transition:transform 360ms var(--motion-ease);
  pointer-events:none;
}
.project-handoff-overlay__media{
  position:relative;
  z-index:1;
  width:100%;
  aspect-ratio:4/5;
  max-height:74vh;
  overflow:hidden;
  border-radius:2px;
  clip-path:inset(0 84% 0 0);
  transform:translateX(-4%) scale(1.035);
  opacity:.58;
  transition:clip-path 360ms var(--motion-ease),transform 360ms var(--motion-ease),opacity 240ms ease;
}
.project-handoff-overlay__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,18,12,.04),rgba(5,18,12,.44));
}
.project-handoff-overlay__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.03)}
.project-handoff-overlay__route{
  position:absolute;
  z-index:2;
  left:calc(38vw - 2px);
  right:clamp(28px,5vw,76px);
  top:50%;
  height:1px;
  overflow:hidden;
  background:rgba(183,223,98,.13);
}
.project-handoff-overlay__route span{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,#b7df62,rgba(183,223,98,.04));
  transform:scaleX(.08);
  transform-origin:left center;
  transition:transform 360ms var(--motion-ease);
}
.project-handoff-overlay__copy{position:relative;z-index:3;max-width:760px}
.project-handoff-overlay__eyebrow{display:block;margin-bottom:16px;color:#b7df62;font:.72rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.project-handoff-overlay__copy strong{display:block;max-width:15ch;color:#fff;font:400 clamp(2.5rem,5.8vw,6.6rem)/.92 var(--serif);letter-spacing:-.045em}
.project-handoff-overlay__geography{display:block;margin-top:18px;color:rgba(255,255,255,.58);font:.72rem/1.45 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.project-handoff-overlay__bridge{max-width:38ch;margin:24px 0 0;color:rgba(255,255,255,.78);font:500 clamp(1rem,1.35vw,1.2rem)/1.55 var(--sans)}
.project-handoff-overlay__decision{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;max-width:46ch;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15)}
.project-handoff-overlay__decision>span{color:#b7df62;font:.62rem/1.45 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.project-handoff-overlay__decision p{margin:0;color:rgba(255,255,255,.66);font:500 .86rem/1.5 var(--sans)}
.project-handoff-overlay__copy>*{opacity:0;transform:translateY(12px);transition:opacity 220ms ease,transform 320ms var(--motion-ease)}
.project-handoff-overlay.is-active{opacity:1;visibility:visible;transition-delay:0s}
.project-handoff-overlay.is-active::before{transform:scale(1)}
.project-handoff-overlay.is-active .project-handoff-overlay__media{clip-path:inset(0);transform:translateX(0) scale(1);opacity:1}
.project-handoff-overlay.is-active .project-handoff-overlay__route span{transform:scaleX(1)}
.project-handoff-overlay.is-active .project-handoff-overlay__copy>*{opacity:1;transform:none}
.project-handoff-overlay.is-active .project-handoff-overlay__copy>*:nth-child(2){transition-delay:24ms}
.project-handoff-overlay.is-active .project-handoff-overlay__copy>*:nth-child(3){transition-delay:48ms}
.project-handoff-overlay.is-active .project-handoff-overlay__copy>*:nth-child(4){transition-delay:72ms}
.project-handoff-overlay.is-active .project-handoff-overlay__copy>*:nth-child(5){transition-delay:88ms}
.project-handoff-overlay.is-arrival{opacity:1;visibility:visible;animation:projectRelayArrival 820ms var(--motion-ease) forwards}
.project-handoff-overlay.is-arrival .project-handoff-overlay__media{clip-path:inset(0 78% 0 0);opacity:.72;animation:projectRelayMediaArrival 820ms var(--motion-ease) forwards}
.project-handoff-overlay.is-arrival .project-handoff-overlay__route span{transform:scaleX(1)}
.project-handoff-overlay.is-arrival .project-handoff-overlay__copy>*{opacity:1;transform:none}
@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}}
.project-relay-arrival-host{position:relative}
.project-relay-arrival-note{
  position:absolute;
  z-index:12;
  top:clamp(18px,4vh,48px);
  right:0;
  display:grid;
  gap:5px;
  max-width:min(250px,42vw);
  padding-left:26px;
  color:inherit;
  opacity:0;
  transform:translateX(18px);
  transition:opacity var(--motion-medium) ease,transform var(--motion-slow) var(--motion-ease);
  pointer-events:none;
}
.project-relay-arrival-note::before{content:"";position:absolute;left:0;top:7px;width:18px;height:1px;background:#b7df62;transform-origin:left;transform:scaleX(.2);transition:transform var(--motion-slow) var(--motion-ease)}
.project-relay-arrival-note span{color:currentColor;opacity:.62;font:.62rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.project-relay-arrival-note strong{color:currentColor;font:500 clamp(.84rem,1vw,1rem)/1.35 var(--sans)}
.project-relay-arrival-note.is-visible{opacity:1;transform:none}
.project-relay-arrival-note.is-visible::before{transform:scaleX(1)}
.project-relay-arrival-note.is-leaving{opacity:0;transform:translateX(10px)}
@media(max-width:700px){
  .project-handoff-overlay{grid-template-columns:1fr;grid-template-rows:26vh minmax(0,1fr);gap:0;padding:0;background:#0b2418}
  .project-handoff-overlay__media{width:100%;max-height:none;aspect-ratio:auto;border-radius:0;clip-path:inset(0 88% 0 0)}
  .project-handoff-overlay__route{left:20px;right:20px;top:26vh}
  .project-handoff-overlay__copy{align-self:start;padding:26px 22px}
  .project-handoff-overlay__copy strong{font-size:clamp(2.2rem,12vw,3.6rem)}
  .project-handoff-overlay__geography{margin-top:12px}
  .project-handoff-overlay__bridge{margin-top:16px;font-size:.96rem}
  .project-handoff-overlay__decision{grid-template-columns:1fr;gap:7px;margin-top:18px;padding-top:13px}
  .project-handoff-overlay__decision p{font-size:.8rem}
  .project-handoff-overlay__media{transition-duration:190ms}
  .project-handoff-overlay__route span{transition-duration:190ms}
  .project-handoff-overlay__copy>*{transition-duration:160ms,190ms}
  .project-handoff-overlay.is-arrival{animation-duration:520ms}
  .project-handoff-overlay.is-arrival .project-handoff-overlay__media{animation-duration:520ms}
  .project-relay-arrival-note{top:16px;right:14px;max-width:210px}
}


.field-mobile-stage-nav{display:none}
@media(max-width:980px){
  .field-mobile-stage-nav{
    position:absolute;
    top:12px;
    right:12px;
    z-index:5;
    display:grid;
    grid-template-columns:repeat(5,44px);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(6,26,17,.84);
    box-shadow:0 10px 28px rgba(0,0,0,.2);
    backdrop-filter:blur(12px);
  }
  .field-mobile-stage-nav button{
    min-width:44px;
    min-height:44px;
    padding:0;
    border:0;
    border-right:1px solid rgba(255,255,255,.1);
    color:rgba(244,247,239,.62);
    background:transparent;
    font:650 10px/1 var(--mono);
    letter-spacing:.06em;
  }
  .field-mobile-stage-nav button:last-child{border-right:0}
  .field-mobile-stage-nav button.is-active{
    color:#0b2418;
    background:#b7df62;
  }
  .field-mobile-stage-nav button:focus-visible{outline:2px solid #fff;outline-offset:-3px}
}
@media(max-width:640px){.evidence-accumulation{width:100%}}
@media(prefers-reduced-motion:reduce){
  .motion-enabled [data-motion-reveal],
  .motion-enabled [data-motion-section] [data-motion-line]::after{opacity:1;transform:none}
  .field-system-method__visual *{animation:none!important;transition:none!important}
  .project-handoff-overlay{display:none}
}

@media(prefers-reduced-motion:reduce){.field-mobile-stage-nav button{transition:none}}

/* source: assets/mobile-dtp-final.css */
/* Cultivera final mobile DTP ownership layer
   Scope: authored mobile layouts only. Desktop composition remains unchanged. */

@media (max-width: 760px) {
  :root {
    --mobile-dtp-label: .75rem;
    --mobile-dtp-meta: .8125rem;
    --mobile-dtp-copy: .9375rem;
    --mobile-dtp-touch: 44px;
  }

  /* Shared functional type and action floors. */
  main :is(.section-kicker,.eyebrow,.meta-line,.caption-meta,.cap-type) {
    font-size: var(--mobile-dtp-label) !important;
    line-height: 1.35 !important;
  }
  main :is(figcaption,.image-caption) {
    font-size: var(--mobile-dtp-meta) !important;
    line-height: 1.42 !important;
  }
  main :is(dt,.definition-ledger dt) {
    font-size: var(--mobile-dtp-label) !important;
    line-height: 1.35 !important;
  }
  main :is(.card-action,.story-link) {
    display: inline-flex;
    min-height: var(--mobile-dtp-touch);
    align-items: center;
    padding-block: 10px;
  }
  main :is(.btn,a.button,button):focus-visible {
    outline-offset: 3px;
  }
  main :is(.section-head,.editorial-head) {
    row-gap: 16px;
  }

  /* Home: preserve the reference composition while making its actions and proof labels usable. */
  
  

  /* Field Systems: one contained CTA language and legible mobile atlas state. */
  
  
  /* Advisory: authored horizontal progress, readable answers and concept comparison. */

  /* Farms: clearer route ownership, readable evidence and explicit horizontal authorship. */

  /* Insights: repair collapsed grids and restore one-column editorial flow. */
  

  /* About: use the Home closing component and restore detail hierarchy. */

  /* Contact: retain compact form while making review labels readable. */

  /* Policy and insight story: horizontal records must announce and snap, not appear clipped. */
  
  
  

  /* Shared project-shell mobile DTP floors. */
  body.project-theme main :is(.project-eyebrow,.project-kicker,.mono,.status,.source-label) {
    line-height:1.35;
  }
  body.project-theme main :is(figcaption,.project-caption,.media-caption) {
    font-size:.8125rem!important;
    line-height:1.42!important;
  }

  /* GLOW source notes become deliberate mobile evidence rows. */

  /* FRiO Flower Clock: visible horizontal ownership and readable evidence links. */
  
  
  

  /* Solar capacity instrument: preserve its data width but author the scroll. */
  
  

  /* MAVH pages: legible route labels and touch-safe source credits. */
  

  /* SGC: contain the mobile poster and make evidence links actual targets. */

  /* Green Flame: improve evidence labels without changing its long-form structure. */
  

  /* Compact only the recurring excess runway, not content-led page rhythm. */
}



/* Measured mobile DTP closure after the three-width audit. */




/* 2026-08-08 · CD mobile DTP deep-run closure
   Scope: SGC route accessibility, Solar hero/subnav rhythm + long system question,
   GLOW/MAVH/MAVH Floriculture opening depth, FRiO funding-boundary display scale.
   Desktop and non-target pages intentionally unchanged. */

/* source: assets/project-ecochar-rc2.css */
/* RC2: make the landscape read as an operating place, with less passive
   foreground water and firmer documentary tonality. */








/* Rendered WCAG contrast corrections, Ecochar-owned. */




/* source: assets/project-art-loop-v1512.css */
/* Cultivera v1.50.12 — page-scoped art convergence only.
   Guardrails: no section-order, donor-logic, interaction-state, shell or content changes. */

/* ECOCHAR — strengthen movement record as the page's ownable visual system. */















/* GREEN FLAME — make evidence feel forensic and authored, not merely tabular. */

/* ROOTS — keep the quiet civic tone, add spatial depth and stronger village-system authorship. */
.donor-roots .hero{background:#081d16}
.donor-roots .decision{background:radial-gradient(circle at 80% 20%,rgba(189,223,120,.08),transparent 28%),#0a1f18}

/* SOLAR — intensify the capacity-calendar visual language without changing its decision architecture. */

/* FRiO — give the Flower Clock a stronger floral/cold-chain identity while preserving the existing clock mechanic. */



/* ECOCHAR pass 2 — break the dark chapter into four visibly distinct service states. */










/* source: assets/project-mobile-dtp-loop-v1513.css */
/* Cultivera v1.50.13 — mobile DTP convergence loop.
   Scope: <=760px only. No desktop, media, color, content, section-order,
   donor-logic, interaction-state or shell-direction changes. */

@media (max-width:760px){
  body:is(.project-theme,.donor-shell-integrated) main :is(.mono,.eyebrow,.kicker,.section-kicker,.project-eyebrow,.sgc-kicker,.hero-status,.status){
    font-size:12px;line-height:1.35
  }
  body:is(.project-theme,.donor-shell-integrated) main :is(figcaption,.project-caption,.sgc-caption,.sgc-stage__caption){
    font-size:13px;line-height:1.45
  }
  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}

  /* MAVH — compact evidence and capital-gate runway without flattening the system. */
  
  
  
  
  

  /* LOTUS — retain Stem→Payment; reduce lower-page list fatigue and restore chapter cadence. */
  
  

  /* GLOW — shorten repeated programme/measurement stacks, preserve coastal system identity. */
  
  
  

  /* COCORES — already strong: tighten only targets, sources and closing runway. */

  /* SGC — passport remains signature; make each custody stage a compact, legible mobile chapter. */

  /* GREEN FLAME — preserve evidence depth; compress cards and record fields, not evidence. */
  
  
  

  /* ROOTS — preserve quiet civic rhythm; compress allocation + continuity into cleaner evidence rows. */
  

  /* SOLAR — author the calendar and clock as compact touch instruments, not desktop data shrunk down. */

  /* FRiO — same clock mechanic, less runway; preserve flower/cold-chain art identity. */

  /* ECOCHAR pass 1 — shorten repeated service chapters and keep the record plate visible after them. */
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

/* PASS 2 — only the pages that remained below the 9.5 mobile DTP gate after pass 1.
   These rules further reduce scan cost without hiding or reordering information. */


/* source: assets/project-desktop-dtp-loop-v1514.css */
/* Cultivera v1.50.14 — desktop DTP convergence loop.
   Scope: >=761px. Protects mobile rules, project art direction, media, donor logic,
   section order, signature mechanics and global shell. */









/* Pass 2 — only pages still below the 9.5 desktop gate after the first convergence pass. */




/* v1.50.40 component integrity · EcoChar movement record stays visible beside the moving steps. */


/* Green Flame pass 2: restore the original proof column balance; retain the improved record density. */

/* source: assets/project-decision-layer-v1530.css */
/* Cultivera project decision layer v1.53.0
   Structural propagation only: makes the current funding decision visible in hero context.
   Inherits each project's art direction; no shared card/chrome treatment. */
.project-decision-now-v1530{
  display:flex;
  align-items:baseline;
  gap:clamp(12px,1.4vw,22px);
  width:min(100%,760px);
  margin-top:clamp(18px,2.2vh,28px);
  padding-top:clamp(12px,1.6vh,18px);
  border-top:1px solid rgba(127,127,127,.34);
  color:inherit;
}
.project-decision-now-v1530__label{
  flex:0 0 auto;
  font-family:var(--mono,"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace);
  font-size:clamp(.61rem,.68vw,.72rem);
  line-height:1.3;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.58;
}
.project-decision-now-v1530 strong{
  display:block;
  max-width:38ch;
  font:inherit;
  font-weight:600;
  line-height:1.28;
  letter-spacing:-.01em;
}
@media (max-width:640px){
  .project-decision-now-v1530{
    display:grid;
    gap:5px;
    margin-top:14px;
    padding-top:10px;
  }
  .project-decision-now-v1530 strong{max-width:none}
}

/* source: assets/lock17-visual-recovery.css */
/* Cultivera Lock17 · render-grounded visual / DTP recovery.
   Late, narrow overrides only. Lock16 remains rollback authority. */

/* FIELD SYSTEMS ------------------------------------------------------------ */

/* Project Atlas: geography is a working selection surface, not ornament. */

/* FUNDING-PAGE SUBNAV ------------------------------------------------------ */

/* Sticky donor subnav must never cover section targets. */


/* PROJECT DTP -------------------------------------------------------------- */
/* MAVH: caption must read as an attached field note, not one clipped line. */

/* Lotus: preserve the route strip but restore readable microtype and runway. */

/* FARMS: prevent attached caption from running outside the photographic field. */

/* ADVISORY: interpretation fields should be quiet, but visibly intentional. */

/* source: assets/lock18-creative.css */
/* Cultivera Lock18 Creative Recovery
   CD + ART authority: shell, destination legibility, Advisory field intelligence,
   Field Systems continuity, project caption discipline, FRiO subtraction. */
:root{--lock18-paper:#f6f6f1;--lock18-ink:#172019;--lock18-forest:#173f3a;--lock18-lime:#b9d875;--lock18-line:rgba(23,32,25,.14);--lock18-ease:cubic-bezier(.16,1,.3,1)}

/* 01 — Global shell material. Preserve established geometry and offsets. */
body:not(.page-home) .page-nav{background:rgba(246,246,241,.91);border-bottom:1px solid rgba(23,32,25,.09);box-shadow:0 1px 0 rgba(255,255,255,.45);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);transition:background .42s var(--lock18-ease),border-color .42s var(--lock18-ease),box-shadow .42s var(--lock18-ease)}
body:not(.page-home) .page-nav .nav-links a{position:relative;text-decoration:none}
body:not(.page-home) .page-nav .nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;opacity:.42;transition:right .32s var(--lock18-ease)}
body:not(.page-home) .page-nav .nav-links a:hover::after,body:not(.page-home) .page-nav .nav-links a:focus-visible::after,body:not(.page-home) .page-nav .nav-links a[aria-current="page"]::after{right:0}
body:not(.page-home) .page-nav .nav-cta{border:1px solid rgba(13,47,32,.24);border-radius:0;background:transparent;color:var(--lock18-forest);box-shadow:none;transition:background .28s ease,color .28s ease,border-color .28s ease}
body:not(.page-home) .page-nav .nav-cta:hover,body:not(.page-home) .page-nav .nav-cta:focus-visible{background:var(--lock18-forest);color:#fff;border-color:var(--lock18-forest)}
.site-footer{border-top:1px solid rgba(255,255,255,.08)}

/* Home shell retains the approved embedded-to-light handoff, with quieter material. */

/* 02 — Home leaf destination intelligence. Annotation lives inside the mark, not in a UI card. */


/* 03 — Advisory: verdant field becomes the page's signature opening. */

/* Advisory diagnostic: editorial decision field, not a form-builder card stack. */

/* 04 — Field Systems: one continuous journey into the Atlas. */
.page-field-systems #portfolio{scroll-margin-top:calc(var(--global-nav-height,76px) + 58px)}
@media(max-width:760px){.page-field-systems #portfolio{scroll-margin-top:calc(var(--global-nav-height,56px) + 52px)}}

/* 05 — Project caption authority. Atlas is default; human-pause is editorial. */
body.project-theme figure figcaption,body.project-theme .project-caption{font-family:var(--sans)}
body.project-theme figure[data-media-class]:not([data-media-class="human-pause"]) figcaption,body.project-theme .project-caption{position:static;inset:auto;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:16px;align-items:baseline;width:100%;max-width:none;margin:0;padding:11px 0 0;border:0;border-top:1px solid rgba(23,32,25,.16);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:rgba(23,32,25,.64);text-shadow:none}
body.project-theme figure[data-media-class]:not([data-media-class="human-pause"]) figcaption strong,body.project-theme .project-caption__title{margin:0;color:rgba(23,63,50,.88);font:600 .62rem/1.35 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
body.project-theme figure[data-media-class]:not([data-media-class="human-pause"]) figcaption span,body.project-theme .project-caption__meta{color:rgba(23,32,25,.64);font:400 .76rem/1.45 var(--sans)!important;letter-spacing:0;text-transform:none}
body.project-theme figure[data-media-class="human-pause"] figcaption{position:static;display:grid;gap:7px;margin:0;padding:14px 0 0;border:0;border-top:1px solid rgba(23,32,25,.15);border-radius:0;background:transparent;color:rgba(23,32,25,.66);box-shadow:none;backdrop-filter:none}
body.project-theme figure[data-media-class="human-pause"] figcaption strong{color:var(--lock18-forest);font:500 clamp(1.05rem,1.5vw,1.35rem)/1.25 var(--serif)!important;letter-spacing:-.02em}
body.project-theme figure[data-media-class="human-pause"] figcaption span{max-width:62ch;color:rgba(23,32,25,.62);font:400 .8rem/1.5 var(--sans)!important}
@media(max-width:640px){body.project-theme figure figcaption,body.project-theme .project-caption{grid-template-columns:1fr!important;gap:4px}.project-caption__title{white-space:normal!important}}

/* Project-wide subtraction: lower the visual volume of generic framework furniture. */
body.project-theme{--lock18-section-line:rgba(23,32,25,.12)}
body.project-theme :is(.decision-table,.finance-table,.measurement-register,.release-board,.design-grid){box-shadow:none}
body.project-theme :is(.decision-row,.finance-row,.operator-row){border-color:var(--lock18-section-line)}

body.project-theme :is(.dark-bg,.surface-dark,.campaign,.clock-section) figure figcaption{border-top-color:rgba(255,255,255,.18);color:rgba(255,255,255,.7)}
body.project-theme :is(.dark-bg,.surface-dark,.campaign,.clock-section) figure figcaption strong{color:#fff}
body.project-theme :is(.dark-bg,.surface-dark,.campaign,.clock-section) figure figcaption span{color:rgba(255,255,255,.68)}

/* 06 — FRiO: make the Flower Clock the dominant instrument and compress the second half. */


/* Commercial compression — proof culminates directly in the first-cycle action. */

/* ---- from ecochar-field-record.css ---- */

body.theme-ecochar {
  --ecfr-paper: #f2efe7;
  --ecfr-paper-deep: #e7e8df;
  --ecfr-record: #e6ece3;
  --ecfr-ink: #171a16;
  --ecfr-muted: #61675e;
  --ecfr-rule: rgba(23, 26, 22, .19);
  --ecfr-rule-soft: rgba(23, 26, 22, .10);
  --ecfr-accent: #2d6245;
  --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;
  background: var(--ecfr-paper);
  color: var(--ecfr-ink);
}

body.theme-ecochar .project-main,
body.theme-ecochar .ecochar-page {
  background: var(--ecfr-paper);
}

body.theme-ecochar .ecochar-page {
  overflow: clip;
}

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-kicker {
  color: var(--ecfr-accent);
}

body.theme-ecochar .ecfr-deck {
  max-width: 720px;
  margin: 24px 0 0;
  color: #3f453e;
  font-family: var(--ecfr-sans);
  font-size: clamp(1rem, 1.28vw, 1.16rem);
  line-height: 1.66;
}

body.theme-ecochar .ecfr-context-photo {
  margin-bottom: 0;
}

body.theme-ecochar .ecfr-context-photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

body.theme-ecochar .ecfr-context-photo figcaption {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--ecfr-rule-soft);
}

/* HERO — place does the explanatory work. */
body.theme-ecochar .ecfr-state {
  padding: clamp(132px, 12vw, 186px) 0 clamp(66px, 6vw, 90px);
  background: var(--ecfr-paper);
  scroll-margin-top: 112px;
}

body.theme-ecochar .ecfr-state .ecfr-period {
  display: block;
  margin-top: 8px;
  color: #535a51;
}

body.theme-ecochar .ecfr-state h1 {
  max-width: 7ch;
  margin: clamp(32px, 4vw, 50px) 0 0;
  font-family: var(--ecfr-serif);
  font-size: clamp(4.25rem, 7.25vw, 8rem);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.055em;
  text-wrap: balance;
}

body.theme-ecochar .ecfr-state .ecfr-deck {
  max-width: 760px;
  margin-top: clamp(22px, 2.7vw, 34px);
}

body.theme-ecochar .ecfr-hero-image {
  margin-top: clamp(42px, 5vw, 68px);
}

body.theme-ecochar .ecfr-hero-image img {
  max-height: 620px;
  aspect-ratio: 16 / 8.8;
  object-position: 50% 47%;
  filter: saturate(.88) contrast(1.035);
}

/* DESIGN — one compact editorial act, no public framework. */
body.theme-ecochar .ecfr-design {
  padding: clamp(66px, 6.5vw, 92px) 0 clamp(72px, 7vw, 104px);
  border-top: 1px solid var(--ecfr-rule-soft);
  background: var(--ecfr-paper);
  scroll-margin-top: 124px;
}

body.theme-ecochar .ecfr-design__head {
  display: grid;
  grid-template-columns: minmax(140px, .30fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
}

body.theme-ecochar .ecfr-design__head h2,
body.theme-ecochar .ecfr-record-intro h2,
body.theme-ecochar .ecfr-evidence-intro h2,
body.theme-ecochar .ecfr-constraints__head h2,
body.theme-ecochar .ecfr-forward__head h2 {
  margin: 0;
  font-family: var(--ecfr-serif);
  font-weight: 400;
  line-height: .99;
  letter-spacing: -.043em;
  text-wrap: balance;
}

body.theme-ecochar .ecfr-design__head h2 {
  max-width: 820px;
  font-size: clamp(2.65rem, 4.25vw, 4.65rem);
}

body.theme-ecochar .ecfr-design__compact {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .72fr);
  gap: clamp(42px, 7vw, 104px);
  align-items: end;
  margin-top: clamp(34px, 4vw, 50px);
}

body.theme-ecochar .ecfr-design__copy {
  max-width: 690px;
}

body.theme-ecochar .ecfr-design__copy p {
  margin: 0;
  color: #444a42;
  font-family: var(--ecfr-sans);
  font-size: clamp(.98rem, 1.15vw, 1.08rem);
  line-height: 1.7;
}

body.theme-ecochar .ecfr-design__copy p + p {
  margin-top: 16px;
}

body.theme-ecochar .ecfr-context-photo--sand {
  width: 100%;
  justify-self: end;
}

body.theme-ecochar .ecfr-context-photo--sand img {
  height: clamp(210px, 21vw, 290px);
  object-position: 50% 62%;
  filter: saturate(.78) contrast(1.055);
}

/* FIELD RECORD + ONE-VIEWPORT IMPLEMENTATION SNAPSHOT. */
body.theme-ecochar .ecfr-record-state {
  padding: clamp(72px, 7vw, 104px) 0 clamp(76px, 7.5vw, 112px);
  border-top: 1px solid var(--ecfr-rule);
  background: var(--ecfr-record);
  scroll-margin-top: 124px;
}

body.theme-ecochar .ecfr-record-intro {
  display: grid;
  grid-template-columns: minmax(140px, .30fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
}

body.theme-ecochar .ecfr-record-intro .ecfr-period {
  display: block;
  margin-top: 8px;
}

body.theme-ecochar .ecfr-record-intro h2 {
  max-width: 850px;
  font-size: clamp(2.6rem, 4.45vw, 4.9rem);
}

body.theme-ecochar .ecfr-record-intro .ecfr-deck {
  max-width: 670px;
  margin-top: 18px;
}

body.theme-ecochar .ecfr-snapshot {
  margin-top: clamp(46px, 5vw, 68px);
  border-top: 1px solid rgba(23, 26, 22, .38);
}

body.theme-ecochar .ecfr-snapshot__head,
body.theme-ecochar .ecfr-snapshot__row {
  display: grid;
  grid-template-columns: minmax(155px, .88fr) repeat(5, minmax(0, 1fr));
}

body.theme-ecochar .ecfr-snapshot__head {
  min-height: 76px;
  align-items: stretch;
  border-bottom: 1px solid var(--ecfr-rule);
}

body.theme-ecochar .ecfr-snapshot__head > span,
body.theme-ecochar .ecfr-snapshot__project,
body.theme-ecochar .ecfr-snapshot__cell {
  min-width: 0;
  padding: 15px clamp(10px, 1.2vw, 18px);
  border-left: 1px solid var(--ecfr-rule-soft);
}

body.theme-ecochar .ecfr-snapshot__head > :first-child,
body.theme-ecochar .ecfr-snapshot__row > :first-child {
  padding-left: 0;
  border-left: 0;
}

body.theme-ecochar .ecfr-snapshot__stub {
  display: flex;
  align-items: flex-end;
  padding-bottom: 17px !important;
}

body.theme-ecochar .ecfr-snapshot__workstream {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  color: #41483f;
}

body.theme-ecochar .ecfr-snapshot__workstream svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--ecfr-accent);
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.theme-ecochar .ecfr-snapshot__row {
  min-height: clamp(118px, 11vw, 148px);
  border-bottom: 1px solid var(--ecfr-rule);
}

body.theme-ecochar .ecfr-snapshot__project,
body.theme-ecochar .ecfr-snapshot__cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body.theme-ecochar .ecfr-snapshot__project span {
  color: var(--ecfr-accent);
}

body.theme-ecochar .ecfr-snapshot__cell span {
  color: #30362f;
  font-family: var(--ecfr-sans);
  font-size: clamp(.83rem, .96vw, .94rem);
  line-height: 1.48;
}

body.theme-ecochar .ecfr-snapshot__note {
  max-width: 760px;
  margin: 14px 0 0;
  color: #60675d;
  font-family: var(--ecfr-sans);
  font-size: .78rem;
  line-height: 1.55;
}

/* EVIDENCE — actual July documentation, not contextual photography. */
body.theme-ecochar .ecfr-evidence {
  padding: clamp(82px, 8.5vw, 126px) 0 clamp(92px, 9vw, 142px);
  background: #efede4;
  scroll-margin-top: 124px;
}

body.theme-ecochar .ecfr-evidence-intro {
  display: grid;
  grid-template-columns: minmax(140px, .30fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
  margin-bottom: clamp(42px, 5vw, 68px);
}

body.theme-ecochar .ecfr-evidence-intro h2 {
  max-width: 820px;
  font-size: clamp(2.55rem, 4.2vw, 4.55rem);
}

body.theme-ecochar .ecfr-photo-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 42px);
  align-items: start;
}

body.theme-ecochar .ecfr-photo {
  margin: 0;
}

body.theme-ecochar .ecfr-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.theme-ecochar .ecfr-photo figcaption {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--ecfr-rule);
}

body.theme-ecochar .ecfr-photo figcaption p {
  max-width: 560px;
  margin: 0;
  color: #50564d;
  font-family: var(--ecfr-sans);
  font-size: .88rem;
  line-height: 1.55;
}

body.theme-ecochar .ecfr-photo--consultation {
  grid-column: 1 / span 8;
  grid-row: 1 / span 2;
}

body.theme-ecochar .ecfr-photo--consultation img {
  aspect-ratio: 4 / 3.25;
  object-position: 50% 47%;
}

body.theme-ecochar .ecfr-photo--fieldwork {
  grid-column: 9 / span 4;
  grid-row: 1;
}

body.theme-ecochar .ecfr-photo--site {
  grid-column: 9 / span 4;
  grid-row: 2;
}

body.theme-ecochar .ecfr-photo--fieldwork img,
body.theme-ecochar .ecfr-photo--site img {
  aspect-ratio: 4 / 3;
}

body.theme-ecochar .ecfr-provenance {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  margin-top: clamp(38px, 4.5vw, 62px);
  padding-top: 16px;
  border-top: 1px solid var(--ecfr-rule);
  color: #696f66;
  font-family: var(--ecfr-sans);
  font-size: .78rem;
  line-height: 1.55;
}

body.theme-ecochar .ecfr-provenance p {
  max-width: 710px;
  margin: 0;
}

body.theme-ecochar .ecfr-provenance span {
  white-space: nowrap;
}

/* Constraints are specific reporting, not a dramatic challenge chapter. */
body.theme-ecochar .ecfr-constraints {
  margin-top: clamp(78px, 8vw, 118px);
  padding-top: clamp(38px, 4vw, 56px);
  border-top: 1px solid var(--ecfr-rule);
}

body.theme-ecochar .ecfr-constraints__head {
  display: grid;
  grid-template-columns: minmax(140px, .30fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
}

body.theme-ecochar .ecfr-constraints__head h2 {
  max-width: 780px;
  font-size: clamp(2.35rem, 3.8vw, 4.1rem);
}

body.theme-ecochar .ecfr-constraints__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(36px, 6vw, 88px);
  margin-top: clamp(42px, 5vw, 66px);
}

body.theme-ecochar .ecfr-constraints__list article {
  padding-top: 16px;
  border-top: 1px solid var(--ecfr-rule);
}

body.theme-ecochar .ecfr-constraints__list h3 {
  margin: 0;
  font-family: var(--ecfr-serif);
  font-size: clamp(1.45rem, 2.1vw, 2.15rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.025em;
}

body.theme-ecochar .ecfr-constraints__list p,
body.theme-ecochar .ecfr-management-response p {
  margin: 14px 0 0;
  color: #4c524a;
  font-family: var(--ecfr-sans);
  font-size: clamp(.94rem, 1.08vw, 1.04rem);
  line-height: 1.66;
}

body.theme-ecochar .ecfr-management-response {
  display: grid;
  grid-template-columns: minmax(140px, .30fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 72px);
  margin-top: clamp(44px, 5vw, 66px);
  padding-top: 18px;
  border-top: 1px solid var(--ecfr-rule-soft);
}

body.theme-ecochar .ecfr-management-response p {
  max-width: 720px;
  margin-top: 0;
}

/* NEXT PERIOD — compact reporting close. */
body.theme-ecochar .ecfr-forward {
  padding: clamp(82px, 8vw, 122px) 0 clamp(92px, 9vw, 138px);
  background: var(--ecfr-paper);
  scroll-margin-top: 124px;
}

body.theme-ecochar .ecfr-forward__head {
  display: grid;
  grid-template-columns: minmax(140px, .30fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
}

body.theme-ecochar .ecfr-forward__head h2 {
  max-width: 760px;
  font-size: clamp(2.8rem, 4.8vw, 5.15rem);
}

body.theme-ecochar .ecfr-next-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(44px, 5vw, 68px);
  border-top: 1px solid var(--ecfr-rule);
}

body.theme-ecochar .ecfr-next-grid p {
  margin: 0;
  padding: clamp(22px, 2.6vw, 32px) clamp(18px, 2.5vw, 32px) clamp(22px, 2.6vw, 32px) 0;
  border-bottom: 1px solid var(--ecfr-rule-soft);
  font-family: var(--ecfr-serif);
  font-size: clamp(1.35rem, 2.15vw, 2.15rem);
  line-height: 1.16;
  letter-spacing: -.022em;
}

body.theme-ecochar .ecfr-next-grid p:nth-child(even) {
  padding-left: clamp(18px, 2.5vw, 32px);
  border-left: 1px solid var(--ecfr-rule-soft);
}

body.theme-ecochar .ecfr-reporting-note {
  max-width: 780px;
  margin-top: clamp(58px, 6vw, 86px);
  padding-top: 18px;
  border-top: 1px solid var(--ecfr-rule);
}

body.theme-ecochar .ecfr-reporting-note p {
  margin: 14px 0 0;
  color: #4e544c;
  font-family: var(--ecfr-sans);
  font-size: clamp(.94rem, 1.1vw, 1.04rem);
  line-height: 1.65;
}

body.theme-ecochar .ecfr-reporting-note small {
  display: block;
  margin-top: 12px;
  color: var(--ecfr-muted);
  font-family: var(--ecfr-sans);
  font-size: .8rem;
  line-height: 1.5;
}

/* Tablet */
@media (max-width: 980px) {
  body.theme-ecochar .ecfr-design__head,
  body.theme-ecochar .ecfr-record-intro,
  body.theme-ecochar .ecfr-evidence-intro,
  body.theme-ecochar .ecfr-constraints__head,
  body.theme-ecochar .ecfr-forward__head,
  body.theme-ecochar .ecfr-management-response {
    grid-template-columns: minmax(118px, .26fr) minmax(0, 1fr);
    gap: 34px;
  }

  body.theme-ecochar .ecfr-design__compact {
    grid-template-columns: minmax(0, 1fr) minmax(250px, .66fr);
    gap: 42px;
  }

  body.theme-ecochar .ecfr-snapshot__head,
  body.theme-ecochar .ecfr-snapshot__row {
    grid-template-columns: minmax(128px, .8fr) repeat(5, minmax(0, 1fr));
  }

  body.theme-ecochar .ecfr-snapshot__head > span,
  body.theme-ecochar .ecfr-snapshot__project,
  body.theme-ecochar .ecfr-snapshot__cell {
    padding-inline: 9px;
  }

  body.theme-ecochar .ecfr-snapshot__cell span {
    font-size: .8rem;
  }
}

/* Mobile: no tiny horizontal tracker. Each project becomes a compact semantic record. */
@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 .ecfr-state {
    padding: 108px 0 56px;
  }

  body.theme-ecochar .ecfr-state h1 {
    max-width: none;
    margin-top: 26px;
    font-size: clamp(3.3rem, 16vw, 4.8rem);
    line-height: .94;
  }

  body.theme-ecochar .ecfr-state .ecfr-deck {
    margin-top: 18px;
    font-size: .96rem;
    line-height: 1.6;
  }

  body.theme-ecochar .ecfr-hero-image {
    width: 100%;
    margin-top: 32px;
  }

  body.theme-ecochar .ecfr-hero-image img {
    aspect-ratio: 4 / 3.2;
    object-position: 56% 48%;
  }

  body.theme-ecochar .ecfr-context-photo figcaption {
    margin-top: 8px;
    padding-top: 7px;
  }

  body.theme-ecochar .ecfr-design {
    padding: 60px 0 68px;
  }

  body.theme-ecochar .ecfr-design__head,
  body.theme-ecochar .ecfr-record-intro,
  body.theme-ecochar .ecfr-evidence-intro,
  body.theme-ecochar .ecfr-constraints__head,
  body.theme-ecochar .ecfr-forward__head,
  body.theme-ecochar .ecfr-management-response {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  body.theme-ecochar .ecfr-design__head h2,
  body.theme-ecochar .ecfr-record-intro h2,
  body.theme-ecochar .ecfr-evidence-intro h2,
  body.theme-ecochar .ecfr-constraints__head h2,
  body.theme-ecochar .ecfr-forward__head h2 {
    max-width: 100%;
    font-size: clamp(2.15rem, 10vw, 3rem);
    line-height: 1;
  }

  body.theme-ecochar .ecfr-design__compact {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    margin-top: 28px;
  }

  body.theme-ecochar .ecfr-design__copy p {
    font-size: .94rem;
    line-height: 1.62;
  }

  body.theme-ecochar .ecfr-context-photo--sand {
    width: 100%;
  }

  body.theme-ecochar .ecfr-context-photo--sand img {
    height: 160px;
  }

  body.theme-ecochar .ecfr-record-state {
    padding: 62px 0 70px;
  }

  body.theme-ecochar .ecfr-record-intro .ecfr-deck {
    margin-top: 12px;
  }

  body.theme-ecochar .ecfr-snapshot {
    margin-top: 36px;
  }

  body.theme-ecochar .ecfr-snapshot__head {
    display: none;
  }

  body.theme-ecochar .ecfr-snapshot__row {
    display: block;
    min-height: 0;
    padding: 22px 0 14px;
    border-bottom: 1px solid var(--ecfr-rule);
  }

  body.theme-ecochar .ecfr-snapshot__project,
  body.theme-ecochar .ecfr-snapshot__cell {
    padding: 0;
    border-left: 0;
  }

  body.theme-ecochar .ecfr-snapshot__project {
    display: block;
    margin-bottom: 14px;
  }

  body.theme-ecochar .ecfr-snapshot__cell {
    display: grid;
    grid-template-columns: minmax(112px, .72fr) minmax(0, 1fr);
    gap: 14px;
    padding: 10px 0;
    border-top: 1px solid var(--ecfr-rule-soft);
  }

  body.theme-ecochar .ecfr-snapshot__cell::before {
    content: attr(data-workstream);
    color: #5c635a;
    font-family: var(--ecfr-mono);
    font-size: .62rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .055em;
    text-transform: uppercase;
  }

  body.theme-ecochar .ecfr-snapshot__cell span {
    font-size: .86rem;
    line-height: 1.46;
  }

  body.theme-ecochar .ecfr-snapshot__note {
    margin-top: 12px;
    font-size: .73rem;
  }

  body.theme-ecochar .ecfr-evidence {
    padding: 66px 0 78px;
  }

  body.theme-ecochar .ecfr-evidence-intro {
    margin-bottom: 32px;
  }

  body.theme-ecochar .ecfr-photo-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  body.theme-ecochar .ecfr-photo--consultation,
  body.theme-ecochar .ecfr-photo--fieldwork,
  body.theme-ecochar .ecfr-photo--site {
    grid-column: 1;
    grid-row: auto;
  }

  body.theme-ecochar .ecfr-photo--consultation img,
  body.theme-ecochar .ecfr-photo--fieldwork img,
  body.theme-ecochar .ecfr-photo--site img {
    aspect-ratio: 4 / 3;
  }

  body.theme-ecochar .ecfr-photo figcaption p {
    font-size: .84rem;
  }

  body.theme-ecochar .ecfr-provenance {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
    margin-top: 34px;
  }

  body.theme-ecochar .ecfr-provenance span {
    white-space: normal;
  }

  body.theme-ecochar .ecfr-constraints {
    margin-top: 64px;
    padding-top: 30px;
  }

  body.theme-ecochar .ecfr-constraints__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    margin-top: 34px;
  }

  body.theme-ecochar .ecfr-management-response {
    margin-top: 36px;
    padding-top: 16px;
  }

  body.theme-ecochar .ecfr-management-response p {
    margin-top: 0;
  }

  body.theme-ecochar .ecfr-forward {
    padding: 66px 0 82px;
  }

  body.theme-ecochar .ecfr-next-grid {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 34px;
  }

  body.theme-ecochar .ecfr-next-grid p,
  body.theme-ecochar .ecfr-next-grid p:nth-child(even) {
    padding: 20px 0;
    border-left: 0;
    font-size: clamp(1.35rem, 7vw, 1.85rem);
  }

  body.theme-ecochar .ecfr-reporting-note {
    margin-top: 50px;
  }
}

@media (max-width: 380px) {
  body.theme-ecochar .ecfr-design__head h2,
  body.theme-ecochar .ecfr-record-intro h2,
  body.theme-ecochar .ecfr-evidence-intro h2,
  body.theme-ecochar .ecfr-constraints__head h2,
  body.theme-ecochar .ecfr-forward__head h2 {
    max-width: 100%;
    font-size: clamp(2rem, 9.6vw, 2.55rem);
  }

  body.theme-ecochar .ecfr-snapshot__cell {
    grid-template-columns: minmax(96px, .65fr) minmax(0, 1fr);
    gap: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-ecochar .ecfr-state *,
  body.theme-ecochar .ecfr-design *,
  body.theme-ecochar .ecfr-record-state *,
  body.theme-ecochar .ecfr-evidence *,
  body.theme-ecochar .ecfr-forward * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}


/* EcoChar public editorial · 2026-08-21 */
/* Public-page editorial structure: project difference, non-linear status, documentary evidence and next decision. */
body.theme-ecochar .ecfr-position{
  display:grid;
  grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);
  gap:clamp(18px,3vw,44px);
  align-items:start;
  max-width:820px;
  margin-top:clamp(24px,3vw,38px);
  padding-top:clamp(16px,2vw,22px);
  border-top:1px solid var(--ecfr-rule);
}
body.theme-ecochar .ecfr-position strong{
  max-width:44ch;
  font-family:var(--ecfr-sans);
  font-size:clamp(.98rem,1.25vw,1.12rem);
  font-weight:500;
  line-height:1.45;
  letter-spacing:-.015em;
}

/* Project comparison carries the adaptive logic; no separate framework. */
body.theme-ecochar .ecfr-design__head > div{max-width:850px}
body.theme-ecochar .ecfr-design__head .ecfr-deck{max-width:680px;margin-top:18px}
body.theme-ecochar .ecfr-project-compare{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:clamp(52px,5.5vw,78px);
  border-top:1px solid rgba(23,26,22,.42);
  border-bottom:1px solid var(--ecfr-rule);
}
body.theme-ecochar .ecfr-project-case{
  min-width:0;
  padding:clamp(26px,3.4vw,48px) clamp(0px,2.8vw,40px) clamp(34px,4vw,54px);
}
body.theme-ecochar .ecfr-project-case + .ecfr-project-case{
  padding-left:clamp(26px,4vw,58px);
  border-left:1px solid var(--ecfr-rule);
}
body.theme-ecochar .ecfr-project-case__meta{
  font-family:var(--ecfr-mono);
  font-size:.68rem;
  font-weight:500;
  line-height:1.35;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:var(--ecfr-accent);
}
body.theme-ecochar .ecfr-project-case h3{
  max-width:15ch;
  margin:clamp(20px,2.5vw,32px) 0 clamp(28px,3vw,40px);
  font-family:var(--ecfr-serif);
  font-size:clamp(2.15rem,3.25vw,3.55rem);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.045em;
  text-wrap:balance;
}
body.theme-ecochar .ecfr-project-case dl,
body.theme-ecochar .ecfr-project-case dl div{margin:0}
body.theme-ecochar .ecfr-project-case dl div{
  display:grid;
  grid-template-columns:minmax(105px,.35fr) minmax(0,1fr);
  gap:clamp(16px,2.2vw,28px);
  padding:15px 0;
  border-top:1px solid var(--ecfr-rule-soft);
}
body.theme-ecochar .ecfr-project-case dt{
  font-family:var(--ecfr-mono);
  font-size:.67rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.065em;
  text-transform:uppercase;
  color:var(--ecfr-muted);
}
body.theme-ecochar .ecfr-project-case dd{
  margin:0;
  color:#343a33;
  font-family:var(--ecfr-sans);
  font-size:clamp(.9rem,1.02vw,.98rem);
  line-height:1.55;
}
body.theme-ecochar .ecfr-design__scope-note{
  display:grid;
  grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);
  gap:clamp(20px,4vw,58px);
  margin-top:clamp(34px,4vw,52px);
  align-items:start;
}
body.theme-ecochar .ecfr-design__scope-note p{
  max-width:760px;
  margin:0;
  color:#454b43;
  font-family:var(--ecfr-sans);
  font-size:clamp(.9rem,1vw,.98rem);
  line-height:1.6;
}
body.theme-ecochar .ecfr-design .ecfr-context-photo--sand{
  margin-top:clamp(42px,5vw,70px);
}
body.theme-ecochar .ecfr-design .ecfr-context-photo--sand img{
  height:clamp(230px,22vw,320px);
  width:100%;
  object-position:50% 61%;
}

/* Status is a shared vocabulary, not a false progress bar. */
body.theme-ecochar .ecfr-status{
  margin-top:clamp(48px,5.3vw,72px);
  border-top:1px solid rgba(23,26,22,.42);
}
body.theme-ecochar .ecfr-status__stages{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  padding-left:clamp(178px,17vw,238px);
  border-bottom:1px solid var(--ecfr-rule);
}
body.theme-ecochar .ecfr-status__stages span{
  min-width:0;
  padding:18px clamp(10px,1.3vw,18px);
  border-left:1px solid var(--ecfr-rule-soft);
  color:#464d44;
  font-family:var(--ecfr-mono);
  font-size:.67rem;
  font-weight:500;
  line-height:1.35;
  letter-spacing:.065em;
  text-transform:uppercase;
}
body.theme-ecochar .ecfr-status__project{
  display:grid;
  grid-template-columns:clamp(178px,17vw,238px) minmax(0,1fr);
  border-bottom:1px solid var(--ecfr-rule);
}
body.theme-ecochar .ecfr-status__project header{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:clamp(24px,3vw,38px) clamp(18px,2.5vw,34px) clamp(24px,3vw,38px) 0;
}
body.theme-ecochar .ecfr-status__project header strong{
  max-width:14ch;
  font-family:var(--ecfr-serif);
  font-size:clamp(1.45rem,2vw,2.1rem);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
}
body.theme-ecochar .ecfr-status__lane{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
}
body.theme-ecochar .ecfr-status__lane > div{
  min-width:0;
  min-height:130px;
  display:flex;
  align-items:flex-start;
  padding:clamp(24px,3vw,38px) clamp(10px,1.3vw,18px);
  border-left:1px solid var(--ecfr-rule-soft);
  position:relative;
}
body.theme-ecochar .ecfr-status__lane > div::before{
  content:"";
  position:absolute;
  left:clamp(10px,1.3vw,18px);
  top:0;
  width:26px;
  height:2px;
  background:var(--ecfr-accent);
  opacity:.72;
}
body.theme-ecochar .ecfr-status__lane > .ecfr-status__not-started::before{opacity:.18}
body.theme-ecochar .ecfr-status__lane p{
  margin:0;
  color:#30362f;
  font-family:var(--ecfr-sans);
  font-size:clamp(.83rem,.94vw,.92rem);
  line-height:1.5;
}
body.theme-ecochar .ecfr-status__stage-mobile{display:none}
body.theme-ecochar .ecfr-status__note{
  max-width:700px;
  margin:14px 0 0;
  color:#60675d;
  font-family:var(--ecfr-sans);
  font-size:.78rem;
  line-height:1.55;
}

/* Evidence captions carry meaning at real browser scale. */
body.theme-ecochar .ecfr-photo figcaption p{
  font-size:clamp(.82rem,.92vw,.9rem);
  line-height:1.5;
}
body.theme-ecochar .ecfr-provenance{font-size:.79rem}

/* Next period resolves into the real deployment gate rather than a generic CTA. */
body.theme-ecochar .ecfr-next-decision{
  display:grid;
  grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);
  gap:clamp(20px,4vw,58px);
  align-items:start;
  margin-top:clamp(34px,4vw,52px);
  padding:clamp(24px,3vw,34px) 0;
  border-top:1px solid rgba(23,26,22,.38);
  border-bottom:1px solid var(--ecfr-rule);
}
body.theme-ecochar .ecfr-next-decision strong{
  max-width:42ch;
  font-family:var(--ecfr-serif);
  font-size:clamp(1.55rem,2.4vw,2.5rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.035em;
}
body.theme-ecochar .ecfr-reporting-note{margin-top:clamp(32px,4vw,50px)}

@media (max-width:900px){
  body.theme-ecochar .ecfr-position,
  body.theme-ecochar .ecfr-design__scope-note,
  body.theme-ecochar .ecfr-next-decision{grid-template-columns:1fr;gap:10px}
  body.theme-ecochar .ecfr-project-compare{grid-template-columns:1fr}
  body.theme-ecochar .ecfr-project-case{padding:32px 0 38px}
  body.theme-ecochar .ecfr-project-case + .ecfr-project-case{padding-left:0;border-left:0;border-top:1px solid var(--ecfr-rule)}
  body.theme-ecochar .ecfr-project-case h3{max-width:17ch}
  body.theme-ecochar .ecfr-status__stages{display:none}
  body.theme-ecochar .ecfr-status__project{grid-template-columns:1fr}
  body.theme-ecochar .ecfr-status__project header{padding:26px 0 20px}
  body.theme-ecochar .ecfr-status__lane{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ecfr-rule-soft)}
  body.theme-ecochar .ecfr-status__lane > div{min-height:0;padding:20px 18px 24px 0;border-left:0;border-bottom:1px solid var(--ecfr-rule-soft)}
  body.theme-ecochar .ecfr-status__lane > div:nth-child(even){padding-left:18px;border-left:1px solid var(--ecfr-rule-soft)}
  body.theme-ecochar .ecfr-status__lane > div::before{left:0}
  body.theme-ecochar .ecfr-status__lane > div:nth-child(even)::before{left:18px}
  body.theme-ecochar .ecfr-status__stage-mobile{display:block;margin-bottom:9px;color:#586057;font-family:var(--ecfr-mono);font-size:.62rem;line-height:1.35;letter-spacing:.06em;text-transform:uppercase}
  body.theme-ecochar .ecfr-status__lane p{padding-top:26px}
  body.theme-ecochar .ecfr-status__stage-mobile + p{padding-top:0}
}

@media (max-width:600px){
  body.theme-ecochar .ecfr-state{padding-top:112px}
  body.theme-ecochar .ecfr-position{margin-top:20px}
  body.theme-ecochar .ecfr-project-case dl div{grid-template-columns:1fr;gap:6px;padding:14px 0}
  body.theme-ecochar .ecfr-design .ecfr-context-photo--sand img{height:210px}
  body.theme-ecochar .ecfr-status__lane{grid-template-columns:1fr}
  body.theme-ecochar .ecfr-status__lane > div,
  body.theme-ecochar .ecfr-status__lane > div:nth-child(even){padding:18px 0 20px;border-left:0}
  body.theme-ecochar .ecfr-status__lane > div:nth-child(even)::before{left:0}
  body.theme-ecochar .ecfr-status__project header strong{max-width:none}
  body.theme-ecochar .ecfr-next-decision strong{font-size:clamp(1.55rem,7.4vw,2rem)}
}


body.theme-ecochar .ecfr-snapshot{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:clamp(30px,3.5vw,46px);
  border-top:1px solid rgba(23,26,22,.42);
  border-bottom:1px solid var(--ecfr-rule);
}
body.theme-ecochar .ecfr-snapshot__item{
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:clamp(12px,1.3vw,18px);
  align-items:center;
  padding:clamp(18px,2vw,26px) clamp(14px,1.7vw,24px);
}
body.theme-ecochar .ecfr-snapshot__item:first-child{padding-left:0}
body.theme-ecochar .ecfr-snapshot__item + .ecfr-snapshot__item{border-left:1px solid var(--ecfr-rule-soft)}
body.theme-ecochar .ecfr-snapshot__icon{
  width:29px;
  height:29px;
  overflow:visible;
  fill:none;
  stroke:var(--ecfr-accent);
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.86;
}
body.theme-ecochar .ecfr-snapshot__item > div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
body.theme-ecochar .ecfr-snapshot strong{
  color:#20251f;
  font-family:var(--ecfr-serif);
  font-size:clamp(1.16rem,1.55vw,1.5rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
}
body.theme-ecochar .ecfr-snapshot span{
  color:#596057;
  font-family:var(--ecfr-mono);
  font-size:.63rem;
  font-weight:500;
  line-height:1.35;
  letter-spacing:.065em;
  text-transform:uppercase;
}
body.theme-ecochar .ecfr-snapshot + .ecfr-status{margin-top:clamp(30px,3.5vw,48px)}

@media (max-width:900px){
  body.theme-ecochar .ecfr-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.theme-ecochar .ecfr-snapshot__item{padding:20px 18px}
  body.theme-ecochar .ecfr-snapshot__item:first-child{padding-left:0}
  body.theme-ecochar .ecfr-snapshot__item:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--ecfr-rule-soft)}
  body.theme-ecochar .ecfr-snapshot__item:nth-child(4){border-top:1px solid var(--ecfr-rule-soft)}
}
@media (max-width:420px){
  body.theme-ecochar .ecfr-snapshot__item{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:18px 10px}
  body.theme-ecochar .ecfr-snapshot__item:first-child,
  body.theme-ecochar .ecfr-snapshot__item:nth-child(3){padding-left:0}
  body.theme-ecochar .ecfr-snapshot__icon{width:24px;height:24px}
  body.theme-ecochar .ecfr-snapshot strong{font-size:clamp(1.02rem,5.2vw,1.22rem)}
  body.theme-ecochar .ecfr-snapshot span{font-size:.56rem;letter-spacing:.05em}
}

/* EcoChar Exemplar RC1 · 2026-08-26
   Project-local narrative/readiness layer. Compiled historical bundle remains untouched. */
body.theme-ecochar[data-ecochar-exemplar="UNPROMOTED_ECOCHAR_EXEMPLAR_RC4B"] {
  --ecx-dark: #17372c;
  --ecx-dark-2: #10271f;
  --ecx-accent: #a95735;
  --ecx-warm: #d8ba92;
}

body.theme-ecochar .ecx-hero .ecfr-kicker { color: var(--ecx-accent); }
body.theme-ecochar .ecx-hero-projects {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 800px;
  margin-top: clamp(30px, 3.5vw, 46px);
  border-top: 1px solid var(--ecfr-rule);
  border-bottom: 1px solid var(--ecfr-rule);
}
body.theme-ecochar .ecx-hero-projects > span { display: grid; gap: 7px; padding: 18px 20px 19px 0; }
body.theme-ecochar .ecx-hero-projects > span + span { padding-left: 20px; border-left: 1px solid var(--ecfr-rule); }
body.theme-ecochar .ecx-hero-projects strong { font-family: var(--ecfr-serif); font-size: clamp(1.2rem, 1.8vw, 1.55rem); font-weight: 400; }
body.theme-ecochar .ecx-hero-projects small { color: var(--ecfr-muted); font-family: var(--ecfr-mono); font-size: .66rem; line-height: 1.5; letter-spacing: .055em; text-transform: uppercase; }
body.theme-ecochar .ecx-position { margin-top: clamp(28px, 3vw, 40px); }
body.theme-ecochar .ecx-hero-actions { margin-top: 26px; }
body.theme-ecochar .ecx-hero figcaption { justify-content: space-between; }
body.theme-ecochar .ecx-hero figcaption p { margin: 0; color: var(--ecfr-muted); font-size: .75rem; }

body.theme-ecochar .ecx-section { padding: clamp(74px, 7vw, 108px) 0; border-top: 1px solid var(--ecfr-rule-soft); scroll-margin-top: 124px; }
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;
  color: #485048;
  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); margin-top: clamp(52px, 6vw, 78px); }
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; min-height: 132px; 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 { color: var(--ecx-accent); 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 { color: #454c45; 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-context { background: var(--ecfr-paper); }
body.theme-ecochar .ecx-context-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr); gap: clamp(46px, 7vw, 108px); align-items: center; }
body.theme-ecochar .ecx-context-copy > p { max-width: 660px; margin: 28px 0 0; color: #454c45; font-size: 1.02rem; line-height: 1.72; }
body.theme-ecochar .ecx-context-rules { margin-top: 34px; border-top: 1px solid var(--ecfr-rule); }
body.theme-ecochar .ecx-context-rules p { margin: 0; padding: 18px 0; border-bottom: 1px solid var(--ecfr-rule-soft); color: #4b514a; line-height: 1.58; }
body.theme-ecochar .ecx-context-rules strong { color: var(--ecfr-ink); }

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-head p { color: rgba(247,244,236,.72); }
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; transition: color 190ms ease, padding-left 190ms ease; }
body.theme-ecochar .ecx-ready__controls button[aria-selected="true"] { padding-left: 14px; color: #fff; box-shadow: inset 3px 0 0 var(--ecx-warm); }
body.theme-ecochar .ecx-ready__controls button:focus-visible { outline: 2px solid var(--ecx-warm); outline-offset: 5px; }
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 span { color: var(--ecx-warm); }
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__controls small { color: rgba(247,244,236,.48); }
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 [data-eco-readiness-enhanced="true"] .ecx-ready__panel.is-active { animation: ecx-readiness-in 190ms ease both; }
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 { color: var(--ecx-accent); 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; }
body.theme-ecochar .ecx-ready-note { margin: 24px 0 0 auto; max-width: 760px; color: rgba(247,244,236,.58); font-size: .8rem; line-height: 1.6; }
@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; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: clamp(48px, 5vw, 68px); }
body.theme-ecochar .ecx-photo-grid figure { margin: 0; }
body.theme-ecochar .ecx-photo-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.9) contrast(1.02); }
body.theme-ecochar .ecx-photo-grid figcaption { margin-top: 11px; padding-top: 10px; 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-evidence-boundary { display: grid; grid-template-columns: 190px 1fr; gap: 28px; margin-top: 34px; padding: 22px 24px; border-left: 3px solid var(--ecx-accent); background: #fff; }
body.theme-ecochar .ecx-evidence-boundary p { margin: 0; color: #4a524a; line-height: 1.6; }

body.theme-ecochar .ecx-constraints { background: var(--ecfr-paper-deep); }
body.theme-ecochar .ecx-constraints-head { display: grid; grid-template-columns: minmax(150px, .30fr) minmax(0, 1fr); gap: clamp(26px, 5vw, 76px); }
body.theme-ecochar .ecx-constraints-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 48px); margin-top: clamp(48px, 5vw, 68px); }
body.theme-ecochar .ecx-constraints-grid article { padding-top: 24px; border-top: 1px solid var(--ecfr-ink); }
body.theme-ecochar .ecx-constraints-grid h3 { max-width: 22ch; margin: 15px 0 0; font-family: var(--ecfr-serif); font-size: clamp(1.8rem, 2.8vw, 2.8rem); font-weight: 400; line-height: 1.05; letter-spacing: -.035em; }
body.theme-ecochar .ecx-constraints-grid p { max-width: 60ch; margin: 22px 0 0; color: #485048; line-height: 1.65; }


body.theme-ecochar .ecx-next { background: var(--ecx-dark-2); color: #f7f4ec; }
body.theme-ecochar .ecx-next .ecfr-label,
body.theme-ecochar .ecx-next .ecfr-period { color: rgba(247,244,236,.58); }
body.theme-ecochar .ecx-next .ecx-section-head p { color: rgba(247,244,236,.67); }
body.theme-ecochar .ecx-next-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(36px, 6vw, 80px); margin-top: clamp(48px, 5vw, 68px); }
body.theme-ecochar .ecx-next-grid article { padding-top: 24px; border-top: 1px solid rgba(247,244,236,.24); }
body.theme-ecochar .ecx-next-grid ol { margin: 22px 0 0; padding: 0; list-style: none; counter-reset: ecx-next; }
body.theme-ecochar .ecx-next-grid li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid rgba(247,244,236,.15); color: rgba(247,244,236,.78); line-height: 1.5; counter-increment: ecx-next; }
body.theme-ecochar .ecx-next-grid li::before { content: "0" counter(ecx-next); color: var(--ecx-warm); font-family: var(--ecfr-mono); font-size: .68rem; }
body.theme-ecochar .ecx-close { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-top: clamp(62px, 7vw, 92px); padding-top: 30px; border-top: 1px solid rgba(247,244,236,.25); }
body.theme-ecochar .ecx-close h3 { max-width: 20ch; margin: 12px 0 0; font-family: var(--ecfr-serif); font-size: clamp(2rem, 3.5vw, 3.8rem); font-weight: 400; line-height: 1; letter-spacing: -.04em; }


/* RC4A · Field Record flow repair and lower-page subtraction. */
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 p {
  max-width: 560px;
  margin: 22px 0 0;
  color: #485048;
  font-size: 1rem;
  line-height: 1.6;
}
body.theme-ecochar .ecx-record-principle small {
  display: block;
  margin-top: 14px;
  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;
}
body.theme-ecochar .ecx-next-grid article p {
  max-width: 58ch;
  margin: 18px 0 0;
  color: rgba(247,244,236,.78);
  line-height: 1.6;
}
body.theme-ecochar .ecx-close > .project-action:only-child {
  margin-left: auto;
}

@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-ready__controls button[aria-selected="true"] { padding-left: 16px; background: #f2eadb; color: var(--ecfr-ink); box-shadow: none; }
  body.theme-ecochar .ecx-ready__controls button[aria-selected="true"] small { color: var(--ecfr-muted); }
  body.theme-ecochar .ecx-context-photo--sand { max-width: none; }
  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,
  body.theme-ecochar .ecx-next-grid { grid-template-columns: 1fr; }
  body.theme-ecochar .ecx-hero-projects > span + span { padding-left: 0; border-top: 1px solid var(--ecfr-rule); border-left: 0; }
  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__controls { grid-template-columns: 1fr; }
  body.theme-ecochar .ecx-ready__facts > div,
  body.theme-ecochar .ecx-evidence-boundary { grid-template-columns: 1fr; gap: 10px; }
  body.theme-ecochar .ecx-ready__panel { padding: 24px 18px; }
  body.theme-ecochar .ecx-close { align-items: flex-start; flex-direction: column; }
  body.theme-ecochar .ecx-hero figcaption { align-items: flex-start; flex-direction: column; }
}

@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; }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-ecochar [data-eco-readiness-enhanced="true"] .ecx-ready__panel.is-active { animation: none; }
  body.theme-ecochar .ecx-ready__controls button { transition: none; }
}
body.theme-ecochar .ecx-hero-actions {
  --project-action-primary-bg: var(--ecx-dark);
  --project-action-primary-color: #fff;
  --project-action-primary-hover-shadow: 0 10px 24px rgba(23,55,44,.18);
}
body.theme-ecochar .ecx-next .ecx-close {
  --project-action-primary-bg: #f2eadb;
  --project-action-primary-color: var(--ecx-dark-2);
  --project-action-primary-hover-shadow: 0 10px 24px rgba(0,0,0,.2);
}

/* EcoChar Exemplar RC1 · readiness meta separation */
body.theme-ecochar .ecx-ready-head > div:first-child {
  display: grid;
  gap: 6px;
  align-content: start;
}


/* EcoChar Exemplar RC4A · 2026-08-27
   Batch A: copy, structure, privacy and Field Record repair. Hero/art treatment deferred. */

body.theme-ecochar .ecx-delivery-note {
  max-width: 900px;
  margin: clamp(32px, 4vw, 46px) 0 0 auto;
  padding-top: 20px;
  border-top: 1px solid var(--ecfr-rule);
  color: #4a524a;
  font-size: .92rem;
  line-height: 1.65;
}
body.theme-ecochar .ecx-delivery-note strong { color: var(--ecfr-ink); }


@media (min-width: 901px) {
  body.theme-ecochar .ecx-hero { padding-top: 104px; }
  body.theme-ecochar .ecx-hero h1 { margin-top: 24px; }
  body.theme-ecochar .ecx-hero .ecfr-deck { margin-top: 18px; }
  body.theme-ecochar .ecx-hero-projects { margin-top: 22px; }
  body.theme-ecochar .ecx-position { margin-top: 20px; }
  body.theme-ecochar .ecx-hero-actions { margin-top: 18px; }
  body.theme-ecochar .ecx-hero .ecfr-hero-image { margin-top: 24px; overflow: hidden; }
  body.theme-ecochar .ecx-hero .ecfr-hero-image img {
    height: clamp(150px, 18vh, 190px);
    max-height: none;
    aspect-ratio: auto;
    object-position: 50% 48%;
  }
}

@media (max-width: 720px) {
  body.theme-ecochar .ecx-ready { padding-block: 58px; }
  body.theme-ecochar .ecx-ready-head p { margin-top: 12px; line-height: 1.55; }
  body.theme-ecochar .ecx-ready-workbench { gap: 20px; margin-top: 28px; padding-top: 18px; }
  body.theme-ecochar .ecx-ready__controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.theme-ecochar .ecx-ready__controls button {
    min-height: 64px;
    gap: 3px;
    padding: 10px 11px;
    border-bottom: 0;
  }
  body.theme-ecochar .ecx-ready__controls button[aria-selected="true"] { padding-left: 11px; box-shadow: inset 0 3px 0 var(--ecx-warm); }
  body.theme-ecochar .ecx-ready__controls span { font-size: .56rem; }
  body.theme-ecochar .ecx-ready__controls strong { font-size: clamp(.98rem, 4.4vw, 1.12rem); line-height: 1.05; }
  body.theme-ecochar .ecx-ready__controls small { display: none; }
  body.theme-ecochar .ecx-ready__panel { padding: 20px 16px; }
  body.theme-ecochar .ecx-ready__project h3 { margin-top: 9px; font-size: clamp(1.9rem, 9vw, 2.55rem); line-height: .98; }
  body.theme-ecochar .ecx-ready__facts { margin-top: 22px; }
  body.theme-ecochar .ecx-ready__facts > div { gap: 6px; padding: 13px 0; }
  body.theme-ecochar .ecx-ready__facts dd { font-size: .9rem; line-height: 1.48; }
  body.theme-ecochar .ecx-ready-note { margin-top: 16px; }
}

@media (max-width: 390px) {
  body.theme-ecochar .ecx-ready__controls strong { font-size: .96rem; }
  body.theme-ecochar .ecx-ready__controls button { padding-inline: 9px; }
}

/* RC2 QA repair: keep paired section metadata visually distinct. */
body.theme-ecochar .ecx-section-head > div:first-child {
  display: grid;
  gap: 6px;
  align-content: start;
}


/* EcoChar Exemplar RC4B · 2026-08-27
   Batch B: authored hero, one page accent, delivery field objects and one documentary field moment. */
body.theme-ecochar[data-ecochar-exemplar="UNPROMOTED_ECOCHAR_EXEMPLAR_RC4B"] {
  --ecx-accent: #a46149;
  --ecx-accent-deep: #874b38;
  --ecx-accent-soft: #c9a28e;
}

/* Hero: title and programme truth live inside the landscape rather than above a report strip. */
body.theme-ecochar .ecx-hero {
  position: relative;
  padding: clamp(104px, 9vw, 136px) 0 clamp(66px, 6vw, 88px);
  overflow: hidden;
}
body.theme-ecochar .ecx-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: clamp(46px, 6vw, 92px);
  align-items: center;
}
body.theme-ecochar .ecx-hero-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
}
body.theme-ecochar .ecx-hero h1 {
  margin-top: clamp(24px, 3vw, 34px);
  font-size: clamp(5.2rem, 8.3vw, 8.8rem);
}
body.theme-ecochar .ecx-hero .ecfr-deck {
  max-width: 590px;
  margin-top: 22px;
  font-size: clamp(1.05rem, 1.35vw, 1.22rem);
  line-height: 1.58;
}
body.theme-ecochar .ecx-hero-projects {
  grid-template-columns: 1fr;
  max-width: 590px;
  gap: 0;
  margin-top: 30px;
  border: 0;
}
body.theme-ecochar .ecx-hero-projects > span {
  position: relative;
  grid-template-columns: minmax(150px, .68fr) minmax(0, 1fr);
  gap: 20px;
  align-items: baseline;
  padding: 14px 0;
  border-top: 1px solid var(--ecfr-rule);
}
body.theme-ecochar .ecx-hero-projects > span + span {
  padding-left: 0;
  border-left: 0;
}
body.theme-ecochar .ecx-hero-projects > span:last-child { border-bottom: 1px solid var(--ecfr-rule); }
body.theme-ecochar .ecx-hero-projects strong { font-size: clamp(1.22rem, 1.7vw, 1.52rem); }
body.theme-ecochar .ecx-position {
  grid-template-columns: 132px minmax(0, 1fr);
  max-width: 590px;
  margin-top: 22px;
  padding-top: 0;
  border-top: 0;
}
body.theme-ecochar .ecx-position strong { max-width: 46ch; font-size: .96rem; line-height: 1.5; }
body.theme-ecochar .ecx-hero-actions { margin-top: 22px; }
body.theme-ecochar .ecx-hero-visual {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  padding: clamp(28px, 3vw, 42px) clamp(24px, 2.7vw, 38px) clamp(22px, 2.3vw, 32px);
  background: var(--ecx-accent);
  color: #fffaf4;
  animation: ecx-hero-field-in 720ms cubic-bezier(.2,.72,.22,1) both;
}
body.theme-ecochar .ecx-hero-image-frame { overflow: hidden; background: #d8d3c8; }
body.theme-ecochar .ecx-hero-visual img {
  display: block;
  width: 100%;
  height: clamp(430px, 48vw, 610px);
  max-height: none;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: 55% 50%;
  filter: saturate(.82) contrast(1.045);
  transform: scale(1.018);
  animation: ecx-hero-image-settle 920ms cubic-bezier(.18,.72,.18,1) both;
}
body.theme-ecochar .ecx-hero-visual figcaption {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
  padding-top: 12px;
  border-color: rgba(255,250,244,.38);
}
body.theme-ecochar .ecx-hero-visual figcaption span,
body.theme-ecochar .ecx-hero-visual figcaption p { color: rgba(255,250,244,.86); }
body.theme-ecochar .ecx-hero-projects > span:first-child { animation: ecx-hero-copy-in 540ms 110ms ease both; }
body.theme-ecochar .ecx-hero-projects > span:last-child { animation: ecx-hero-copy-in 540ms 180ms ease both; }
body.theme-ecochar .ecx-position { animation: ecx-hero-copy-in 520ms 240ms ease both; }
@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; } }

/* Delivery: keep the grid, but give each intervention a field-object rather than an app icon. */
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: #6d7068;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .72;
  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 { opacity: 1; 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; }

/* One documentary interruption: field reality before the readiness instrument. */
body.theme-ecochar .ecx-field-moment {
  padding: clamp(34px, 4vw, 54px) 0 clamp(78px, 8vw, 118px);
  background: #faf8f2;
}
body.theme-ecochar .ecx-field-moment__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(260px, .58fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: end;
}
body.theme-ecochar .ecx-field-moment figure { margin: 0; overflow: hidden; }
body.theme-ecochar .ecx-field-moment img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9.2;
  object-fit: cover;
  object-position: 50% 48%;
  filter: saturate(.92) contrast(1.02);
}
body.theme-ecochar .ecx-field-moment__note {
  padding-top: 18px;
  border-top: 1px solid var(--ecfr-ink);
}
body.theme-ecochar .ecx-field-moment__note strong {
  display: block;
  margin-top: 16px;
  font-family: var(--ecfr-serif);
  font-size: clamp(1.75rem, 2.7vw, 2.8rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.035em;
}
body.theme-ecochar .ecx-field-moment__note p { margin: 18px 0 0; color: var(--ecfr-muted); line-height: 1.55; }

/* The hero accent returns once, only as the readiness selection cue. */
body.theme-ecochar .ecx-ready__controls button[aria-selected="true"] { box-shadow: inset 3px 0 0 var(--ecx-accent); }
body.theme-ecochar .ecx-ready__controls span { color: var(--ecx-accent-soft); }
body.theme-ecochar .ecx-ready__facts dt { color: var(--ecx-accent-deep); }

/* Field Record becomes documentation after the promoted field moment. */
body.theme-ecochar .ecx-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 3.5vw, 44px); }
body.theme-ecochar .ecx-photo-grid img { aspect-ratio: 16 / 10.8; }

/* Close quietly: readiness remains the page's sole dark peak. */
body.theme-ecochar .ecx-next { background: var(--ecfr-paper); color: var(--ecfr-ink); }
body.theme-ecochar .ecx-next .ecfr-label,
body.theme-ecochar .ecx-next .ecfr-period { color: var(--ecfr-muted); }
body.theme-ecochar .ecx-next .ecx-section-head p { color: #485048; }
body.theme-ecochar .ecx-next-grid article { border-top-color: var(--ecfr-rule); }
body.theme-ecochar .ecx-next-grid article p { color: #485048; }
body.theme-ecochar .ecx-close { border-top-color: var(--ecfr-rule); }
body.theme-ecochar .ecx-next .ecx-close {
  --project-action-primary-bg: var(--ecx-dark);
  --project-action-primary-color: #fff;
  --project-action-primary-hover-shadow: 0 10px 24px rgba(23,55,44,.18);
}

@media (max-width: 1040px) {
  body.theme-ecochar .ecx-hero-layout { grid-template-columns: minmax(0, 1fr) minmax(330px, .82fr); gap: 40px; }
  body.theme-ecochar .ecx-hero-visual img { height: clamp(390px, 48vw, 500px); }
}
@media (max-width: 900px) {
  body.theme-ecochar .ecx-hero { padding-top: 92px; }
  body.theme-ecochar .ecx-hero-layout { grid-template-columns: 1fr; gap: 34px; }
  body.theme-ecochar .ecx-hero-visual { width: calc(100% + 48px); margin-left: -24px; padding: 22px 24px 18px; }
  body.theme-ecochar .ecx-hero-visual img { height: clamp(330px, 58vw, 480px); }
  body.theme-ecochar .ecx-field-moment__layout { grid-template-columns: minmax(0, 1fr) minmax(220px, .52fr); gap: 32px; }
}
@media (max-width: 720px) {
  body.theme-ecochar .ecx-hero { padding: 84px 0 54px; }
  body.theme-ecochar .ecx-hero h1 { margin-top: 22px; font-size: clamp(4.1rem, 18vw, 5.7rem); }
  body.theme-ecochar .ecx-hero .ecfr-deck { margin-top: 16px; font-size: 1rem; line-height: 1.52; }
  body.theme-ecochar .ecx-hero-projects { margin-top: 24px; }
  body.theme-ecochar .ecx-hero-projects > span { grid-template-columns: 1fr; gap: 5px; padding: 12px 0; }
  body.theme-ecochar .ecx-position { grid-template-columns: 1fr; gap: 7px; margin-top: 18px; }
  body.theme-ecochar .ecx-hero-visual { width: calc(100% + 32px); margin-left: -16px; padding: 16px 16px 14px; }
  body.theme-ecochar .ecx-hero-visual img { height: min(56vh, 430px); min-height: 300px; object-position: 55% 50%; }
  body.theme-ecochar .ecx-hero-visual figcaption { align-items: flex-start; flex-direction: column; gap: 4px; margin-top: 10px; padding-top: 9px; }
  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-field-moment { padding: 22px 0 70px; }
  body.theme-ecochar .ecx-field-moment__layout { grid-template-columns: 1fr; gap: 22px; }
  body.theme-ecochar .ecx-field-moment figure { width: calc(100% + 32px); margin-left: -16px; }
  body.theme-ecochar .ecx-field-moment img { aspect-ratio: 4 / 3; }
  body.theme-ecochar .ecx-photo-grid { grid-template-columns: 1fr; gap: 34px; }
  body.theme-ecochar .ecx-photo-grid img { aspect-ratio: 4 / 3; }
  body.theme-ecochar .ecx-ready__controls button[aria-selected="true"] { box-shadow: inset 0 3px 0 var(--ecx-accent); }
}
@media (max-width: 390px) {
  body.theme-ecochar .ecx-hero-visual img { min-height: 270px; height: 48vh; }
  body.theme-ecochar .ecx-field-moment__note strong { font-size: 1.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.theme-ecochar .ecx-hero-visual,
  body.theme-ecochar .ecx-hero-visual img,
  body.theme-ecochar .ecx-hero-projects > span,
  body.theme-ecochar .ecx-position { animation: none !important; transform: none !important; }
  body.theme-ecochar .ecx-delivery-mark { transition: none !important; }
}

/* RC4B small-mobile hero compression: keep a real edge of place in the opening viewport. */
@media (max-width: 390px) {
  body.theme-ecochar .ecx-hero { padding-top: 72px; }
  body.theme-ecochar .ecx-hero-layout { gap: 22px; }
  body.theme-ecochar .ecx-hero h1 { margin-top: 16px; }
  body.theme-ecochar .ecx-hero .ecfr-deck { margin-top: 12px; line-height: 1.46; }
  body.theme-ecochar .ecx-hero-projects { margin-top: 18px; }
  body.theme-ecochar .ecx-hero-projects > span { padding: 9px 0; }
  body.theme-ecochar .ecx-position { margin-top: 12px; }
  body.theme-ecochar .ecx-position strong { font-size: .9rem; line-height: 1.42; }
  body.theme-ecochar .ecx-hero-actions { margin-top: 16px; }
}

/* RC4B hero media authority: outrank the earlier RC4A strip-height rule. */
@media (min-width: 901px) {
  body.theme-ecochar .ecx-hero .ecfr-hero-image.ecx-hero-visual img {
    height: clamp(430px, 46vw, 610px);
    max-height: none;
    aspect-ratio: auto;
    object-position: 55% 50%;
  }
}
@media (max-width: 900px) {
  body.theme-ecochar .ecx-hero .ecfr-hero-image.ecx-hero-visual img {
    height: clamp(330px, 58vw, 480px);
    max-height: none;
    aspect-ratio: auto;
  }
}
@media (max-width: 720px) {
  body.theme-ecochar .ecx-hero .ecfr-hero-image.ecx-hero-visual img {
    height: min(56vh, 430px);
    min-height: 300px;
  }
}
@media (max-width: 390px) {
  body.theme-ecochar .ecx-hero .ecfr-hero-image.ecx-hero-visual img {
    min-height: 270px;
    height: 48vh;
  }
}

/* RC4B accent discipline: one hero colour event, one readiness selection echo. */
body.theme-ecochar .ecx-ready__controls span { color: rgba(247,244,236,.58); }
body.theme-ecochar .ecx-ready__facts dt { color: #6b625b; }


/* EcoChar Exemplar RC4C · 2026-08-27
   Batch C: readiness affordance, transition finish, mobile geometry and final micro-subtraction. */
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;
  --ecx-accent-deep: #874b38;
  --ecx-accent-soft: #c9a28e;
  --ecx-warm: #d8ba92;
}

/* Delivery drawings: a small optical lift only; size and neutral character remain unchanged. */
body.theme-ecochar .ecx-delivery-mark {
  stroke: #5f645d;
  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; }

/* Hero source note is one concise evidence-boundary label. */
body.theme-ecochar .ecx-hero-visual figcaption { justify-content: flex-start; }

/* Documentary note starts with the attributable fact, not a decorative kicker. */
body.theme-ecochar .ecx-field-moment__note strong { margin-top: 0; }

/* Signature: one clear selected state, still editorial rather than tab-like chrome. */
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 cubic-bezier(.2,.72,.22,1) both;
}
@keyframes ecx-readiness-in-rc4c {
  from { opacity: .18; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

/* Evidence release: remove the explanatory middle sentence and let scale + source note do the work. */
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"] small { color: rgba(247,244,236,.58); }
  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 [data-eco-readiness-enhanced="true"] .ecx-ready__panel.is-active { animation: none; }
  body.theme-ecochar .ecx-ready__controls button,
  body.theme-ecochar .ecx-delivery-mark { transition: none; transform: none; }
}

/* ---- from ecochar-hero-v2.css ---- */

.eco-r40-hero{position:relative;min-height:calc(100svh - var(--global-nav-height,76px));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 cubic-bezier(.16,1,.3,1),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{margin:0 0 19px;font:600 .65rem var(--sans,Arial);letter-spacing:.15em;color:#d7dd8a}.eco-r40-copy h1{margin:0;max-width:8.5ch;color:#fff;font:400 clamp(3.5rem,6.3vw,6.8rem)/.88 var(--serif,Georgia,serif);letter-spacing:-.055em}.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{display:inline-flex;width:max-content;align-items:center;justify-content:center;min-height:46px;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 .5rem 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:.64rem}.eco-r40-chars{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}.eco-r40-chars button{min-height:46px;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 .54rem 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}.eco-r40-hero[data-char=mollarchar] .eco-r40-media img{transform:scale(1.018) translateX(-1%)}.eco-r40-hero[data-char=fazlupur] .eco-r40-media img{transform:scale(1.028) translateX(1%)}.eco-r40-hero[data-char=fulchhari] .eco-r40-media img{filter:saturate(.52) contrast(1.08);transform:scale(1.02) translateY(-1%)}
@media(max-width:760px){.eco-r40-hero{min-height:calc(100svh - var(--global-nav-height,58px))}.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 h1{font-size:clamp(2.95rem,13.6vw,4.4rem);max-width:8.3ch}.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;bottom: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:.55rem}.eco-r40-chars button{min-height:46px;font-size:.46rem}}
@media(prefers-reduced-motion:reduce){.eco-r40-media img{transition:none!important}}
.eco-r40-copy h1>span{display:block;white-space:nowrap}.eco-r40-copy h1{max-width:none}
@media(max-width:760px){.eco-r40-copy h1{font-size:clamp(2.7rem,11.8vw,3.7rem);line-height:.91}}
@media(max-width:560px){.eco-r40-copy h1{font-size:clamp(2.45rem,10.6vw,3.4rem)}}
/* R64: hero is informational only; retain the two-project summary and remove the decorative char selector. */
.eco-r40-chars{display:none}

/* ---- from ecochar-r42.css ---- */

body.ecochar-r42{--ec42-paper:#f3efe6;--ec42-ink:#182019;--ec42-forest:#234737;--ec42-rust:#934f3d;--ec42-lime:#d9df7b;--ec42-sand:#e2d4b8;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{margin:0 0 16px;font:600 .68rem/1.2 var(--sans,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#6f5a4e}.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;max-width:13ch;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:.62rem;letter-spacing:.14em;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{max-width:11ch;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;margin-top:22px;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,.ecochar-r42 .ecx-ready,.ecochar-r42 .ecx-record,.ecochar-r42 .ecx-constraints,.ecochar-r42 .ecx-next{scroll-margin-top:120px}.ecochar-r42 .ecx-delivery{padding-top:clamp(78px,8vw,118px)}.ecochar-r42 .ecx-delivery-mark{stroke:var(--ec42-rust)!important}.ecochar-r42 .ecx-ready{background:#18352e}.ecochar-r42 .ecx-record{background:#f3efe6}.ecochar-r42 .ecx-constraints{background:#d9df7b}.ecochar-r42 .ecx-next{background:#16251e;color:#f4efe5}.ecochar-r42 .ecx-next h2,.ecochar-r42 .ecx-next p{color:inherit}.ecochar-r42 .ecx-close .project-action{background:#d9df7b;color:#182019}
@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}.ecochar-r42 .ecx-delivery-grid{grid-template-columns:1fr 1fr}}
@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}.ecochar-r42 .ecx-delivery-grid{grid-template-columns:1fr}.ecochar-r42 .ecx-record-grid{grid-template-columns:1fr}.ecochar-r42 .ecx-photo-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ec42-atlas__frame{opacity:1;transform:none;transition:none}.ec42-atlas__pulse{display:none}}
/* R43 headline measure: wider measure so context and atlas headlines stay within three lines. */
@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}}
/* R44 review: tight .92 leading left descenders touching the paragraph below. */
.ec42-context h2,.ec42-allocation h2{margin-bottom:.34em}

/* POST-AWARD FINISH: measured local composition and headline wraps. */
@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)}}
