/* Content-led refinement: ivory, antique gold and clear reading surfaces. */
.ecosystem-entry{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#eeede4;border-block:1px solid #dbd9c8;padding-block:32px}.ecosystem-entry>div{max-width:720px}.ecosystem-entry h2{font-size:30px}.ecosystem-entry p{font-size:16px;line-height:1.8}.ecosystem-entry .eyebrow{font-size:13px}.ecosystem-entry .button{flex-shrink:0;white-space:normal;text-align:center}@media(max-width:720px){.ecosystem-entry{display:block}.ecosystem-entry h2{font-size:27px}.ecosystem-entry .button{margin-top:12px}}
.collaboration-strip{display:grid;grid-template-columns:1.2fr 1fr;gap:16px 42px;background:#fff;padding-block:28px;border-block:1px solid #e6dfd2}.collaboration-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px}.collaboration-heading h2{font:24px Georgia,serif;margin:0;color:#756344}.collaboration-heading a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.logo-group>p{font-size:12px;letter-spacing:.04em;color:#786e5d;margin:0 0 12px}.partner-logos{display:flex;align-items:center;justify-content:space-around;gap:18px;min-height:78px}.partner-logos a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:78px;flex:1}.partner-logos img{display:block;width:100%;max-width:104px;height:68px;object-fit:contain}.collaboration-caption{grid-column:1/-1;font-size:12px;color:#756e61;margin:0}.collaboration-strip a:focus-visible{outline:3px solid #14758b;outline-offset:4px}
@media(max-width:640px){.collaboration-strip{grid-template-columns:1fr;gap:20px;padding:26px 6%}.collaboration-heading{align-items:start}.collaboration-heading h2{font-size:22px}.collaboration-heading a{font-size:13px}.partner-logos{gap:12px}.partner-logos img{height:58px;max-width:92px}.partner-logos a{min-height:64px}}
.evidence-note{background:#fffffff0;padding:12px}.evidence-note strong{overflow-wrap:normal}
.collaboration-story{margin:18px 0;border-block:1px solid #dcd5c7;padding:12px 0}.collaboration-story summary{cursor:pointer;font-size:16px;color:#655632}.collaboration-story p{font-size:16px;line-height:1.8;margin:12px 0}.collaboration-story .context-note{font-size:14px;color:#746953}.evidence-note a{text-decoration:underline;text-underline-offset:3px}.evidence-card details summary{font-size:14px!important}.evidence-card h3{line-height:1.6}.evidence-card .status{line-height:1.5}
.header-tools{display:grid;justify-items:end;gap:4px}.language-nav{font-size:14px;display:flex;gap:8px}.language-nav a[aria-current]{text-decoration:underline;text-underline-offset:4px}.header-tools .header-cta{font-size:13px;min-height:34px;padding:0 16px}
main{position:relative}main::before{content:none!important}
.hero-content{z-index:auto}.hero-content>*{position:relative;z-index:2}.hero-content>img.hero-wordmark{mix-blend-mode:multiply;background:transparent;isolation:auto}
.team-caption{padding:16px 18px;background:#fff}.team-caption h3{font:22px Georgia,serif;margin:0 0 8px}.team-caption p{margin:0;font-size:15px;color:#655f52}.team-photo{margin:0;border:1px solid #e0d7c6}.team-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.contact-location{font-size:16px;margin:12px 0}.contact-location small{display:block;color:#756e61;font-size:13px}
.hero{min-height:430px}.hero h1{white-space:normal}.hero-lead,.story-copy .lead,.science-copy>p:not(.eyebrow),.sustain-intro>p:last-child,.tech-copy>p:not(.eyebrow),.partners-copy>p,.section-heading>p:last-child{font-size:16px;line-height:1.6}.hero-content{max-width:620px}.hero-wordmark{max-width:85%}
.brand-collection{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:26px;align-items:center;background:#faf8f3;padding-block:30px}.brand-collection p{font-size:16px;margin-top:12px}.brand-collection .concept-disclaimer{font-size:13px;color:#756c5b}.collection-card{display:block;border:1px solid #e0d7c6;background:#fff;transition:transform .2s}.collection-card:hover{transform:translateY(-3px)}.collection-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;display:block}.collection-card>span{display:flex;justify-content:space-between;padding:12px;font-family:Georgia,serif;font-size:18px}.collection-card small{font:14px 'IBM Plex Sans Thai',sans-serif;color:#716140}
.sustainability{background:linear-gradient(90deg,#fff 32%,#fffffff0 56%,#ffffff99 85%),url('assets/optimized/mangrove-1800.webp') right center/cover}.commitments article{background:#ffffffb8;border-radius:6px;padding:10px 6px}.technology{background:linear-gradient(90deg,#fff 28%,#ffffffec 43%,#ffffff00 73%),url('assets/optimized/technology-1800.webp') right center/cover;min-height:275px}.tech-visual{background:none;align-items:end;justify-content:start;min-height:220px;position:relative}.tech-visual::after{content:'Concept visual';position:absolute;right:0;bottom:0;background:#ffffffe6;font-size:12px;padding:3px 8px}.tech-screen{width:54%;min-width:220px;padding:14px;transform:none;background:#ffffffe8;box-shadow:none;margin-bottom:15px}.tech-screen>strong{font-size:17px;margin:12px 0}.tech-screen>div{display:none}.sustainability::after{content:'Concept visual';font-size:12px;color:#565b4c;grid-column:1/-1;justify-self:end}.contact-channels{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.contact-channels a{display:block;padding:9px 13px;border:1px solid #b4a27e;border-radius:4px;background:#fff;font-size:16px;overflow-wrap:anywhere}.contact-copy>p:last-child{font-size:14px}.form-action{flex-wrap:wrap}.form-status{flex-basis:100%}.contact{position:relative;background:repeating-radial-gradient(ellipse at 110% 110%,transparent 0 14px,#b7a57d12 15px 16px,transparent 17px 26px),#faf9f5}.site-nav a{font-size:14px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #14758b;outline-offset:4px}
@media(min-width:981px){.site-header{grid-template-columns:125px 1fr 145px;padding-inline:3%;gap:12px}.site-nav{gap:clamp(9px,1.1vw,18px)}.brand img{width:120px}.story-copy,.science-copy{width:46%}.evidence-card .status{font-size:13px}.evidence-card h3{font-size:16px}.partners{min-height:230px}}
@media(max-width:1150px) and (min-width:981px){.site-header{grid-template-columns:100px 1fr 50px}.header-tools .header-cta{display:none}.site-nav a{font-size:12px}.brand img{width:95px}}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto auto}.header-tools{grid-column:2;grid-row:1}.menu-toggle{grid-column:3;grid-row:1}.header-tools .header-cta{display:none}.brand-collection{grid-template-columns:1fr 1fr}.brand-collection>div{grid-column:1/-1}.site-nav a{font-size:16px}.tech-screen{width:70%;min-width:0}}
@media(max-width:640px){main::before{width:22px;background-size:95px auto;opacity:.15}.hero{min-height:590px}.brand-collection{gap:16px;padding:26px 6%;grid-template-columns:1fr}.brand-collection>div{grid-column:1}.collection-card>span{font-size:20px}.technology{background:#f7f9f8}.tech-visual{background:url('assets/optimized/technology-1086.webp') right center/cover;min-height:240px;margin-inline:-6.8%;padding:15px}.tech-screen{width:50%;margin:0;align-self:end}.sustainability{background:linear-gradient(#fffffff5,#ffffffd9),url('assets/optimized/mangrove-1086.webp') right center/cover}.contact-channels{display:grid}.contact-channels a{font-size:15px}.hero-actions{flex-wrap:wrap}.science-topics{grid-template-columns:1fr}.story-copy,.science-copy{width:100%}.brand-collection h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.farm-context{display:grid;grid-template-columns:32% 1fr;gap:5%;background:#f8f7f3;padding-block:38px}.context-intro>p:last-child{font-size:16px;color:#6a6357}.context-topics details{border-bottom:1px solid #dcd5c7;scroll-margin-top:110px}.context-topics summary{cursor:pointer;font-size:17px;padding:16px 0;color:#655632;line-height:1.5}.context-topics details>div{padding:0 0 20px}.context-topics h3{font-size:20px;margin:0 0 10px}.context-topics p{font-size:16px;line-height:1.7;margin:10px 0}.context-topics .context-note{font-size:14px;color:#746953;padding-left:12px;border-left:2px solid #b7a57d}.context-topics a{display:inline-block;text-decoration:underline;text-underline-offset:5px;padding-block:5px}.team-photo{align-self:stretch;display:flex;flex-direction:column;background:#fff}.team-caption{flex:1}.brand-collection{grid-template-columns:.9fr 1fr 1fr}
@media(max-width:980px){.brand-collection{grid-template-columns:1fr 1fr}.farm-context{grid-template-columns:1fr;gap:12px}}@media(max-width:640px){.brand-collection{grid-template-columns:1fr}.context-topics summary{font-size:16px}.farm-context{padding:26px 6%}}
/* Production pass 2026-09-20. Measured fixes only; ratios are WCAG contrast against the surface named. */
/* <picture> wrappers must not become layout boxes, so existing img rules keep applying unchanged. */
picture{display:contents}
/* Antique gold as text was 4.49:1 on white and 3.82:1 on #eeede4; this shade is at least 4.7:1 on every page surface.
   Secondary copy (--muted) runs onto the fading edge of photographs in several sections, so it moves one step darker. */
:root{--gold:#7a663c;--muted:#5f5a50}
/* White button labels sat on a gradient starting at #d8c69c (1.7:1). The light sheen now stays in the corner; the label area is 4.8:1 or better. */
.header-cta,.button-primary,.button-gold{background:linear-gradient(135deg,#bda773 0%,#86703f 12%,#7a663c 65%,#604f2e)}
/* Accent colours stay on the card bars and cycle discs; text drawn in them uses a darker twin (5.1:1 or better on white). */
.accent-water{--accent-text:#1d6f93}.accent-leaf{--accent-text:#3f7a2f}.accent-gold{--accent-text:#8a6a00}.accent-coral{--accent-text:#b3471a}
.evidence-card .card-no,.evidence-card small{color:var(--accent-text)}
.cycle-item{color:#16140e}
.commitments span{color:#4c7642}.tech-screen>strong i{color:#506779}.cycle-center{background:#ffffffeb;border-radius:50%}
.field input::placeholder,.field textarea::placeholder{color:#6f6a60}
.hero-note p{text-shadow:0 1px 2px #12282ce6,0 0 16px #12282cb3}
/* Pointer targets of at least 24 by 24 CSS px. */
.language-nav{align-items:center}.language-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px}
.evidence-card details summary{padding-block:4px}.evidence-note a{display:inline-block;padding-block:4px}.collaboration-heading a{display:inline-block;padding-block:6px}
/* Form fields suppressed the outline and relied on a 15% alpha glow; give them the same ring as links and buttons. */
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid #14758b;outline-offset:2px}
.required-mark{color:#a1461c}.form-hint{flex-basis:100%;margin:0;font-size:13px;color:#6d634e}
/* Found by comparing each text run with the rendered pixels behind it, which axe-core cannot do for text over images. */
/* The Technology list kept the 80% white of the former dark theme on what is now a white surface: 1.0:1, invisible when opened. */
.tech-copy li{color:#5f5a50}
/* Hard-coded greys that run onto the fading edge of a photograph. */
.science-topics p{color:#55605c}.hero .eyebrow{color:#5a5043}.hero-lead{color:#4f493f}
/* Concept-visual disclosures and captions must stay readable over photographs (were 60% white panels, 2.8-3.3:1). */
.visual-note,.image-label,.image-frame[data-label]::before,.commitments article{background:#ffffffe6}
.sustainability::after{background:#ffffffe6;padding:3px 8px}
.hero-note::before{content:"";position:absolute;inset:-24px -20px;z-index:-1;background:radial-gradient(closest-side,#12282ca6,#12282c00);pointer-events:none}
/* Tablet: copy columns are 53-55% wide, so the white veil has to reach past them before the photograph shows. */
@media(min-width:641px) and (max-width:980px){.hero-backdrop{background:linear-gradient(90deg,#fff 0%,#fffffff2 48%,#ffffff22 88%),url('assets/optimized/farm-aerial-960.webp') center/cover}.story-image::after{background:linear-gradient(90deg,#fff 0%,#fffffff2 46%,#ffffff00 74%)}.dark-frame::after{background:linear-gradient(90deg,#f4f8f7 0%,#f4f8f7f2 40%,transparent 70%)}}
/* Phone: veils are anchored to the space reserved for the photograph instead of percentages, so opening a details panel never pushes text onto the image. The hero keeps its photograph; only its lead paragraph darkens. */
@media(max-width:640px){.hero-lead{color:#3d372e}.story-image::after{background:linear-gradient(180deg,#fff 0,#fff calc(100% - 200px),#ffffffc9 calc(100% - 140px),#ffffff00 calc(100% - 25px))}.dark-frame::after{background:linear-gradient(180deg,#f4f8f7 0,#f4f8f7 calc(100% - 230px),#f4f8f799 calc(100% - 150px),transparent calc(100% - 30px))}}
/* Between 641 and 1150px the cycle ring shrinks to 120px and its side discs covered both ends of the word in the centre. */
@media(min-width:641px) and (max-width:1150px){.cycle-center{font-size:12px}}
/* Footer links were 20px tall; desktop nav items such as "FAQ" were 22px wide. */
footer nav a{display:inline-block;padding-block:4px}
@media(min-width:981px){.site-nav a{min-width:24px;text-align:center}}
