:root {
    --color-primary: #135f61;
    --color-deep: #082f31;
    --color-ink: #092e2c;
    --color-green: #428f42;
    --color-green-medium: #28795c;
    --color-green-light: #87ba9a;
    --color-green-pale: #bbdcc4;
    --color-green-support: #5e9b7b;
    --color-white: #fff;
    --color-bg-light: #f1fff1;
    --color-sand: #e7eee5;
    --container: min(91vw, 1660px);
    --header-height: 110px;
    --ease: cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-ink); background: #f7faf5; font-family: "Almarai", sans-serif; font-size: 16px; line-height: 1.8; overflow-x: clip; }
html[lang^="ar"] body { direction: rtl; text-align: right; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
.container { width: var(--container); margin-inline: auto; }
.section { position: relative; padding-block: clamp(6.5rem, 11vw, 13rem); }
.section--dark { color: white; background: var(--color-primary); }
.section--deep { color: white; background: var(--color-deep); }
.eyebrow { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.screen-reader-text { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 1rem; right: 1rem; width: auto; height: auto; padding: .8rem 1.2rem; clip: auto; background: white; color: #111; }

.section-label { display: flex; align-items: center; gap: 1rem; color: var(--color-green-medium); font-size: .68rem; font-weight: 700; letter-spacing: .12em; white-space: nowrap; }
.section-label__line { width: 3rem; height: 1px; background: currentColor; }
.section--dark .section-label, .section--deep .section-label { color: var(--color-green-pale); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 900; height: var(--header-height); color: #fff; transition: color .5s, background .5s, height .5s, box-shadow .5s; }
.site-header.is-scrolled { height: 82px; color: var(--color-ink); background: rgba(247,250,245,.92); box-shadow: 0 1px rgba(13,75,70,.1); backdrop-filter: blur(12px); }
.site-header__inner { width: var(--container); height: 100%; margin-inline: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; }
.site-brand { width: 146px; height: 78px; justify-self: start; display: flex; align-items: center; overflow: hidden; }
.site-brand > a { display: inline-flex; max-width: 100%; max-height: 100%; }
.site-brand img, .site-brand .custom-logo { max-height: 72px; width: auto; object-fit: contain; filter: brightness(0) invert(1); transition: filter .4s, max-height .4s; }
.site-header.is-scrolled .site-brand img, .site-header.is-scrolled .site-brand .custom-logo { filter: none; max-height: 58px; }
.custom-logo-link { display: inline-flex; }
.header-nav { display: flex; align-items: center; gap: clamp(1rem, 2.5vw, 3rem); font-size: .78rem; font-weight: 700; }
.header-nav a { position: relative; }
.header-nav a::after { content: ""; position: absolute; inset: auto 0 -.45rem; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.header-nav a:hover::after, .header-nav a:focus-visible::after { transform: scaleX(1); transform-origin: right; }
.site-header__actions { justify-self: end; display: flex; align-items: center; gap: 1.5rem; }
.language-switcher { display: flex; align-items: center; gap: .45rem; font-size: .7rem; font-weight: 800; direction: ltr; }
.language-switcher a + a::before { content: "/"; margin-inline-end: .45rem; opacity: .35; }
.language-switcher a[aria-current="page"] { opacity: 1; }
#trp-floater-ls, .trp-floating-switcher { display: none!important; }
.language-switcher a { opacity: .6; transition: opacity .3s; }
.language-switcher a:hover, .language-switcher a:focus-visible { opacity: 1; }
.language-switcher .trp-ls-shortcode-current-language, .language-switcher .trp-ls-shortcode-language { background: transparent!important; border: 0!important; width: auto!important; }
.menu-toggle { border: 0; background: none; display: flex; align-items: center; gap: .8rem; cursor: pointer; padding: .6rem 0; }
.menu-toggle__label { font-size: .72rem; font-weight: 700; }
.menu-toggle__icon { width: 44px; height: 44px; border: 1px solid currentColor; display: grid; place-content: center; gap: 5px; border-radius: 50%; transition: background .3s, color .3s; }
.menu-toggle:hover .menu-toggle__icon { background: currentColor; color: var(--color-primary); }
.site-header.is-scrolled .menu-toggle:hover .menu-toggle__icon { color: white; }
.menu-toggle__icon i { width: 14px; height: 1px; background: currentColor; display: block; }

.offcanvas { position: fixed; inset: 0; z-index: 1000; color: white; background: #082f31; visibility: hidden; clip-path: inset(0 0 100% 0); transition: clip-path .8s var(--ease), visibility 0s .8s; }
.offcanvas.is-open { visibility: visible; clip-path: inset(0); transition-delay: 0s; }
.offcanvas__grid, .inner-hero__grid, .contact-hero__grid, .legal-grid, .error-grid { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px); background-size: 8vw 8vw; }
.offcanvas__top { position: relative; z-index: 2; height: 100px; width: var(--container); margin: auto; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255,255,255,.16); }
.offcanvas__eyebrow { font-size: .68rem; letter-spacing: .22em; }
.offcanvas__close { background: none; border: 0; color: white; display: flex; align-items: center; gap: 1rem; cursor: pointer; }
.offcanvas__close span { font-size: .72rem; }
.offcanvas__close i { position: relative; width: 46px; height: 46px; flex: 0 0 46px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; display: grid; place-items: center; }
.offcanvas__close i::before, .offcanvas__close i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 15px; height: 1px; background: white; }
.offcanvas__close i::before { transform: translate(-50%,-50%) rotate(45deg); }.offcanvas__close i::after { transform: translate(-50%,-50%) rotate(-45deg); }
.offcanvas__layout { position: relative; z-index: 1; width: var(--container); height: calc(100vh - 100px); margin: auto; display: grid; grid-template-columns: 2fr 1fr; }
.offcanvas__navigation { display: flex; flex-direction: column; justify-content: center; padding-inline-end: 8vw; }
.offcanvas-menu, .offcanvas-menu ul, .footer-menu { list-style: none; padding: 0; margin: 0; }
.offcanvas-menu > li > a { display: flex; align-items: center; gap: 1.5rem; padding: .2rem 0; font-size: clamp(2.15rem, 4.6vw, 5rem); line-height: 1.25; font-weight: 400; transition: color .3s, transform .4s var(--ease); }
.offcanvas-menu > li > a:hover { color: var(--color-green-light); transform: translateX(-1rem); }
.menu-index { color: var(--color-green-light); font-size: .65rem; letter-spacing: .12em; }
.offcanvas__meta { display: flex; align-items: center; gap: 3rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.15); font-size: .78rem; }
.offcanvas__visual { position: relative; min-height: 0; overflow: hidden; margin: 2.2rem 0 2.2rem 2.2rem; }
.offcanvas__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, rgba(4,34,34,.85)); }
.offcanvas__visual img { width: 100%; height: 100%; object-fit: cover; }
.offcanvas__visual-copy { position: absolute; z-index: 1; inset: auto 2rem 2.2rem; display: flex; flex-direction: column; }
.offcanvas__visual-copy span { font-size: .8rem; }.offcanvas__visual-copy strong { font-size: clamp(1.4rem, 2vw, 2.5rem); }

