:root{--ivory:#f4efe6;--ivory-deep:#ebe3d4;--paper:#faf7f1;--ink:#2a2c22;--ink-soft:#5c5e52;--olive:#3d402c;--moss:#55593d;--forest:#2f4a3a;--amber:#b8732a;--line:#3d402c24;--hero-veil:linear-gradient(180deg, #181a1247 0%, #181a126b 45%, #181a12b8 100%);--serif:"Fraunces", "Times New Roman", serif;--quote:"Source Serif 4", Georgia, serif;--sans:"Source Sans 3", "Helvetica Neue", sans-serif;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4.5rem;--space-6:7.5rem;--space-7:10rem;--wrap:1180px;--wrap-wide:1360px;--measure:40rem;--header:4.75rem;--radius:2px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html,html:focus-within{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-width:320px;font-family:var(--sans);letter-spacing:.01em;color:var(--ink);background:var(--ivory);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;font-weight:400;line-height:1.65}#root{min-height:100svh}img,svg,video,iframe{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.03em;color:var(--olive);font-weight:500;line-height:1.08}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:var(--forest)}:focus-visible{outline:2px solid var(--forest);outline-offset:3px}button,input,textarea{font:inherit}button{cursor:pointer}.skip-link{z-index:80;background:var(--olive);color:var(--ivory);padding:.7rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.wrap{width:min(var(--wrap), calc(100% - 3rem));margin-inline:auto}.wrap--wide{width:min(var(--wrap-wide), calc(100% - 3rem))}.site-header{z-index:40;height:var(--header);color:var(--ivory);transition:background .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease);align-items:center;display:flex;position:fixed;inset:0 0 auto}.site-header.is-solid,.site-header.is-open{color:var(--olive);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line);background:#f4efe6f0}.site-header__bar{width:min(var(--wrap-wide), calc(100% - 2.5rem));grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;margin-inline:auto;display:grid}.brand{align-items:center;display:inline-flex}.brand img{width:auto;height:46px}.site-header.is-solid .brand--light,.site-header.is-open .brand--light,.site-header:not(.is-solid):not(.is-open) .brand--dark{display:none}.nav{justify-content:center;gap:2rem;display:flex}.nav a{letter-spacing:.14em;text-transform:uppercase;opacity:.86;font-size:.78rem;font-weight:600;text-decoration:none}.nav a[aria-current=page],.nav a:hover{opacity:1}.header-tools{align-items:center;gap:.75rem;display:flex}.lang{border:1px solid;border-radius:999px;display:inline-flex;overflow:hidden}.lang button{color:inherit;letter-spacing:.08em;background:0 0;border:0;padding:.28rem .62rem;font-size:.72rem;font-weight:600}.lang button.is-active{background:currentColor}.site-header:not(.is-solid):not(.is-open) .lang button.is-active{color:var(--olive)}.site-header.is-solid .lang button.is-active,.site-header.is-open .lang button.is-active{color:var(--ivory)}.menu-toggle{color:inherit;background:0 0;border:0;width:2.5rem;height:2.5rem;padding:0;display:none}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{background:currentColor;width:1.2rem;height:1.5px;display:block;position:relative}.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0}.menu-toggle span:before{top:-6px}.menu-toggle span:after{top:6px}.site-footer{background:var(--olive);color:#e8e2d4;padding:5rem 0 2.25rem}.site-footer a{text-decoration:none}.site-footer a:hover{color:#fff}.footer-grid{border-bottom:1px solid #f4efe61f;grid-template-columns:1fr auto 1fr;align-items:start;gap:3rem;padding-bottom:3.5rem;display:grid}.footer-label{letter-spacing:.16em;text-transform:uppercase;opacity:.62;margin-bottom:1rem;font-size:.72rem}.footer-address,.footer-nav{font-size:1rem;line-height:1.7}.footer-brand{justify-self:center;width:min(220px,70vw)}.footer-nav{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.footer-base{opacity:.72;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;font-size:.82rem;display:flex}.back-top{color:inherit;text-underline-offset:.2em;background:0 0;border:0;text-decoration:underline}.cookie{z-index:50;background:var(--paper);max-width:42rem;color:var(--ink);gap:.9rem;margin-inline:auto;padding:1.15rem 1.25rem;display:grid;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 18px 50px #2a2c2229}.cookie p{color:var(--ink-soft);font-size:.92rem}.cookie-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.page-hero{min-height:72svh;color:var(--ivory);align-items:end;display:grid;position:relative;overflow:hidden}.page-hero--home{min-height:100svh}.page-hero img.bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.page-hero .veil{background:var(--hero-veil);position:absolute;inset:0}.page-hero .wrap{padding:calc(var(--header) + 5rem) 0 5.5rem;position:relative}.eyebrow{letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.25rem;font-size:.74rem;font-weight:600}.page-hero h1{color:var(--ivory);text-wrap:balance;max-width:14ch;font-size:clamp(2.8rem,7vw,6.4rem)}.lede{color:#f4efe6db;max-width:34rem;margin-top:1.4rem;font-size:1.15rem}.section{padding:var(--space-6) 0}.section--tight{padding:var(--space-5) 0}.section--olive{background:var(--olive);color:#ece6d8}.section--olive h2,.section--olive h3{color:var(--ivory)}.section--paper{background:var(--paper)}.section--sand{background:var(--ivory-deep)}.kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--moss);margin-bottom:1rem;font-size:.74rem;font-weight:600}.section-title{max-width:18ch;margin-bottom:1.75rem;font-size:clamp(2rem,4.4vw,3.6rem)}h4{font-family:var(--serif);letter-spacing:-.03em;margin:2rem 0 .8rem;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:500}.prose{max-width:var(--measure);color:var(--ink-soft)}.prose p+p{margin-top:1rem}.split{grid-template-columns:1.05fr .95fr;align-items:center;gap:5rem;display:grid}.split--start{align-items:start}.media-frame{overflow:hidden}.media-frame img{object-fit:cover;aspect-ratio:4/5;width:100%;height:100%}.quotes{gap:5rem;display:grid}.quote{grid-template-columns:auto 1fr;gap:1.75rem;max-width:52rem;display:grid}.quote:nth-child(2n){margin-left:auto}.quote img{object-fit:cover;border-radius:50%;width:92px;height:92px}.quote blockquote{font-family:var(--quote);color:var(--olive);margin:0;font-size:clamp(1.15rem,2vw,1.45rem);font-style:italic;line-height:1.5}.quote figcaption{font-style:normal;font-family:var(--sans);letter-spacing:.04em;color:var(--ink-soft);margin-top:1rem;font-size:.88rem}.quote figcaption strong{color:var(--ink);font-weight:600;display:block}.impact-list{gap:1.25rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.impact-list li{border-top:1px solid var(--line);max-width:40rem;color:var(--ink-soft);padding-top:1.25rem}.process{grid-template-columns:repeat(5,1fr);gap:1.25rem;margin-top:2.5rem;display:grid}.process article{border-top:1px solid var(--line);padding-top:1.25rem}.process span{font-family:var(--serif);color:var(--amber);margin-bottom:.7rem;font-size:1.35rem;display:block}.process h3{font-family:var(--sans);letter-spacing:0;font-size:1.02rem;font-weight:600;line-height:1.35}.program{padding:var(--space-6) 0;border-top:1px solid var(--line)}.program-index{font-family:var(--serif);color:#3d402c1f;margin-bottom:1rem;font-size:clamp(3rem,7vw,6rem);line-height:.85}.themes{flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 2rem;padding:0;list-style:none;display:flex}.themes li{letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);margin-right:1rem;padding:.35rem 0;font-size:.82rem}.stats{grid-template-columns:repeat(3,1fr);gap:2rem;margin:2.5rem 0;display:grid}.stat dt{font-family:var(--serif);color:var(--olive);letter-spacing:-.03em;font-size:clamp(1.8rem,3.4vw,2.8rem)}.stat dd{color:var(--ink-soft);margin:.35rem 0 0}.stats--4{grid-template-columns:repeat(4,1fr)}.video{aspect-ratio:16/9;background:#111;margin-top:2rem;position:relative}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.logos{flex-wrap:wrap;align-items:center;gap:2.5rem 3rem;display:flex}.logos img{object-fit:contain;filter:grayscale()contrast(.85);opacity:.78;width:auto;max-width:160px;height:42px;transition:filter .3s var(--ease), opacity .3s var(--ease)}.logos img:hover,.logos a:focus-visible img{filter:none;opacity:1}.btn{min-height:3rem;color:inherit;letter-spacing:.12em;text-transform:uppercase;transition:background .25s var(--ease), color .25s var(--ease);background:0 0;border:1px solid;justify-content:center;align-items:center;padding:.8rem 1.35rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--olive);color:var(--ivory);border-color:var(--olive)}.btn--light:hover{background:var(--ivory);color:var(--olive);border-color:var(--ivory)}.btn--solid{background:var(--olive);color:var(--ivory);border-color:var(--olive)}.btn--solid:hover{color:var(--olive);background:0 0}.actions{flex-wrap:wrap;gap:.8rem;margin-top:1.75rem;display:flex}.advisory{gap:.9rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.advisory li{color:var(--ink-soft);padding-left:1.2rem;position:relative}.advisory li:before{content:"";background:var(--amber);width:.45rem;height:1px;position:absolute;top:.75rem;left:0}.diagram{width:min(520px,100%);margin-inline:auto}.gallery{grid-template-columns:repeat(12,1fr);gap:.75rem;display:grid}.gallery figure{grid-column:span 4;margin:0;overflow:hidden}.gallery figure:first-child,.gallery figure:nth-child(8){grid-column:span 8}.gallery img{object-fit:cover;aspect-ratio:4/3;width:100%;height:100%;transition:transform .7s var(--ease)}.gallery figure:hover img{transform:scale(1.03)}.ethics-block+.ethics-block{border-top:1px solid var(--line);margin-top:4rem;padding-top:4rem}.ethics-block h2{margin-bottom:1.2rem;font-size:clamp(1.8rem,3vw,2.5rem)}.principles{gap:1rem;margin:1.75rem 0;padding:0;list-style:none;display:grid}.principles li{color:var(--ink-soft);padding-left:1.5rem;position:relative}.principles li:before{content:"";border:1px solid var(--moss);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:.7rem;left:0}.cert-row{grid-template-columns:140px 1fr;align-items:center;gap:2rem;margin-top:2.5rem;display:grid}.cert-row img{object-fit:contain;width:140px}.form{gap:1.15rem;max-width:40rem;display:grid}.field{gap:.4rem;display:grid}.field span,.pair label{letter-spacing:.06em;text-transform:uppercase;color:var(--moss);font-size:.8rem}.pair{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form input,.form textarea{border:0;border-bottom:1px solid var(--olive);width:100%;color:var(--ink);background:0 0;border-radius:0;padding:.7rem 0}.form textarea{resize:vertical;min-height:8rem}.form-status{font-size:.95rem}.form-status.is-error{color:#8a2b1e}.reveal{opacity:0;animation:rise .9s var(--ease) forwards;transform:translateY(18px)}@keyframes rise{to{opacity:1;transform:none}}@media (width<=960px){.split,.process,.stats,.stats--4,.footer-grid,.cert-row{grid-template-columns:1fr}.process{gap:1.5rem}.footer-brand,.footer-nav{justify-self:start;align-items:flex-start}.quote:nth-child(2n){margin-left:0}.gallery figure,.gallery figure:first-child,.gallery figure:nth-child(8){grid-column:span 6}}@media (width<=760px){.nav{inset:var(--header) 0 0;background:var(--ivory);color:var(--olive);flex-direction:column;justify-content:flex-start;gap:1.4rem;padding:2rem 1.5rem;display:none;position:fixed}.site-header.is-open .nav{display:flex}.menu-toggle{justify-content:center;align-items:center;display:inline-flex}.page-hero .wrap{padding:calc(var(--header) + 3.5rem) 0 3.5rem}.section{padding:4.5rem 0}.pair,.gallery figure,.gallery figure:first-child,.gallery figure:nth-child(8){grid-column:span 12;grid-template-columns:1fr}.quote{grid-template-columns:1fr}.wrap,.wrap--wide{width:min(var(--wrap), calc(100% - 2rem))}}
