/* 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:var(--cv-ease-enter);--ease-out-expo:var(--cv-ease-enter);--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}.hero-copy,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)}.hero-copy{color:var(--ink-soft);font-size:var(--type-body-large);font-weight:400;line-height:var(--type-copy-leading)}.hero-copy strong,.nav-links a{font-weight:500}.section-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--forest);margin-bottom:var(--runner-heading-gap);letter-spacing:.04em}body.mobile-menu-open{overscroll-behavior:none}.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)}}@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}}@media (max-width:680px){.hero-copy{transition-delay:.08s}}.hero-copy{max-width:var(--editorial-max-copy)}body,html{max-width:100%}.hero .section-kicker{text-align:center;margin-inline:auto}.hero .hero-copy{max-width:58ch;margin-inline:auto;text-align:left}@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-menu-panel[hidden],.funding-mobile-menu__detail[hidden]{display:none}

@media (max-width:1120px){
  .funding-mobile-menu{display:block;margin:2px 0 8px;padding:12px 0 8px;border-bottom:1px solid rgba(23,24,19,.08)}
  .funding-mobile-menu__head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:8px 0 6px}
  .funding-mobile-menu__label{font-family:var(--mono,"JetBrains Mono",monospace);font-size:.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}
}









/* 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="concept"]{--project-stage: #5f665f;}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{ font-family: var(--serif);}@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 :where(.project-surface-dark){--project-surface-muted:var(--project-dark-muted);--project-surface-subtle:var(--project-dark-subtle)}body.project-theme .evidence,body.project-theme .kicker{display:inline-flex;width:fit-content;color:var(--project-accent);margin-bottom:16px;}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 :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(--project-sticky-top);
  max-block-size:var(--project-sticky-available);
}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);
}body.project-theme .project-pagination__link--next{text-align:right}body.project-theme .project-pagination__link--next strong::after{content:"→";margin-left:10px;color:var(--project-accent);font-family:var(--sans);font-size:.8em}@media (max-width:700px){body.project-theme .project-pagination__link--next{text-align:left}}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-solar.css */
body.theme-solar{--project-accent:#2f7187;--project-accent-soft:rgba(47,113,135,.12);--project-meta-floor:clamp(.73rem,.72vw,.8rem);--project-caption-floor:clamp(.78rem,.8vw,.86rem);--focus-ring-light:#0d5138}body.project-theme 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:.94;text-wrap:balance}@media(max-width:700px){body.project-theme h1{max-width:10ch;margin-bottom:16px;font-size:clamp(2.75rem,13.2vw,4rem);letter-spacing:normal;line-height:.94}}@media(min-width:861px) and (max-height:960px){body.project-theme 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{margin-bottom:8px;font-size:clamp(2.25rem,5.8vh,3rem)}}@media(min-width:981px){body.project-theme[data-project-id] main>:is(header.hero,header.eco-hero,header.frio-hero,header.sgc-hero),body.project-theme[data-project-id] main>:first-child>:is(header.hero,header.eco-hero,header.frio-hero,header.sgc-hero){height:calc(100svh - var(--global-nav-height,64px));min-height:0;max-height:calc(100svh - var(--global-nav-height,64px));overflow:hidden}}.solar-investment-page{--paper:#eef1ec;--paper-2:#f8f6ef;--ink:#151b18;--muted:#626a65;--line:rgba(21,27,24,.14);--green:#244f42;--green-2:#36715e;--solar:#f2b93b;--solar-soft:#f9e3a7;--ice:#dce9e6;--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"JetBrains Mono",Consolas,monospace;--nav-height:68px;--project-nav-height:52px;--ease:var(--cv-ease-enter);background:var(--paper);color:var(--ink);font-family:var(--sans)}.solar-investment-page *{box-sizing:border-box}.solar-investment-page img{display:block;max-width:100%}.solar-investment-page a{color:inherit}.solar-investment-page .container{width:min(1320px,calc(100% - 48px));margin:auto}.solar-investment-page .mono{text-transform:uppercase;letter-spacing:.13em;font:600 .68rem/1.35 var(--mono)}.solar-investment-page :focus-visible{outline:3px solid var(--solar);outline-offset:4px}.solar-investment-page section[id],.solar-investment-page header[id]{scroll-margin-top:calc(var(--nav-height) + var(--project-nav-height) + 18px)}.solar-investment-page .hero{max-height:980px;position:relative;overflow:hidden;color:#fff}.solar-investment-page .hero-inner{height:100%;position:relative;display:flex;flex-direction:column}.solar-investment-page .meta{display:flex;flex-wrap:wrap;color:rgba(255,255,255,.68)}.solar-investment-page .status{color:var(--solar-soft)}.solar-investment-page h1,.solar-investment-page h2,.solar-investment-page h3{font-family:var(--serif);font-weight:500;letter-spacing:-.04em}.solar-investment-page h1{margin:0;max-width:9.2ch;font-size:clamp(4.1rem,7.7vw,8.5rem);line-height:.88}.solar-investment-page h1 em{color:var(--solar-soft);font-style:normal}.solar-investment-page .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;text-decoration:none;font-weight:700;font-size:.86rem}.solar-investment-page .section{padding:clamp(88px,9vw,142px) 0}.solar-investment-page .kicker{color:var(--green-2)}.solar-investment-page .landscape{background:var(--green);color:#fff}.solar-investment-page .baseline{background:var(--paper)}.solar-investment-page .clock-stage{position:sticky;height:calc(100svh - var(--nav-height) - var(--project-nav-height) - 36px);min-height:480px;max-height:760px;overflow:hidden;border-radius:26px;background:#17231e;color:#fff;align-self:start}.solar-investment-page .clock-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.43;transition:opacity .35s var(--ease),transform .7s var(--ease)}.solar-investment-page .clock-status{position:absolute;z-index:3;left:clamp(36px,5vw,68px);right:clamp(36px,5vw,68px);bottom:26px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.solar-investment-page .clock-status>span{color:rgba(255,255,255,.52)}.solar-investment-page .clock-status strong{font-size:.76rem}.solar-investment-page .campaign{background:var(--paper)}.solar-investment-page .alternatives{background:#e5ebe7}.solar-investment-page .operators{background:var(--green);color:#fff}.solar-investment-page .finance{background:var(--paper)}.solar-investment-page .decision{background:#f2eee2}.solar-investment-page .roadmap{background:#111b17;color:#fff}.solar-investment-page .mandate{background:var(--paper-2)}.solar-investment-page .sources{padding:58px 0;background:#dfe5df}.solar-investment-page .sources h2{margin:0 0 24px}.solar-investment-page .sources-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.solar-investment-page .sources-grid p{margin:0;font-size:.78rem;color:#4f5852;line-height:1.55}.solar-investment-page .source-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.solar-investment-page .source-links a{padding:9px 12px;border:1px solid rgba(21,27,24,.18);border-radius:999px;text-decoration:none;font-size:.72rem}.solar-investment-page .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}@media(max-height:700px) and (min-width:981px){.solar-investment-page .hero-copy h1{font-size:clamp(3.5rem,6.2vw,6.2rem)}.solar-investment-page .clock-stage{min-height:420px}}@media(max-width:980px){.solar-investment-page{--project-nav-height:48px;background:var(--paper);color:var(--ink);font-family:var(--sans)}.solar-investment-page .hero-inner{height:100%;min-height:0;padding-top:clamp(46px,6vh,68px);padding-bottom:24px}.solar-investment-page .hero-copy{max-width:760px}.solar-investment-page .hero-copy h1{max-width:10ch;font-size:clamp(3.6rem,8.8vw,5.4rem)}.solar-investment-page .clock-stage{position:relative;height:auto;min-height:600px;max-height:none}.solar-investment-page .sources-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.solar-investment-page{--nav-height:60px;background:var(--paper);color:var(--ink);font-family:var(--sans)}.solar-investment-page .container{width:min(100% - 28px,1320px)}.solar-investment-page .section{padding:78px 0}.solar-investment-page .question-grid,.solar-investment-page .campaign-grid,.solar-investment-page .alternative-grid,.solar-investment-page .sources-grid{grid-template-columns:1fr}.solar-investment-page .clock-stage{min-height:650px}.solar-investment-page .clock-status{left:24px;right:24px}.solar-investment-page .source-links{align-items:stretch;flex-direction:column}.solar-investment-page .source-links a{text-align:center}}@media(prefers-reduced-motion:reduce){.solar-investment-page *,.solar-investment-page *:before,.solar-investment-page *:after{animation-duration:.01ms;transition-duration:.01ms}}.solar-investment-page{overflow:clip;--solar-section-space:clamp(78px,8vw,124px)}.solar-investment-page .hero{min-height:calc(100svh - var(--nav-height) - 52px);height:calc(100svh - var(--nav-height) - 52px)}.solar-investment-page .section,.solar-investment-page .calendar-section,.solar-investment-page .clock-section{padding-block:var(--solar-section-space)}.solar-investment-page .button{border-radius:var(--button-radius,999px)}.solar-investment-page .clock-stage{top:calc(var(--nav-height) + 70px)}@media(max-width:980px){.solar-investment-page .clock-stage{top:auto}}@media(max-width:640px){.solar-investment-page{--solar-section-space:68px}}.solar-investment-page .solar-context-pause{position:relative;margin:clamp(42px,6vw,76px) 0 0;min-height:clamp(360px,48vw,620px);overflow:hidden;border-radius:24px;background:#122019;color:#fff}.solar-investment-page .solar-context-pause img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;filter:saturate(.82) contrast(1.03)}.solar-investment-page .solar-context-pause:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(7,18,13,.82) 100%)}.solar-investment-page .solar-context-pause figcaption{position:absolute;z-index:1;left:clamp(22px,4vw,52px);right:clamp(22px,4vw,52px);bottom:clamp(22px,4vw,46px);display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:clamp(18px,4vw,56px);align-items:end}.solar-investment-page .solar-context-pause figcaption span{font-size:.66rem;line-height:1.45;color:rgba(255,255,255,.68);letter-spacing:.08em;text-transform:uppercase}.solar-investment-page .solar-context-pause figcaption strong{max-width:26ch;font-family:var(--serif);font-size:clamp(1.75rem,3vw,3.4rem);font-weight:400;line-height:1.03}@media(max-width:640px){.solar-investment-page .solar-context-pause{min-height:430px;border-radius:18px}.solar-investment-page .solar-context-pause figcaption{grid-template-columns:1fr;gap:12px}.solar-investment-page .solar-context-pause figcaption strong{font-size:clamp(1.7rem,8vw,2.5rem)}}.solar-investment-page .hero-copy{margin:0;color:#fff}.solar-investment-page .hero-copy h1,.solar-investment-page .hero-signal strong{color:#fff}body.theme-solar{--project-closing-bg:#122b25;--project-closing-accent:#b9d875}body.theme-solar :is(#question,#landscape,#baseline,#campaign,#alternatives){padding-block:72px}body.theme-solar #calendar{padding-block:72px}body.theme-solar :is(#operators,#lab,#finance,#decision,#roadmap).section{padding-block:64px}@media (min-width:1101px) and (min-height:781px) and (max-height:840px){







  body.theme-solar .clock-status{bottom:18px}
}body.project-theme.theme-solar .mono{font-size:11.04px;font-weight:500;line-height:15.456px;letter-spacing:1.2696px}@media (max-width:640px){
  .solar-investment-page .hero{
    height:calc(100svh - var(--global-nav-height,64px) - var(--project-subnav-compact-height,60px));
    min-height:0;
    max-height:none;
    padding-bottom:0;
  }
  .solar-investment-page .hero-inner{
    justify-content:center;
    padding-top:18px;
    padding-bottom:18px;
  }
  .solar-investment-page .meta{margin-bottom:10px;gap:5px 10px;font-size:.56rem}
  .solar-investment-page .hero-copy{padding-bottom:58px}
  .solar-investment-page .hero-copy h1{font-size:clamp(2.75rem,12.2vw,3.55rem);line-height:.89}











}@media (max-width:980px){
  .solar-investment-page .hero{
    height:calc(100svh - var(--global-nav-height,56px) - 63px);
    min-height:0;
    max-height:none;
  }
}








