/* Institutional extension. Existing Home tokens, faces and spacing remain authoritative. */
:root{--motion-short:180ms;--motion-page:240ms;--motion-story:520ms}
.masthead{display:flex;flex-wrap:wrap;align-items:center;gap:12px;position:relative;min-height:108px}
.masthead .brand-link{width:clamp(140px,38vw,190px);padding-block:6px}
.masthead .brand-link img{width:100%;height:auto}
.masthead .locale-switch{margin-left:auto;border:0;padding:0}
.masthead-cta{display:none}
.global-menu{margin-left:0}
.global-menu>summary{min-height:48px;list-style:none}
.global-menu[open] .menu-symbol{border-bottom:0;transform:rotate(45deg);height:0}
.global-menu[open] .menu-symbol:after{content:"";position:absolute;inset:-1px 0 auto;width:22px;border-top:1px solid;transform:rotate(90deg)}
.global-navigation{position:absolute;z-index:15;top:100%;left:calc(-1*var(--gutter));right:calc(-1*var(--gutter));background:var(--paper);padding:20px var(--gutter) 28px;border-bottom:1px solid var(--green);box-shadow:0 16px 20px -24px #01341b66;max-height:calc(100svh - 112px);overflow-y:auto}
.global-navigation>a{display:flex;align-items:center;min-height:48px;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;position:relative;font-size:16px}
.global-navigation>a[aria-current=page],.global-navigation>a.ancestor-active{font-weight:600;color:var(--green)}
.global-navigation>a[aria-current=page]:after,.global-navigation>a.ancestor-active:after{content:"";width:6px;height:6px;background:var(--gold);border-radius:50%;margin-left:12px}
.global-navigation>.mobile-cta{padding:14px 20px;margin-top:20px;border:0}
.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:15px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px}
.text-link .icon{width:20px;height:20px;transition:transform var(--motion-short) var(--ease-out)}
.home-about-link{display:block;width:fit-content;margin-top:12px;padding-block:10px;font-size:14px;text-underline-offset:5px}
.section-deep-link{margin-top:32px}
.sectors-intro>.text-link,.brand-story .text-link{margin-top:24px}
.sector-content .text-link{margin-top:12px;color:var(--green)}
.home-project-photo .image-reveal{aspect-ratio:1.5}
.home-project-photo img{object-fit:contain}
.documentary-photo{min-width:0}
.documentary-photo img{width:100%;height:auto}
.documentary-photo figcaption{font-size:13px;line-height:1.55;margin-top:14px;color:var(--muted);max-width:70ch}
.documentary-photo figcaption>span{display:block;font-size:12px;margin-top:6px}
.page-hero{padding-block:56px 64px}
.eyebrow{font-size:13px;line-height:1.5;letter-spacing:.04em;font-weight:500;margin-bottom:24px;color:var(--muted)}
.page-hero h1{max-width:1100px;font-size:clamp(2.5rem,5.25vw,5.3rem);line-height:1.06}
.page-lead{max-width:740px;font-size:19px;line-height:1.55;margin-top:28px}
.editorial-chapter{display:grid;gap:32px;padding-block:64px}
.editorial-chapter .lead{font-size:21px;line-height:1.55;font-weight:400}
.reading-column{max-width:680px;min-width:0}
.reading-column>p:not(.lead){color:var(--muted)}
.reading-column .text-link{margin-top:24px}
.reading-column h2+p,.reading-column h3+p{margin-top:24px}
.editorial-list{margin-top:28px}
.editorial-list>li{padding:18px 0;border-top:1px solid var(--line);line-height:1.5}
.editorial-list>li:last-child{border-bottom:1px solid var(--line)}
.wide-photo{padding-bottom:64px}
.mineral-band{background:var(--mineral)}
.geography .eyebrow,.geography .reading-column p,.geography .editorial-pairs p{color:var(--muted-on-green)}
.geography h3{color:var(--on-green)}
.geography .editorial-list li{border-color:#3c6046}
.ambition-list{margin-top:64px}
.editorial-pairs{display:grid;gap:32px;margin-top:40px}
.editorial-pairs article{border-top:1px solid var(--line);padding-top:24px}
.editorial-pairs h3{font-size:23px}
.editorial-pairs p{margin-top:16px;max-width:58ch;color:var(--muted)}
.geography .editorial-pairs article{border-color:#3c6046}
.principle-chapter .principle h2{font-size:clamp(2.6rem,4vw,4.5rem)}
.closing-invitation{display:grid;gap:32px;padding-block:64px}
.closing-invitation>div{max-width:460px}
.closing-invitation .button{margin-top:24px}
.logo-origin{display:grid;gap:12px;padding-bottom:64px}
.logo-origin .reading-column{max-width:820px}
.logo-origin p{margin-top:24px}
.jar-story-layout{display:grid;gap:24px;padding-block:48px}
.jar-object{align-self:start;text-align:center}
.jar-stage{position:relative;max-width:260px;margin-inline:auto;padding:16px}
.jar-stage img{width:100%;filter:drop-shadow(0 16px 12px #01341b0d)}
.jar-guide{display:none}
.jar-current{font-size:18px;font-weight:500;min-height:28px;margin-top:24px}
.jar-caption{font-size:12px;color:var(--muted);margin-top:8px}
.jar-explanations article{padding-block:36px;border-top:1px solid var(--line);position:relative;scroll-margin-top:40px}
.jar-explanations h2{font-size:30px;letter-spacing:-.025em;margin-top:12px}
.jar-explanations p{margin-top:20px;max-width:58ch;color:var(--muted)}
.story-index{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.jar-explanations article:after{content:"";position:absolute;left:0;top:-1px;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 440ms var(--ease-out)}
.jar-explanations article[data-active]:after{transform:scaleX(1)}
.official-lockup{display:grid;gap:40px;align-items:center;padding-bottom:80px}
.official-lockup>img{width:220px;margin-inline:auto}
.official-lockup p:last-child{margin-top:24px;max-width:60ch;color:var(--muted)}
.process-story{display:grid;gap:40px;padding-bottom:72px}
.process-aside .documentary-photo{margin-top:32px}
.process-timeline{counter-reset:step}
.process-timeline>li{position:relative;padding:24px 0 32px 48px;border-top:1px solid var(--line)}
.process-timeline .step-number{position:absolute;left:0;top:26px}
.process-timeline h3{font-size:27px}
.process-timeline p{margin-top:16px;color:var(--muted);max-width:54ch}
.process-timeline>li:before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 440ms var(--ease-out)}
.process-timeline>li[data-seen]:before{transform:scaleX(1)}
.status-note{font-size:15px;line-height:1.6;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);max-width:70ch;color:var(--muted)}
.reading-column .formula{padding:24px;background:var(--mineral);color:var(--green);font-size:20px}
.ecosystem-directory{padding-bottom:72px}
.ecosystem-row{display:grid;grid-template-columns:1fr 48px;gap:20px;padding-block:32px;border-top:1px solid var(--line);align-items:center}
.ecosystem-row>.eyebrow{margin:0;grid-column:1/-1}
.ecosystem-row>div{grid-column:1/-1}
.ecosystem-row h2{font-size:clamp(1.8rem,2.5vw,2.75rem)}
.ecosystem-row h2 a{text-decoration:none}
.ecosystem-row p:not(.eyebrow){margin-top:14px;color:var(--muted);max-width:55ch}
.ecosystem-row img{width:180px;height:116px;object-fit:cover}
.round-link{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;transition:background-color var(--motion-short)}
.breadcrumb{padding-top:24px}
.breadcrumb+.page-hero{padding-top:32px}
.sector-opening{display:grid;gap:32px;align-items:center}
.sector-challenge h2{font-size:32px}
.sector-challenge>p:last-child{margin-top:24px;color:var(--muted);max-width:60ch}
.portrait-opening .documentary-photo{max-width:430px}
.adjacent-sectors{padding-block:32px;display:grid;gap:20px}
.partnership-story{display:grid;gap:32px;align-items:center}
.partnership-story>div>p{margin-top:24px;max-width:56ch;color:var(--muted)}
.media-readings{padding-bottom:64px}
.media-readings article{padding-block:28px;border-top:1px solid var(--line)}
.media-readings .text-link{font-size:clamp(1.4rem,2.6vw,2.7rem);text-decoration:none;justify-content:space-between;width:100%}
.media-library{display:grid;gap:40px;margin-top:48px}
.media-library article>img{height:230px;width:100%;object-fit:contain;background:#e8e9e3}
.media-library article>p{margin-top:16px;font-size:14px;overflow-wrap:anywhere}
.contact-layout{display:grid;gap:48px;padding-bottom:96px}
.contact-email{display:flex;align-items:center;gap:16px;font-size:clamp(1.1rem,2.1vw,1.75rem);overflow-wrap:anywhere;margin-top:32px;min-height:48px}
.contact-layout .editorial-list{margin-top:24px}
.contact-form-section{display:grid;gap:36px;padding-block:56px 112px;border-top:1px solid var(--line)}
.contact-form-intro>p:last-child{margin-top:24px;max-width:56ch;color:var(--muted)}
.contact-form{max-width:760px}
.contact-required{font-size:13px;color:var(--muted);margin-bottom:24px}
.contact-form-grid{display:grid;gap:24px}
.contact-field{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.contact-field label{font-size:15px;font-weight:500;color:var(--ink)}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-height:52px;padding:12px 14px;border:1px solid #84988a;border-radius:0;background:var(--paper);color:var(--ink);font:inherit;line-height:1.45}
.contact-field textarea{min-height:180px;resize:vertical}
.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-color:var(--green)}
.contact-field[data-state=valid] input,.contact-field[data-state=valid] select,.contact-field[data-state=valid] textarea{border-color:var(--green)}
.contact-field[data-state=invalid] input,.contact-field[data-state=invalid] select,.contact-field[data-state=invalid] textarea{border-color:#a12929}
.contact-field-error{display:block;font-size:13px;line-height:1.45;color:#a12929}
.contact-field-error:empty{display:none}
.contact-field-hint{font-size:13px;color:var(--muted)}
.contact-honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-form-footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:32px}
.contact-submit{border:0;font-family:inherit}
.contact-submit:disabled{opacity:.62;cursor:wait}
.contact-status{font-size:15px;max-width:42ch}
.contact-status[data-state=success]{color:var(--green);font-weight:600}
.contact-status[data-state=error]{color:#a12929}
@media(min-width:64rem){.contact-form-section{grid-template-columns:.8fr 1.2fr;gap:8%}.contact-form-grid{grid-template-columns:1fr 1fr;gap:0 24px}.contact-form-grid [data-field=requestType],.contact-form-grid [data-field=sector]{grid-column:span 1}}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:12px}
.footer-links .text-link{font-size:13px}
.footer-links .icon{display:none}
@media(hover:hover) and (pointer:fine){.global-navigation>a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px}.text-link:hover .icon{transform:translateX(4px)}.round-link:hover{background:var(--green);color:var(--on-green)}.ecosystem-row h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.ecosystem-row img{transition:filter 180ms ease}.ecosystem-row:has(a:hover) img{filter:saturate(1.08)}}
@media(max-width:30rem){.masthead{gap:8px}.global-menu>summary{min-width:65px}}
@media(min-width:48rem){.masthead{gap:24px}.masthead .brand-link{width:min(260px,30vw)}.page-hero{padding-block:72px 80px}.page-lead{font-size:22px;margin-top:36px}.editorial-chapter{grid-template-columns:1fr 1.25fr;gap:8%;padding-block:88px}.wide-photo{padding-bottom:88px}.editorial-pairs{grid-template-columns:1fr 1fr;gap:40px 8%}.closing-invitation{grid-template-columns:1fr 1fr;gap:8%;padding-block:88px}.official-lockup{grid-template-columns:1fr 1.5fr;gap:10%}.ecosystem-row{grid-template-columns:36px 1fr 150px 48px;gap:24px}.ecosystem-row>.eyebrow,.ecosystem-row>div{grid-column:auto}.ecosystem-row img{width:150px;height:110px}.ecosystem-row h2{font-size:26px}.media-library{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1.2fr 1fr;gap:8%}.adjacent-sectors{grid-template-columns:1fr 1fr;gap:8%}.adjacent-sectors>a:last-child{justify-self:end}.sector-opening{grid-template-columns:1.2fr 1fr;gap:7%}.portrait-opening{grid-template-columns:.85fr 1.15fr}.partnership-story{grid-template-columns:1.2fr 1fr;gap:8%}.logo-origin{grid-template-columns:1fr 1.6fr;gap:8%}.logo-origin>.eyebrow{margin:0}.process-story{grid-template-columns:1fr 1.15fr;gap:8%}.process-aside{align-self:start;position:sticky;top:32px}.jar-story-layout{grid-template-columns:.9fr 1.1fr;gap:8%;padding-block:64px}.jar-object{position:sticky;top:40px}.jar-stage{max-width:340px}.jar-explanations article{padding-block:44px}.jar-explanations h2{font-size:34px}.jar-guide{display:block;position:absolute;width:30%;height:24%;border:1px solid var(--gold);border-radius:50%;left:35%;top:36%;opacity:0;transition:transform 360ms var(--ease-out),opacity 240ms ease;pointer-events:none}.jar-stage[data-focus=africa] .jar-guide{opacity:.65}.jar-stage[data-focus=neck] .jar-guide{opacity:.65;transform:translateY(-125%) scaleX(1.4)}.jar-stage[data-focus=base] .jar-guide{opacity:.65;transform:translateY(140%) scaleX(1.5)}.jar-stage[data-focus=holes] .jar-guide{opacity:.65;transform:translateX(-110%) scale(.6)} }
@media(min-width:64rem){.masthead-cta{display:inline-flex;margin-left:auto}.masthead .locale-switch{margin-left:0}.page-lead{margin-left:24%;max-width:760px}.page-hero{padding-block:88px 104px}.editorial-chapter{padding-block:112px}.wide-photo .documentary-photo>div{max-height:650px;overflow:hidden}.wide-photo img{height:650px;object-fit:cover}.jar-stage{max-width:430px;padding:32px}.jar-story-layout{gap:12%;grid-template-columns:1fr 1fr}.jar-explanations article{padding-block:56px}.jar-current{font-size:24px}.ecosystem-row{grid-template-columns:60px 1fr 240px 56px;gap:32px;padding-block:40px}.ecosystem-row img{width:240px;height:154px}.ecosystem-row h2{font-size:36px}.sector-opening{grid-template-columns:1.4fr 1fr}.portrait-opening{grid-template-columns:1fr 1.2fr}.portrait-opening .documentary-photo{margin-left:10%}.sector-challenge h2{font-size:40px}.media-library{grid-template-columns:repeat(3,1fr)}.process-timeline>li{padding:32px 0 40px 64px}.process-timeline h3{font-size:32px}.process-timeline .step-number{top:36px}}
@media(min-width:80rem){.masthead{gap:0 24px}.masthead .brand-link{width:clamp(290px,21vw,320px);height:108px;display:flex;align-items:center;padding-block:8px}.global-menu{flex-basis:100%;width:100%;border-top:1px solid var(--line)}.global-menu>summary{display:none}.global-menu:not([open])>.global-navigation{display:flex}.global-navigation{position:static;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0;border:0;box-shadow:none;overflow:visible;max-height:none}.global-navigation>a{border:0;font-size:14px;min-height:58px;padding-block:16px}.global-navigation>a[aria-current=page]:after,.global-navigation>a.ancestor-active:after{position:absolute;bottom:6px;left:0;margin:0;width:24px;height:2px;border-radius:0}.global-navigation>.mobile-cta{display:none}.jar-object{top:48px}.process-story{padding-bottom:112px}.closing-invitation{padding-block:112px}.logo-origin{padding-bottom:112px}}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:page-out 120ms ease both}::view-transition-new(root){animation:page-in var(--motion-page) var(--ease-out) both}@keyframes page-out{to{opacity:0}}@keyframes page-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.jar-guide{display:none}.process-timeline>li:before{transform:scaleX(1)}.jar-explanations article:after{transition:none}.text-link:hover .icon{transform:none}}

.home-project-photo figcaption>span:first-child{font-size:12px;font-weight:400;line-height:1.55;color:var(--muted);letter-spacing:0;margin-top:6px;margin-bottom:0}
html[data-input=keyboard] *,html[data-input=keyboard] *:before,html[data-input=keyboard] *:after{transition:none!important;animation:none!important}

/* Client Founder narrative; the approved header, jar and motion remain unchanged. */
.founder-home .founder-summary{max-width:540px;margin-top:24px;color:var(--muted)}
.founder-summary p+p{margin-top:20px}
.founder-signature{margin-top:28px;font-size:14px;line-height:1.6}
.founder-signature strong,.founder-signature span{display:block}
.founder-signature strong{font-weight:600;color:var(--green)}
.founder-signature span{color:var(--muted)}
.founder-home>.text-link{margin-top:24px}
.founder-quote{margin:0;font-family:Newsreader,Georgia,serif;font-size:clamp(2rem,3vw,3.25rem);line-height:1.18;letter-spacing:-.025em;font-weight:400}
.founder-opening .eyebrow{margin-bottom:28px}
.founder-building h2 span,.founder-conclusion h2 span{display:block}
.founder-building h2 span+span,.founder-conclusion h2 span+span{margin-top:16px}
.founder-conclusion .founder-quote{margin-top:32px}
.founder-conclusion .text-link{margin-top:28px}

.media-year{display:block;margin-top:6px;color:var(--muted);font-size:13px}
.media-credit-link{font-size:13px;text-underline-offset:4px;display:inline-flex;min-height:44px;align-items:center}

#principe .reading-column h3{margin-top:32px}

/* Client annotations: center the complete jar story beside the Founder text. */
@media(min-width:64rem){.meaning-layout>.brand-story{align-self:center}}
.adjacent-sectors .previous-sector .icon{transform:rotate(180deg);flex-shrink:0}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.adjacent-sectors .previous-sector:hover .icon{transform:translateX(-4px) rotate(180deg)}}