.hero { position: relative; min-height: 100svh; color: white; display: flex; align-items: flex-end; overflow: hidden; }
.hero__media, .hero__overlay, .hero__grid { position: absolute; inset: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__overlay { background: linear-gradient(100deg, rgba(3,38,38,.92) 8%, rgba(12,74,69,.55) 55%, rgba(4,35,32,.24)), linear-gradient(0deg, rgba(3,31,31,.75), transparent 55%); }
.hero__grid { opacity: .23; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 9vw 9vw; mask-image: linear-gradient(90deg, transparent, black 50%); animation: gridDrift 16s linear infinite; }
.hero__content { position: relative; z-index: 2; padding-bottom: clamp(4rem, 8vh, 7rem); }
.hero__kicker { display: flex; align-items: center; gap: 1rem; font-size: .7rem; letter-spacing: .06em; margin-bottom: clamp(2.2rem, 5vh, 4.5rem); }
.kicker-line { width: 4rem; height: 1px; background: var(--color-green-light); }
.hero__title { max-width: 1230px; margin-bottom: clamp(2.5rem, 5vh, 4rem); font-size: clamp(3.2rem, 7.3vw, 8.3rem); line-height: 1.08; letter-spacing: -.05em; font-weight: 800; }
.hero__title span { display: block; }.hero__title-accent { color: var(--color-green-pale); font-weight: 300; }
.hero__lower { display: grid; grid-template-columns: minmax(260px, 470px) 1fr; align-items: end; gap: 4rem; }
.hero__lower p { margin: 0; max-width: 470px; font-size: clamp(.95rem, 1.3vw, 1.25rem); color: rgba(255,255,255,.78); }
.hero__pillars { justify-self: end; display: flex; align-items: center; gap: 1rem; font-size: clamp(.78rem, 1.1vw, 1rem); font-weight: 700; }
.hero__pillars i { display: block; width: 5px; height: 5px; background: var(--color-green-light); border-radius: 50%; }
.hero__scroll { position: absolute; z-index: 2; left: 2.2vw; bottom: 2.5rem; display: flex; flex-direction: column; align-items: center; gap: .8rem; font-size: .6rem; letter-spacing: .15em; }
.hero__scroll i { animation: scrollCue 1.5s ease-in-out infinite; }
.hero__coordinate { position: absolute; z-index: 2; top: 50%; right: 1.2vw; font-size: .55rem; letter-spacing: .16em; writing-mode: vertical-rl; opacity: .6; }

.manifesto { background: #f7faf5; }
.manifesto__grid { position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 7vw; }
.manifesto__statement h2 { margin: 2.5rem 0 0; max-width: 970px; font-size: clamp(2.7rem, 5.3vw, 6.2rem); line-height: 1.27; letter-spacing: -.045em; }
.manifesto__statement h2 em { color: var(--color-green-medium); font-style: normal; font-weight: 300; }
.manifesto__body { align-self: end; padding-bottom: 5vw; }
.manifesto__body p { font-size: clamp(1rem, 1.3vw, 1.25rem); color: #38524f; }
.text-link { display: inline-flex; align-items: center; gap: 2.5rem; padding-block: .7rem; border-bottom: 1px solid currentColor; font-size: .78rem; font-weight: 700; }
.text-link i { transition: transform .3s; }.text-link:hover i { transform: translateX(-.5rem); }
.manifesto__image { position: relative; grid-column: 1 / 2; width: 68%; height: min(75vw, 830px); margin: -1vw 12% 0 0; overflow: hidden; }
.manifesto__image img { width: 100%; height: 100%; object-fit: cover; }
.manifesto__image figcaption { position: absolute; inset: auto 0 0; display: flex; justify-content: space-between; padding: 1rem; color: white; background: rgba(7,52,50,.7); font-size: .64rem; }
.manifesto__line { position: absolute; inset: 40% auto 8% 5%; width: 1px; background: #cad8ca; }.manifesto__line span { display: block; width: 3px; height: 40%; background: var(--color-green); transform-origin: top; }

.value-chain { padding-bottom: 0; overflow: clip; }
.value-chain__intro { display: grid; grid-template-columns: .55fr 1.45fr; gap: 3rem; padding-bottom: 6rem; }
.value-chain__intro h2 { margin: 0; font-size: clamp(3rem, 6vw, 7rem); line-height: 1.12; }.value-chain__intro h2 span { color: var(--color-green-light); font-weight: 300; }
.value-chain__intro p { max-width: 600px; color: rgba(255,255,255,.65); }
.value-chain__story { width: var(--container); margin: auto; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(350px,.9fr); gap: 6vw; }
.value-chain__visual { position: sticky; top: 0; height: 100vh; display: grid; place-items: center; }
.bio-orbit { position: relative; width: min(42vw, 620px); aspect-ratio: 1; display: grid; place-items: center; }
.bio-orbit__core { z-index: 2; width: 135px; aspect-ratio: 1; border-radius: 50%; background: var(--color-green); display: grid; place-items: center; font-size: 2.4rem; box-shadow: 0 0 0 20px rgba(66,143,66,.1); }
.orbit { position: absolute; inset: 11%; border: 1px solid rgba(187,220,196,.22); border-radius: 50%; }.orbit--two { inset: 23%; }.orbit--three { inset: 35%; border-style: dashed; }
.bio-node { position: absolute; z-index: 3; width: 64px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; display: grid; place-items: center; background: #0c4546; color: var(--color-green-pale); transition: background .4s, transform .4s; }
.bio-node.is-active { background: var(--color-green-light); color: var(--color-deep); transform: scale(1.18); }
.bio-node--1 { top: 0; left: 50%; }.bio-node--2 { top: 23%; right: 0; }.bio-node--3 { bottom: 18%; right: 4%; }.bio-node--4 { bottom: 0; left: 42%; }.bio-node--5 { bottom: 22%; left: 0; }.bio-node--6 { top: 18%; left: 2%; }
.value-chain__status { position: absolute; inset: auto 0 8%; display: flex; gap: 1rem; align-items: center; }.value-chain__status > span { font-size: 2.5rem; color: var(--color-green-light); }.value-chain__status div { display: flex; flex-direction: column; }.value-chain__status small { font-size: .52rem; letter-spacing: .18em; opacity: .55; }
.value-chain__steps { padding-block: 15vh; }
.chain-step { min-height: 74vh; display: grid; align-content: center; grid-template-columns: 70px 1fr; gap: 1rem; opacity: .32; transition: opacity .5s; }
.chain-step.is-active { opacity: 1; }.chain-step__number { grid-row: span 3; color: var(--color-green-light); font-size: .7rem; }.chain-step > i { font-size: 2rem; color: var(--color-green-light); }.chain-step h3 { font-size: clamp(2rem, 4vw, 4.5rem); line-height: 1.2; margin: .8rem 0; }.chain-step p { max-width: 560px; color: rgba(255,255,255,.62); }

.vision { min-height: 100vh; display: grid; place-items: center; overflow: hidden; background: var(--color-bg-light); }
.vision__word { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); color: rgba(19,95,97,.055); font-size: 25vw; line-height: .8; font-weight: 800; letter-spacing: -.08em; }
.vision__inner { position: relative; text-align: center; display: grid; justify-items: center; gap: 2.5rem; }
.vision__icon { font-size: 3rem; color: var(--color-green); }.vision h2 { max-width: 1350px; font-size: clamp(2.5rem, 5vw, 6rem); line-height: 1.36; letter-spacing: -.035em; }.vision h2 em { color: var(--color-green-medium); font-style: normal; font-weight: 300; }

.principles { overflow: hidden; }
.principles__head { display: grid; grid-template-columns: .5fr 1.5fr; gap: 2rem; margin-bottom: 6rem; }.principles__head h2 { font-size: clamp(3rem, 6vw, 7rem); line-height: 1.13; }.principles__head h2 span { color: var(--color-green-light); font-weight: 300; }
.principles__track { display: flex; width: max-content; padding-inline: 4.5vw; }
.principle { width: min(75vw, 850px); min-height: 68vh; padding: 4rem 4.5vw; display: grid; grid-template-columns: 80px 1fr; align-content: space-between; border-right: 1px solid rgba(255,255,255,.17); position: relative; }
.principle__number { color: var(--color-green-light); font-size: .72rem; }.principle__icon { justify-self: end; width: 105px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; display: grid; place-items: center; font-size: 2rem; }.principle__copy { grid-column: 1/-1; }.principle h3 { font-size: clamp(3rem, 6vw, 7rem); margin-bottom: 2rem; }.principle p { max-width: 680px; color: rgba(255,255,255,.68); font-size: 1.05rem; }

.arms-preview { background: #f7faf5; }.arms-preview__layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8vw; }.arms-preview__intro { position: sticky; top: 140px; align-self: start; }.arms-preview__intro h2 { margin: 2.5rem 0; font-size: clamp(3.5rem, 6.2vw, 7rem); line-height: 1.1; }.arms-preview__intro h2 span { color: var(--color-green-medium); font-weight: 300; }.arms-preview__intro p { max-width: 500px; color: #526561; }
.circle-link { width: 142px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; display: inline-grid; place-content: center; gap: .5rem; text-align: center; margin-top: 2rem; font-size: .7rem; transition: background .4s, color .4s, transform .4s; }.circle-link:hover { background: white; color: var(--color-primary); transform: rotate(-6deg); }.circle-link--dark { border-color: var(--color-primary); }.circle-link--dark:hover { color: white; background: var(--color-primary); }
.arm-row { display: grid; grid-template-columns: 44px 48px 1fr 30px; align-items: center; gap: 1.5rem; padding: 2.3rem 0; border-bottom: 1px solid #c9d7cd; transition: padding .35s, color .35s; }.arm-row:hover { padding-inline: 1rem; color: var(--color-green-medium); }.arm-row > span { font-size: .65rem; color: var(--color-green-medium); }.arm-row > i { font-size: 1.2rem; }.arm-row h3 { margin: 0; font-size: clamp(1.15rem, 1.8vw, 1.7rem); }.arm-row__arrow { justify-self: end; }

.worlds { height: 100vh; padding: 0; overflow: hidden; background: #111; }.worlds__track { display: flex; height: 100%; width: 300vw; }.world-panel { position: relative; width: 100vw; height: 100%; flex: none; overflow: hidden; color: white; }.world-panel img { width: 100%; height: 100%; object-fit: cover; }.world-panel__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,35,33,.88), rgba(4,35,33,.15)); }.world-panel__number { position: absolute; top: 15%; right: 5vw; font-size: .75rem; letter-spacing: .12em; }.world-panel__copy { position: absolute; inset: auto 6vw 12%; max-width: 900px; }.world-panel__copy > i { font-size: 2.2rem; }.world-panel h2 { margin: 1.5rem 0; font-size: clamp(4rem, 9vw, 10rem); line-height: .95; }.world-panel p { max-width: 580px; color: rgba(255,255,255,.75); }

.impact-cta { color: white; background: #135f61; min-height: 80vh; display: grid; place-items: center; overflow: hidden; }.impact-cta::before { content: ""; position: absolute; width: 55vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; right: -18vw; top: -25%; box-shadow: 0 0 0 6vw rgba(255,255,255,.025), 0 0 0 12vw rgba(255,255,255,.018); }.impact-cta__inner h2 { font-size: clamp(3rem, 6.3vw, 7.5rem); line-height: 1.26; margin: 2rem 0; }.impact-cta__inner h2 em { color: var(--color-green-pale); font-style: normal; font-weight: 300; }.text-link--light { color: white; }

.site-footer { position: relative; color: white; background: #06292a; padding-top: clamp(6rem, 10vw, 11rem); overflow: hidden; }.site-footer__line { position: absolute; top: 0; right: 0; width: 100%; height: 2px; background: var(--color-green-light); transform-origin: right; }.site-footer__top { position: relative; z-index: 2; display: grid; grid-template-columns: 1.15fr .85fr; gap: 8vw; padding-bottom: 7rem; }.footer-intro h2 { font-size: clamp(3rem, 6vw, 7rem); line-height: 1.15; margin: 1.5rem 0 2rem; }.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-content: end; }.footer-label { display: block; margin-bottom: 1.8rem; color: var(--color-green-light); font-size: .65rem; letter-spacing: .14em; }.footer-menu a { display: flex; gap: .5rem; padding: .25rem 0; color: rgba(255,255,255,.72); font-size: .82rem; }.footer-menu .menu-index { display: none; }.footer-email { display: block; margin-bottom: 2rem; font-size: .78rem; color: rgba(255,255,255,.75); }.site-footer__bottom { position: relative; z-index: 2; display: flex; align-items: center; gap: 3rem; padding-block: 1.5rem; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.55); font-size: .65rem; }.site-footer__bottom p { margin: 0; }.legal-links { display: flex; gap: 1.5rem; }.to-top { margin-inline-start: auto; width: 42px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: none; cursor: pointer; }.footer-wordmark { position: relative; z-index: 1; margin: 0 auto -4vw; color: rgba(255,255,255,.035); font-size: 29vw; line-height: .73; font-weight: 800; letter-spacing: -.08em; direction: ltr; text-align: center; }

.inner-hero { position: relative; min-height: 92svh; display: flex; align-items: flex-end; color: white; overflow: hidden; }.inner-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.inner-hero__overlay { position: absolute; inset: 0; background: linear-gradient(95deg, rgba(4,36,36,.9), rgba(10,71,65,.35)), linear-gradient(0deg, rgba(4,36,36,.7), transparent 55%); }.inner-hero__content { position: relative; z-index: 2; padding-bottom: clamp(5rem, 10vh, 9rem); }.inner-hero__content h1 { margin: 1.5rem 0 2rem; font-size: clamp(4rem, 9vw, 10rem); line-height: 1.02; letter-spacing: -.055em; }.inner-hero__content h1 em { color: var(--color-green-pale); font-style: normal; font-weight: 300; }.inner-hero__content p { max-width: 620px; color: rgba(255,255,255,.78); font-size: 1.1rem; }

.about-editorial__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 7vw; }.about-editorial h2 { margin-top: 2rem; font-size: clamp(3.2rem, 6vw, 7rem); line-height: 1.15; }.about-editorial h2 span { color: var(--color-green-medium); font-weight: 300; }.about-editorial__copy { padding-top: 8rem; max-width: 660px; }.about-editorial__copy .lead { font-size: clamp(1.25rem, 2vw, 2rem); color: var(--color-primary); }.about-editorial__figure { grid-column: 2; width: 80%; height: 730px; margin: 2rem 0 0 auto; overflow: hidden; }.about-editorial__figure img { width: 100%; height: 90%; object-fit: cover; }.about-editorial__figure figcaption { padding-top: .8rem; font-size: .7rem; color: #58706c; }
.challenge__layout { display: grid; grid-template-columns: .5fr 1fr; gap: 8vw; }.challenge__numbers { position: relative; min-height: 650px; display: grid; align-content: center; justify-items: center; border: 1px solid rgba(255,255,255,.15); }.challenge__numbers span { font-size: clamp(7rem, 16vw, 18rem); line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.35); }.challenge__numbers i { width: 1px; height: 120px; background: var(--color-green-light); }.challenge__numbers small { margin-top: 2rem; letter-spacing: .2em; }.challenge__copy { align-self: center; }.challenge__copy h2 { font-size: clamp(3rem, 5vw, 6rem); line-height: 1.2; margin: 2rem 0; }.challenge__copy p { color: rgba(255,255,255,.65); }.challenge__axes { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.18); }.axis { display: flex; align-items: center; gap: 1.2rem; padding: 2rem; border-left: 1px solid rgba(255,255,255,.18); }.axis i { color: var(--color-green-light); }
.about-vision { background: var(--color-bg-light); }.about-vision h2 { max-width: 1400px; font-size: clamp(2.8rem, 5.2vw, 6.4rem); line-height: 1.35; }.about-vision em { color: var(--color-green-medium); font-style: normal; font-weight: 300; }.manifesto-quote { text-align: center; }.manifesto-quote__mark { color: var(--color-green-light); font-size: 9rem; line-height: .5; }.manifesto-quote blockquote { margin: 1rem auto; font-size: clamp(2.7rem, 5.4vw, 6.5rem); line-height: 1.35; }.manifesto-quote blockquote strong { color: var(--color-green-medium); font-weight: 300; }

.investment-story { display: grid; grid-template-columns: 1fr 1fr; padding: 0; }.investment-story__visual { position: sticky; top: 0; height: 100vh; overflow: hidden; }.investment-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); transition: opacity .7s, transform 1.2s var(--ease); }.investment-image.is-active { opacity: 1; transform: scale(1); }.investment-story__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,35,35,.6), transparent 60%); }.investment-story__hud { position: absolute; z-index: 2; inset: auto 3vw 3vw; display: flex; align-items: center; gap: 1rem; }.investment-story__hud i { width: 120px; height: 1px; background: rgba(255,255,255,.5); }.investment-story__steps { padding: 15vh 7vw; }.investment-step { min-height: 75vh; display: grid; align-content: center; opacity: .3; transition: opacity .5s; }.investment-step.is-active { opacity: 1; }.investment-step > span { color: var(--color-green-light); font-size: .7rem; }.investment-step > i { font-size: 2rem; color: var(--color-green-light); margin: 2rem 0; }.investment-step h2 { font-size: clamp(2.5rem, 4vw, 5rem); line-height: 1.2; }.investment-step p { max-width: 620px; color: rgba(255,255,255,.65); }
.systems__head { display: grid; grid-template-columns: .55fr 1.45fr; }.systems__head h2 { font-size: clamp(3.5rem, 6vw, 7rem); line-height: 1.15; }.systems__head h2 span { color: var(--color-green-medium); font-weight: 300; }.systems__bands { margin-top: 5rem; }.system-band { display: grid; grid-template-columns: .7fr 1.1fr .7fr; gap: 5vw; padding: 4rem 4.5vw; border-top: 1px solid #cad9ce; transition: background .4s, color .4s; }.system-band:last-child { border-bottom: 1px solid #cad9ce; }.system-band:hover { color: white; background: var(--color-primary); }.system-band > div { display: grid; grid-template-columns: auto 1fr; gap: .8rem 1.2rem; align-content: start; }.system-band > div span { color: var(--color-green-medium); font-size: .65rem; }.system-band > div i { font-size: 1.5rem; }.system-band h3 { grid-column: 1/-1; font-size: 2rem; }.system-band p { color: #526561; }.system-band:hover p { color: rgba(255,255,255,.7); }.system-band ul { list-style: none; padding: 0; margin: 0; font-size: .78rem; }.system-band li { padding: .6rem 0; border-bottom: 1px solid currentColor; }

.ecosystem { background: var(--color-bg-light); overflow: hidden; }.ecosystem__head { display: grid; grid-template-columns: .5fr 1.5fr; }.ecosystem__head h2 { font-size: clamp(3.2rem, 6vw, 7rem); line-height: 1.2; }.ecosystem__head h2 span { color: var(--color-green-medium); font-weight: 300; }.ecosystem__canvas { position: relative; width: min(100%,1100px); aspect-ratio: 10/7; margin: 4rem auto 0; }.ecosystem__lines { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(19,95,97,.25); stroke-width: 1; }.ecosystem__core { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 220px; aspect-ratio: 1; border-radius: 50%; color: white; background: var(--color-primary); display: grid; place-content: center; justify-items: center; box-shadow: 0 0 0 35px rgba(19,95,97,.07); }.ecosystem__core i { font-size: 2rem; }.ecosystem__core strong { font-size: 1.6rem; }.ecosystem__core span { font-size: .5rem; letter-spacing: .18em; }.eco-node { position: absolute; width: 225px; min-height: 170px; padding: 1.5rem; border: 1px solid rgba(19,95,97,.25); background: rgba(255,255,255,.75); backdrop-filter: blur(8px); transition: background .4s, color .4s, transform .4s; }.eco-node:hover, .eco-node:focus { color: white; background: var(--color-green-medium); transform: translateY(-8px); outline: none; }.eco-node > span { font-size: .6rem; }.eco-node > i { display: block; margin: 1.2rem 0; }.eco-node h3 { font-size: 1rem; line-height: 1.5; }.eco-node--1 { top: 0; right: 0; }.eco-node--2 { top: 0; left: 0; }.eco-node--3 { bottom: 0; right: 0; }.eco-node--4 { bottom: 0; left: 0; }.impact-standard { min-height: 95vh; display: grid; place-items: center; }.impact-standard h2 { font-size: clamp(3.5rem, 7vw, 8rem); line-height: 1.24; }.impact-standard em { color: var(--color-green-light); font-style: normal; font-weight: 300; }

.contact-hero { min-height: 100vh; display: grid; place-items: center; color: white; background: var(--color-primary); overflow: hidden; }.contact-hero__grid { opacity: .1; }.contact-hero__orbit { position: absolute; width: 65vw; aspect-ratio: 1; left: -25vw; top: -20%; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }.contact-hero__orbit i { position: absolute; inset: 12%; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }.contact-hero__orbit i:nth-child(2) { inset: 25%; }.contact-hero__orbit i:nth-child(3) { inset: 38%; }.contact-hero__layout { position: relative; display: grid; grid-template-columns: 1fr .8fr; gap: 8vw; align-items: center; padding-top: 6rem; }.contact-hero__copy h1 { font-size: clamp(4rem, 8vw, 9rem); line-height: 1.05; margin: 1rem 0 2rem; }.contact-hero__copy h1 em { color: var(--color-green-pale); font-style: normal; font-weight: 300; }.contact-hero__copy p { max-width: 550px; color: rgba(255,255,255,.7); }.contact-email { display: inline-flex; align-items: center; gap: 2rem; margin-top: 2rem; padding-bottom: .6rem; border-bottom: 1px solid rgba(255,255,255,.5); direction: ltr; font-size: clamp(.8rem,1.3vw,1.1rem); }.contact-form { padding: clamp(2rem,4vw,4rem); color: var(--color-ink); background: #f7faf5; box-shadow: 0 30px 80px rgba(2,28,28,.25); }.contact-form label { display: block; margin-bottom: 1.4rem; }.contact-form label span { display: block; margin-bottom: .25rem; font-size: .65rem; color: #58706c; }.contact-form input, .contact-form textarea { width: 100%; padding: .7rem 0; border: 0; border-bottom: 1px solid #b8c8bc; outline: none; color: var(--color-ink); background: transparent; resize: vertical; transition: border-color .3s; }.contact-form input:focus, .contact-form textarea:focus { border-color: var(--color-green); }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }.send-button { width: 100%; padding: 1.1rem 1.3rem; border: 1px solid var(--color-primary); display: flex; justify-content: space-between; background: var(--color-primary); color: white; cursor: pointer; transition: background .3s, color .3s; }.send-button:hover { background: transparent; color: var(--color-primary); }.form-status { min-height: 1.8rem; font-size: .75rem; }.honeypot { position: absolute!important; left: -9999px!important; }

.legal-page { position: relative; min-height: 100vh; padding: 15rem 0 10rem; background: var(--color-bg-light); overflow: hidden; }.legal-grid { opacity: .05; background-image: linear-gradient(var(--color-primary) 1px, transparent 1px),linear-gradient(90deg,var(--color-primary) 1px,transparent 1px); }.legal-copy { position: relative; max-width: 920px; }.legal-copy h1 { font-size: clamp(3.5rem,8vw,8rem); line-height: 1.1; margin: 1.5rem 0 4rem; }.legal-notice { padding: 1.5rem; border-right: 3px solid var(--color-green); color: var(--color-primary); background: white; }.legal-placeholder { margin-top: 4rem; color: #58706c; }
.error-page { position: relative; min-height: 100vh; display: grid; place-items: center; background: var(--color-bg-light); overflow: hidden; }.error-grid { opacity: .05; background-image: linear-gradient(var(--color-primary) 1px,transparent 1px),linear-gradient(90deg,var(--color-primary) 1px,transparent 1px); }.error-page__content { position: relative; text-align: center; }.error-page__content > span { font-size: .62rem; letter-spacing: .18em; }.error-code { color: transparent; -webkit-text-stroke: 2px var(--color-primary); font-size: clamp(9rem,26vw,27rem); font-weight: 800; line-height: .8; letter-spacing: -.08em; }.error-page h1 { margin: 2rem 0 .5rem; font-size: clamp(2rem,4vw,4rem); }.error-page p { color: #58706c; }.error-field { position: absolute; inset: auto 0 0; height: 35%; transform: perspective(500px) rotateX(62deg); transform-origin: bottom; }.error-field i { display: block; height: 1px; margin-top: 4rem; background: rgba(19,95,97,.2); }

[dir="ltr"] body { direction: ltr; text-align: left; }
[dir="ltr"] .hero__scroll { left: auto; right: 2.2vw; }
[dir="ltr"] .hero__coordinate { right: auto; left: 1.2vw; }
[dir="ltr"] .site-brand { justify-self: start; }
[dir="ltr"] .site-header__actions { justify-self: end; }
[dir="ltr"] .text-link i, [dir="ltr"] .circle-link i, [dir="ltr"] .arm-row__arrow, [dir="ltr"] .contact-email i { transform: rotate(180deg); }

@keyframes gridDrift { to { background-position: 9vw 9vw; } }
@keyframes scrollCue { 50% { transform: translateY(7px); } }
