:root{--ink:#122521;--ink2:#1b342b;--paper:#f5f4ee;--white:#fffefa;--muted:#62736a;--line:#d9ddd3;--lime:#e2fc87;--mint:#c7ebd2;--copper:#da7a46;--max:1160px;--serif:Georgia, 'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,'Helvetica Neue',Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--copper);outline-offset:4px}::selection{background:var(--lime);color:var(--ink)}.wrap{width:min(calc(100% - 72px),var(--max));margin-inline:auto}.eyebrow{font-size:.73rem;font-weight:780;text-transform:uppercase;letter-spacing:.16em;line-height:1.5}.eyebrow .dash{display:inline-block;width:20px;height:1px;background:currentColor;vertical-align:middle;margin:0 10px 3px 0}.site-header{height:78px;background:rgba(245,244,238,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(19,37,33,.12);backdrop-filter:blur(15px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:-.04em;font-size:1.15rem;white-space:nowrap}.brand-mark{width:32px;height:32px;flex:none}.main-nav{display:flex;align-items:center;gap:26px}.main-nav a{font-size:.88rem;font-weight:650;text-decoration:none;padding:12px 0;white-space:nowrap;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:#447249}.main-nav .nav-cta{background:var(--ink);color:var(--lime);padding:11px 16px;border-radius:2px}.main-nav .nav-cta:hover,.main-nav .nav-cta.active{background:#315541;color:var(--lime)}.menu-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer;color:var(--ink)}.menu-toggle svg{width:27px;height:27px}.hero{position:relative;overflow:hidden;background:var(--ink);color:var(--white)}.hero>.wrap{position:relative;z-index:2}.hero-landing{padding:88px 0 100px;min-height:680px}.hero-kicker{color:var(--lime);margin-bottom:34px}.hero h1{font-weight:650;letter-spacing:-.075em;line-height:1.03;margin:0;max-width:960px}.hero h1 .accent{color:var(--lime)}.hero-landing h1{font-size:clamp(3.8rem,7.6vw,7.5rem)}.hero h1 .serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.07em}.hero-copy{font-size:1.18rem;max-width:590px;line-height:1.6;color:#c5d4c9;margin:34px 0 32px}.hero-actions,.actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;border-radius:2px;padding:14px 19px;font-weight:700;font-size:.92rem;border:1px solid transparent;transition:transform .17s,background .17s}.btn:hover{transform:translateY(-2px)}.btn svg{width:16px;height:16px;stroke:currentColor}.btn-lime{background:var(--lime);color:var(--ink)}.btn-outline-light{border-color:#687e70;color:var(--white)}.btn-ink{background:var(--ink);color:var(--white)}.btn-outline{border-color:var(--ink);color:var(--ink)}.hero-orbit{position:absolute;right:-90px;top:-55px;width:660px;height:660px;opacity:.56;pointer-events:none}.hero-orbit svg{width:100%;height:100%}.hero-foot{position:absolute;left:0;right:0;bottom:0;z-index:3}.hero-foot .wrap{border-top:1px solid #395046;padding:16px 0 18px;display:flex;justify-content:space-between;color:#acc1b1;font-size:.77rem;letter-spacing:.04em}.section{padding:105px 0}.section-tight{padding:75px 0}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start;margin-bottom:48px}.section-head .eyebrow{padding-top:12px;color:#52765a}.section h2,.page-title{font-size:clamp(2.5rem,5.1vw,5rem);letter-spacing:-.07em;line-height:1.06;font-weight:650;margin:0}.section h2 em,.page-title em{font-family:var(--serif);font-weight:400}.section-intro{font-size:1.14rem;color:#50645a;max-width:690px;line-height:1.7;margin:17px 0 0}.statement{padding:82px 0;background:var(--lime);color:var(--ink)}.statement-grid{display:grid;grid-template-columns:.32fr 1fr;gap:30px}.statement blockquote{font-size:clamp(1.8rem,3.5vw,3.5rem);letter-spacing:-.055em;line-height:1.18;margin:0;font-weight:580}.tag-link{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid currentColor;padding:0 0 7px;margin-top:22px;font-size:.9rem;font-weight:750;text-decoration:none}.tag-link:hover{gap:17px}.tag-link svg{width:16px;height:16px}.pill{font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.12em;border:1px solid currentColor;border-radius:99px;padding:6px 12px;white-space:nowrap}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature{min-height:380px;padding:33px;background:var(--white);border:1px solid var(--line);position:relative;display:flex;flex-direction:column;transition:background .18s,transform .18s}.feature:hover{background:#fff;transform:translateY(-3px)}.feature .num{font-size:.75rem;color:#5d7569;font-weight:750;letter-spacing:.12em}.feature h3{font-size:2.05rem;letter-spacing:-.06em;line-height:1.13;margin:48px 0 18px}.feature p{color:#586b60;margin:0;font-size:.96rem}.feature .feature-link{margin-top:auto;padding-top:32px;text-decoration:none;font-weight:700;font-size:.89rem}.feature .feature-link span{margin-left:10px}.feature.dark{background:var(--ink2);color:white;border-color:var(--ink2)}.feature.dark p,.feature.dark .num{color:#c7d4c9}.feature.lime{background:var(--lime);border-color:var(--lime)}.feature.lime p{color:#526347}.divider{border:0;border-top:1px solid var(--line);margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:76px}.copy h3{font-size:2.15rem;line-height:1.2;letter-spacing:-.055em;margin:0 0 22px}.copy p{color:#556960;font-size:1.04rem;line-height:1.73}.kicker-list{border-top:1px solid var(--line)}.kicker-row{display:grid;grid-template-columns:40px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:19px 0}.kicker-row span{font-size:.78rem;font-weight:750;color:#688174}.kicker-row strong{font-weight:650;font-size:1.01rem}.vis-composition{padding:36px;border:1px solid var(--line);background:#e8eee4}.vis-caption{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#658371;font-weight:750;margin-bottom:20px}.module-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.module{min-height:76px;border:1px solid #9bb5a3;background:#fffefa;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-weight:750;font-size:.81rem}.module.central{background:var(--ink);border-color:var(--ink);color:var(--lime)}.vertical-line{width:1px;height:30px;background:#88a792;margin:0 auto}.system{background:var(--lime);padding:21px;font-size:1rem;font-weight:750;text-align:center;letter-spacing:-.02em}.strip{background:#e2e9df;padding:19px 0;border-top:1px solid #d0dbce;border-bottom:1px solid #d0dbce}.strip-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.strip strong{font-size:.96rem}.strip span{font-size:.89rem;color:#526c58}.callout{background:var(--ink);color:white;padding:78px 0}.callout h2{font-size:clamp(2.7rem,5vw,5.1rem);letter-spacing:-.07em;line-height:1.07;margin:0 0 22px}.callout p{color:#c6d4c8;max-width:670px;font-size:1.1rem}.callout .eyebrow{color:var(--lime);margin-bottom:24px}.site-footer{background:#e5e9e1;padding:54px 0 22px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:70px}.footer-brand{font-size:1.5rem;font-weight:800;letter-spacing:-.055em;line-height:1}.footer-top p{color:#536b5d;max-width:320px}.footer-links{display:flex;flex-direction:column;gap:13px}.footer-links a{text-decoration:none;font-weight:600;font-size:.88rem}.footer-links a:hover{text-decoration:underline}.footer-small{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #bdc9bc;padding-top:20px;font-size:.73rem;color:#637769}.footer-small a{color:inherit}.page-hero{background:var(--ink);color:white;padding:74px 0 77px;position:relative;overflow:hidden}.page-hero .eyebrow{color:var(--lime);margin-bottom:20px}.page-hero .page-title{max-width:940px}.page-hero p{font-size:1.12rem;line-height:1.65;color:#cbd9cd;max-width:730px;margin:25px 0 0}.page-hero .page-title .hi{color:var(--lime)}.page-hero .top-trace{position:absolute;right:0;bottom:0;opacity:.19;width:400px;height:400px;pointer-events:none}.breadcrumbs{font-size:.78rem;color:#809887;letter-spacing:.03em;margin-bottom:24px}.breadcrumbs a{color:#c1d2c4;text-decoration:none}.content-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:82px}.toc{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:12px;border-top:2px solid var(--ink);padding-top:19px}.toc .eyebrow{margin-bottom:8px;color:#54715e}.toc a{text-decoration:none;font-size:.89rem;line-height:1.4;color:#6c7c73}.toc a:hover{color:var(--ink)}.prose{font-size:1.05rem;line-height:1.85}.prose h2{font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.16;letter-spacing:-.055em;margin:0 0 27px;font-weight:650}.prose h3{font-size:1.4rem;letter-spacing:-.035em;margin:38px 0 10px}.prose p{margin:0 0 19px}.prose strong{font-weight:740}.prose section{padding-bottom:51px;margin-bottom:49px;border-bottom:1px solid var(--line)}.prose section:last-child{border:0;margin-bottom:0}.highlight{font-size:1.33rem;line-height:1.42;letter-spacing:-.025em;font-weight:670;border-left:4px solid #95b65d;padding:8px 0 8px 20px;margin:30px 0!important;color:var(--ink)}.principle-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:31px 0}.principle{background:var(--white);border:1px solid var(--line);padding:25px;break-inside:avoid}.principle .principle-num{display:block;font-weight:800;font-size:.8rem;color:#70916b;letter-spacing:.1em;margin-bottom:18px}.principle h3{font-size:1.15rem;margin:0 0 12px}.principle p{margin:0;color:#556960;font-size:.91rem;line-height:1.65}.badge-line{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.badge-line span{border:1px solid #5f7967;padding:8px 12px;font-size:.79rem;border-radius:99px;color:#d3e2d3}.intro-block{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}.intro-block h2{font-size:clamp(2.2rem,4.2vw,4.1rem);letter-spacing:-.06em;line-height:1.12;margin:0 0 22px}.intro-block p{line-height:1.75;color:#53665b;font-size:1.07rem}.text-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c9d6c9;margin-top:35px}.text-stat>div{background:var(--paper);padding:24px 18px}.text-stat strong{display:block;font-size:2.2rem;letter-spacing:-.08em;line-height:1.1}.text-stat span{display:block;font-size:.8rem;color:#587160;margin-top:8px}.number-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.number-card{background:var(--white);border:1px solid var(--line);padding:28px;min-height:225px}.number-card .big{font-size:3.5rem;font-weight:650;letter-spacing:-.085em;line-height:1}.number-card h3{font-size:1.17rem;margin:23px 0 8px}.number-card p{font-size:.91rem;color:#556a5e;margin:0}.method-list{border-top:1px solid var(--line)}.method-item{display:grid;grid-template-columns:80px 1fr 1.3fr;gap:24px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}.method-item .num{font-size:.75rem;color:#68816d;font-weight:800}.method-item h3{font-size:1.35rem;letter-spacing:-.03em;margin:0}.method-item p{margin:0;color:#5a6e61;font-size:.95rem}.big-number{font-size:clamp(6.8rem,20vw,17rem);font-weight:700;letter-spacing:-.11em;line-height:.9;color:var(--lime);margin:12px 0 12px}.village-intro{display:flex;justify-content:space-between;align-items:end;gap:44px}.village-intro h1{max-width:780px}.village-intro p{max-width:440px}.route-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.route-step{position:relative;padding:28px;background:var(--white);border:1px solid var(--line);min-height:240px}.route-step::after{content:'→';position:absolute;top:19px;right:19px;color:#789582;font-size:1.2rem}.route-step:last-child::after{display:none}.route-step .step{font-size:.76rem;color:#68816d;font-weight:750}.route-step h3{font-size:1.38rem;letter-spacing:-.04em;margin:42px 0 10px}.route-step p{font-size:.91rem;line-height:1.55;color:#597063}.participate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.participate{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);padding:34px;min-height:320px}.participate .index{font-size:.76rem;color:#66836c;font-weight:790}.participate h3{font-size:1.8rem;letter-spacing:-.055em;line-height:1.15;margin:35px 0 13px}.participate p{color:#596e61;margin:0}.participate .tag-link{margin-top:auto;align-self:flex-start}.notice{background:#e6ece4;border-left:3px solid #6c9976;padding:18px 22px;color:#3f5946;font-size:.92rem;line-height:1.65}.legal{max-width:770px}.legal h2{font-size:1.4rem;margin:32px 0 11px;letter-spacing:-.035em}.legal p{margin:0 0 17px;line-height:1.7}.legal a{color:#326945}.legal .big-legal{font-size:1.18rem;font-weight:700;line-height:1.5}.legal .field{margin-top:12px;font-size:.87rem;color:#6b7f70}.small-note{color:#6c7d70;font-size:.83rem;line-height:1.65}.hide-screen{display:none}.line-art{height:260px;border:1px solid #d2dbd2;background:#e5ede4;display:flex;align-items:center;justify-content:center;overflow:hidden}.line-art svg{width:100%;height:100%;display:block}.stack{display:flex;flex-direction:column;gap:13px}.arrow-row{display:flex;align-items:center;gap:10px}.arrow-row::before{content:'';height:1px;width:35px;background:#547662}.arrow-row span{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#617d6a;font-weight:750}.spacer-small{height:25px}@media(max-width:1000px){.main-nav{gap:17px}.main-nav a{font-size:.81rem}.brand{font-size:1.01rem}.hero-orbit{right:-190px;opacity:.35}.section-head{grid-template-columns:1fr 2.3fr}.content-layout{gap:35px;grid-template-columns:170px 1fr}.two-col{gap:45px}.footer-top{gap:25px}}@media(max-width:760px){.wrap{width:min(calc(100% - 36px),var(--max))}.site-header{height:70px}.menu-toggle{display:flex}.main-nav{display:none;position:absolute;top:69px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:17px 18px 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 14px 22px #0001}.main-nav.open{display:flex}.main-nav a{padding:13px 16px;font-size:1rem}.main-nav .nav-cta{text-align:center;margin-top:9px}.hero-landing{min-height:640px;padding:68px 0 90px}.hero-landing h1{font-size:clamp(3.1rem,12vw,5rem)}.hero-copy{font-size:1rem}.hero-orbit{width:420px;height:420px;right:-230px;top:70px;opacity:.29}.hero-foot .wrap{font-size:.66rem;gap:10px;flex-wrap:wrap}.section{padding:69px 0}.section-tight{padding:50px 0}.section-head{grid-template-columns:1fr;gap:4px;margin-bottom:27px}.section-head .eyebrow{padding:0}.section h2,.page-title{font-size:clamp(2.35rem,9vw,4rem)}.feature-grid,.number-cards,.route-steps{grid-template-columns:1fr}.feature{min-height:285px}.feature h3{margin:25px 0 14px}.two-col,.intro-block,.participate-grid{grid-template-columns:1fr;gap:32px}.statement{padding:55px 0}.statement-grid{grid-template-columns:1fr;gap:18px}.statement blockquote{font-size:2rem}.footer-top{grid-template-columns:1fr 1fr;gap:33px}.footer-top>div:first-child{grid-column:1/-1}.footer-small{flex-direction:column;gap:8px}.page-hero{padding:55px 0}.page-hero p{font-size:1rem}.content-layout{display:block}.toc{position:static;display:flex;flex-direction:row;overflow:auto;white-space:nowrap;gap:18px;align-items:center;margin-bottom:38px;padding-bottom:14px;border-bottom:1px solid var(--line)}.toc a{flex:none}.toc .eyebrow{margin:0;flex:none}.principle-grid{grid-template-columns:1fr}.prose{font-size:.99rem}.prose section{margin-bottom:34px;padding-bottom:33px}.method-item{grid-template-columns:40px 1fr;gap:12px}.method-item p{grid-column:2}.route-step{min-height:180px}.village-intro{display:block}.big-number{font-size:7rem}.line-art{height:230px}.section-intro{font-size:1rem}.strip-inner{display:block}.strip-inner span{display:block;margin-top:4px}.callout{padding:55px 0}.callout h2{font-size:2.8rem}}@media(max-width:390px){.hero-landing h1{font-size:3.05rem}.module-row{grid-template-columns:1fr 1fr}.module-row .module:last-child{grid-column:1/-1}.btn{padding:12px 13px;font-size:.86rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media print{@page{size:A4;margin:12mm 13mm}html{scroll-behavior:auto}body{background:white!important;color:#102119!important;font-size:10pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-header{position:relative;height:55px;background:white!important}.header-inner{height:55px}.menu-toggle{display:none}.main-nav{display:flex;position:static;box-shadow:none;flex-direction:row;background:transparent;padding:0;border:0;gap:15px}.main-nav a{font-size:.69rem;padding:8px 0}.main-nav .nav-cta{padding:8px 12px;color:var(--lime)!important}.wrap{width:100%;max-width:none}.hero-landing{min-height:0;padding:55px 0 61px}.hero-landing h1{font-size:55pt}.hero-foot{position:relative}.hero-foot .wrap{padding:13px 0}.hero-orbit{width:440px;height:440px;right:-40px;top:-60px;opacity:.25}.hero-copy{font-size:12pt}.page-hero{padding:34px 0}.page-title,.section h2{font-size:28pt}.page-hero p{font-size:11pt}.section{padding:33px 0}.section-tight{padding:25px 0}.statement{padding:33px 0}.statement blockquote{font-size:25pt}.section-head{gap:16px;margin-bottom:18px}.feature{min-height:230px;padding:20px}.feature h3{font-size:18pt;margin:24px 0 10px}.feature p{font-size:9pt}.two-col{gap:30px}.site-footer{padding:25px 0 10px}.footer-top{padding-bottom:20px}.callout{padding:38px 0}.callout h2{font-size:30pt}.btn{font-size:9pt;padding:10px 13px}.hero-actions{break-inside:avoid}.content-layout{grid-template-columns:145px 1fr;gap:32px}.toc{position:static}.prose{font-size:9.6pt;line-height:1.53}.prose section{padding-bottom:18px;margin-bottom:23px}.prose p{margin-bottom:11px}.prose h2{font-size:20pt;margin-bottom:14px}.prose h3{font-size:13pt}.principle{padding:16px}.principle .principle-num{margin-bottom:6px}.principle p{font-size:8.7pt}.principle h3{font-size:11pt}.principle-grid{gap:8px}.highlight{font-size:12pt;margin:15px 0!important}.footer-top{grid-template-columns:1.5fr 1fr 1fr}.footer-top p{font-size:8pt}.route-step{min-height:185px;padding:19px}.route-step h3{margin:22px 0 8px}.number-card{min-height:165px;padding:20px}.participate{min-height:215px;padding:20px}.participate h3{font-size:17pt;margin:18px 0 12px}.line-art{height:210px}.pagebreak{break-before:page}.feature,.principle,.number-card,.route-step,.method-item,.participate,.copy,.vis-composition,.intro-block,.callout,.section-head{break-inside:avoid}.small-note{font-size:8pt}.site-footer,.footer-top,.footer-small{break-inside:avoid}}

/* Parallel language navigation: consistent placement on every page. */
.main-nav .lang-switch{margin-left:4px;padding:8px 10px;border:1px solid #aebbad;border-radius:2px;letter-spacing:.1em;font-size:.78rem;font-weight:800;line-height:1}
.main-nav .lang-switch:hover{border-color:#426b50;background:#ecf2e7;color:#244c35}
@media(max-width:760px){.main-nav .lang-switch{margin:12px 0 0;text-align:center;padding:13px 16px}}
@media print{.main-nav .lang-switch{border:1px solid #b9c7b9;padding:5px 8px}}
/* Two thesis cards on the Device page must stack even though the desktop grid is inline-styled. */
@media(max-width:760px){.number-cards[style*="repeat(2"]{grid-template-columns:1fr!important}.legal,.legal p,.legal .big-legal{overflow-wrap:anywhere}}
/* Keep printed website previews compact; don't force a whole footer onto a page alone. */
@media print{.site-footer{break-inside:auto!important;padding:15px 0 8px!important}.footer-top{break-inside:auto!important;padding-bottom:10px!important;gap:14px!important}.footer-small{break-inside:auto!important}.footer-brand{font-size:1.1rem!important}.footer-top p{margin-bottom:7px!important}}
/* Printed walkthrough shows actual page content without repeating sitewide footer blocks. */
@media print{.site-footer{display:none!important}}

/* Quick navigation bar above the header */
.quick-nav{background:var(--ink);border-bottom:1px solid #ffffff14}.quick-nav .wrap{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:8px 0}.quick-nav a{font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;color:var(--lime);border:1px solid #e2fc8759;border-radius:2px;padding:5px 11px;white-space:nowrap;transition:background .17s,color .17s}.quick-nav a:hover,.quick-nav a[aria-current=page]{background:var(--lime);color:var(--ink)}
@media(max-width:760px){.quick-nav .wrap{justify-content:center;gap:6px}.quick-nav a{letter-spacing:.06em;padding:5px 9px}}
@media print{.quick-nav{display:none}}