/* Stage 2 final refinement: desktop-only display scale for long investment questions. */


/* source: assets/award-page-subtraction.css */
/* Cultivera V1.45 Batch 7: FRiO and Solar Cool Chain subtraction layer */
/* V1.45 Batch 7 — FRiO page subtraction */



/* V1.45 Batch 7 — Solar Cool Chain page subtraction */

.solar-investment-page #calendar{padding-block:82px}.solar-investment-page #operating-clock{padding-block:58px}

.solar-investment-page #lab{padding-block:58px;background:var(--paper-2)}

body.theme-solar :is(#question,#baseline,#campaign,#alternatives).section{padding-block:62px}body.theme-solar #decision.section{padding-block:58px}body.theme-solar #mandate.section{padding-block:44px}.solar-investment-page .sources{padding-block:44px 34px}

@media(max-width:760px){body.theme-solar :is(#question,#baseline,#campaign,#alternatives,#decision).section{padding-block:50px}}

/* 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: var(--cv-ease-enter);
  --cultivera-ease-existing-quiet: var(--cv-ease-quiet);

  /* Stage 02 route prototype contract. */
  --cultivera-route-first-duration: 600ms;
  --cultivera-route-repeat-duration: 360ms;
  --cultivera-route-content-duration: 150ms;
  --cultivera-route-ease: var(--cv-ease-enter);

  /* 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. */


/* 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;
}


/* 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. */
body.theme-solar :is(
  .calendar-months button,
  .calendar-cell,
  .calendar-panel dt,
  .clock-ledger span,
  .alternative-grid dt,
  .operator-row.heading,
  .finance-row.heading,
  .decision-row.heading,
  .meta,
  .operator-row:not(.heading) > :is(p, span)::before,
  .finance-row:not(.heading) > :is(p, span)::before,
  .decision-row:not(.heading) > :is(p, span)::before,
  .solar-context-pause figcaption span
){
  font-size: var(--award-type-label-floor) !important;
  line-height: var(--award-type-functional-leading);
}

/* 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.theme-solar .solar-investment-page > :is(#question, #landscape, #baseline, #campaign, #alternatives, #operators, #lab, #finance, #decision, #roadmap).section{
  padding-block: var(--award-density-section);
}

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: projects/solar-cool-chain/assets/solar-hero-award.css */
/* B2-201: Solar hero density and alignment correction. */
.solar-investment-page .hero-inner {
  justify-content: center;
  padding-top: clamp(28px, 4vh, 52px);
  padding-bottom: clamp(28px, 4vh, 46px);
}

.solar-investment-page .hero-copy {
  max-width: 760px;
}

.solar-investment-page .hero-copy h1 {
  max-width: 13.2ch;
  margin-bottom: 0;
  font-size: clamp(3.35rem, 5vw, 5.6rem);
  line-height: .92;
}

.solar-investment-page .meta {
  gap: 8px 14px;
  margin-bottom: 18px;
}















@media (max-width: 1100px) and (min-width: 641px) {
  .solar-investment-page .hero-copy {
    max-width: min(690px, 76vw);
  }

  .solar-investment-page .hero-copy h1 {
    font-size: clamp(3.05rem, 6vw, 4.65rem);
  }






}

@media (max-width: 640px) {
  .solar-investment-page .hero-inner {
    justify-content: center;
    padding-top: 14px;
    padding-bottom: 16px;
  }

  .solar-investment-page .hero-copy {
    max-width: none;
    padding-bottom: 70px;
  }

  .solar-investment-page .meta {
    gap: 5px 10px;
    margin-bottom: 10px;
  }

  .solar-investment-page .hero-copy h1 {
    max-width: 100%;
    font-size: clamp(2.45rem, 11vw, 3.1rem);
    line-height: .92;
  }














}

/* 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;
}
.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)}

.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;transition:none}
}

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

/* source: assets/award-release-qa.css */
/* Cultivera V1.45 Batch 9: release QA and accessibility corrections.
   Scoped corrections only. Page composition and canonical project cascades remain unchanged. */



/* RC hotfix 1: keep Field Systems action underlines inside the authored control box. */












/* 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;
  }
  body.project-theme .source-links a {
    display:flex;
    min-height:44px;
    align-items:center;
    padding:10px 0;
    font-size:.8125rem;
    line-height:1.35;
  }
  body.project-theme .source-links {gap:0}
  body.project-theme .source-links a+a {border-top:1px solid rgba(20,23,20,.14)}

  /* 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. */
  body.theme-solar :is(.capacity-calendar,.capacity-table,.calendar-shell) {
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  body.theme-solar :is(.capacity-calendar,.capacity-table,.calendar-shell)>* {scroll-snap-align:start}

  /* 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. */

@media (max-width: 760px) {
  /* Solar: subnav now follows the hero, so the opening gets the full post-nav viewport. */
  body.theme-solar .solar-investment-page .hero {
    height:calc(100svh - var(--global-nav-height,56px))!important;
    min-height:0!important;
    max-height:none!important;
  }

  /* Solar: keep the long investment question as display type without a seven-line wall. */


  /* MAVH: preserve the diptych, but reduce opening runway and evidence-rail drag. */

  /* MAVH Floriculture: keep the photographic hierarchy, remove excess mobile image runway. */

  /* FRiO: retain the manifesto moment, but stop it consuming nearly a phone viewport. */
}

/* source: assets/project-solar-accessibility-rc2.css */
/* RC2: rendered WCAG and keyboard-scroll corrections, Solar-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. */



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






.theme-solar .solar-investment-page .clock-stage{border:1px solid rgba(36,79,66,.16);box-shadow:0 28px 72px rgba(21,27,24,.09)}
.theme-solar .solar-investment-page .decision{position:relative;overflow:hidden}
.theme-solar .solar-investment-page .decision::after{content:"";position:absolute;right:-9vw;bottom:-18vw;width:38vw;aspect-ratio:1;border:1px solid rgba(242,185,59,.14);border-radius:50%;box-shadow:0 0 0 40px rgba(242,185,59,.035),0 0 0 80px rgba(242,185,59,.018);pointer-events:none}


/* 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. */
  body.theme-solar .solar-investment-page{--solar-section-space:64px}












  body.theme-solar .solar-investment-page .clock-stage{padding:18px;min-height:0}
  body.theme-solar .solar-investment-page .sources{padding-block:40px 30px}
  body.theme-solar .solar-investment-page .source-links a{font-size:13px}

  /* 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. */

@media (min-width:761px){
  /* GREEN FLAME — shorten evidence runway and improve record density without removing proof. */

  /* ROOTS — fix micro-type and use desktop width more deliberately. */

  /* SOLAR — remove laptop overflow and constrain full-width explanatory prose. */

  body.theme-solar .solar-investment-page .clock-stage{min-width:0;width:100%;max-width:100%}



  /* FRIO — tighten the Flower Clock reading runway while preserving the mechanic. */

  /* ECOCHAR — containment + shorter desktop movement chapters, not a new visual language. */
}

@media (min-width:981px){

  body.theme-solar .solar-investment-page #campaign.section{padding-block:68px}



}

@media (min-width:761px) and (max-width:1100px){

  body.theme-solar .solar-investment-page .clock-stage{width:auto}
}

/* Pass 2 — only pages still below the 9.5 desktop gate after the first convergence pass. */
@media (min-width:761px){
  /* ROOTS: remove the last micro-type weakness and compress only non-signature runway. */


  /* SOLAR: keep the capacity instrument intact while shortening supporting runway. */
  body.theme-solar .solar-investment-page #campaign .solar-context-pause{min-height:520px}



  body.theme-solar .solar-investment-page #operating-clock .clock-stage{min-height:560px}

  /* FRiO: one more Clock compaction pass; preserve every state and all commercial evidence. */

  /* EcoChar: remove the last desktop crop/length friction without changing the Movement Record grammar. */
}

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

/* source: assets/lock09-mobile-editorial-compression.css */
/* Lock09 mobile editorial compression — preserves content, reduces vertical/cognitive drag. */
@media (max-width:680px){
  /* Green Flame */

  /* Solar Cool Chain */
  .solar-investment-page .section{padding-block:56px}






  .solar-investment-page .clock-stage{min-height:540px}




  /* FRiO */



  /* ROOTS */







  /* Sundarbans Guardian Cooperative */
}

/* 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:var(--cv-ease-enter)}

/* 01 — Global shell material. Preserve established geometry and offsets. */
.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!important;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);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!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. */
